From d2bcc5e4b169c8d19c372077c033e912971323d9 Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 23 Aug 2002 21:45:59 +0000 Subject: Ok, somebody please shoot me. The asm I wrote for the ranged IPI shootdown was wrong. It only ever invalidated one page due to me getting the loop terminator wrong. This explains the DISABLE_PG_G effect on SMP. --- sys/amd64/amd64/apic_vector.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sys/amd64/amd64') diff --git a/sys/amd64/amd64/apic_vector.S b/sys/amd64/amd64/apic_vector.S index 569ed50..f8e0321 100644 --- a/sys/amd64/amd64/apic_vector.S +++ b/sys/amd64/amd64/apic_vector.S @@ -351,7 +351,7 @@ Xinvlrng: movl smp_tlb_addr2, %eax 1: invlpg (%edx) /* invalidate single page */ addl $PAGE_SIZE, %edx - cmpl %edx, %eax + cmpl %eax, %edx jb 1b movl $0, lapic+LA_EOI /* End Of Interrupt to APIC */ -- cgit v1.1