Changeset c98e6ee in mainline for kernel/generic/include


Ignore:
Timestamp:
2008-07-08T16:05:45Z (17 years ago)
Author:
Jiri Svoboda <jirik.svoboda@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f93f168
Parents:
b7f9087
Message:

Merge program-loader related stuff from dynload branch to trunk. (huge)

Location:
kernel/generic/include
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/lib/elf.h

    rb7f9087 rc98e6ee  
    115115#define EE_INCOMPATIBLE         3       /* ELF image is not compatible with current architecture */
    116116#define EE_UNSUPPORTED          4       /* Non-supported ELF (e.g. dynamic ELFs) */
    117 #define EE_IRRECOVERABLE        5
     117#define EE_LOADER               5       /* The image is actually a program loader */
     118#define EE_IRRECOVERABLE        6
    118119
    119120/**
     
    339340extern char *elf_error(unsigned int rc);
    340341
     342/* Interpreter string used to recognize the program loader */
     343#define ELF_INTERP_ZSTR "kernel"
     344#define ELF_INTERP_ZLEN  sizeof(ELF_INTERP_ZSTR)
     345
    341346#endif
    342347
  • kernel/generic/include/mm/as.h

    rb7f9087 rc98e6ee  
    270270int as_area_share(as_t *src_as, uintptr_t src_base, size_t acc_size,
    271271    as_t *dst_as, uintptr_t dst_base, int dst_flags_mask);
     272extern int as_area_change_flags(as_t *as, int flags, uintptr_t address);
    272273
    273274extern int as_area_get_flags(as_area_t *area);
     
    300301extern mem_backend_t phys_backend;
    301302
    302 extern unsigned int elf_load(elf_header_t *header, as_t *as);
     303/**
     304 * This flags is passed when running the loader, otherwise elf_load()
     305 * would return with a EE_LOADER error code.
     306 */
     307#define ELD_F_NONE      0
     308#define ELD_F_LOADER    1
     309
     310extern unsigned int elf_load(elf_header_t *header, as_t *as, int flags);
    303311
    304312/* Address space area related syscalls. */
    305313extern unative_t sys_as_area_create(uintptr_t address, size_t size, int flags);
    306314extern unative_t sys_as_area_resize(uintptr_t address, size_t size, int flags);
     315extern unative_t sys_as_area_change_flags(uintptr_t address, int flags);
    307316extern unative_t sys_as_area_destroy(uintptr_t address);
    308317
  • kernel/generic/include/proc/task.h

    rb7f9087 rc98e6ee  
    133133
    134134extern unative_t sys_task_get_id(task_id_t *uspace_task_id);
    135 extern unative_t sys_task_spawn(void *image, size_t size);
    136135
    137136#endif
  • kernel/generic/include/proc/thread.h

    rb7f9087 rc98e6ee  
    249249extern bool thread_exists(thread_t *t);
    250250
    251 extern thread_t *thread_create_program(void *program_addr, char *name);
    252 
    253251/** Fpu context slab cache. */
    254252extern slab_cache_t *fpu_context_slab;
  • kernel/generic/include/syscall/syscall.h

    rb7f9087 rc98e6ee  
    4545       
    4646        SYS_TASK_GET_ID,
    47         SYS_TASK_SPAWN,
     47        SYS_PROGRAM_SPAWN_LOADER,
    4848       
    4949        SYS_FUTEX_SLEEP,
    5050        SYS_FUTEX_WAKEUP,
     51        SYS_SMC_COHERENCE,
    5152       
    5253        SYS_AS_AREA_CREATE,
    5354        SYS_AS_AREA_RESIZE,
     55        SYS_AS_AREA_CHANGE_FLAGS,
    5456        SYS_AS_AREA_DESTROY,
    5557       
Note: See TracChangeset for help on using the changeset viewer.