Filip Navara wrote:
It is implemented, the single "break;"
statement means that just no
additional processing is required/implemented.
Your are right.
It seems, that the current crash is triggered by APICSyncArbIDs. Qemu
reinitialize the local apic at this point. The logical apic ids are
reset. I can change qemu or reactos a little bit to fix this. Reactos
runs a little bit longer in qemu. The change has no effect on my smp
machine.
- Hartmut
M:\Sandbox\ros_work\reactos>svn diff hal\halx86\mp\apic.c
Index: hal/halx86/mp/apic.c
===================================================================
--- hal/halx86/mp/apic.c (Revision 20275)
+++ hal/halx86/mp/apic.c (Arbeitskopie)
@@ -691,7 +691,8 @@
}
DPRINT("Synchronizing Arb IDs.\n");
- APICWrite(APIC_ICR0, APIC_ICR0_DESTS_ALL | APIC_ICR0_LEVEL |
APIC_DM_INIT);
+// APICWrite(APIC_ICR0, APIC_ICR0_DESTS_ALL | APIC_ICR0_LEVEL |
APIC_DM_INIT);
+ APICWrite(APIC_ICR0, APIC_ICR0_DESTS_ALL | APIC_DM_INIT | APIC_ICR0_TM);
}
#endif