From 5554b6fc46e815c226e3f9c46c070f8d07061382 Mon Sep 17 00:00:00 2001 From: Ben Collins Date: Tue, 20 Jan 2004 06:11:23 -0500 Subject: [PATCH] [SPARC64]: Correctly mask the physical address for remapping the kernel TLB's --- arch/sparc64/kernel/head.S | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.S index 152d07b082a59..830b2efa48cc1 100644 --- a/arch/sparc64/kernel/head.S +++ b/arch/sparc64/kernel/head.S @@ -54,7 +54,14 @@ bootup_user_stack: .ascii "HdrS" .word LINUX_VERSION_CODE - .half 0x0203 /* HdrS version */ + + /* History: + * + * 0x0202 : Supports kernel params string + * 0x0300 : Supports being located at other than 0x4000 + */ + .half 0x0300 /* HdrS version */ + root_flags: .half 1 root_dev: @@ -345,7 +352,8 @@ spitfire_got_tlbentry: nop nop and %g1, %g3, %g1 /* Mask to just get paddr bits. */ - sub %g1, %g2, %g1 /* Get rid of %pc offset to get base. */ + set 0x5fff, %l3 /* Mask offset to get phys base. */ + andn %g1, %l3, %g1 /* NOTE: We hold on to %g1 paddr base as we need it below to lock * NOTE: the PROM cif code into the TLB. -- 2.53.0