[ros-dev] How does one make a MP build anyway?

Hartmut Birr osexpert at googlemail.com
Wed Dec 21 21:57:03 CET 2005


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


More information about the Ros-dev mailing list