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 |