--- src/sys/amd64/amd64/mp_machdep.c.orig Thu Apr 21 13:38:41 2005 +++ src/sys/amd64/amd64/mp_machdep.c Thu Apr 21 16:00:35 2005 @@ -730,8 +730,10 @@ smp_tlb_addr2 = addr2; atomic_store_rel_int(&smp_tlb_wait, 0); ipi_all_but_self(vector); + enable_intr(); while (smp_tlb_wait < ncpu) ia32_pause(); + disable_intr(); } /* @@ -819,8 +821,10 @@ ipi_all_but_self(vector); else ipi_selected(mask, vector); + enable_intr(); while (smp_tlb_wait < ncpu) ia32_pause(); + disable_intr(); } void --- src/sys/i386/i386/mp_machdep.c.orig Mon Feb 14 11:05:57 2005 +++ src/sys/i386/i386/mp_machdep.c Sat Apr 23 13:37:48 2005 @@ -929,8 +929,10 @@ smp_tlb_addr2 = addr2; atomic_store_rel_int(&smp_tlb_wait, 0); ipi_all_but_self(vector); + enable_intr(); while (smp_tlb_wait < ncpu) ia32_pause(); + disable_intr(); } /* @@ -1018,8 +1020,10 @@ ipi_all_but_self(vector); else ipi_selected(mask, vector); + enable_intr(); while (smp_tlb_wait < ncpu) ia32_pause(); + disable_intr(); } void