Subversion Repositories HelenOS-historic

Rev

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.