Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/mm/as.h

    rfc47885 re16e2ba4  
    6565#include <arch/mm/as.h>
    6666#include <arch/mm/asid.h>
     67#include <arch/istate.h>
    6768#include <typedefs.h>
    6869#include <synch/spinlock.h>
     
    8485#define USER_ADDRESS_SPACE_END      USER_ADDRESS_SPACE_END_ARCH
    8586
    86 #define USTACK_ADDRESS  USTACK_ADDRESS_ARCH
     87#ifdef USTACK_ADDRESS_ARCH
     88        #define USTACK_ADDRESS  USTACK_ADDRESS_ARCH
     89#else
     90        #define USTACK_ADDRESS  (USER_ADDRESS_SPACE_END - (STACK_SIZE - 1))
     91#endif
    8792
    8893/** Kernel address space. */
     
    238243/** Address space area backend structure. */
    239244typedef struct mem_backend {
     245        bool (* create)(as_area_t *);
     246        bool (* resize)(as_area_t *, size_t);
     247        void (* share)(as_area_t *);
     248        void (* destroy)(as_area_t *);
     249
    240250        int (* page_fault)(as_area_t *, uintptr_t, pf_access_t);
    241251        void (* frame_free)(as_area_t *, uintptr_t, uintptr_t);
    242         void (* share)(as_area_t *);
    243252} mem_backend_t;
    244253
     
    246255
    247256extern as_operations_t *as_operations;
    248 extern link_t inactive_as_with_asid_head;
     257extern list_t inactive_as_with_asid_list;
    249258
    250259extern void as_init(void);
     
    298307extern mem_backend_t phys_backend;
    299308
    300 /**
    301  * This flags is passed when running the loader, otherwise elf_load()
    302  * would return with a EE_LOADER error code.
    303  *
    304  */
    305 #define ELD_F_NONE    0
    306 #define ELD_F_LOADER  1
    307 
    308 extern unsigned int elf_load(elf_header_t *, as_t *, unsigned int);
    309 
    310309/* Address space area related syscalls. */
    311310extern sysarg_t sys_as_area_create(uintptr_t, size_t, unsigned int);
     
    313312extern sysarg_t sys_as_area_change_flags(uintptr_t, unsigned int);
    314313extern sysarg_t sys_as_area_destroy(uintptr_t);
     314extern sysarg_t sys_as_get_unmapped_area(uintptr_t, size_t);
    315315
    316316/* Introspection functions. */
Note: See TracChangeset for help on using the changeset viewer.