Useful links ======================== Linux boot ------------------------ * [Linux/x86 boot protocol](https://www.kernel.org/doc/Documentation/x86/boot.txt) Protected mode ------------------------ * [64-ia-32-architectures-software-developer-vol-3a-part-1-manual.pdf](http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html) Serial programming ------------------------ * [8250 UART Programming](http://en.wikibooks.org/wiki/Serial_Programming/8250_UART_Programming#UART_Registers) * [Serial ports on OSDEV](http://wiki.osdev.org/Serial_Ports) VGA ------------------------ * [Video Graphics Array (VGA)](http://en.wikipedia.org/wiki/Video_Graphics_Array) IO ------------------------ * [IO port programming](http://www.tldp.org/HOWTO/text/IO-Port-Programming) GCC ------------------------ * [GCC type attributes](https://gcc.gnu.org/onlinedocs/gcc/Type-Attributes.html)