UMA_MD_SMALL_ALLOC

Nathan Whitehorn nathanw at uchicago.edu
Wed May 7 15:22:27 UTC 2008


Peter Grehan wrote:
> Hi Nathan,
> 
>> In doing the G5 port, I have a problem with the UMA_MD_SMALL_ALLOC 
>> option. Because the G5 does not have BAT, this is broken. Even if we 
>> were to emulate it with pages, this is not a useful thing to have, 
>> since the point of the option would be defeated. But removing it would 
>> pessimize the G3/G4 port (the AIM code also panics late in boot 
>> without it, but that is a separate issue).
>>
>> There doesn't seem to be a way to twiddle it at runtime, which is a 
>> major problem if we want to have a single kernel running on all OEA 
>> machines. So I'm not sure what to do. Thoughts?
> 
>  A long time ago I talked to Alan Cox about modifying this option so it 
> could be done at run-time, and he seemed agreeable. The mips port has a 
> similar issue in that only the lower 512MB of RAM is direct-mapped, so a 
> run-time decision would help them too (though it would be based on free 
> pages and not processor variant).

Oh, great. That would be really convenient.

>> Also, an update on the G5 port: the PMAP stuff is done to the point 
>> where the kernel boots all the way to panicing about not having a PIC, 
>> which is late in the boot process and implies that only device support 
>> remains. Trap handling is up and running as well. And (with the 
>> exception of UMA_MD_SMALL_ALLOC) the same kernel also boots on my G3.
> 
>  Fantastic ! Post some patches, I'll give it a try.
> 
>  Have you changed the sync_icache code to dynamically switch to 128 
> bytes for the G5 ?

Yep. I'll post some patches later, once I've cleaned them up a little 
(they are a bit littered with printf(), /* code */ and #if 0 at the moment).
-Nathan



More information about the freebsd-ppc mailing list