OpenBIOS kept getting overwritten in RAM by clients such as Haiku.
Make sure memory used by OpenBIOS cannot accidentally be claimed by someone else. This also sets up the "available" property as expected.
Note that we avoid ofmem_claim() as it would map the pages using a default mode, followed by a remap with the desired mode.
v2: * Reordered. * Added spacing.
Signed-off-by: Andreas Färber andreas.faerber@web.de --- arch/ppc/qemu/ofmem.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/arch/ppc/qemu/ofmem.c b/arch/ppc/qemu/ofmem.c index a45c96c..4c813a0 100644 --- a/arch/ppc/qemu/ofmem.c +++ b/arch/ppc/qemu/ofmem.c @@ -429,6 +429,11 @@ ofmem_init( void ) { ofmem_t *ofmem = ofmem_arch_get_private();
+ ofmem_claim_phys(0, get_ram_bottom(), 0); + ofmem_claim_virt(0, get_ram_bottom(), 0); ofmem_map( 0, 0, get_ram_bottom(), 0 ); + + ofmem_claim_phys(get_ram_top(), ofmem->ramsize - get_ram_top(), 0); + ofmem_claim_virt(get_ram_top(), ofmem->ramsize - get_ram_top(), 0); ofmem_map( get_ram_top(), get_ram_top(), ofmem->ramsize - get_ram_top(), 0); }