Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Thiemo Seufer <ths@networkno.de>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Subject: Re: CVS Update@linux-mips.org: linux
Date: Fri, 3 Jun 2005 12:21:40 +0200	[thread overview]
Message-ID: <20050603102140.GA1610@hattusa.textio> (raw)
In-Reply-To: <20050603092205.GA4573@linux-mips.org>

Ralf Baechle wrote:
> On Fri, Jun 03, 2005 at 03:21:13AM +0100, ths@linux-mips.org wrote:
> 
> > Log message:
> > 	Fix R4[04]00 hazards breakage.
> > 
> > diff -urN linux/arch/mips/mm/tlbex-r4k.S linux/arch/mips/mm/tlbex-r4k.S
> > --- linux/arch/mips/mm/Attic/tlbex-r4k.S	2004/11/25 22:18:38	1.2.2.19
> > +++ linux/arch/mips/mm/Attic/tlbex-r4k.S	2005/06/03 02:21:06	1.2.2.20
> > @@ -186,6 +186,7 @@
> >  	P_MTC0	k1, CP0_ENTRYLO1		# load it
> >  	mtc0_tlbw_hazard
> >  	tlbwr					# write random tlb entry
> > +	nop
> >  	tlbw_eret_hazard
> 
> I did previously object to a similar patch

I didn't know that, IIRC a similiar patch went in 2.6 before the synthesized
TLB handlers were done.

> - why not fix tlbw_eret_hazard instead.

Like this?


Thiemo


Index: arch/mips/mm/tlbex-r4k.S
===================================================================
RCS file: /home/cvs/linux/arch/mips/mm/Attic/tlbex-r4k.S,v
retrieving revision 1.2.2.20
diff -u -p -r1.2.2.20 tlbex-r4k.S
--- arch/mips/mm/tlbex-r4k.S	3 Jun 2005 02:21:06 -0000	1.2.2.20
+++ arch/mips/mm/tlbex-r4k.S	3 Jun 2005 10:16:28 -0000
@@ -186,7 +186,6 @@
 	P_MTC0	k1, CP0_ENTRYLO1		# load it
 	mtc0_tlbw_hazard
 	tlbwr					# write random tlb entry
-	nop
 	tlbw_eret_hazard
 	eret
 	END(except_vec0_r4000)
@@ -468,7 +467,6 @@ invalid_tlbl:
 	PTE_RELOAD(k1, k0)
 	mtc0_tlbw_hazard
 	tlbwi
-	nop
 	tlbw_eret_hazard
 	.set	mips3
 	eret
@@ -493,7 +491,6 @@ nopage_tlbl:
 	PTE_RELOAD(k1, k0)
 	mtc0_tlbw_hazard
 	tlbwi
-	nop
 	tlbw_eret_hazard
 	.set	mips3
 	eret
@@ -523,7 +520,6 @@ nopage_tlbs:
 	PTE_RELOAD(k1, k0)
 	mtc0_tlbw_hazard
 	tlbwi
-	nop
 	tlbw_eret_hazard
 	.set	mips3
 	eret
Index: arch/mips64/mm/tlbex-r4k.S
===================================================================
RCS file: /home/cvs/linux/arch/mips64/mm/Attic/tlbex-r4k.S,v
retrieving revision 1.1.2.20
diff -u -p -r1.1.2.20 tlbex-r4k.S
--- arch/mips64/mm/tlbex-r4k.S	3 Jun 2005 02:21:07 -0000	1.1.2.20
+++ arch/mips64/mm/tlbex-r4k.S	3 Jun 2005 10:16:28 -0000
@@ -125,6 +125,33 @@ LEAF(except_vec1_r4k)
 	 nop
 END(except_vec1_r4k)
 
+	__FINIT
+
+	.align  5
+LEAF(handle_vec1_r4k)
+	.set    noat
+	LOAD_PTE2 k1 k0 9f
+	ld	k0, 0(k1)			# get even pte
+	ld	k1, 8(k1)			# get odd pte
+	PTE_RELOAD k0 k1
+	mtc0_tlbw_hazard
+	tlbwr
+	tlbw_eret_hazard
+	eret
+
+9:						# handle the vmalloc range
+	LOAD_KPTE2 k1 k0 invalid_vmalloc_address
+	ld	k0, 0(k1)			# get even pte
+	ld	k1, 8(k1)			# get odd pte
+	PTE_RELOAD k0 k1
+	mtc0_tlbw_hazard
+	tlbwr
+	tlbw_eret_hazard
+	eret
+END(handle_vec1_r4k)
+
+	__INIT
+
 LEAF(except_vec1_sb1)
 #if BCM1250_M3_WAR
 	dmfc0	k0, CP0_BADVADDR
@@ -134,18 +161,17 @@ LEAF(except_vec1_sb1)
 	bnez	k0, 1f
 #endif
 	.set    noat
-	dla     k0, handle_vec1_r4k
+	dla     k0, handle_vec1_sb1
 	jr      k0
 	 nop
 
 1:	eret
-	nop
 END(except_vec1_sb1)
 
 	__FINIT
 
 	.align  5
-LEAF(handle_vec1_r4k)
+LEAF(handle_vec1_sb1)
 	.set    noat
 	LOAD_PTE2 k1 k0 9f
 	ld	k0, 0(k1)			# get even pte
@@ -153,7 +179,6 @@ LEAF(handle_vec1_r4k)
 	PTE_RELOAD k0 k1
 	mtc0_tlbw_hazard
 	tlbwr
-1:	tlbw_eret_hazard
 	eret
 
 9:						# handle the vmalloc range
@@ -163,10 +188,8 @@ LEAF(handle_vec1_r4k)
 	PTE_RELOAD k0 k1
 	mtc0_tlbw_hazard
 	tlbwr
-	nop
-1:	tlbw_eret_hazard
 	eret
-END(handle_vec1_r4k)
+END(handle_vec1_sb1)
 
 
 	__INIT
@@ -194,7 +217,6 @@ LEAF(handle_vec1_r10k)
 	PTE_RELOAD k0 k1
 	mtc0_tlbw_hazard
 	tlbwr
-	tlbw_eret_hazard
 	eret
 
 9:						# handle the vmalloc range
@@ -204,7 +226,6 @@ LEAF(handle_vec1_r10k)
 	PTE_RELOAD k0 k1
 	mtc0_tlbw_hazard
 	tlbwr
-	tlbw_eret_hazard
 	eret
 END(handle_vec1_r10k)
 
Index: include/asm-mips/hazards.h
===================================================================
RCS file: /home/cvs/linux/include/asm-mips/hazards.h,v
retrieving revision 1.1.2.3
diff -u -p -r1.1.2.3 hazards.h
--- include/asm-mips/hazards.h	3 Jun 2005 02:21:07 -0000	1.1.2.3
+++ include/asm-mips/hazards.h	3 Jun 2005 10:16:28 -0000
@@ -46,6 +46,7 @@
 #define mtc0_tlbw_hazard						\
 	b	. + 8
 #define tlbw_eret_hazard
+	nop
 #endif
 
 /*
Index: include/asm-mips64/hazards.h
===================================================================
RCS file: /home/cvs/linux/include/asm-mips64/Attic/hazards.h,v
retrieving revision 1.1.2.3
diff -u -p -r1.1.2.3 hazards.h
--- include/asm-mips64/hazards.h	3 Jun 2005 02:21:07 -0000	1.1.2.3
+++ include/asm-mips64/hazards.h	3 Jun 2005 10:16:28 -0000
@@ -46,6 +46,7 @@
 #define mtc0_tlbw_hazard						\
 	b	. + 8
 #define tlbw_eret_hazard
+	nop
 #endif
 
 /*

  reply	other threads:[~2005-06-03 10:22 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20050603022113Z8226140-1340+8064@linux-mips.org>
2005-06-03  9:22 ` CVS Update@linux-mips.org: linux Ralf Baechle
2005-06-03 10:21   ` Thiemo Seufer [this message]
2005-06-03 10:55     ` Ralf Baechle
2005-06-03 11:12     ` Geert Uytterhoeven
2005-06-03 11:30       ` Ralf Baechle
2005-06-03 11:37         ` Geert Uytterhoeven
     [not found] <20050921213950Z8225559-3678+10018@linux-mips.org>
2005-09-22  9:28 ` Matej Kupljen
     [not found] <20050920002016Z8225531-3678+9789@linux-mips.org>
2005-09-20  8:19 ` Jerry
2005-09-20 14:53   ` Pete Popov
     [not found] <20050902095417Z8224772-3678+8160@linux-mips.org>
2005-09-02 11:35 ` Maciej W. Rozycki
2005-09-02 12:01   ` Thiemo Seufer
2005-09-02 13:30     ` Maciej W. Rozycki
     [not found] <20050901085634Z8225385-3678+8053@linux-mips.org>
2005-09-01 11:18 ` Ralf Baechle
2005-09-01 11:31   ` Ralf Baechle
     [not found] <20050820142723Z8225252-3678+7060@linux-mips.org>
2005-08-22  9:18 ` Maciej W. Rozycki
2005-08-22 10:26   ` Ralf Baechle
2005-08-22 11:49     ` Maciej W. Rozycki
     [not found] <20050727214818Z8225782-3678+4592@linux-mips.org>
2005-07-28 10:19 ` Maciej W. Rozycki
     [not found] <20050725213607Z8225534-3678+4335@linux-mips.org>
     [not found] ` <57480.194.171.252.10 0.1122478386.squirrel@mail.kpsws.com>
2005-07-27 15:33 ` Niels Sterrenburg
2005-07-27 15:37   ` Geert Uytterhoeven
2005-07-27 16:37     ` Maciej W. Rozycki
2005-07-27 17:24   ` Ralf Baechle
2005-07-27 18:03     ` Maciej W. Rozycki
2005-07-27 19:28       ` Ralf Baechle
2005-07-28  7:36         ` Geert Uytterhoeven
2005-07-28 10:13           ` Maciej W. Rozycki
2005-07-28 13:46             ` Ralf Baechle
2005-07-28 11:23           ` Niels Sterrenburg
     [not found] <20050721153359Z8225218-3678+3745@linux-mips.org>
2005-07-22  4:30 ` Ralf Baechle
2005-07-22 12:10   ` Thiemo Seufer
2005-07-22 13:06     ` Ralf Baechle
2005-07-22 13:24       ` Maciej W. Rozycki
2005-07-22 14:00         ` Ralf Baechle
2005-07-22 14:18           ` Thiemo Seufer
2005-07-26 11:12           ` Maciej W. Rozycki
2005-07-22 14:16       ` Thiemo Seufer
     [not found] <20050721153639Z8225221-3678+3748@linux-mips.org>
2005-07-21 21:53 ` Ralf Baechle
     [not found] <20050714174806Z8226711-3678+3079@linux-mips.org>
2005-07-15 15:16 ` Yoichi Yuasa
2005-07-15 18:07   ` Ralf Baechle
2005-07-15 23:23   ` Pete Popov
2005-07-15 23:23     ` Pete Popov
     [not found] <20050714001711Z8226701-3678+2977@linux-mips.org>
2005-07-14 15:35 ` Maciej W. Rozycki
2005-07-14 15:51   ` Pete Popov
2005-07-14 15:59     ` Maciej W. Rozycki
2005-07-14 16:01       ` Pete Popov
     [not found] <20050712145438Z8226641-3678+2759@linux-mips.org>
2005-07-12 15:30 ` Maciej W. Rozycki
     [not found] <20050711170613Z8226486-3678+2546@linux-mips.org>
2005-07-11 17:31 ` Ralf Baechle
2005-07-11 17:44   ` Maciej W. Rozycki
2005-07-11 17:53     ` Ralf Baechle
2005-07-11 18:05       ` Maciej W. Rozycki
2005-07-11 19:25         ` Thiemo Seufer
2005-07-12 11:16           ` Maciej W. Rozycki
     [not found] <20050711083532Z8226446-3678+2437@linux-mips.org>
2005-07-11  8:45 ` Ralf Baechle
     [not found] <20050708091711Z8226352-3678+1954@linux-mips.org>
2005-07-08 12:02 ` Ralf Baechle
2005-07-08 12:12   ` Maciej W. Rozycki
2005-07-08 13:43     ` Richard Sandiford
2005-07-08 13:55     ` Ralf Baechle
     [not found] <20050707091937Z8226163-3678+1737@linux-mips.org>
2005-07-07 11:32 ` Maciej W. Rozycki
2005-07-07 12:12   ` Thiemo Seufer
2005-07-07 12:19     ` Maciej W. Rozycki
2005-07-07 12:22       ` Thiemo Seufer
2005-07-07 13:01         ` Maciej W. Rozycki
2005-07-07 13:51           ` Thiemo Seufer
2005-07-07 16:29           ` Ralf Baechle DL5RB
2005-07-07 16:42             ` Maciej W. Rozycki
2005-07-08 13:42             ` Richard Sandiford
2005-07-08 15:05               ` Maciej W. Rozycki
2005-07-08 15:39                 ` Richard Sandiford
2005-07-08 15:59                   ` Maciej W. Rozycki
     [not found] <20050618135450Z8225248-1340+9141@linux-mips.org>
2005-06-20 10:27 ` Maciej W. Rozycki
     [not found] <20050605035727Z8225003-1340+8177@linux-mips.org>
2005-06-06 12:16 ` Ralf Baechle
     [not found] <20050506143118Z8225421-1340+6642@linux-mips.org>
2005-05-06 14:51 ` Maciej W. Rozycki
2005-05-06 18:41   ` Maciej W. Rozycki
     [not found] <20050412140045Z8224988-1340+5602@linux-mips.org>
2005-04-12 16:57 ` Christoph Hellwig
2005-04-12 17:48   ` Thiemo Seufer
     [not found] <20050401175340Z8226142-1340+5040@linux-mips.org>
2005-04-02 10:11 ` Thiemo Seufer
2005-04-04 11:26   ` Maciej W. Rozycki
     [not found] <20050304151343Z8225933-1340+3959@linux-mips.org>
2005-03-16 18:51 ` Maciej W. Rozycki
     [not found] <20050225133831Z8225462-1340+3675@linux-mips.org>
2005-02-25 16:50 ` Maciej W. Rozycki
     [not found] <20050225131124Z8225457-1340+3673@linux-mips.org>
2005-02-25 16:48 ` Maciej W. Rozycki
     [not found] <20050214035304Z8225242-1340+3175@linux-mips.org>
2005-02-14 15:34 ` Ralf Baechle
2005-02-14 15:41   ` sjhill
2005-02-14 16:06   ` Maciej W. Rozycki
2005-02-14 18:34     ` Ralf Baechle
     [not found] <20050213213130Z8225210-1340+3164@linux-mips.org>
2005-02-13 21:33 ` Maciej W. Rozycki
     [not found] <20050115013112Z8225557-1340+1316@linux-mips.org>
2005-01-19  4:42 ` Yoichi Yuasa
2005-01-19  5:04   ` Maciej W. Rozycki
2005-01-19  5:31     ` Yoichi Yuasa
2005-01-19  5:35       ` Maciej W. Rozycki
2005-01-19  6:21         ` Yoichi Yuasa
2005-03-07 16:44           ` Yoichi Yuasa
2005-03-17 15:47             ` Yoichi Yuasa
2005-03-20 22:14               ` Ralf Baechle
     [not found] <20050109193411Z8225245-1340+894@linux-mips.org>
2005-01-09 20:55 ` Geert Uytterhoeven
2005-01-09 21:15   ` Ralf Baechle
     [not found] <20050108180025Z8225397-1340+834@linux-mips.org>
2005-01-08 20:25 ` Ilya A. Volynets-Evenbakh
2005-01-08 22:07   ` Ralf Baechle
     [not found] <20050107191947Z8225432-1341+49@linux-mips.org>
2005-01-07 20:43 ` Ilya A. Volynets-Evenbakh
2005-01-08  0:56   ` Thiemo Seufer
     [not found] <20041228080623Z8224908-1340+368@linux-mips.org>
2005-01-01 13:40 ` Geert Uytterhoeven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050603102140.GA1610@hattusa.textio \
    --to=ths@networkno.de \
    --cc=linux-mips@linux-mips.org \
    --cc=ralf@linux-mips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox