diff --git a/libmango/arch/x86_64/syscall.S b/libmango/arch/x86_64/syscall.S index 40a1850..9a37e4d 100644 --- a/libmango/arch/x86_64/syscall.S +++ b/libmango/arch/x86_64/syscall.S @@ -92,3 +92,5 @@ SYSCALL_GATE msg_reply SYS_MSG_REPLY 4 SYSCALL_GATE msg_read SYS_MSG_READ 6 SYSCALL_GATE msg_write SYS_MSG_WRITE 6 +SYSCALL_GATE kern_object_wait SYS_KERN_OBJECT_WAIT 2 + diff --git a/libmango/include/mango/syscall.h b/libmango/include/mango/syscall.h index a59996a..7081b71 100644 --- a/libmango/include/mango/syscall.h +++ b/libmango/include/mango/syscall.h @@ -1,36 +1,46 @@ #ifndef MANGO_SYSCALL_H_ #define MANGO_SYSCALL_H_ -#define SYS_TASK_EXIT 1 -#define SYS_TASK_SELF 31 -#define SYS_TASK_CREATE 2 -#define SYS_TASK_CREATE_THREAD 3 -#define SYS_TASK_GET_ADDRESS_SPACE 33 -#define SYS_THREAD_START 30 -#define SYS_VM_OBJECT_CREATE 4 -#define SYS_VM_OBJECT_READ 5 -#define SYS_VM_OBJECT_WRITE 6 -#define SYS_VM_OBJECT_COPY 29 -#define SYS_VM_REGION_CREATE 7 -#define SYS_VM_REGION_KILL 34 -#define SYS_VM_REGION_READ 8 -#define SYS_VM_REGION_WRITE 9 -#define SYS_VM_REGION_MAP_ABSOLUTE 10 -#define SYS_VM_REGION_MAP_RELATIVE 11 -#define SYS_VM_REGION_UNMAP_ABSOLUTE 12 -#define SYS_VM_REGION_UNMAP_RELATIVE 13 -#define SYS_KERN_LOG 14 -#define SYS_KERN_HANDLE_CLOSE 15 -#define SYS_KERN_CONFIG_GET 16 -#define SYS_KERN_CONFIG_SET 17 -#define SYS_MSG_SEND 18 -#define SYS_MSG_RECV 19 -#define SYS_MSG_REPLY 20 -#define SYS_MSG_READ 21 -#define SYS_MSG_WRITE 23 -#define SYS_CHANNEL_CREATE 25 -#define SYS_PORT_CREATE 26 -#define SYS_PORT_CONNECT 27 -#define SYS_PORT_DISCONNECT 28 +#define SYS_KERN_LOG 0x00u +#define SYS_KERN_HANDLE_CLOSE 0x01u +#define SYS_KERN_CONFIG_GET 0x02u +#define SYS_KERN_CONFIG_SET 0x03u +#define SYS_KERN_OBJECT_WAIT 0x04u +#define SYS_KERN_OBJECT_WAIT_ASYNC 0x05u +#define SYS_TASK_EXIT 0x06u +#define SYS_TASK_SELF 0x07u +#define SYS_TASK_CREATE 0x08u +#define SYS_TASK_CREATE_THREAD 0x09u +#define SYS_TASK_GET_ADDRESS_SPACE 0x0Au +#define SYS_THREAD_START 0x0Bu +#define SYS_VM_OBJECT_CREATE 0x0Cu +#define SYS_VM_OBJECT_READ 0x0Du +#define SYS_VM_OBJECT_WRITE 0x0Eu +#define SYS_VM_OBJECT_COPY 0x0Fu +#define SYS_VM_REGION_CREATE 0x10u +#define SYS_VM_REGION_KILL 0x11u +#define SYS_VM_REGION_READ 0x12u +#define SYS_VM_REGION_WRITE 0x13u +#define SYS_VM_REGION_MAP_ABSOLUTE 0x14u +#define SYS_VM_REGION_MAP_RELATIVE 0x15u +#define SYS_VM_REGION_UNMAP_ABSOLUTE 0x16u +#define SYS_VM_REGION_UNMAP_RELATIVE 0x17u +#define SYS_MSG_SEND 0x18u +#define SYS_MSG_RECV 0x19u +#define SYS_MSG_REPLY 0x1Au +#define SYS_MSG_READ 0x1Bu +#define SYS_MSG_WRITE 0x1Cu +#define SYS_CHANNEL_CREATE 0x1Du +#define SYS_PORT_CREATE 0x1Eu +#define SYS_PORT_CONNECT 0x1Fu +#define SYS_PORT_DISCONNECT 0x20u +#define SYS_EQUEUE_CREATE 0x21u +#define SYS_EQUEUE_DEQUEUE 0x22u +#define SYS_VM_CONTROLLER_CREATE 0x23u +#define SYS_VM_CONTROLLER_RECV 0x24u +#define SYS_VM_CONTROLLER_RECV_ASYNC 0x25u +#define SYS_VM_CONTROLLER_CREATE_OBJECT 0x26u +#define SYS_VM_CONTROLLER_DETACH_OBJECT 0x27u +#define SYS_VM_CONTROLLER_SUPPLY_PAGES 0x28u #endif