Port I/O inside interrupt memory map?

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
Post Reply
lopidas
Member
Member
Posts: 65
Joined: Sun May 26, 2013 10:12 am

Port I/O inside interrupt memory map?

Post 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?
madanra
Member
Member
Posts: 149
Joined: Mon Sep 07, 2009 12:01 pm

Re: Port I/O inside interrupt memory map?

Post 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.
User avatar
bluemoon
Member
Member
Posts: 1761
Joined: Wed Dec 01, 2010 3:41 am
Location: Hong Kong

Re: Port I/O inside interrupt memory map?

Post 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.
User avatar
Owen
Member
Member
Posts: 1700
Joined: Fri Jun 13, 2008 3:21 pm
Location: Cambridge, United Kingdom
Contact:

Re: Port I/O inside interrupt memory map?

Post 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).
Post Reply