Commit 1ce549ab authored by Fabrice Bellard's avatar Fabrice Bellard
Browse files

more ACPI definition to keep Solaris Happy (Juergen Kiel)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1981 c046a42c-6fe2-441c-8c8c-71466251a162
parent a08beb33
Loading
Loading
Loading
Loading
+128 −1
Original line number Diff line number Diff line
@@ -161,8 +161,9 @@ DefinitionBlock (
        }
    }

    /* PIIX3 ISA bridge */
    Scope(\_SB.PCI0) {

	/* PIIX3 ISA bridge */
        Device (ISA) {
            Name (_ADR, 0x00010000)
        
@@ -202,6 +203,7 @@ DefinitionBlock (
                }
            }

	    /* PS/2 mouse */
            Device (MOU) 
            {
                Name (_HID, EisaId ("PNP0F13"))
@@ -219,6 +221,131 @@ DefinitionBlock (
                    Return (TMP)
                }
            }

	    /* PS/2 floppy controller */
	    Device (FDC0)
	    {
	        Name (_HID, EisaId ("PNP0700"))
		Method (_STA, 0, NotSerialized)
		{
		    Return (0x0F)
		}
		Method (_CRS, 0, NotSerialized)
		{
		    Name (BUF0, ResourceTemplate ()
                    {
                        IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
                        IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
                        IRQNoFlags () {6}
                        DMA (Compatibility, NotBusMaster, Transfer8) {2}
                    })
		    Return (BUF0)
		}
	    }

	    /* Parallel port */
	    Device (LPT)
	    {
	        Name (_HID, EisaId ("PNP0400"))
		Method (_STA, 0, NotSerialized)
		{
		    Store (\_SB.PCI0.PX13.DRSA, Local0)
		    And (Local0, 0x80000000, Local0)
		    If (LEqual (Local0, 0))
		    {
			Return (0x00)
		    }
		    Else
		    {
			Return (0x0F)
		    }
		}
		Method (_CRS, 0, NotSerialized)
		{
		    Name (BUF0, ResourceTemplate ()
                    {
			IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
			IRQNoFlags () {7}
		    })
		    Return (BUF0)
		}
	    }

	    /* Serial Ports */
	    Device (COM1)
	    {
	        Name (_HID, EisaId ("PNP0501"))
		Name (_UID, 0x01)
		Method (_STA, 0, NotSerialized)
		{
		    Store (\_SB.PCI0.PX13.DRSC, Local0)
		    And (Local0, 0x08000000, Local0)
		    If (LEqual (Local0, 0))
		    {
			Return (0x00)
		    }
		    Else
		    {
			Return (0x0F)
		    }
		}
		Method (_CRS, 0, NotSerialized)
		{
		    Name (BUF0, ResourceTemplate ()
                    {
			IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
                	IRQNoFlags () {4}
		    })
		    Return (BUF0)
		}
	    }

	    Device (COM2)
	    {
	        Name (_HID, EisaId ("PNP0501"))
		Name (_UID, 0x02)
		Method (_STA, 0, NotSerialized)
		{
		    Store (\_SB.PCI0.PX13.DRSC, Local0)
		    And (Local0, 0x80000000, Local0)
		    If (LEqual (Local0, 0))
		    {
			Return (0x00)
		    }
		    Else
		    {
			Return (0x0F)
		    }
		}
		Method (_CRS, 0, NotSerialized)
		{
		    Name (BUF0, ResourceTemplate ()
                    {
			IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
                	IRQNoFlags () {3}
		    })
		    Return (BUF0)
		}
	    }
        }

	/* PIIX4 PM */
        Device (PX13) {
	    Name (_ADR, 0x00010003)

	    OperationRegion (P13C, PCI_Config, 0x5c, 0x24)
	    Field (P13C, DWordAcc, NoLock, Preserve)
	    {
		DRSA, 32,
		DRSB, 32,
		DRSC, 32,
		DRSE, 32,
		DRSF, 32,
		DRSG, 32,
		DRSH, 32,
		DRSI, 32,
		DRSJ, 32
	    }
	}
    }

+158 −102
Original line number Diff line number Diff line
@@ -5,15 +5,15 @@
 * Copyright (C) 2000 - 2006 Intel Corporation
 * Supports ACPI Specification Revision 3.0a
 * 
 * Compilation of "/usr/local/home/bellard/qemu-current/hw/acpi-dsdt.dsl" - Thu May  4 01:07:59 2006
 * Compilation of "/usr/local/home/bellard/qemu-current/hw/acpi-dsdt.dsl" - Wed Jun 14 20:09:53 2006
 * 
 * C source code output
 *
 */
unsigned char AmlCode[] =
{
    0x44,0x53,0x44,0x54,0x73,0x06,0x00,0x00,  /* 00000000    "DSDTs..." */
    0x01,0x39,0x51,0x45,0x4D,0x55,0x00,0x00,  /* 00000008    ".9QEMU.." */
    0x44,0x53,0x44,0x54,0x32,0x08,0x00,0x00,  /* 00000000    "DSDT2..." */
    0x01,0x5B,0x51,0x45,0x4D,0x55,0x00,0x00,  /* 00000008    ".[QEMU.." */
    0x51,0x45,0x4D,0x55,0x44,0x53,0x44,0x54,  /* 00000010    "QEMUDSDT" */
    0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C,  /* 00000018    "....INTL" */
    0x21,0x04,0x06,0x20,0x10,0x4F,0x04,0x5C,  /* 00000020    "!.. .O.\" */
@@ -102,9 +102,9 @@ unsigned char AmlCode[] =
    0x50,0x4D,0x49,0x4E,0x74,0x50,0x4D,0x41,  /* 000002B8    "PMINtPMA" */
    0x58,0x50,0x4D,0x49,0x4E,0x50,0x4C,0x45,  /* 000002C0    "XPMINPLE" */
    0x4E,0x75,0x50,0x4C,0x45,0x4E,0xA4,0x4D,  /* 000002C8    "NuPLEN.M" */
    0x45,0x4D,0x50,0x10,0x43,0x0A,0x2E,0x5F,  /* 000002D0    "EMP.C.._" */
    0x45,0x4D,0x50,0x10,0x42,0x26,0x2E,0x5F,  /* 000002D0    "EMP.B&._" */
    0x53,0x42,0x5F,0x50,0x43,0x49,0x30,0x5B,  /* 000002D8    "SB_PCI0[" */
    0x82,0x46,0x09,0x49,0x53,0x41,0x5F,0x08,  /* 000002E0    ".F.ISA_." */
    0x82,0x43,0x20,0x49,0x53,0x41,0x5F,0x08,  /* 000002E0    ".C ISA_." */
    0x5F,0x41,0x44,0x52,0x0C,0x00,0x00,0x01,  /* 000002E8    "_ADR...." */
    0x00,0x5B,0x80,0x50,0x34,0x30,0x43,0x02,  /* 000002F0    ".[.P40C." */
    0x0A,0x60,0x0A,0x04,0x5B,0x82,0x44,0x04,  /* 000002F8    ".`..[.D." */
@@ -122,101 +122,157 @@ unsigned char AmlCode[] =
    0x41,0x00,0xA4,0x0A,0x0F,0x14,0x19,0x5F,  /* 00000358    "A......_" */
    0x43,0x52,0x53,0x00,0x08,0x54,0x4D,0x50,  /* 00000360    "CRS..TMP" */
    0x5F,0x11,0x08,0x0A,0x05,0x22,0x00,0x10,  /* 00000368    "_....".." */
    0x79,0x00,0xA4,0x54,0x4D,0x50,0x5F,0x10,  /* 00000370    "y..TMP_." */
    0x4F,0x2E,0x5F,0x53,0x42,0x5F,0x5B,0x81,  /* 00000378    "O._SB_[." */
    0x24,0x2F,0x03,0x50,0x43,0x49,0x30,0x49,  /* 00000380    "$/.PCI0I" */
    0x53,0x41,0x5F,0x50,0x34,0x30,0x43,0x01,  /* 00000388    "SA_P40C." */
    0x50,0x52,0x51,0x30,0x08,0x50,0x52,0x51,  /* 00000390    "PRQ0.PRQ" */
    0x31,0x08,0x50,0x52,0x51,0x32,0x08,0x50,  /* 00000398    "1.PRQ2.P" */
    0x52,0x51,0x33,0x08,0x5B,0x82,0x4E,0x0A,  /* 000003A0    "RQ3.[.N." */
    0x4C,0x4E,0x4B,0x41,0x08,0x5F,0x48,0x49,  /* 000003A8    "LNKA._HI" */
    0x44,0x0C,0x41,0xD0,0x0C,0x0F,0x08,0x5F,  /* 000003B0    "D.A...._" */
    0x55,0x49,0x44,0x01,0x08,0x5F,0x50,0x52,  /* 000003B8    "UID.._PR" */
    0x53,0x11,0x09,0x0A,0x06,0x23,0xF8,0x1E,  /* 000003C0    "S....#.." */
    0x18,0x79,0x00,0x14,0x1A,0x5F,0x53,0x54,  /* 000003C8    ".y..._ST" */
    0x41,0x00,0x70,0x0A,0x0B,0x60,0xA0,0x0D,  /* 000003D0    "A.p..`.." */
    0x7B,0x0A,0x80,0x50,0x52,0x51,0x30,0x61,  /* 000003D8    "{..PRQ0a" */
    0x70,0x0A,0x09,0x60,0xA4,0x60,0x14,0x11,  /* 000003E0    "p..`.`.." */
    0x5F,0x44,0x49,0x53,0x00,0x7D,0x50,0x52,  /* 000003E8    "_DIS.}PR" */
    0x51,0x30,0x0A,0x80,0x50,0x52,0x51,0x30,  /* 000003F0    "Q0..PRQ0" */
    0x14,0x3F,0x5F,0x43,0x52,0x53,0x00,0x08,  /* 000003F8    ".?_CRS.." */
    0x50,0x52,0x52,0x30,0x11,0x09,0x0A,0x06,  /* 00000400    "PRR0...." */
    0x23,0x02,0x00,0x18,0x79,0x00,0x8B,0x50,  /* 00000408    "#...y..P" */
    0x52,0x52,0x30,0x01,0x54,0x4D,0x50,0x5F,  /* 00000410    "RR0.TMP_" */
    0x70,0x50,0x52,0x51,0x30,0x60,0xA0,0x0C,  /* 00000418    "pPRQ0`.." */
    0x95,0x60,0x0A,0x80,0x79,0x01,0x60,0x54,  /* 00000420    ".`..y.`T" */
    0x4D,0x50,0x5F,0xA1,0x07,0x70,0x00,0x54,  /* 00000428    "MP_..p.T" */
    0x4D,0x50,0x5F,0xA4,0x50,0x52,0x52,0x30,  /* 00000430    "MP_.PRR0" */
    0x14,0x1B,0x5F,0x53,0x52,0x53,0x01,0x8B,  /* 00000438    ".._SRS.." */
    0x68,0x01,0x54,0x4D,0x50,0x5F,0x82,0x54,  /* 00000440    "h.TMP_.T" */
    0x4D,0x50,0x5F,0x60,0x76,0x60,0x70,0x60,  /* 00000448    "MP_`v`p`" */
    0x50,0x52,0x51,0x30,0x5B,0x82,0x4F,0x0A,  /* 00000450    "PRQ0[.O." */
    0x4C,0x4E,0x4B,0x42,0x08,0x5F,0x48,0x49,  /* 00000458    "LNKB._HI" */
    0x44,0x0C,0x41,0xD0,0x0C,0x0F,0x08,0x5F,  /* 00000460    "D.A...._" */
    0x55,0x49,0x44,0x0A,0x02,0x08,0x5F,0x50,  /* 00000468    "UID..._P" */
    0x52,0x53,0x11,0x09,0x0A,0x06,0x23,0xF8,  /* 00000470    "RS....#." */
    0x1E,0x18,0x79,0x00,0x14,0x1A,0x5F,0x53,  /* 00000478    "..y..._S" */
    0x54,0x41,0x00,0x70,0x0A,0x0B,0x60,0xA0,  /* 00000480    "TA.p..`." */
    0x0D,0x7B,0x0A,0x80,0x50,0x52,0x51,0x31,  /* 00000488    ".{..PRQ1" */
    0x61,0x70,0x0A,0x09,0x60,0xA4,0x60,0x14,  /* 00000490    "ap..`.`." */
    0x11,0x5F,0x44,0x49,0x53,0x00,0x7D,0x50,  /* 00000498    "._DIS.}P" */
    0x52,0x51,0x31,0x0A,0x80,0x50,0x52,0x51,  /* 000004A0    "RQ1..PRQ" */
    0x31,0x14,0x3F,0x5F,0x43,0x52,0x53,0x00,  /* 000004A8    "1.?_CRS." */
    0x08,0x50,0x52,0x52,0x30,0x11,0x09,0x0A,  /* 000004B0    ".PRR0..." */
    0x06,0x23,0x02,0x00,0x18,0x79,0x00,0x8B,  /* 000004B8    ".#...y.." */
    0x50,0x52,0x52,0x30,0x01,0x54,0x4D,0x50,  /* 000004C0    "PRR0.TMP" */
    0x5F,0x70,0x50,0x52,0x51,0x31,0x60,0xA0,  /* 000004C8    "_pPRQ1`." */
    0x0C,0x95,0x60,0x0A,0x80,0x79,0x01,0x60,  /* 000004D0    "..`..y.`" */
    0x54,0x4D,0x50,0x5F,0xA1,0x07,0x70,0x00,  /* 000004D8    "TMP_..p." */
    0x54,0x4D,0x50,0x5F,0xA4,0x50,0x52,0x52,  /* 000004E0    "TMP_.PRR" */
    0x30,0x14,0x1B,0x5F,0x53,0x52,0x53,0x01,  /* 000004E8    "0.._SRS." */
    0x8B,0x68,0x01,0x54,0x4D,0x50,0x5F,0x82,  /* 000004F0    ".h.TMP_." */
    0x54,0x4D,0x50,0x5F,0x60,0x76,0x60,0x70,  /* 000004F8    "TMP_`v`p" */
    0x60,0x50,0x52,0x51,0x31,0x5B,0x82,0x4F,  /* 00000500    "`PRQ1[.O" */
    0x0A,0x4C,0x4E,0x4B,0x43,0x08,0x5F,0x48,  /* 00000508    ".LNKC._H" */
    0x49,0x44,0x0C,0x41,0xD0,0x0C,0x0F,0x08,  /* 00000510    "ID.A...." */
    0x5F,0x55,0x49,0x44,0x0A,0x03,0x08,0x5F,  /* 00000518    "_UID..._" */
    0x50,0x52,0x53,0x11,0x09,0x0A,0x06,0x23,  /* 00000520    "PRS....#" */
    0xF8,0x1E,0x18,0x79,0x00,0x14,0x1A,0x5F,  /* 00000528    "...y..._" */
    0x53,0x54,0x41,0x00,0x70,0x0A,0x0B,0x60,  /* 00000530    "STA.p..`" */
    0xA0,0x0D,0x7B,0x0A,0x80,0x50,0x52,0x51,  /* 00000538    "..{..PRQ" */
    0x32,0x61,0x70,0x0A,0x09,0x60,0xA4,0x60,  /* 00000540    "2ap..`.`" */
    0x14,0x11,0x5F,0x44,0x49,0x53,0x00,0x7D,  /* 00000548    ".._DIS.}" */
    0x50,0x52,0x51,0x32,0x0A,0x80,0x50,0x52,  /* 00000550    "PRQ2..PR" */
    0x51,0x32,0x14,0x3F,0x5F,0x43,0x52,0x53,  /* 00000558    "Q2.?_CRS" */
    0x00,0x08,0x50,0x52,0x52,0x30,0x11,0x09,  /* 00000560    "..PRR0.." */
    0x0A,0x06,0x23,0x02,0x00,0x18,0x79,0x00,  /* 00000568    "..#...y." */
    0x8B,0x50,0x52,0x52,0x30,0x01,0x54,0x4D,  /* 00000570    ".PRR0.TM" */
    0x50,0x5F,0x70,0x50,0x52,0x51,0x32,0x60,  /* 00000578    "P_pPRQ2`" */
    0xA0,0x0C,0x95,0x60,0x0A,0x80,0x79,0x01,  /* 00000580    "...`..y." */
    0x60,0x54,0x4D,0x50,0x5F,0xA1,0x07,0x70,  /* 00000588    "`TMP_..p" */
    0x00,0x54,0x4D,0x50,0x5F,0xA4,0x50,0x52,  /* 00000590    ".TMP_.PR" */
    0x52,0x30,0x14,0x1B,0x5F,0x53,0x52,0x53,  /* 00000598    "R0.._SRS" */
    0x01,0x8B,0x68,0x01,0x54,0x4D,0x50,0x5F,  /* 000005A0    "..h.TMP_" */
    0x82,0x54,0x4D,0x50,0x5F,0x60,0x76,0x60,  /* 000005A8    ".TMP_`v`" */
    0x70,0x60,0x50,0x52,0x51,0x32,0x5B,0x82,  /* 000005B0    "p`PRQ2[." */
    0x4F,0x0A,0x4C,0x4E,0x4B,0x44,0x08,0x5F,  /* 000005B8    "O.LNKD._" */
    0x48,0x49,0x44,0x0C,0x41,0xD0,0x0C,0x0F,  /* 000005C0    "HID.A..." */
    0x08,0x5F,0x55,0x49,0x44,0x0A,0x04,0x08,  /* 000005C8    "._UID..." */
    0x5F,0x50,0x52,0x53,0x11,0x09,0x0A,0x06,  /* 000005D0    "_PRS...." */
    0x23,0xF8,0x1E,0x18,0x79,0x00,0x14,0x1A,  /* 000005D8    "#...y..." */
    0x5F,0x53,0x54,0x41,0x00,0x70,0x0A,0x0B,  /* 000005E0    "_STA.p.." */
    0x60,0xA0,0x0D,0x7B,0x0A,0x80,0x50,0x52,  /* 000005E8    "`..{..PR" */
    0x51,0x33,0x61,0x70,0x0A,0x09,0x60,0xA4,  /* 000005F0    "Q3ap..`." */
    0x60,0x14,0x11,0x5F,0x44,0x49,0x53,0x00,  /* 000005F8    "`.._DIS." */
    0x7D,0x50,0x52,0x51,0x33,0x0A,0x80,0x50,  /* 00000600    "}PRQ3..P" */
    0x52,0x51,0x33,0x14,0x3F,0x5F,0x43,0x52,  /* 00000608    "RQ3.?_CR" */
    0x53,0x00,0x08,0x50,0x52,0x52,0x30,0x11,  /* 00000610    "S..PRR0." */
    0x09,0x0A,0x06,0x23,0x02,0x00,0x18,0x79,  /* 00000618    "...#...y" */
    0x00,0x8B,0x50,0x52,0x52,0x30,0x01,0x54,  /* 00000620    "..PRR0.T" */
    0x4D,0x50,0x5F,0x70,0x50,0x52,0x51,0x33,  /* 00000628    "MP_pPRQ3" */
    0x60,0xA0,0x0C,0x95,0x60,0x0A,0x80,0x79,  /* 00000630    "`...`..y" */
    0x01,0x60,0x54,0x4D,0x50,0x5F,0xA1,0x07,  /* 00000638    ".`TMP_.." */
    0x70,0x00,0x54,0x4D,0x50,0x5F,0xA4,0x50,  /* 00000640    "p.TMP_.P" */
    0x52,0x52,0x30,0x14,0x1B,0x5F,0x53,0x52,  /* 00000648    "RR0.._SR" */
    0x53,0x01,0x8B,0x68,0x01,0x54,0x4D,0x50,  /* 00000650    "S..h.TMP" */
    0x5F,0x82,0x54,0x4D,0x50,0x5F,0x60,0x76,  /* 00000658    "_.TMP_`v" */
    0x60,0x70,0x60,0x50,0x52,0x51,0x33,0x08,  /* 00000660    "`p`PRQ3." */
    0x5F,0x53,0x35,0x5F,0x12,0x06,0x04,0x00,  /* 00000668    "_S5_...." */
    0x00,0x00,0x00,
    0x79,0x00,0xA4,0x54,0x4D,0x50,0x5F,0x5B,  /* 00000370    "y..TMP_[" */
    0x82,0x47,0x04,0x46,0x44,0x43,0x30,0x08,  /* 00000378    ".G.FDC0." */
    0x5F,0x48,0x49,0x44,0x0C,0x41,0xD0,0x07,  /* 00000380    "_HID.A.." */
    0x00,0x14,0x09,0x5F,0x53,0x54,0x41,0x00,  /* 00000388    "..._STA." */
    0xA4,0x0A,0x0F,0x14,0x2C,0x5F,0x43,0x52,  /* 00000390    "....,_CR" */
    0x53,0x00,0x08,0x42,0x55,0x46,0x30,0x11,  /* 00000398    "S..BUF0." */
    0x1B,0x0A,0x18,0x47,0x01,0xF2,0x03,0xF2,  /* 000003A0    "...G...." */
    0x03,0x00,0x04,0x47,0x01,0xF7,0x03,0xF7,  /* 000003A8    "...G...." */
    0x03,0x00,0x01,0x22,0x40,0x00,0x2A,0x04,  /* 000003B0    "..."@.*." */
    0x00,0x79,0x00,0xA4,0x42,0x55,0x46,0x30,  /* 000003B8    ".y..BUF0" */
    0x5B,0x82,0x4B,0x05,0x4C,0x50,0x54,0x5F,  /* 000003C0    "[.K.LPT_" */
    0x08,0x5F,0x48,0x49,0x44,0x0C,0x41,0xD0,  /* 000003C8    "._HID.A." */
    0x04,0x00,0x14,0x28,0x5F,0x53,0x54,0x41,  /* 000003D0    "...(_STA" */
    0x00,0x70,0x5E,0x5E,0x5E,0x2E,0x50,0x58,  /* 000003D8    ".p^^^.PX" */
    0x31,0x33,0x44,0x52,0x53,0x41,0x60,0x7B,  /* 000003E0    "13DRSA`{" */
    0x60,0x0C,0x00,0x00,0x00,0x80,0x60,0xA0,  /* 000003E8    "`.....`." */
    0x06,0x93,0x60,0x00,0xA4,0x00,0xA1,0x04,  /* 000003F0    "..`....." */
    0xA4,0x0A,0x0F,0x14,0x21,0x5F,0x43,0x52,  /* 000003F8    "....!_CR" */
    0x53,0x00,0x08,0x42,0x55,0x46,0x30,0x11,  /* 00000400    "S..BUF0." */
    0x10,0x0A,0x0D,0x47,0x01,0x78,0x03,0x78,  /* 00000408    "...G.x.x" */
    0x03,0x08,0x08,0x22,0x80,0x00,0x79,0x00,  /* 00000410    "..."..y." */
    0xA4,0x42,0x55,0x46,0x30,0x5B,0x82,0x41,  /* 00000418    ".BUF0[.A" */
    0x06,0x43,0x4F,0x4D,0x31,0x08,0x5F,0x48,  /* 00000420    ".COM1._H" */
    0x49,0x44,0x0C,0x41,0xD0,0x05,0x01,0x08,  /* 00000428    "ID.A...." */
    0x5F,0x55,0x49,0x44,0x01,0x14,0x28,0x5F,  /* 00000430    "_UID..(_" */
    0x53,0x54,0x41,0x00,0x70,0x5E,0x5E,0x5E,  /* 00000438    "STA.p^^^" */
    0x2E,0x50,0x58,0x31,0x33,0x44,0x52,0x53,  /* 00000440    ".PX13DRS" */
    0x43,0x60,0x7B,0x60,0x0C,0x00,0x00,0x00,  /* 00000448    "C`{`...." */
    0x08,0x60,0xA0,0x06,0x93,0x60,0x00,0xA4,  /* 00000450    ".`...`.." */
    0x00,0xA1,0x04,0xA4,0x0A,0x0F,0x14,0x21,  /* 00000458    ".......!" */
    0x5F,0x43,0x52,0x53,0x00,0x08,0x42,0x55,  /* 00000460    "_CRS..BU" */
    0x46,0x30,0x11,0x10,0x0A,0x0D,0x47,0x01,  /* 00000468    "F0....G." */
    0xF8,0x03,0xF8,0x03,0x00,0x08,0x22,0x10,  /* 00000470    "......"." */
    0x00,0x79,0x00,0xA4,0x42,0x55,0x46,0x30,  /* 00000478    ".y..BUF0" */
    0x5B,0x82,0x42,0x06,0x43,0x4F,0x4D,0x32,  /* 00000480    "[.B.COM2" */
    0x08,0x5F,0x48,0x49,0x44,0x0C,0x41,0xD0,  /* 00000488    "._HID.A." */
    0x05,0x01,0x08,0x5F,0x55,0x49,0x44,0x0A,  /* 00000490    "..._UID." */
    0x02,0x14,0x28,0x5F,0x53,0x54,0x41,0x00,  /* 00000498    "..(_STA." */
    0x70,0x5E,0x5E,0x5E,0x2E,0x50,0x58,0x31,  /* 000004A0    "p^^^.PX1" */
    0x33,0x44,0x52,0x53,0x43,0x60,0x7B,0x60,  /* 000004A8    "3DRSC`{`" */
    0x0C,0x00,0x00,0x00,0x80,0x60,0xA0,0x06,  /* 000004B0    ".....`.." */
    0x93,0x60,0x00,0xA4,0x00,0xA1,0x04,0xA4,  /* 000004B8    ".`......" */
    0x0A,0x0F,0x14,0x21,0x5F,0x43,0x52,0x53,  /* 000004C0    "...!_CRS" */
    0x00,0x08,0x42,0x55,0x46,0x30,0x11,0x10,  /* 000004C8    "..BUF0.." */
    0x0A,0x0D,0x47,0x01,0xF8,0x02,0xF8,0x02,  /* 000004D0    "..G....." */
    0x00,0x08,0x22,0x08,0x00,0x79,0x00,0xA4,  /* 000004D8    ".."..y.." */
    0x42,0x55,0x46,0x30,0x5B,0x82,0x40,0x05,  /* 000004E0    "BUF0[.@." */
    0x50,0x58,0x31,0x33,0x08,0x5F,0x41,0x44,  /* 000004E8    "PX13._AD" */
    0x52,0x0C,0x03,0x00,0x01,0x00,0x5B,0x80,  /* 000004F0    "R.....[." */
    0x50,0x31,0x33,0x43,0x02,0x0A,0x5C,0x0A,  /* 000004F8    "P13C..\." */
    0x24,0x5B,0x81,0x33,0x50,0x31,0x33,0x43,  /* 00000500    "$[.3P13C" */
    0x03,0x44,0x52,0x53,0x41,0x20,0x44,0x52,  /* 00000508    ".DRSA DR" */
    0x53,0x42,0x20,0x44,0x52,0x53,0x43,0x20,  /* 00000510    "SB DRSC " */
    0x44,0x52,0x53,0x45,0x20,0x44,0x52,0x53,  /* 00000518    "DRSE DRS" */
    0x46,0x20,0x44,0x52,0x53,0x47,0x20,0x44,  /* 00000520    "F DRSG D" */
    0x52,0x53,0x48,0x20,0x44,0x52,0x53,0x49,  /* 00000528    "RSH DRSI" */
    0x20,0x44,0x52,0x53,0x4A,0x20,0x10,0x4F,  /* 00000530    " DRSJ .O" */
    0x2E,0x5F,0x53,0x42,0x5F,0x5B,0x81,0x24,  /* 00000538    "._SB_[.$" */
    0x2F,0x03,0x50,0x43,0x49,0x30,0x49,0x53,  /* 00000540    "/.PCI0IS" */
    0x41,0x5F,0x50,0x34,0x30,0x43,0x01,0x50,  /* 00000548    "A_P40C.P" */
    0x52,0x51,0x30,0x08,0x50,0x52,0x51,0x31,  /* 00000550    "RQ0.PRQ1" */
    0x08,0x50,0x52,0x51,0x32,0x08,0x50,0x52,  /* 00000558    ".PRQ2.PR" */
    0x51,0x33,0x08,0x5B,0x82,0x4E,0x0A,0x4C,  /* 00000560    "Q3.[.N.L" */
    0x4E,0x4B,0x41,0x08,0x5F,0x48,0x49,0x44,  /* 00000568    "NKA._HID" */
    0x0C,0x41,0xD0,0x0C,0x0F,0x08,0x5F,0x55,  /* 00000570    ".A...._U" */
    0x49,0x44,0x01,0x08,0x5F,0x50,0x52,0x53,  /* 00000578    "ID.._PRS" */
    0x11,0x09,0x0A,0x06,0x23,0xF8,0x1E,0x18,  /* 00000580    "....#..." */
    0x79,0x00,0x14,0x1A,0x5F,0x53,0x54,0x41,  /* 00000588    "y..._STA" */
    0x00,0x70,0x0A,0x0B,0x60,0xA0,0x0D,0x7B,  /* 00000590    ".p..`..{" */
    0x0A,0x80,0x50,0x52,0x51,0x30,0x61,0x70,  /* 00000598    "..PRQ0ap" */
    0x0A,0x09,0x60,0xA4,0x60,0x14,0x11,0x5F,  /* 000005A0    "..`.`.._" */
    0x44,0x49,0x53,0x00,0x7D,0x50,0x52,0x51,  /* 000005A8    "DIS.}PRQ" */
    0x30,0x0A,0x80,0x50,0x52,0x51,0x30,0x14,  /* 000005B0    "0..PRQ0." */
    0x3F,0x5F,0x43,0x52,0x53,0x00,0x08,0x50,  /* 000005B8    "?_CRS..P" */
    0x52,0x52,0x30,0x11,0x09,0x0A,0x06,0x23,  /* 000005C0    "RR0....#" */
    0x02,0x00,0x18,0x79,0x00,0x8B,0x50,0x52,  /* 000005C8    "...y..PR" */
    0x52,0x30,0x01,0x54,0x4D,0x50,0x5F,0x70,  /* 000005D0    "R0.TMP_p" */
    0x50,0x52,0x51,0x30,0x60,0xA0,0x0C,0x95,  /* 000005D8    "PRQ0`..." */
    0x60,0x0A,0x80,0x79,0x01,0x60,0x54,0x4D,  /* 000005E0    "`..y.`TM" */
    0x50,0x5F,0xA1,0x07,0x70,0x00,0x54,0x4D,  /* 000005E8    "P_..p.TM" */
    0x50,0x5F,0xA4,0x50,0x52,0x52,0x30,0x14,  /* 000005F0    "P_.PRR0." */
    0x1B,0x5F,0x53,0x52,0x53,0x01,0x8B,0x68,  /* 000005F8    "._SRS..h" */
    0x01,0x54,0x4D,0x50,0x5F,0x82,0x54,0x4D,  /* 00000600    ".TMP_.TM" */
    0x50,0x5F,0x60,0x76,0x60,0x70,0x60,0x50,  /* 00000608    "P_`v`p`P" */
    0x52,0x51,0x30,0x5B,0x82,0x4F,0x0A,0x4C,  /* 00000610    "RQ0[.O.L" */
    0x4E,0x4B,0x42,0x08,0x5F,0x48,0x49,0x44,  /* 00000618    "NKB._HID" */
    0x0C,0x41,0xD0,0x0C,0x0F,0x08,0x5F,0x55,  /* 00000620    ".A...._U" */
    0x49,0x44,0x0A,0x02,0x08,0x5F,0x50,0x52,  /* 00000628    "ID..._PR" */
    0x53,0x11,0x09,0x0A,0x06,0x23,0xF8,0x1E,  /* 00000630    "S....#.." */
    0x18,0x79,0x00,0x14,0x1A,0x5F,0x53,0x54,  /* 00000638    ".y..._ST" */
    0x41,0x00,0x70,0x0A,0x0B,0x60,0xA0,0x0D,  /* 00000640    "A.p..`.." */
    0x7B,0x0A,0x80,0x50,0x52,0x51,0x31,0x61,  /* 00000648    "{..PRQ1a" */
    0x70,0x0A,0x09,0x60,0xA4,0x60,0x14,0x11,  /* 00000650    "p..`.`.." */
    0x5F,0x44,0x49,0x53,0x00,0x7D,0x50,0x52,  /* 00000658    "_DIS.}PR" */
    0x51,0x31,0x0A,0x80,0x50,0x52,0x51,0x31,  /* 00000660    "Q1..PRQ1" */
    0x14,0x3F,0x5F,0x43,0x52,0x53,0x00,0x08,  /* 00000668    ".?_CRS.." */
    0x50,0x52,0x52,0x30,0x11,0x09,0x0A,0x06,  /* 00000670    "PRR0...." */
    0x23,0x02,0x00,0x18,0x79,0x00,0x8B,0x50,  /* 00000678    "#...y..P" */
    0x52,0x52,0x30,0x01,0x54,0x4D,0x50,0x5F,  /* 00000680    "RR0.TMP_" */
    0x70,0x50,0x52,0x51,0x31,0x60,0xA0,0x0C,  /* 00000688    "pPRQ1`.." */
    0x95,0x60,0x0A,0x80,0x79,0x01,0x60,0x54,  /* 00000690    ".`..y.`T" */
    0x4D,0x50,0x5F,0xA1,0x07,0x70,0x00,0x54,  /* 00000698    "MP_..p.T" */
    0x4D,0x50,0x5F,0xA4,0x50,0x52,0x52,0x30,  /* 000006A0    "MP_.PRR0" */
    0x14,0x1B,0x5F,0x53,0x52,0x53,0x01,0x8B,  /* 000006A8    ".._SRS.." */
    0x68,0x01,0x54,0x4D,0x50,0x5F,0x82,0x54,  /* 000006B0    "h.TMP_.T" */
    0x4D,0x50,0x5F,0x60,0x76,0x60,0x70,0x60,  /* 000006B8    "MP_`v`p`" */
    0x50,0x52,0x51,0x31,0x5B,0x82,0x4F,0x0A,  /* 000006C0    "PRQ1[.O." */
    0x4C,0x4E,0x4B,0x43,0x08,0x5F,0x48,0x49,  /* 000006C8    "LNKC._HI" */
    0x44,0x0C,0x41,0xD0,0x0C,0x0F,0x08,0x5F,  /* 000006D0    "D.A...._" */
    0x55,0x49,0x44,0x0A,0x03,0x08,0x5F,0x50,  /* 000006D8    "UID..._P" */
    0x52,0x53,0x11,0x09,0x0A,0x06,0x23,0xF8,  /* 000006E0    "RS....#." */
    0x1E,0x18,0x79,0x00,0x14,0x1A,0x5F,0x53,  /* 000006E8    "..y..._S" */
    0x54,0x41,0x00,0x70,0x0A,0x0B,0x60,0xA0,  /* 000006F0    "TA.p..`." */
    0x0D,0x7B,0x0A,0x80,0x50,0x52,0x51,0x32,  /* 000006F8    ".{..PRQ2" */
    0x61,0x70,0x0A,0x09,0x60,0xA4,0x60,0x14,  /* 00000700    "ap..`.`." */
    0x11,0x5F,0x44,0x49,0x53,0x00,0x7D,0x50,  /* 00000708    "._DIS.}P" */
    0x52,0x51,0x32,0x0A,0x80,0x50,0x52,0x51,  /* 00000710    "RQ2..PRQ" */
    0x32,0x14,0x3F,0x5F,0x43,0x52,0x53,0x00,  /* 00000718    "2.?_CRS." */
    0x08,0x50,0x52,0x52,0x30,0x11,0x09,0x0A,  /* 00000720    ".PRR0..." */
    0x06,0x23,0x02,0x00,0x18,0x79,0x00,0x8B,  /* 00000728    ".#...y.." */
    0x50,0x52,0x52,0x30,0x01,0x54,0x4D,0x50,  /* 00000730    "PRR0.TMP" */
    0x5F,0x70,0x50,0x52,0x51,0x32,0x60,0xA0,  /* 00000738    "_pPRQ2`." */
    0x0C,0x95,0x60,0x0A,0x80,0x79,0x01,0x60,  /* 00000740    "..`..y.`" */
    0x54,0x4D,0x50,0x5F,0xA1,0x07,0x70,0x00,  /* 00000748    "TMP_..p." */
    0x54,0x4D,0x50,0x5F,0xA4,0x50,0x52,0x52,  /* 00000750    "TMP_.PRR" */
    0x30,0x14,0x1B,0x5F,0x53,0x52,0x53,0x01,  /* 00000758    "0.._SRS." */
    0x8B,0x68,0x01,0x54,0x4D,0x50,0x5F,0x82,  /* 00000760    ".h.TMP_." */
    0x54,0x4D,0x50,0x5F,0x60,0x76,0x60,0x70,  /* 00000768    "TMP_`v`p" */
    0x60,0x50,0x52,0x51,0x32,0x5B,0x82,0x4F,  /* 00000770    "`PRQ2[.O" */
    0x0A,0x4C,0x4E,0x4B,0x44,0x08,0x5F,0x48,  /* 00000778    ".LNKD._H" */
    0x49,0x44,0x0C,0x41,0xD0,0x0C,0x0F,0x08,  /* 00000780    "ID.A...." */
    0x5F,0x55,0x49,0x44,0x0A,0x04,0x08,0x5F,  /* 00000788    "_UID..._" */
    0x50,0x52,0x53,0x11,0x09,0x0A,0x06,0x23,  /* 00000790    "PRS....#" */
    0xF8,0x1E,0x18,0x79,0x00,0x14,0x1A,0x5F,  /* 00000798    "...y..._" */
    0x53,0x54,0x41,0x00,0x70,0x0A,0x0B,0x60,  /* 000007A0    "STA.p..`" */
    0xA0,0x0D,0x7B,0x0A,0x80,0x50,0x52,0x51,  /* 000007A8    "..{..PRQ" */
    0x33,0x61,0x70,0x0A,0x09,0x60,0xA4,0x60,  /* 000007B0    "3ap..`.`" */
    0x14,0x11,0x5F,0x44,0x49,0x53,0x00,0x7D,  /* 000007B8    ".._DIS.}" */
    0x50,0x52,0x51,0x33,0x0A,0x80,0x50,0x52,  /* 000007C0    "PRQ3..PR" */
    0x51,0x33,0x14,0x3F,0x5F,0x43,0x52,0x53,  /* 000007C8    "Q3.?_CRS" */
    0x00,0x08,0x50,0x52,0x52,0x30,0x11,0x09,  /* 000007D0    "..PRR0.." */
    0x0A,0x06,0x23,0x02,0x00,0x18,0x79,0x00,  /* 000007D8    "..#...y." */
    0x8B,0x50,0x52,0x52,0x30,0x01,0x54,0x4D,  /* 000007E0    ".PRR0.TM" */
    0x50,0x5F,0x70,0x50,0x52,0x51,0x33,0x60,  /* 000007E8    "P_pPRQ3`" */
    0xA0,0x0C,0x95,0x60,0x0A,0x80,0x79,0x01,  /* 000007F0    "...`..y." */
    0x60,0x54,0x4D,0x50,0x5F,0xA1,0x07,0x70,  /* 000007F8    "`TMP_..p" */
    0x00,0x54,0x4D,0x50,0x5F,0xA4,0x50,0x52,  /* 00000800    ".TMP_.PR" */
    0x52,0x30,0x14,0x1B,0x5F,0x53,0x52,0x53,  /* 00000808    "R0.._SRS" */
    0x01,0x8B,0x68,0x01,0x54,0x4D,0x50,0x5F,  /* 00000810    "..h.TMP_" */
    0x82,0x54,0x4D,0x50,0x5F,0x60,0x76,0x60,  /* 00000818    ".TMP_`v`" */
    0x70,0x60,0x50,0x52,0x51,0x33,0x08,0x5F,  /* 00000820    "p`PRQ3._" */
    0x53,0x35,0x5F,0x12,0x06,0x04,0x00,0x00,  /* 00000828    "S5_....." */
    0x00,0x00,
};
+7 −1
Original line number Diff line number Diff line
@@ -240,7 +240,6 @@ void piix4_pm_init(PCIBus *bus, int devfn)
    pci_conf[0x0b] = 0x06; // bridge device
    pci_conf[0x0e] = 0x00; // header_type
    pci_conf[0x3d] = 0x01; // interrupt pin 1
    pci_conf[0x60] = 0x10; // release number
    
    pm_io_base = PM_IO_BASE;
    pci_conf[0x40] = pm_io_base | 1;
@@ -253,6 +252,13 @@ void piix4_pm_init(PCIBus *bus, int devfn)
    register_ioport_write(SMI_CMD_IO_ADDR, 1, 1, smi_cmd_writeb, s);
    register_ioport_write(ACPI_DBG_IO_ADDR, 4, 4, acpi_dbg_writel, s);

    /* XXX: which specification is used ? The i82731AB has different
       mappings */
    pci_conf[0x5f] = (parallel_hds[0] != NULL ? 0x80 : 0) | 0x10;
    pci_conf[0x63] = 0x60;
    pci_conf[0x67] = (serial_hds[0] != NULL ? 0x08 : 0) |
	(serial_hds[1] != NULL ? 0x90 : 0);

    s->tmr_timer = qemu_new_timer(vm_clock, pm_tmr_timer, s);
    piix4_pm_state = s;
}