45 lines
4.3 KiB
C
45 lines
4.3 KiB
C
#ifndef COSMOPOLITAN_LIBC_MACH_H_
|
|
#define COSMOPOLITAN_LIBC_MACH_H_
|
|
/* ▄▄███▄
|
|
▄▄████████▄
|
|
▄█████████████▄
|
|
▄▄███▓▓▓▓▓▓▓▓▓▓▓███▄
|
|
▄▄█████▓▓▓█████████▓▓▓██▄
|
|
▄▄████████▓▓▓███████▓▓▓▓▓████▄
|
|
▄█████░░░████▓▓█████▓▓▓▓█████████▄
|
|
▄▄█████████░░░███▓▓█▓▓▓▓▒███████▓▓▒███▄
|
|
▄██████████████░░░██▓▓▓▓███████████▓▓█████▄
|
|
██████████████████░░░██▓▓▓█████████▓▓▓███████▄
|
|
███░░░░░░█████████▓░░███▓▓▓▓▓▓▓▓▓▓▓█████▒▒▒██▄
|
|
█░███░░░██░░░░░░░░░██░░██████████████▒▒▒▒██████▄
|
|
███████░░░█████████░░░░░░█████████▒▒▒▒▒██████████▄
|
|
█████ ██░░░███████████████████▒▒▒▒▒██░▒▒██████████▄
|
|
██████ ██░░░██████████████░███▒████████▒▒██████████▄
|
|
████████ ███░░█████████████░░████████████▒▒███████████
|
|
█████████ ███░░███████████░░██████████████▒▒███████████
|
|
▄██████████ ██████████████ ░░███████████████▒▒███████████
|
|
████████████ ███░░░░░█████░░█████████████████▒▒██████ █
|
|
█████████████ ██████░░░░░░░▒█████████████████████ ████▀
|
|
█████████████ ██████████░░░░░░░░░███████████ ████████
|
|
█████████████ ████████░░███████░░░██████ ▓██████████
|
|
█████████████ ██████░░░████████████ █████████████
|
|
╔────────────────────────────────────────────────────────────────────────────│─╗
|
|
│ cosmopolitan § xnu's not unix » carnegie mellon mach microkernel ─╬─│┼
|
|
╚────────────────────────────────────────────────────────────────────────────│*/
|
|
|
|
#define XNU_SYSCALL_MASK_MACH 0x1000000
|
|
#define XNU_SYSCALL_MASK_UNIX 0x2000000
|
|
#define XNU_SYSCALL_MASK_MACH_IPC 0x5000000
|
|
|
|
#define kXnuCommonPage 0x00007fffffe00000
|
|
#define kXnuNtTscBase 0x050 /* uint64_t */
|
|
#define kXnuNtScale 0x058 /* uint32_t */
|
|
#define kXnuNtShift 0x05c /* uint32_t */
|
|
#define kXnuNtNsBase 0x060 /* uint64_t */
|
|
#define kXnuNtGeneration 0x068 /* uint32_t */
|
|
|
|
bool swtch(void);
|
|
bool swtch_pri(int pri);
|
|
|
|
#endif /* COSMOPOLITAN_LIBC_MACH_H_ */
|