IA32 and the 4 GB memory problem

Found some information in two of Intels chipset datasheets about this issue:

The board utilizes 4 GB of addressable system memory. Typically the
address space that is allocated for PCI Conventional bus add-in cards,
PCI Express configuration space, BIOS (firmware hub), and chipset
overhead resides above the top of DRAM (total system memory). On a
system that has 4 GB of system memory installed, it is not possible to
use all of the installed memory due to system address space being
allocated for other system critical functions.  These functions include
the following:

BIOS/firmware hub (2 MB)
Local APIC (19 MB)
Digital Media Interface (40 MB)
Front side bus interrupts (17 MB)
PCI Express configuration space (256 MB)
MCH base address registers, internal graphics ranges, PCI Express
ports (up to 512 MB)
Memory-mapped I/O that is dynamically allocated for PCI Conventional
and PCI Express add-in cards

And the other note:

Memory between 4GB and 4GB minus 512MB will not be accessible for use
by the operating system and may be lost to the user, because this area
is reserved for BIOS, APIC configuration space, PCI adapter interface,
and virtual video memory space. This means that if 4GB of memory is
installed, 3.5GB of this memory is usable. The chipset should allow the
remapping of unused memory above the 4GB address, but this memory may
not be accessible to an operating system that has a 4GB memory limit.