Cunix kernel
Versions
0.362s-boot
:
Boot
read loader
from boot-device
, then it jumps to it.
Loader doesn't load anything, it just enable long-mode and paging.
Loader defines temporary page table at 0x70000
(0x0000:0x7000),
it uses 2MB
page to make 0-12 MB memory to 0x0000 - 0xc0000
.
0.385s-boot
:
rebuild boot
and loader
.
0.391s-boot
:
loader
forgot open A20 line, so 0.385
and 0.362
just can
use 1MB memory like real-mode.
0.432s-boot
:
make directory include/
, and add segment.inc, but it doesn't work. :-)
0.451s-boot
:
boot
can load 8 sectors (4KB) of loader (not 1 sector).
0.466s-boot
:
rebuild boot
0.487s-boot
:
loader
let FS can access 4GB memory in real-mode. because
loader
loaded GDT and load a data-segment to fs, then disable
protect-mode.
0.484s-boot
:
let readdisk.inc
smaller, but we just can use CHS or LBA, not both.
0.509s-kernel
:
load kernel to 0x8200-0x9200 for 4KB, kernel.asm display 'K' to screen.
0.556s-int
:
init IDT at 0x0000-0x1000, and set all handler at ignore_int
, but it do nothing.
0.619s-boot
:
load 180KB of disk, not 4KB
0.566s-kernel
:
write in C.
0.790s-kernel
:
make some structs
1.384s-hal
:
use text VGA mode, and make a file-operations of it.
1.440s-lib
:
make some macros about assembly