libmango: add flags parameter to address_space_map

This commit is contained in:
2026-04-21 21:11:42 +01:00
parent bc575aa1a1
commit 8b7382fa13
3 changed files with 13 additions and 1 deletions
+1 -1
View File
@@ -77,7 +77,7 @@ SYSCALL_GATE vm_object_copy SYS_VM_OBJECT_COPY 6
SYSCALL_GATE address_space_read SYS_ADDRESS_SPACE_READ 5 SYSCALL_GATE address_space_read SYS_ADDRESS_SPACE_READ 5
SYSCALL_GATE address_space_write SYS_ADDRESS_SPACE_WRITE 5 SYSCALL_GATE address_space_write SYS_ADDRESS_SPACE_WRITE 5
SYSCALL_GATE address_space_map SYS_ADDRESS_SPACE_MAP 7 SYSCALL_GATE address_space_map SYS_ADDRESS_SPACE_MAP 8
SYSCALL_GATE address_space_unmap SYS_ADDRESS_SPACE_UNMAP 3 SYSCALL_GATE address_space_unmap SYS_ADDRESS_SPACE_UNMAP 3
SYSCALL_GATE address_space_reserve SYS_ADDRESS_SPACE_RESERVE 4 SYSCALL_GATE address_space_reserve SYS_ADDRESS_SPACE_RESERVE 4
SYSCALL_GATE address_space_release SYS_ADDRESS_SPACE_RELEASE 3 SYSCALL_GATE address_space_release SYS_ADDRESS_SPACE_RELEASE 3
+1
View File
@@ -48,6 +48,7 @@ extern kern_status_t address_space_map(
kern_handle_t object, kern_handle_t object,
off_t object_offset, off_t object_offset,
size_t length, size_t length,
vm_flags_t flags,
vm_prot_t prot, vm_prot_t prot,
virt_addr_t *out_base_address); virt_addr_t *out_base_address);
extern kern_status_t address_space_unmap( extern kern_status_t address_space_unmap(
+11
View File
@@ -34,6 +34,16 @@
#define KERN_HANDLE_FLAG2 0x40000000UL #define KERN_HANDLE_FLAG2 0x40000000UL
#define KERN_HANDLE_FLAG3 0x80000000UL #define KERN_HANDLE_FLAG3 0x80000000UL
/* flags to specify when creating address-space mappings */
/* this mapping is private. if a task with this mapping is duplicated,
the duplicate task will receive a copy-on-write mapping. changes to one
mapping will not be visible to the other. */
#define VM_PRIVATE 0x0000u
/* this mapping is shared. if a task with this mapping is duplicated,
* the duplicate will receive a mapping of the same data. changes to one mapping
* will be visibile to the other */
#define VM_SHARED 0x0001u
/* maximum number of handles that can be sent in a single message */ /* maximum number of handles that can be sent in a single message */
#define KERN_MSG_MAX_HANDLES 64 #define KERN_MSG_MAX_HANDLES 64
@@ -107,6 +117,7 @@ typedef unsigned int kern_status_t;
typedef uint32_t kern_handle_t; typedef uint32_t kern_handle_t;
typedef uint32_t kern_config_key_t; typedef uint32_t kern_config_key_t;
typedef uint32_t vm_prot_t; typedef uint32_t vm_prot_t;
typedef uint32_t vm_flags_t;
typedef int64_t ssize_t; typedef int64_t ssize_t;
typedef uint32_t kern_futex_t; typedef uint32_t kern_futex_t;
typedef uint32_t kern_msg_type_t; typedef uint32_t kern_msg_type_t;