On a second look I believe the implementation is broken even
on native, as long as !CONFIG_FLATMEM, since there's an
assumption that an invalid PFN cannot be followed by a valid
one. For that reason, I think the code needs to be changed to
call e820_any_mapped() (just like aperture.c does). I have a
tentative patch to do that, but don't have a working box with
an 8151.
I do. You can send it to me for testing.
Attached - depending on what tree you want to apply it on you
may have to tweak it a little.
I applied it to xen-unstable with some tweaking (my version
doesn't seem to have an i386 e820-xen.c ??) and to 2.6.20.
System booted correctly and ran fine.
-Mark Langsdorf
Operating Systems Research Center
AMD, Inc.