I feel like trying to fit a cube into a circle-shaped hole on those little things kids play with... but however ugly the change can look it makes the MP HAL not freeze during boot.
Modified: trunk/reactos/hal/halx86/mp/apic.c

Modified: trunk/reactos/hal/halx86/mp/apic.c
--- trunk/reactos/hal/halx86/mp/apic.c	2005-06-29 18:18:19 UTC (rev 16324)
+++ trunk/reactos/hal/halx86/mp/apic.c	2005-06-29 18:21:31 UTC (rev 16325)
@@ -908,8 +908,9 @@
   KDESCRIPTOR *idt;
 
   idt = (KDESCRIPTOR*)((ULONG)KeGetCurrentKPCR()->IDT + index * sizeof(KDESCRIPTOR));
-  idt->Limit = address & 0xffff;
-  idt->Base = 0x8e00 + (address &0xffff0000);
+  idt->Pad = address & 0xffff;
+  idt->Limit = KERNEL_CS;
+  idt->Base = 0x8e00 + (address & 0xffff0000);
 }
 
 VOID HaliInitBSP(VOID)