>>>>> On Tue, 3 Jun 2003 14:58:44 +0200 (MET DST), "Maciej W. Rozycki"
>>>>> <macro@ds2.pg.gda.pl> said:
macro> I don't think a separate overflow check is needed, even I see
macro> how the code can fail for large offsets into XKSEG. How about
macro> this patch? Does it work for you? It would not incur
macro> unnecessary overhead.
macro> diff -up --recursive --new-file
linux-mips-2.4.21-pre4-20030505.macro/arch/mips64/mm/tlbex-r4k.S
linux-mips-2.4.21-pre4-20030505/arch/mips64/mm/tlbex-r4k.S
macro> --- linux-mips-2.4.21-pre4-20030505.macro/arch/mips64/mm/tlbex-r4k.S
2003-04-27 02:56:39.000000000 +0000
macro> +++ linux-mips-2.4.21-pre4-20030505/arch/mips64/mm/tlbex-r4k.S
2003-06-03 12:54:41.000000000 +0000
macro> @@ -73,8 +73,9 @@
macro> * Determine that fault address is within vmalloc range.
macro> */
macro> dla \tmp, ekptbl
macro> - sltu \tmp, \ptr, \tmp
macro> + slt \tmp, \ptr, \tmp
macro> beqz \tmp, \not_vmalloc # not vmalloc
macro> + nop
macro> .endm
Thank you for pointing out this. I did not think very much. But you
mean "slt \tmp, \tmp, \ptr", don't you?
diff -u linux-mips-cvs/arch/mips64/mm/tlbex-r4k.S
linux.new/arch/mips64/mm/tlbex-r4k.S
--- linux-mips-cvs/arch/mips64/mm/tlbex-r4k.S Mon Apr 28 09:44:54 2003
+++ linux.new/arch/mips64/mm/tlbex-r4k.S Wed Jun 4 09:45:48 2003
@@ -73,8 +73,9 @@
* Determine that fault address is within vmalloc range.
*/
dla \tmp, ekptbl
- sltu \tmp, \ptr, \tmp
+ slt \tmp, \tmp, \ptr
beqz \tmp, \not_vmalloc # not vmalloc
+ nop
.endm
---
Atsushi Nemoto
|