boot.s (copy) 0.01 kernel size and paging

currently system is atmost 8*65536 bytes long. This should be no problem even in the future. I want to keep it simple.This 512 size kernel kB kernel size should be enough – infact more would mean we should have to move not just these startup routines, but also do something about the cache memory(block I/O …

searching for call …

$grep -r setup * boot/head.s: call setup_idt boot/head.s: call setup_gdt boot/head.s: mov %ax,%es # reloaded in ‘setup_gdt’ boot/head.s: * setup_idt boot/head.s:setup_idt: boot/head.s: * setup_gdt boot/head.s:setup_gdt: boot/head.s: jmp setup_paging boot/head.s:setup_paging: include/linux/sys.h:extern int sys_setup(); include/linux/sys.h:fn_ptr sys_call_table[] = { sys_setup, sys_exit, sys_fork, sys_read, include/unistd.h:#define __NR_setup 0 /* used only by init, to get system going */ init/main.c:static inline …

IDT interrupt descriptor table

The Interrupt Descriptor Table (IDT) is an array of 8 byte interrupt descriptors in memory devoted to specifying (at most) 256 interrupt service routines. The first 32 entries are reserved for processor exceptions, and any 16 of the remaining entries can be used for hardware interrupts. The rest are available for software interrupts. source : …

LEA instruction

The lea instruction places the address specified by its second operand into the register specified by its first operand. Note, the contents ofthe memory location are not loaded, only the effective address is computed and placed into the register. This is useful for obtaining a pointer into a memory region. source: http://www.cs.virginia.edu/~evans/cs216/guides/x86.html

Bochs

snippet 1 $apt-cache search bochs grub-firmware-qemu – GRUB firmware image for QEMU vgabios – VGA BIOS software for the Bochs and Qemu emulated VGA card bochs – IA-32 PC emulator bochs-doc – Bochs upstream documentation bochs-sdl – SDL plugin for Bochs bochs-svga – SVGA plugin for Bochs bochs-term – Terminal (ncurses-based) plugin for Bochs bochs-wx …

ELF spec. types of object files

A relocatable file holds code and data suitable for linking with other object files to create an executable or a shared object file. An executable file holds a program suitable for execution; the file specifies how exec(BA_OS) creates a program’s process image. A shared object file holds code and data suitable for linking in two …

bounded interrupt latencies

Connected From This We ensure bounded interrupt latencies by the standard approach of introducing a few, carefully placed, interrupt points. On detection of a pending interrupt, the kernel explicitly returns through the function call stack to the ker- nel/user boundary and responds to the interrupt. It then restarts the original operation, including reestablishing all the …