mirror of
https://github.com/drasko/codezero.git
synced 2026-01-16 04:43:16 +01:00
- KIP's pointer to UTCB seems to work with existing l4lib ipc functions. - Works up to clone() - In clone we mmap() the same UTCB on each new thread - excessive. - Generally during page fault handling, cloned threads may fault on the same page multiple times even though a single handling would be enough for all of them. Need to detect and handle this.
27 lines
868 B
C
27 lines
868 B
C
/*
|
|
* Userspace thread control block
|
|
*
|
|
* Copyright (C) 2007 Bahadir Balban
|
|
*/
|
|
#ifndef __GLUE_ARM_MESSAGE_H__
|
|
#define __GLUE_ARM_MESSAGE_H__
|
|
|
|
#include INC_GLUE(memlayout.h)
|
|
|
|
#define MR_REST (UTCB_SIZE - MR_TOTAL - 2) /* -2 is for fields on utcb */
|
|
#define MR_TOTAL 6
|
|
#define MR_TAG 0 /* Contains the purpose of message */
|
|
#define MR_SENDER 1 /* For anythread receivers to discover sender */
|
|
#define MR_RETURN 0 /* Contains the posix return value. */
|
|
|
|
/* These define the mr start - end range that isn't used by userspace syslib */
|
|
#define MR_UNUSED_START 2 /* The first mr that's not used by syslib.h */
|
|
#define MR_UNUSED_TOTAL (MR_TOTAL - MR_UNUSED_START)
|
|
#define MR_USABLE_TOTAL MR_UNUSED_TOTAL
|
|
|
|
/* These are defined so that we don't hard-code register names */
|
|
#define MR0_REGISTER r3
|
|
#define MR_RETURN_REGISTER r3
|
|
|
|
#endif /* __GLUE_ARM_MESSAGE_H__ */
|