Skip to contentSkip to conversation

PCI mapping on large memory 32-bit machines

DISCUSSION Timothy Miller 3 participants 3 messages May 19, 2003

lore
Share & tools
lore
#0 lore raw

On x86 with PAE and 4 gigs of RAM or more, where do memory-mapped I/O devices get mapped (in the physical address space)? Most PCI devices can't handle 64-bit addresses. Can PC chipsets physically remap some of the RAM to above 4 gig? Or do you just lose that much RAM? If both RAM and some I/O device are mapped to the same location, isn't there a conflict?

#1 lore raw
Quoted 6 lines · Timothy Miller

On x86 with PAE and 4 gigs of RAM or more, where do memory-mapped I/O devices get mapped (in the physical address space)? Most PCI devices can't handle 64-bit addresses. Can PC chipsets physically remap some of the RAM to above 4 gig? Or do you just lose that much RAM? If both RAM and some I/O device are mapped to the same location, isn't there a conflict?

The answer to PC/PCI is that the I/O space set (usually by the BIOS) into the BARs removes any RAM visibility in that area. But.... this is BAD bacause the BIOS may still claim that there is 4 gig of RAM. The OS may then try to use it. To "solve" this problem, Win/tell started the "high-RAM" specification where RAM higher than XXX Megs gets mapped with page-registers. The problem is that "XXX" is board-specific!

So, to answer your entire question... don't do it! Only use 3 gigs max and you will not be confused by confused hardware!

Cheers,
Dick Johnson
Penguin : Linux version 2.4.20 on an i686 machine (797.90 BogoMips). Why is the government concerned about the lunatic fringe? Think about it.

#2 lore raw
In reply to Timothy Miller
Quoted 5 lines · Timothy Miller

On x86 with PAE and 4 gigs of RAM or more, where do memory-mapped I/O devices get mapped (in the physical address space)? Most PCI devices can't handle 64-bit addresses. Can PC chipsets physically remap some of the RAM to above 4 gig? Or do you just lose that much RAM? If both RAM and some I/O device are mapped to the same location, isn't there a conflict?

AFAIK most (if not all) of that lands below 4GB in extant chipsets/BIOS's.

Remapping above 4GB is possible but various things would probably barf.

-- wli