[OpenBIOS] Haiku/ppc progress - ofmem_claim misbehavior?
Andreas Färber
andreas.faerber at web.de
Mon May 24 19:35:02 CEST 2010
Am 24.05.2010 um 18:57 schrieb Mark Cave-Ayland:
> Andreas Färber wrote:
>
>> The question is, why does claim overwrite the 0x07ed0000 identity
>> map of length 1245184, that I see [...] in my debug output now,
>> with a 0x07f00000 map when using the vanilla OpenBIOS code?
>
> What is the identity map? Is it something used in general for PPC or
> is it specific to Haiku?
Maybe I misworded, I meant an identity-mapped memory translation, i.e.
physical and virtual address identical. Nothing ppc or Haiku specific.
Map before claim (vanilla):
...
0x07ed0000 -> 0x07ed0000 (1245184)
...
Map after claim (vanilla):
...
[0x07ed0000..0x07f00000 no longer mapped!]
0x07f00000 -> 0x07f00000 (1048576)
...
Expected map after claim:
...
0x07d00000 -> 0x07d00000 (1048576) -- or wherever it fits
[0x07ed0000..0x07f00000 possibly mapped]
0x07f00000 -> 0x07f00000 (1048576) -- OpenBIOS
...
Two bugs IMO:
a) The map is shortened.
b) OpenBIOS memory is reused.
The latter made Haiku/OpenBIOS hang.
> Also if you enable DEBUG_CIF in libopenbios/client.c, do you see any
> more useful information?
I enabled CONFIG_DEBUG_OFMEM; the Haiku code will be calling
ofmem_claim(NULL, 1048576, 1048576) in case of default -m 128.
Whatever exactly the problem is, it must be between the ofmem
implementation and its users inside OpenBIOS.
Andreas
More information about the OpenBIOS
mailing list