mirror of
https://github.com/drasko/codezero.git
synced 2026-01-13 03:13:15 +01:00
Added kernel + libl4 changes for full and extended ipc.
- Short ipc working as normal. Full/extended ipc haven't been tested. - Added automated compilation and inclusion of test executable in test0.
This commit is contained in:
@@ -13,8 +13,8 @@
|
||||
#if defined (__KERNEL__)
|
||||
|
||||
/* These are for internally created ipc paths. */
|
||||
int ipc_send(l4id_t to);
|
||||
int ipc_sendrecv(l4id_t to, l4id_t from);
|
||||
int ipc_send(l4id_t to, int full);
|
||||
int ipc_sendrecv(l4id_t to, l4id_t from, int full);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -42,7 +42,8 @@ void address_space_remove(struct address_space *space);
|
||||
void address_space_reference_lock();
|
||||
void address_space_reference_unlock();
|
||||
void init_address_space_list(void);
|
||||
int check_access(unsigned long vaddr, unsigned long size, unsigned int flags);
|
||||
int check_access(unsigned long vaddr, unsigned long size,
|
||||
unsigned int flags, int page_in);
|
||||
#endif
|
||||
|
||||
#endif /* __SPACE_H__ */
|
||||
|
||||
@@ -26,6 +26,9 @@
|
||||
#define TASK_SUSPENDING (1 << 1)
|
||||
#define TASK_RESUMING (1 << 2)
|
||||
|
||||
/* IPC resulted in a fault error (For ipcs that cannot page fault) */
|
||||
#define IPC_EFAULT (1 << 3)
|
||||
|
||||
/* Task states */
|
||||
enum task_state {
|
||||
TASK_INACTIVE = 0,
|
||||
|
||||
@@ -83,4 +83,13 @@
|
||||
|
||||
#include INC_GLUE(memlayout.h)
|
||||
|
||||
#if defined (__KERNEL__)
|
||||
struct utcb {
|
||||
u32 mr[MR_TOTAL]; /* MRs that are mapped to real registers */
|
||||
u32 saved_tag; /* Saved tag field for stacked ipcs */
|
||||
u32 saved_sender; /* Saved sender field for stacked ipcs */
|
||||
u32 mr_rest[MR_REST]; /* Complete the utcb for up to 64 words */
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* __GLUE_ARM_MESSAGE_H__ */
|
||||
|
||||
Reference in New Issue
Block a user