3 ms·
Is there any known reason for why the IDT is initially at address 0 and the boot address is 0xFFFFFFF0?
by colejohnson66 7y ago
Is there any known reason for why the IDT is initially at address 0 and the boot address is 0xFFFFFFF0?
- Gibbon1 7y agoI don't think there is any technical reason it couldn't be anywhere. Except that they were expecting the IDT table to be mapped to DRAM. And you have basically two memory areas, DRAM and the BIOS in ROM. If the addresses don't start at 0 and max memory then you end up with RAM being non contiguous which is a fat wart. Pick your poison. Also remember too C and C++ weren't really a thing back in 1977. C and C++ tends to love splating low memory when you mess up your pointer magic. Other languages didn't have that problem.