tlb1_init() can be called twice on BookE
Summary: 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) Submitted by: Ivan Krivonos <int0dster_gmail.com> Differential Revision: https://reviews.freebsd.org/D7607
This commit is contained in:
@@ -288,10 +288,6 @@ powerpc_init(vm_offset_t fdt, vm_offset_t toc, vm_offset_t ofentry, void *mdp)
|
||||
bzero(__bss_start, _end - __bss_start);
|
||||
init_static_kenv(NULL, 0);
|
||||
}
|
||||
#ifdef BOOKE
|
||||
tlb1_init();
|
||||
#endif
|
||||
|
||||
/* Store boot environment state */
|
||||
OF_initial_setup((void *)fdt, NULL, (int (*)(void *))ofentry);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user