Hi, all, This Luvalley release is for machines with AMD CPUs only. It cannot work on Intel CPUs. Also, this release is for Linux dom0 only. Please refer to Luvalley-2 if you have a machine with Intel CPUs. Due to the limitations of AMD CPUs, this Luvalley release has a new architecture different from that on Intel CPUs. The limitation is that AMD CPUs cannot receive the NMI IPI. That is to say, sending an NMI IPI to other CPUs in the SMP computer cannot work. More thoroughly, the BSP (i.e., CPU #0) can receive the NMI IPI issued from other APs (i.e., CPU #1, CPU #2, ...). The APs, however, cannot receive the NMI IPI from BSP. I tried in Linux 2.6.18 and Xen 3.1 and get the same problem. Ridiculously, the "AMD64 Architecture Programmer's Manual Volume 2: System Programming" clearly states that NMI IPI is fully supported, just like Intel's. The same codes works very well on Intel's CPUs, but cannot work on AMD's CPUs. So, we have to trap all physical interrupts on machines with AMD CPU and then inject them back to dom0. That is to say, the CPU is configured to vmexit to Luvalley when physical interrupts occur. Moreover, we have to use a normal interrupt number for IPI sending and receiving. This caused many problems on APIC ACK and interrupt block issues. Although there are still many problems unsolved, Luvalley indeed can run Linux as its dom0 and a Windows domU as well. We decided to pause the development for AMD CPUs, until (maybe impossible) AMD works around the NMI IPI bug. On the other side, Luvalley's architecture will be slightly modified little by little in the future, while still preserving current features such as easy-to-use-and-install, arbitrary dom0 OS and hardware compatibility, etc. From long-term consideration, Luvalley should trap physical interrupts and manage APICs. At that time, AMD CPUs could be supported even if the NMI IPI bug is still there. More details on Luvalley ================================ Luvalley is a Virtual Machine Monitor (VMM) spawned from the KVM project. Its part of source codes are derived from KVM to virtualize CPU instructions and memory management unit (MMU). However, its overall architecture is completely different from KVM, but somewhat like Xen. Luvalley runs outside of Linux, just like Xen's architecture. Any operating system, including Linux, could be used as Luvalley's scheduler, memory manager, physical device driver provider and virtual IO device emulator. Currently, Luvalley supports Linux and Windows. That is to say, one may run Luvalley to boot a Linux or Windows, and then run multiple virtualized operating systems on such Linux or Windows. If you are interested in Luvalley project, you may download the source codes from http://sourceforge.net/projects/luvalley/ Regards, Xiaodong -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html