Skip to content

References

Douglas Thain edited this page Dec 14, 2017 · 1 revision

References

The OS Development Wiki is an excellent source of sample code and general orientation toward the topics that you need to learn. However, to get the details of each element right, you will need to dig into the source documents for each component of the system:

The Intel CPU Manuals are the definitive CPU reference. Especially focus on the first five chapters of the * System Programming Guide * to fully understand the virtual memory model and exception handling.

The doc directory contains a few hard to find PDF specifications. While they describe older hardware, standardized hardware has a high degree of backwards compatibility, so these techniques continue to work.

ATA Attachment-3 Interface describes the interface to traditional ATA disks, including both I/O registers and commands interpreted by the disk.

PhoenixBIOS Programmer's Guide describes the BIOS functions available in the early boot environment, while the system is still in 16-bit mode. These are used by bootblock.S and kernelcore.S to load data from disk and initialize the system.

VESA BIOS Extension (VBE) describes extensions to the BIOS interrupts specifically for setting and querying graphics modes. This is used by kernelcore.S just before jumping to protected mode.

Super I/O Controller describes a typical chipset that provides basic support devices such as keyboard, serial ports, timer, and real-time clock. These can be accessed in any processor mode. While your machine may not have this specific chipset, the basic functions are widely compatible.

Clone this wiki locally