From: Avi Kivity <[EMAIL PROTECTED]>

The acpi spec defines the madt interrupt source override structure size as
10, but gcc expands it to 12 in order to generate good alignment.  This
causes Windows to ignore the structure, which in turn causes it to see
the wrong polarity for the sci interrupt.

Fix by packing the structure.

Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>

diff --git a/bios/rombios32.c b/bios/rombios32.c
index c83aaf6..7c5eeee 100755
--- a/bios/rombios32.c
+++ b/bios/rombios32.c
@@ -1196,7 +1196,7 @@ struct madt_intsrcovr {
        uint8_t  source;
        uint32_t gsi;
        uint16_t flags;
-};
+} __attribute__((packed));
 
 #include "acpi-dsdt.hex"
 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-commits mailing list
kvm-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-commits

Reply via email to