On 5/6/06, Chris Dumoulin <cdumoulin at ics-ltd.com> wrote: > You said that the temporary TLB entries setup in head_4xx.S will eventually > be replaced. > Where is the code that creates these new TLB entries later on? Are the 'real' > TLB entries > only created once, and persist for as long as the system is running, or do > TLB entries > change often while the system is running?
The kernel maintains a list of mappings between virtual and physical space. When the processor takes a TLB miss exception, then exception handler loads the needed mapping into the TLB and returns from exception. (Look in head_4xx.S; specifically at finish_tlb_load). TLB entries are loaded in a round-robin fashion as needed. Since your early TLB mappings aren't in the kernel page tables; they get overwritten and can't be reloaded by the TLB miss exception handler. > Can you point me to some information about Grant's platform bus changes that > you were > talking about? I am using a custom V2Pro board, and I'd be interested to see > if this code > is something I should be looking at. The platform bus changes moves the devices to use the "Platform Bus" infrastructure. It's kind of a move away from multiple processor-specific bus management schemes for "simple" busses. ie. If the processor can access it without special setup code; the device can go on the platform bus. Check out http://patchwork.ozlabs.org/linuxppc/ and search for my name. There's about 9 patches grouped together. Cheers, g. -- Grant Likely, B.Sc. P.Eng. Secret Lab Technologies Ltd. (403) 399-0195