/* Go to trap time globals so we can save them. */
661: wrpr %g0, ETRAP_PSTATE1, %pstate
- .section .gl_1insn_patch, "ax"
+ .section .sun4v_1insn_patch, "ax"
.word 661b
SET_GL(0)
.previous
wrpr %g0, 1, %tl
661: nop
- .section .gl_1insn_patch, "ax"
+ .section .sun4v_1insn_patch, "ax"
.word 661b
SET_GL(1)
.previous
661: rdpr %pstate, %g5
wrpr %g5, PSTATE_AG | PSTATE_MG, %pstate
- .section .gl_2insn_patch, "ax"
+ .section .sun4v_2insn_patch, "ax"
.word 661b
nop
nop
661: rdpr %pstate, %g5
wrpr %g5, PSTATE_AG | PSTATE_MG, %pstate
- .section .gl_2insn_patch, "ax"
+ .section .sun4v_2insn_patch, "ax"
.word 661b
nop
nop
/* Normal globals are restored, go to trap globals. */
661: wrpr %g0, RTRAP_PSTATE_AG_IRQOFF, %pstate
- .section .gl_1insn_patch, "ax"
+ .section .sun4v_1insn_patch, "ax"
.word 661b
SET_GL(1)
.previous
wrpr %g0, RTRAP_PSTATE, %pstate
661: nop
- .section .gl_1insn_patch, "ax"
+ .section .sun4v_1insn_patch, "ax"
.word 661b
SET_GL(0)
.previous
#endif
}
-static void __init gl_patch(void)
+static void __init sun4v_patch(void)
{
- struct gl_1insn_patch_entry *p1;
- struct gl_2insn_patch_entry *p2;
+ struct sun4v_1insn_patch_entry *p1;
+ struct sun4v_2insn_patch_entry *p2;
if (tlb_type != hypervisor)
return;
- p1 = &__gl_1insn_patch;
- while (p1 < &__gl_1insn_patch_end) {
+ p1 = &__sun4v_1insn_patch;
+ while (p1 < &__sun4v_1insn_patch_end) {
unsigned long addr = p1->addr;
*(unsigned int *) (addr + 0) = p1->insn;
p1++;
}
- p2 = &__gl_2insn_patch;
- while (p2 < &__gl_2insn_patch_end) {
+ p2 = &__sun4v_2insn_patch;
+ while (p2 < &__sun4v_2insn_patch_end) {
unsigned long addr = p2->addr;
*(unsigned int *) (addr + 0) = p2->insns[0];
*/
per_cpu_patch();
- gl_patch();
+ sun4v_patch();
boot_flags_init(*cmdline_p);
661: stxa %g5, [%g0] ASI_DTLB_DATA_IN
retry
- .section .gl_2insn_patch, "ax"
+ .section .sun4v_2insn_patch, "ax"
.word 661b
nop
nop
661: stxa %g5, [%g0] ASI_ITLB_DATA_IN
retry
- .section .gl_2insn_patch, "ax"
+ .section .sun4v_2insn_patch, "ax"
.word 661b
nop
nop
661: rdpr %pstate, %g5
wrpr %g5, PSTATE_AG | PSTATE_MG, %pstate
- .section .gl_2insn_patch, "ax"
+ .section .sun4v_2insn_patch, "ax"
.word 661b
nop
nop
661: mov TLB_TAG_ACCESS, %g4
ldxa [%g4] ASI_DMMU, %g5
- .section .gl_2insn_patch, "ax"
+ .section .sun4v_2insn_patch, "ax"
.word 661b
mov %g4, %g5
nop
661: mov TSB_REG, %g1
stxa %o1, [%g1] ASI_DMMU
- .section .gl_2insn_patch, "ax"
+ .section .sun4v_2insn_patch, "ax"
.word 661b
mov SCRATCHPAD_UTSBREG1, %g1
stxa %o1, [%g1] ASI_SCRATCHPAD
661: stxa %o1, [%g1] ASI_IMMU
membar #Sync
- .section .gl_2insn_patch, "ax"
+ .section .sun4v_2insn_patch, "ax"
.word 661b
nop
nop
__cpuid_patch = .;
.cpuid_patch : { *(.cpuid_patch) }
__cpuid_patch_end = .;
- __gl_1insn_patch = .;
- .gl_1insn_patch : { *(.gl_1insn_patch) }
- __gl_1insn_patch_end = .;
- __gl_2insn_patch = .;
- .gl_2insn_patch : { *(.gl_2insn_patch) }
- __gl_2insn_patch_end = .;
+ __sun4v_1insn_patch = .;
+ .sun4v_1insn_patch : { *(.sun4v_1insn_patch) }
+ __sun4v_1insn_patch_end = .;
+ __sun4v_2insn_patch = .;
+ .sun4v_2insn_patch : { *(.sun4v_2insn_patch) }
+ __sun4v_2insn_patch_end = .;
. = ALIGN(8192);
__initramfs_start = .;
.init.ramfs : { *(.init.ramfs) }
661: rdpr %pstate, %g2
wrpr %g2, PSTATE_IG | PSTATE_AG, %pstate
- .section .gl_2insn_patch, "ax"
+ .section .sun4v_2insn_patch, "ax"
.word 661b
nop
nop
661: rdpr %pstate, %g2
wrpr %g2, PSTATE_IG | PSTATE_AG, %pstate
- .section .gl_2insn_patch, "ax"
+ .section .sun4v_2insn_patch, "ax"
.word 661b
nop
nop
extern struct cpuid_patch_entry __cpuid_patch, __cpuid_patch_end;
#endif
-struct gl_1insn_patch_entry {
+struct sun4v_1insn_patch_entry {
unsigned int addr;
unsigned int insn;
};
-extern struct gl_1insn_patch_entry __gl_1insn_patch, __gl_1insn_patch_end;
+extern struct sun4v_1insn_patch_entry __sun4v_1insn_patch,
+ __sun4v_1insn_patch_end;
-struct gl_2insn_patch_entry {
+struct sun4v_2insn_patch_entry {
unsigned int addr;
unsigned int insns[2];
};
-extern struct gl_2insn_patch_entry __gl_2insn_patch, __gl_2insn_patch_end;
+extern struct sun4v_2insn_patch_entry __sun4v_2insn_patch,
+ __sun4v_2insn_patch_end;
+
#endif /* !(__ASSEMBLY__) */
#define TRAP_PER_CPU_THREAD 0x00