Page 1 of 1
Port I/O inside interrupt memory map?
Posted: Thu Oct 03, 2013 1:22 pm
by lopidas
I think lot of interrupts use Port I/O internally. Is this true?
So what kind of magic is used (typically) by interrupt 0x15 eax=0xe820?
Does it uses some ports or is it vendor improved version of manual probing?
Re: Port I/O inside interrupt memory map?
Posted: Thu Oct 03, 2013 1:40 pm
by madanra
Have a look at
Detecting Memory (x86) - the second paragraph in particular has some relevant information.
As to whether port I/O is used, that seems the most likely - having a look at the specs for some chipsets would give you the definitive answer though.
Re: Port I/O inside interrupt memory map?
Posted: Thu Oct 03, 2013 1:47 pm
by bluemoon
lopidas wrote:I think lot of interrupts use Port I/O internally. Is this true?
While it may be true that BIOS service interrupt uses port IO for certain operations (who cares, by the way),
however, for kernel developer that implement their own drivers and IRQ handlers, they may use memory mapped IO or DMA or other mechanisms to communicate with hardwares.
lopidas wrote:So what kind of magic is used (typically) by interrupt 0x15 eax=0xe820?
Does it uses some ports or is it vendor improved version of manual probing?
It is implementation defined, probably map ROM into address space, then run some sort of memtest code directly from ROM, so that it can test all RAM without requiring any functional RAM exists.
Re: Port I/O inside interrupt memory map?
Posted: Fri Oct 04, 2013 3:47 pm
by Owen
E820 will use the BIOS' internal memory map.
The BIOS' internal memory map will use the SPD EEPROMs on the DIMMs, which it needs to read in order to get the information needed to make the RAM work (because the RAM can't talk to you if it doesn't know what CAS/RAS/etc latencies you're using).