XP} 4GB ram + 256mb video ram= 3GB?

http://www.intel.com/assets/pdf/datasheet/317607.pdf

Intel Chipset manual page 46 clearly shows PCI IO map moved to the top of the 64GB stack in the Intelte chipset for address space >4GB

Look at it again. It has two areas with mmio. One below 4 GB and one below 64 GB. The traditional mmio is not moved. It is still located below 4G. Look at how the ram is remapped (reclaim base).

No, and btw, if you look at the map you'll se "OS Invisible" in the overlapping area with mmio. Which means that part of the ram is not usable without remapping - and 32bit desktop Windows refuses to address the ram when remapped above 4G.
 
Last edited:
Look at it again. It has two areas with mmio. One below 4 GB and one below 64 GB. The traditional mmio is not moved. It is still located below 4G. Look at how the ram is remapped (reclaim base).

He is correct. There have been numerous explanations via web sites, programmers, and whatever/whomever. The consequence is that they did not explain it correctly. I have been looking into this for a while now, and found that there are too many discrepancies. Because of this there is a lot of confusion on the subject matter.

What is actually taking place for the memory remapping, which is memory hoisting, is that the MMIO of the system address space stays in its normally system address space mapped area. This can be seen in Device Manager. Note that which is below and up to 0xFFFFFFFF for your MMIO has not been moved up. But an upper portion of address space that is above 4GB of memory is used as if it was that address space of that MMIO mapped section below 4GB. So “when it is moved up,” the address space is not of the higher range portion it would normally be. It is mapped as the lower region that belonged to the system address space used for MMIO.

Memory reclaming as defined:
"An incoming address (referred to as a logical address) is checked to see if it falls in the memory re-map window. The bottom of the re-map window is defined by the value in the RECLAIMBASE register. The top of the re-map window is defined by the value in the RECLAIMLIMIT register. An address that falls within this window is reclaimed to the physical memory starting at the address defined by the TOLUD register."

Memory remapping is memory hoisting. Memory hoisting is not something entirely different, and remapping is not entirely different too; they are the same and so is reclaiming, usually. The memory controller and chipset translate the mapped transition to prevent conflicts. The PCI Memory Address Range(subtractively decoded to DMI) within the whitepaper is the area in which the BAR (Base Address Register) can plant the device for its MMIO. The upper region above the reclamation range is for 64bit BAR (TOUUD Base-Top of Usable Upper DRAM). The lower region is the 32bit BAR (TOLUD Base-Top of Low Usable DRAM)

No, and btw, if you look at the map you'll se "OS Invisible" in the overlapping area with mmio. Which means that part of the ram is not usable without remapping - and 32bit desktop Windows refuses to address the ram when remapped above 4G.

It is being used whether it is remapped or not. This needs to be understood. When it is remapped then that reclaimed region is used as if it is the PCI hole range reclaimed. If it is wasn't remapped it is used by the system address space of that device, and the host system is prevented from using that address space for system memory because of the peripheral device being mapped to that area for system use. Either which way it is being used, and that is the biggest correction that needs to be made.

I said in a previous post not to confuse mmio with dma.

I was never confused about that. As I said previously that is a region that is used, you say it is not a region that is used. High BIOS, HSEG, TSEG, XAPIC, Local APIC, FSB Interrupts, Mbase/Mlimit, Memory Mapped IO space that supports only 32bit addressing are using the very area in which you say is not being used. This is what I want fixed.
 
It is being used whether it is remapped or not
The system ram is not being used, it cannot be used, because the cpu has no way of addressing it. It can only be addressed after remapping - that is why remapping was invented.

Memory Mapped IO space that supports only 32bit addressing are using the very area in which you say is not being used.
I am not sure we're on the same page. I never said such a thing. I keep saying the address space is being used (mmio). Mmio hides the system ram in this area, so it cannot be used. Remapping fixes the conflict, so the system ram can be addressed somewhere else.
 
Last edited:
Back
Top