Added preliminary support for execve(). Updates to clone, fork, exit, task handling.

It turned out we used one version of kmalloc for malloc() and another for kfree()!
Now fixed.
Added parent-child relationship to tasks. Need to polish handling CLONE_PARENT and THREAD.
This commit is contained in:
Bahadir Balban
2008-11-19 12:59:52 +02:00
parent d182b5b35a
commit 46937eab88
39 changed files with 502 additions and 1192 deletions

View File

@@ -1,18 +1,7 @@
#ifndef __API_SPACE_H__
#define __API_SPACE_H__
#define UNMAP_ALL_SPACE 0xFFFFFFFF
enum space_control_opcode {
SPCCTRL_SHM = 0
};
#if 0
struct shm_kdata {
l4id_t creator;
unsigned long npages;
unsigned long server_pfn;
unsigned long client_pfn;
};
#endif
#endif /* __API_SPACE_H__ */

View File

@@ -117,6 +117,7 @@ void add_mapping(unsigned int paddr, unsigned int vaddr,
unsigned int size, unsigned int flags);
int remove_mapping(unsigned long vaddr);
int remove_mapping_pgd(unsigned long vaddr, pgd_table_t *pgd);
int remove_mapping_pgd_all_user(pgd_table_t *pgd);
void prealloc_phys_pagedesc(void);
int check_mapping_pgd(unsigned long vaddr, unsigned long size,