diff options
| author | Beau McCartney <mccartney.beausl@gmail.com> | 2024-10-05 11:20:25 -0600 |
|---|---|---|
| committer | Beau McCartney <mccartney.beausl@gmail.com> | 2024-10-06 22:08:23 -0600 |
| commit | 80c390e851e9925384cc77f11c57c3eae02b3dfd (patch) | |
| tree | 8418a33d6c259fd2277a49b6652059854fc9b4b5 | |
| parent | a205bcd0da0ad8efe12f26cac15945a576c154e7 (diff) | |
add mach procedures and vm_page_size
- vm_allocate()
- vm_deallocate()
- vm_map()
- mach_make_memory_entry()
| -rw-r--r-- | core/sys/darwin/mach_darwin.odin | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/core/sys/darwin/mach_darwin.odin b/core/sys/darwin/mach_darwin.odin index 902ac8b24..c91c85153 100644 --- a/core/sys/darwin/mach_darwin.odin +++ b/core/sys/darwin/mach_darwin.odin @@ -26,6 +26,44 @@ foreign mach { semaphore_signal_thread :: proc(semaphore: semaphore_t, thread: thread_act_t) -> kern_return_t --- semaphore_wait :: proc(semaphore: semaphore_t) -> kern_return_t --- + + vm_allocate :: proc ( + target_task : vm_map_t, + address : ^vm_address_t, + size : vm_size_t, + flags : vm_flags_t, + ) -> kern_return_t --- + + vm_deallocate :: proc( + target_task: vm_map_t, + address : vm_address_t, + size : vm_size_t + ) -> kern_return_t--- + + vm_map :: proc ( + target_task : vm_map_t, + address : ^vm_address_t, + size : vm_size_t, + mask : vm_address_t, + flags : vm_flags_t, + object : mem_entry_name_port_t, + offset : vm_offset_t, + copy : boolean_t, + cur_protection : vm_prot_t, + max_protection : vm_prot_t, + inheritance : vm_inherit_t + ) -> kern_return_t --- + + mach_make_memory_entry :: proc ( + target_task : vm_map_t, + size : ^vm_size_t, + offset : vm_offset_t, + permission : vm_prot_t, + object_handle : ^mem_entry_name_port_t, + parent_entry : mem_entry_name_port_t, + ) -> kern_return_t --- + + vm_page_size : vm_size_t } // NOTE(beau): types for stuff in the mach APIS, recreated from the typedefs as |