Patchwork Q35 qemu repository?

login
register
mail settings
Submitter Matthew Garrett
Date June 16, 2010, 5:33 p.m.
Message ID <20100616173315.GA29928@srcf.ucam.org>
Download mbox | patch
Permalink /patch/55916/
State New
Headers show

Comments

Matthew Garrett - June 16, 2010, 5:33 p.m.
On Wed, Jun 16, 2010 at 04:42:10PM +0100, Matthew Garrett wrote:

> Thanks for this - however, Vista gives me an ACPI error on boot (stop 
> 0x000000a5, 0x0000000d, which indicates that there's a malformed or 
> undefined ACPI device). I don't suppose you have any idea what the 
> problem here may be? Linux boots without complaint.

Fixed with the following patch. Any devices with duplicate _HIDs require 
_UIDs.
Isaku Yamahata - June 17, 2010, 7:48 a.m.
Thanks for the patch.
Does vista boot with the patch eventually?

On Wed, Jun 16, 2010 at 06:33:15PM +0100, Matthew Garrett wrote:
> On Wed, Jun 16, 2010 at 04:42:10PM +0100, Matthew Garrett wrote:
> 
> > Thanks for this - however, Vista gives me an ACPI error on boot (stop 
> > 0x000000a5, 0x0000000d, which indicates that there's a malformed or 
> > undefined ACPI device). I don't suppose you have any idea what the 
> > problem here may be? Linux boots without complaint.
> 
> Fixed with the following patch. Any devices with duplicate _HIDs require 
> _UIDs.
> 
> diff --git a/src/q35-acpi-dsdt.dsl b/src/q35-acpi-dsdt.dsl
> index ad05c7a..4697527 100644
> --- a/src/q35-acpi-dsdt.dsl
> +++ b/src/q35-acpi-dsdt.dsl
> @@ -45,6 +45,7 @@ DefinitionBlock (
>          Device (DBG0)
>          {
>              Name(_HID, EISAID("PNP0C02"))
> +            Name(_UID, 0)
>              Name(_CRS, ResourceTemplate() {
>                  IO (Decode16, 0xb080, 0xb080, 0x00, 0x04)
>              })
> @@ -71,6 +72,7 @@ DefinitionBlock (
>          Device(HP0)
>          {
>              Name(_HID, EISAID("PNP0C02"))
> +            Name(_UID, 0x01)
>              Name(_CRS, ResourceTemplate() {
>                  IO (Decode16, 0xae00, 0xae00, 0x00, 0x0C)
>                  IO (Decode16, 0xae0c, 0xae0c, 0x00, 0x01)
> 
> -- 
> Matthew Garrett | mjg59@srcf.ucam.org
>
Matthew Garrett - June 17, 2010, 1:36 p.m.
On Thu, Jun 17, 2010 at 04:48:09PM +0900, Isaku Yamahata wrote:
> Thanks for the patch.
> Does vista boot with the patch eventually?

Vista boots, but is unable to allocate resources for the pcie root 
ports. I'm looking into that.
Matthew Garrett - June 21, 2010, 7:07 p.m.
On Thu, Jun 17, 2010 at 04:48:09PM +0900, Isaku Yamahata wrote:
> Thanks for the patch.
> Does vista boot with the patch eventually?

As I mentioned before, Windows boots but PCIe root ports fail with a 
resource allocation error. Digging into it, it looks like the issue is 
with IRQ assignment. I'm not sure quite what's going wrong, but I'll 
look further.

Patch

diff --git a/src/q35-acpi-dsdt.dsl b/src/q35-acpi-dsdt.dsl
index ad05c7a..4697527 100644
--- a/src/q35-acpi-dsdt.dsl
+++ b/src/q35-acpi-dsdt.dsl
@@ -45,6 +45,7 @@  DefinitionBlock (
         Device (DBG0)
         {
             Name(_HID, EISAID("PNP0C02"))
+            Name(_UID, 0)
             Name(_CRS, ResourceTemplate() {
                 IO (Decode16, 0xb080, 0xb080, 0x00, 0x04)
             })
@@ -71,6 +72,7 @@  DefinitionBlock (
         Device(HP0)
         {
             Name(_HID, EISAID("PNP0C02"))
+            Name(_UID, 0x01)
             Name(_CRS, ResourceTemplate() {
                 IO (Decode16, 0xae00, 0xae00, 0x00, 0x0C)
                 IO (Decode16, 0xae0c, 0xae0c, 0x00, 0x01)