Page MenuHomeFreeBSD

tlb1_init() can be called twice on BookE

Authored by on Aug 23 2016, 4:16 AM.



There is no need to call tlb1_init() twice. Now it is called first time from booke_init()
and second time from powerpc_init() (where it is under BOOKE switch). Although this does not cause immediate
problems in the mainline kernel, this can lead to undesirable side effects like two TLB entries with the same
VA in the TLB1. Presence of two TLB entries with the same VA can hang CPU.

Test Plan

Add initial mapping for UART to the tlb1_init(), build and boot the kernel, ensure that mapping presents
only once (most convinient way - through Lauterbah or similar hardware debugger)

Diff Detail

rS FreeBSD src repository - subversion
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline retitled this revision from to tlb1_init() can be called twice on BookE. updated this object. edited the test plan for this revision. (Show Details) set the repository for this revision to rS FreeBSD src repository - subversion. added a project: PowerPC.
jhibbits edited edge metadata.

This was leftovers from when we cached TLB1 entries in an in-memory cache, and needed to call tlb1_init() after the BSS was initialized, to reinitialize the cache.

This revision is now accepted and ready to land.Aug 23 2016, 4:31 AM
This revision was automatically updated to reflect the committed changes.