_klog_print_hex
_klog_print_int
_klog_print_str
_klog_print_time
_klog_print_unsigned
Initialize bitmap for lower memory (below 1Mb)
_pmm_init_low_memory
Add new memory region to the linked list.
_pmm_init_region
Map physical address at PMM_VIRT_TEMP
_pmm_map_temp_page
_pmm_merge_block
Unmap PMM_VIRT_TEMP
_pmm_unmap_temp_page
Loader entry point.
_start
_vmem_add
Add segment to Vmem freelist.
_vmem_add_to_freelist
_vmem_hashtable_addr
_vmem_hashtable_hash
_vmem_hashtable_insert
_vmem_import
_vmem_insert_segment
_vmem_refill
_vmem_segalloc
Check if a VmemSegment meet restrictions.
_vmem_segfit
_vmem_segfree
a20_enable
a20_enable_keyboard_controller
a20_get_state
a20_query_support
ata_init
ata_probe
ata_select
ata_wait
Unbusy a buffer and release it to the free lists.
bio_brelse
bio_bwrite
bio_getblk
bio_init
bios_log
bios_log_hex
bios_log_number
bios_print
boot_info_add_memmap
boot_info_print_mmap
cga_getpos
cga_putc
cga_setpos
com_probe
com_putc
This subroutine move kernel to 0x100000 and setup temporary pagging then jump to kernel code.
common32
dev_init
Read sectors from disk to buffer
disk_read_sectors
efi_log
efi_log_init
efi_log_time
efimain
fat_load_binary
fat_load_root
fat_read_bpb
fat_search_root
Close a device.
floppy_close
Convert LBA to CHS
floppy_lba_to_chs
Open the device for I/O operations
floppy_open
Do a read or write operation
floppy_strategy
heap_getbin
heap_init
isdigit
kbd_probe
Output kernel log
klog
Kernel entry point
kmain
list_insert_head
list_map
list_remove
lock_acquire
lock_release
param_out equ [ebp+8] param_in equ [ebp+12] param_insz equ [ebp+16] local_buff equ [ebp-10] local_inpos equ [ebp-14] lzp_compress
lzp_decompress
memory_get_for_large_conf
Setup recursive paging.
mm_bootstrap
This subroutine handle multiboot structures and convert them to BootInfo
multiboot
pic_eoi
pit_init
pit_irq
pmm_alloc
pmm_alloc_page
pmm_free
pmm_free_page
pmm_init
rc4
rc4_init
schedule
public sha256 sha256
sha256_compute_block
sha256_internal
stpdfs_copy_data
stpdfs_load_rootdir
copy selected inode from file system to `inode_cache`
stpdfs_read_inode
stpdfs_search
svm_map
svm_unmap
tailq_insert_after
tailq_insert_head
tailq_insert_tail
tailq_map
tailq_remove
vfs_register
video_setup
Adds a span [Address, Address + Size) to an arena.
vmem_add
Allocates n-bytes from arena.
vmem_alloc
Initialize static segments
vmem_bootstrap
Creates a new Vmem arena whose initial span is [Base, Base + Size).
vmem_create
Destroys an arena
vmem_destroy
vmem_dump
Free n-bytes at address to arena
vmem_free
Return information about arenas size
vmem_size
vmem_xalloc
Frees n-bytes at address.
vmem_xfree