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. |