Embed ISRs at known address
authorJack Miller <jack@codezen.org>
Tue, 20 Sep 2016 20:25:04 +0000 (15:25 -0500)
committerJack Miller <jack@codezen.org>
Wed, 21 Sep 2016 00:14:38 +0000 (19:14 -0500)
commite0677a5d6033723a739c8816f54ac7523e3f0865
tree1258c80550249900240a018a1b2fce165e80b251
parent959600d067ea841ff8fa4eb63f5479b9afaabaa4
Embed ISRs at known address

Rather than fixing up the IDT entries at runtime, put the ISRs into
their own section at a known address and generate the IDT entries at
compile time.

This also tightens the "early" part of the kernel (grub sig, .text_early
section) to 2k although it's currently less than half of that.

The price of this change is that we don't have a working IDT until we're
in long mode, but we haven't ever had valid 32-bit ISRs outside of the
realmode stub, so no loss there.
asm/head.asm
asm/idt.asm
asm/realmode.asm-bin
include/asm/idt.h
include/memmap.h
linker.ld