Functions | |
| void | alloc_page () |
| void | alloc_pages (dword count) |
| void | free_page () |
| void | map_io_mem (dword base, dword size, dword flags) |
| void | map_page_table (dword lin_addr, dword phis_addr) |
| void | alloc_dma24 () |
| Allocates [.size] bytes so that the target memory block is inside one 64K page for 24-bit DMA controller, that is, somewhere between 00xx0000h and 00xxFFFFh. More... | |
| void | create_trampoline_pgmap () |
| Allocates a physical page for master page table that duplicates first Mb of OS_BASE at address 0; used for starting APs and for shutting down, where it is important to execute code in trivial-mapped pages. Returns eax = allocated physical page. More... | |
| void | new_mem_resize (dword new_size) |
| void | page_fault_handler () |
| Now it is called from core/sys32exc_c (see stack frame there) More... | |
| void | map_mem_ipc (dword lin_addr, dword slot, dword ofs, dword buf_size, dword req_access) |
| returns number of mapped bytes More... | |
| void | map_memEx (dword lin_addr, dword slot, dword ofs, dword buf_size, dword req_access) |
| void | safe_map_page (dword slot, dword req_access, dword ofs) |
| in: esi+edx*4 = pointer to page table entry in: [slot], [req_access], [ofs] on the stack in: edi = linear address to map out: CF cleared <=> failed destroys: only eax More... | |
| void | sys_ipc_send (dword PID, dword msg_addr, dword msg_size) |
| void | load_pe_driver (dword file, dword cmdline) |
| void | create_ring_buffer (dword size, dword flags) |
| void | print_mem () |
Variables | |
| label | map_page |
| proc map_page stdcall,lin_addr:dword,phis_addr:dword,flags:dword More... | |
| label | map_space |
| not implemented More... | |
| label | commit_pages |
| label | release_pages |
| label | unmap_pages |
| db | sb16_buffer_allocated |
| dd | _size |
| label | get_pg_addr |
| dd | count |
| dd | process |
| label | sys_IPC |
| dd | dst_slot |
| dd | dst_offset |
| dd | buf_size |
| dd | used_buf |
| label | sysfn_meminfo |
| label | f68 |
| label | f68call |
| keep this table closer to main code More... | |
| dd | buf_ptr |
| void alloc_dma24 | ( | ) |
Allocates [.size] bytes so that the target memory block is inside one 64K page for 24-bit DMA controller, that is, somewhere between 00xx0000h and 00xxFFFFh.
| void alloc_page | ( | ) |
| void alloc_pages | ( | dword | count | ) |
| void create_ring_buffer | ( | dword | size, |
| dword | flags | ||
| ) |
| void create_trampoline_pgmap | ( | ) |
Allocates a physical page for master page table that duplicates first Mb of OS_BASE at address 0; used for starting APs and for shutting down, where it is important to execute code in trivial-mapped pages. Returns eax = allocated physical page.
| void free_page | ( | ) |
| void load_pe_driver | ( | dword | file, |
| dword | cmdline | ||
| ) |
| void map_io_mem | ( | dword | base, |
| dword | size, | ||
| dword | flags | ||
| ) |
| void map_mem_ipc | ( | dword | lin_addr, |
| dword | slot, | ||
| dword | ofs, | ||
| dword | buf_size, | ||
| dword | req_access | ||
| ) |
returns number of mapped bytes
| void map_memEx | ( | dword | lin_addr, |
| dword | slot, | ||
| dword | ofs, | ||
| dword | buf_size, | ||
| dword | req_access | ||
| ) |
| void map_page_table | ( | dword | lin_addr, |
| dword | phis_addr | ||
| ) |
| void new_mem_resize | ( | dword | new_size | ) |
| void page_fault_handler | ( | ) |
Now it is called from core/sys32exc_c (see stack frame there)
| void print_mem | ( | ) |
| void safe_map_page | ( | dword | slot, |
| dword | req_access, | ||
| dword | ofs | ||
| ) |
in: esi+edx*4 = pointer to page table entry in: [slot], [req_access], [ofs] on the stack in: edi = linear address to map out: CF cleared <=> failed destroys: only eax
| void sys_ipc_send | ( | dword | PID, |
| dword | msg_addr, | ||
| dword | msg_size | ||
| ) |
| dd _size |
| dd buf_ptr |
| dd buf_size |
| label commit_pages |
| dd count |
| dd dst_offset |
| dd dst_slot |
| label f68 |
| label f68call |
keep this table closer to main code
| label get_pg_addr |
| label map_page |
proc map_page stdcall,lin_addr:dword,phis_addr:dword,flags:dword
| label map_space |
not implemented
| dd process |
| label release_pages |
| db sb16_buffer_allocated |
| label sys_IPC |
| label sysfn_meminfo |
| label unmap_pages |
| dd used_buf |