Commit 365ec3db authored by David S. Miller's avatar David S. Miller

[SPARC64}: Fix ultra-III and later support of new-style SILO booting.

parent 7508df7c
...@@ -61,7 +61,7 @@ bootup_user_stack: ...@@ -61,7 +61,7 @@ bootup_user_stack:
* 0x0202 : Supports kernel params string * 0x0202 : Supports kernel params string
* 0x0201 : Supports reboot_command * 0x0201 : Supports reboot_command
*/ */
.half 0x0300 /* HdrS version */ .half 0x0300 /* HdrS version */
root_flags: root_flags:
.half 1 .half 1
...@@ -159,6 +159,21 @@ cheetah_generic_boot: ...@@ -159,6 +159,21 @@ cheetah_generic_boot:
blu,pt %xcc, 1b blu,pt %xcc, 1b
add %l0, (1 << 3), %l0 add %l0, (1 << 3), %l0
/* Search the small TLB. OBP never maps us like that but
* newer SILO can.
*/
clr %l0
1: ldxa [%l0] ASI_ITLB_TAG_READ, %g1
membar #Sync
andn %g1, %l2, %g1
cmp %g1, %g2
be,pn %xcc, cheetah_got_tlbentry
nop
cmp %l0, (15 << 3)
blu,pt %xcc, 1b
add %l0, (1 << 3), %l0
/* BUG() if we get here... */ /* BUG() if we get here... */
ta 0x5 ta 0x5
...@@ -167,7 +182,8 @@ cheetah_got_tlbentry: ...@@ -167,7 +182,8 @@ cheetah_got_tlbentry:
ldxa [%l0] ASI_ITLB_DATA_ACCESS, %g1 ldxa [%l0] ASI_ITLB_DATA_ACCESS, %g1
membar #Sync membar #Sync
and %g1, %g3, %g1 and %g1, %g3, %g1
sub %g1, %g2, %g1 set 0x5fff, %l0
andn %g1, %l0, %g1
or %g5, %g1, %g5 or %g5, %g1, %g5
/* Clear out any KERNBASE area entries. */ /* Clear out any KERNBASE area entries. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment