|
@@ -414,6 +414,8 @@ sun4v_chip_type:
|
|
|
cmp %g2, 'T'
|
|
|
be,pt %xcc, 70f
|
|
|
cmp %g2, 'M'
|
|
|
+ be,pt %xcc, 70f
|
|
|
+ cmp %g2, 'S'
|
|
|
bne,pn %xcc, 49f
|
|
|
nop
|
|
|
|
|
@@ -433,6 +435,9 @@ sun4v_chip_type:
|
|
|
cmp %g2, '7'
|
|
|
be,pt %xcc, 5f
|
|
|
mov SUN4V_CHIP_SPARC_M7, %g4
|
|
|
+ cmp %g2, 'N'
|
|
|
+ be,pt %xcc, 5f
|
|
|
+ mov SUN4V_CHIP_SPARC_SN, %g4
|
|
|
ba,pt %xcc, 49f
|
|
|
nop
|
|
|
|
|
@@ -461,9 +466,8 @@ sun4v_chip_type:
|
|
|
subcc %g3, 1, %g3
|
|
|
bne,pt %xcc, 41b
|
|
|
add %g1, 1, %g1
|
|
|
- mov SUN4V_CHIP_SPARC64X, %g4
|
|
|
ba,pt %xcc, 5f
|
|
|
- nop
|
|
|
+ mov SUN4V_CHIP_SPARC64X, %g4
|
|
|
|
|
|
49:
|
|
|
mov SUN4V_CHIP_UNKNOWN, %g4
|
|
@@ -548,8 +552,7 @@ sun4u_init:
|
|
|
stxa %g0, [%g7] ASI_DMMU
|
|
|
membar #Sync
|
|
|
|
|
|
- ba,pt %xcc, sun4u_continue
|
|
|
- nop
|
|
|
+ ba,a,pt %xcc, sun4u_continue
|
|
|
|
|
|
sun4v_init:
|
|
|
/* Set ctx 0 */
|
|
@@ -560,14 +563,12 @@ sun4v_init:
|
|
|
mov SECONDARY_CONTEXT, %g7
|
|
|
stxa %g0, [%g7] ASI_MMU
|
|
|
membar #Sync
|
|
|
- ba,pt %xcc, niagara_tlb_fixup
|
|
|
- nop
|
|
|
+ ba,a,pt %xcc, niagara_tlb_fixup
|
|
|
|
|
|
sun4u_continue:
|
|
|
BRANCH_IF_ANY_CHEETAH(g1, g7, cheetah_tlb_fixup)
|
|
|
|
|
|
- ba,pt %xcc, spitfire_tlb_fixup
|
|
|
- nop
|
|
|
+ ba,a,pt %xcc, spitfire_tlb_fixup
|
|
|
|
|
|
niagara_tlb_fixup:
|
|
|
mov 3, %g2 /* Set TLB type to hypervisor. */
|
|
@@ -595,6 +596,9 @@ niagara_tlb_fixup:
|
|
|
be,pt %xcc, niagara4_patch
|
|
|
nop
|
|
|
cmp %g1, SUN4V_CHIP_SPARC_M7
|
|
|
+ be,pt %xcc, niagara4_patch
|
|
|
+ nop
|
|
|
+ cmp %g1, SUN4V_CHIP_SPARC_SN
|
|
|
be,pt %xcc, niagara4_patch
|
|
|
nop
|
|
|
|
|
@@ -639,8 +643,7 @@ niagara_patch:
|
|
|
call hypervisor_patch_cachetlbops
|
|
|
nop
|
|
|
|
|
|
- ba,pt %xcc, tlb_fixup_done
|
|
|
- nop
|
|
|
+ ba,a,pt %xcc, tlb_fixup_done
|
|
|
|
|
|
cheetah_tlb_fixup:
|
|
|
mov 2, %g2 /* Set TLB type to cheetah+. */
|
|
@@ -659,8 +662,7 @@ cheetah_tlb_fixup:
|
|
|
call cheetah_patch_cachetlbops
|
|
|
nop
|
|
|
|
|
|
- ba,pt %xcc, tlb_fixup_done
|
|
|
- nop
|
|
|
+ ba,a,pt %xcc, tlb_fixup_done
|
|
|
|
|
|
spitfire_tlb_fixup:
|
|
|
/* Set TLB type to spitfire. */
|
|
@@ -774,8 +776,7 @@ setup_trap_table:
|
|
|
call %o1
|
|
|
add %sp, (2047 + 128), %o0
|
|
|
|
|
|
- ba,pt %xcc, 2f
|
|
|
- nop
|
|
|
+ ba,a,pt %xcc, 2f
|
|
|
|
|
|
1: sethi %hi(sparc64_ttable_tl0), %o0
|
|
|
set prom_set_trap_table_name, %g2
|
|
@@ -814,8 +815,7 @@ setup_trap_table:
|
|
|
|
|
|
BRANCH_IF_ANY_CHEETAH(o2, o3, 1f)
|
|
|
|
|
|
- ba,pt %xcc, 2f
|
|
|
- nop
|
|
|
+ ba,a,pt %xcc, 2f
|
|
|
|
|
|
/* Disable STICK_INT interrupts. */
|
|
|
1:
|