- Timestamp:
-
05/30/09 13:58:39 (15 years ago)
- Author:
-
Aanjhan
- Comment:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v5
|
v6
|
|
1 | 1 | = MMU Context = |
2 | 2 | |
3 | | |
4 | | An MMU context is a data structure containing information wrt the process. The data structure would look something like the below. |
5 | | |
6 | | A create_mmu_context() function would result in populating this data structure. |
| 3 | == Access Lookup Table (ALUT) == |
7 | 4 | |
8 | 5 | |
9 | | [[Image(mmu_context_struct.jpg)]] |
| 6 | The entire address space is split up into various zones with various access attributes like Read only, Full access etc. This information is stored in a look up table inside the cpukit level of the RTEMS architecture. The data structure would have the following information stored. At the beginning we would have this as a static LUT but in the longer vision of the project it could be dynamically updated depending on the task. |
10 | 7 | |
11 | | The main focus now would be on having a single MMU context for the entire process working. One could have additional services to map an area of "private" memory on a per task basis. This MMU context shall be modified using the mmap* and shm* application calls. |
12 | | |
13 | | The design must allow for possibly RTEMS specific calls at application level for additional capabilities also. |
| 8 | {| class="wikitable" border="1" |
| 9 | |- |
| 10 | ! Address Pointer |
| 11 | ! Address Space Length |
| 12 | ! Access Attribute |
| 13 | |} |