Allow non-PMD-aligned PAGE_OFFSET

Release: 2.4.19 United Linux

Developer: Dave Hansen

Patched against: 2.4.19 UL

Co-reqs / Pre-reqs: UL kernel

Changelog:

I did this for 2.5, and I've done a functional backport to the 2.4 UL
kernel.  It's ugly, and doesn't free the bootmem in zap_low_mappings(),
but it works.  It allows me to use up to a 3.75:0.25 split with PAE.  I
also booted it with 3.5:0.5.

I guess a particular database/hardware vendor has a memory hole
requiring the use of PAE on boxes with only 4GB phys.  They still wanted
the 3.5:0.5 split.

elm3b82:~# uname -r
2.4.19-64GB-SMP
elm3b82:~# cat /proc/meminfo
        total:    used:    free:  shared: buffers:  cached:
Mem:  3874070528 26759168 3847311360        0  1335296  7598080
Swap:        0        0        0
MemTotal:      3783272 kB
MemFree:       3757140 kB
MemShared:           0 kB
Buffers:          1304 kB
Cached:           7420 kB
SwapCached:          0 kB
Active:           4032 kB
Inactive:         6680 kB
HighTotal:     3702756 kB
HighFree:      3692080 kB
LowTotal:        80516 kB
LowFree:         65060 kB
SwapTotal:           0 kB
SwapFree:            0 kB
BigFree:             0 kB