On 2013-Apr-4 15:35 , Artyom Tarasenko wrote:
OFMEM: ofmem_map_page_range ffc66000 -> 006f7a000 00001000 mode 000000bc ... OFMEM: ofmem_claim phys=ffffffffffffffff size=00002000 align=00002000 OFMEM: ofmem_claim_virt virt=ffc65000 size=00002000 align=00000000 OFMEM: Non-free virtual memory claimed!
That's interesting. You're asking for a page size (0x2000) on a non-page boundary (0xffc6.5000). The complaint is because it extends far enough to overlap with what the map_page_range above (0xffc6.6000).
The question is where those two addresses are coming from? 0xffc6.6000 and 0xffc6.5000 are in the range Solaris would expect for Openboot - whoever came up with 0xffc6.5000 got it wrong, if he needs 0x2000 bytes, he needed to ask for 0xffc6.4000.
Does IEEE-1275 say something about this case?
This is simply a matter of overlapping address ranges. Somewhere an allocator is getting the wrong result.