Rev 1424 | Rev 1428 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1424 | Rev 1425 | ||
|---|---|---|---|
| Line 44... | Line 44... | ||
| 44 | #include <typedefs.h> |
44 | #include <typedefs.h> |
| 45 | #include <synch/spinlock.h> |
45 | #include <synch/spinlock.h> |
| 46 | #include <synch/mutex.h> |
46 | #include <synch/mutex.h> |
| 47 | #include <adt/list.h> |
47 | #include <adt/list.h> |
| 48 | #include <adt/btree.h> |
48 | #include <adt/btree.h> |
| - | 49 | #include <elf.h> |
|
| 49 | 50 | ||
| 50 | /** Defined to be true if user address space and kernel address space shadow each other. */ |
51 | /** Defined to be true if user address space and kernel address space shadow each other. */ |
| 51 | #define KERNEL_ADDRESS_SPACE_SHADOWED KERNEL_ADDRESS_SPACE_SHADOWED_ARCH |
52 | #define KERNEL_ADDRESS_SPACE_SHADOWED KERNEL_ADDRESS_SPACE_SHADOWED_ARCH |
| 52 | 53 | ||
| 53 | #define KERNEL_ADDRESS_SPACE_START KERNEL_ADDRESS_SPACE_START_ARCH |
54 | #define KERNEL_ADDRESS_SPACE_START KERNEL_ADDRESS_SPACE_START_ARCH |
| Line 116... | Line 117... | ||
| 116 | void (* frame_free)(as_area_t *area, __address page, __address frame); |
117 | void (* frame_free)(as_area_t *area, __address page, __address frame); |
| 117 | void (* share)(as_area_t *area); |
118 | void (* share)(as_area_t *area); |
| 118 | } mem_backend_t; |
119 | } mem_backend_t; |
| 119 | 120 | ||
| 120 | /** Backend data stored in address space area. */ |
121 | /** Backend data stored in address space area. */ |
| 121 | typedef struct backend_data { |
122 | typedef union { |
| - | 123 | struct { /**< elf_backend members */ |
|
| - | 124 | elf_header_t *elf; |
|
| - | 125 | elf_segment_header_t *segment; |
|
| - | 126 | }; |
|
| - | 127 | struct { /**< phys_backend members */ |
|
| 122 | __native d1; |
128 | __address base; |
| 123 | __native d2; |
129 | count_t frames; |
| - | 130 | }; |
|
| 124 | } mem_backend_data_t; |
131 | } mem_backend_data_t; |
| 125 | 132 | ||
| 126 | /** Address space area structure. |
133 | /** Address space area structure. |
| 127 | * |
134 | * |
| 128 | * Each as_area_t structure describes one contiguous area of virtual memory. |
135 | * Each as_area_t structure describes one contiguous area of virtual memory. |