Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
$#!
 _klog_print_hex
 _klog_print_int
 _klog_print_str
 _klog_print_time
 _klog_print_unsigned
 _pmm_init_low_memory
 _pmm_init_region
 _pmm_map_temp_page
 _pmm_merge_block
 _pmm_unmap_temp_page
 _start
 _vmem_add
 _vmem_add_to_freelist
 _vmem_hashtable_addr
 _vmem_hashtable_hash
 _vmem_hashtable_insert
 _vmem_import
 _vmem_insert_segment
 _vmem_refill
 _vmem_segalloc
 _vmem_segfit
 _vmem_segfree
A
 a20.inc
 a20_enable
 a20_enable_keyboard_controller
 a20_get_state
 a20_query_support
 Address Translation
 Address type
 ADDRESS_RANGE_MEMORY
 ADDRESS_RANGE_RESERVED
 AddressRange
 amap.inc
 Assembly
 ata.inc
 ATA_CMD_DIAGNOSTIC
 ATA_CMD_IDENTIFY
 ATA_CMD_RESTORE
 ATA_COMMAND
 ATA_CTRL
 ATA_CYLHI
 ATA_CYLLO
 ATA_DATA
 ATA_DRVADDR
 ATA_DRVHEAD
 ATA_ERROR
 ATA_FEATURES
 ata_init
 ata_probe
 ATA_SECCOUNT
 ATA_SECNUM
 ata_select
 ATA_STATUS
 ata_wait
 ATTR_ARCHIVE, fat_entry
 ATTR_DIRECTORY, fat_entry
 ATTR_HIDDEN, fat_entry
 ATTR_READ_ONLY, fat_entry
 ATTR_SYSTEM, fat_entry
 ATTR_VOLUME_ID, fat_entry
 Attributes, fat_entry
 aVmemStaticSegs
B
 BaseAddrHigh, AddressRange
 BaseAddrLow, AddressRange
 bio.inc
 bio_brelse
 bio_bwrite
 bio_getblk
 bio_init
 bio_read
 bios.inc
 bios_log
 bios_log_hex
 bios_log_number
 bios_print
 BlkDev
 boot_info_add_memmap
 boot_info_print_mmap
 bootia32.asm
 BootInfo
 bootinfo.inc
 BOOTINFO_MEMORY_LIMIT
 BootInfoRange
 bootstrap.inc
 Buffer
 Buffer flags
 BUFFER_DIRTY
 BUFFER_ERROR
 BUFFER_INVAL
 BUFFER_READ
 BUFFER_WRITE
_klog_print_hex
_klog_print_int
_klog_print_str
_klog_print_time
_klog_print_unsigned
_pmm_init_low_memory
Initialize bitmap for lower memory (below 1Mb)
_pmm_init_region
Add new memory region to the linked list.
_pmm_map_temp_page
Map physical address at PMM_VIRT_TEMP
_pmm_merge_block
_pmm_unmap_temp_page
Unmap PMM_VIRT_TEMP
_start
Loader entry point.
_vmem_add
_vmem_add_to_freelist
Add segment to Vmem freelist.
_vmem_hashtable_addr
_vmem_hashtable_hash
_vmem_hashtable_insert
_vmem_import
_vmem_insert_segment
_vmem_refill
_vmem_segalloc
_vmem_segfit
Check if a VmemSegment meet restrictions.
_vmem_segfree
copy/pasted from https://wiki.osdev.org/A20_Line ....
a20_enable
a20_enable_keyboard_controller
a20_get_state
a20_query_support
Since we don’t use segmentation, this is how address translation works
See AddressRange.Type
Available and usable RAM.
Reserved or in use.
The “Hungarian” notation conventions MUST be used.
Execute device diagnostic
Recalibrate
Device control register (Control base + 0)
Read/Write data
Drive/Head register
ata_init
ata_probe
ata_select
ata_wait
Archive
Subdirectory
Hidden
Read-only
System
Volume label
aVmemStaticSegs db VMEM_STATIC_SEG_COUNT*sizeof.VmemSegment dup()
.BaseAddrHigh dd ?
High 32 Bits of Base Address
.BaseAddrLow dd ?
Low 32 Bits of Base Address
Buffer cache
bio_brelse
Unbusy a buffer and release it to the free lists.
bio_bwrite
bio_getblk
bio_init
bios_log
bios_log_hex
bios_log_number
bios_print
boot_info_add_memmap
boot_info_print_mmap
StupidOS boot protocol structure
Bootstrap whole PMM and MM
XXX
XXX
mark buffer as invalid
XXX
XXX
Close