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.
This commit is contained in:
parent
4408eb15b0
commit
8b2624e85c
@ -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 */
|
||||
|
@ -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 */
|
||||
|
@ -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 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user