Page 1 of 1
Where is LVT when there is less than 4Gio of memory ?
Posted: Thu Nov 02, 2017 1:37 pm
by DridriLaBastos
I am trying to set the APIC but there is something I misunderstand : according to the intel manual, "APIC registers are memory-mapped to a 4-KByte region of the processor’s physical address space with an initial starting address of FEE00000H" but what if I only have 32MB of memory (which is the default setting on bochs)? The address 0xFEE0_000 is not reachable so what's happening? Where the LVT goes when there is less tan 4Gib of memory in the computer ?
Re: Where is LVT when there is less than 4Gio of memory ?
Posted: Thu Nov 02, 2017 1:49 pm
by max
Hey,
the APIC registers are mapped to these physical addresses, so they are accessible on those. When the processor accesses these addresses, it will be read/written to the APIC registers instead of the physically available RAM. In the physical address space there could also be other devices mapped.
After all, you can't be sure that when you have 32MB of memory they will be physically available from 0x00000000 to 0x02000000. It could be mapped in different parts to different locations. See this nice page:
http://wiki.osdev.org/Detecting_Memory_(x86)
Greets
Re: Where is LVT when there is less than 4Gio of memory ?
Posted: Thu Nov 02, 2017 3:01 pm
by DridriLaBastos
thank you for the quick answer