diff options
| author | David S. Miller <davem@kernel.bkbits.net> | 2004-02-03 20:40:58 -0800 |
|---|---|---|
| committer | David S. Miller <davem@kernel.bkbits.net> | 2004-02-03 20:40:58 -0800 |
| commit | 3ba4cb0a34bf97b07130e62dced5f3adc07fafcb (patch) | |
| tree | c07e5ac8d5e8e8c587fbe87d95fdabecc70a4700 | |
| parent | 25b160e30eda99ccc6065c0120a07e00dfa43de4 (diff) | |
| parent | 365ec3db17c64c4ebb6d204260f098c160271305 (diff) | |
Merge davem@nuts.davemloft.net:/disk1/BK/sparc-2.6
into kernel.bkbits.net:/home/davem/sparc-2.6
| -rw-r--r-- | arch/sparc64/kernel/head.S | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.S index b381db233a0b..910f768d8926 100644 --- a/arch/sparc64/kernel/head.S +++ b/arch/sparc64/kernel/head.S @@ -61,7 +61,7 @@ bootup_user_stack: * 0x0202 : Supports kernel params string * 0x0201 : Supports reboot_command */ - .half 0x0300 /* HdrS version */ + .half 0x0300 /* HdrS version */ root_flags: .half 1 @@ -159,6 +159,21 @@ cheetah_generic_boot: blu,pt %xcc, 1b 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... */ ta 0x5 @@ -167,7 +182,8 @@ cheetah_got_tlbentry: ldxa [%l0] ASI_ITLB_DATA_ACCESS, %g1 membar #Sync and %g1, %g3, %g1 - sub %g1, %g2, %g1 + set 0x5fff, %l0 + andn %g1, %l0, %g1 or %g5, %g1, %g5 /* Clear out any KERNBASE area entries. */ |
