In PIIX4 SCI (irq9) is active high. Seabios marks it so in interrupt override table, but some OSes (FreeBSD) require the same information to be present in DSDT too. Make it so.
Signed-off-by: Gleb Natapov gleb@redhat.com diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl index bb0a176..dafcf45 100644 --- a/src/acpi-dsdt.dsl +++ b/src/acpi-dsdt.dsl @@ -73,7 +73,7 @@ DefinitionBlock ( #define prt_slot3(nr) prt_slot(nr, LNKC, LNKD, LNKA, LNKB) prt_slot0(0x0000), /* Device 1 is power mgmt device, and can only use irq 9 */ - Package() { 0x0001ffff, 0, 0, 9 }, + Package() { 0x0001ffff, 0, LNKS, 0 }, Package() { 0x0001ffff, 1, LNKB, 0 }, Package() { 0x0001ffff, 2, LNKC, 0 }, Package() { 0x0001ffff, 3, LNKD, 0 }, @@ -634,6 +634,46 @@ DefinitionBlock ( Store (TMP, PRQ3) } } + Device(LNKS){ + Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link + Name(_UID, 5) + Name(_PRS, ResourceTemplate(){ + Interrupt (, Level, ActiveHigh, Shared) + { 9 } + }) + Method (_STA, 0, NotSerialized) + { + Store (0x0B, Local0) + If (And (0x80, PRQ0, Local1)) + { + Store (0x09, Local0) + } + Return (Local0) + } + Method (_DIS, 0, NotSerialized) + { + Or (PRQ0, 0x80, PRQ0) + } + Method (_CRS, 0, NotSerialized) + { + Name (PRR0, ResourceTemplate () + { + Interrupt (, Level, ActiveHigh, Shared) + {9} + }) + CreateDWordField (PRR0, 0x05, TMP) + Store (PRQ0, Local0) + If (LLess (Local0, 0x80)) + { + Store (Local0, TMP) + } + Else + { + Store (Zero, TMP) + } + Return (PRR0) + } + } }
/* -- Gleb.
On Wed, Oct 20, 2010 at 11:34:41AM +0200, Gleb Natapov wrote:
In PIIX4 SCI (irq9) is active high. Seabios marks it so in interrupt override table, but some OSes (FreeBSD) require the same information to be present in DSDT too. Make it so.
Signed-off-by: Gleb Natapov gleb@redhat.com
Thanks.
-Kevin
On 10/21/2010 04:00 AM, Kevin O'Connor wrote:
On Wed, Oct 20, 2010 at 11:34:41AM +0200, Gleb Natapov wrote:
In PIIX4 SCI (irq9) is active high. Seabios marks it so in interrupt override table, but some OSes (FreeBSD) require the same information to be present in DSDT too. Make it so.
Signed-off-by: Gleb Natapovgleb@redhat.com
Thanks.
How do we manage the stable series wrt this issue?
qemu-kvm-0.12.5 has a regression within the stable series that this patch fixes. qemu 0.12.5 does not, but only because it does not emulate polarity in the I/O APIC correctly.
There are several paths we could take:
- do nothing, bug is fixed in mainline - release a seabios 0.x.1 for qemu 0.13.1 with this patch - same, plus seabios 0.y.1 for qemu 0.12.6 with this patch - skip qemu (which is not truly affected), patch qemu-kvm's copy of seabios for both 0.12.z and 0.13.z
The third option is the most "correct" from a release engineering point of view, but involves more work for everyone. The fourth is quick pain relief but is a little forky.
On Thu, Oct 21, 2010 at 12:07:17PM +0200, Avi Kivity wrote:
How do we manage the stable series wrt this issue?
qemu-kvm-0.12.5 has a regression within the stable series that this patch fixes. qemu 0.12.5 does not, but only because it does not emulate polarity in the I/O APIC correctly.
There are several paths we could take:
- do nothing, bug is fixed in mainline
- release a seabios 0.x.1 for qemu 0.13.1 with this patch
- same, plus seabios 0.y.1 for qemu 0.12.6 with this patch
- skip qemu (which is not truly affected), patch qemu-kvm's copy of
seabios for both 0.12.z and 0.13.z
The third option is the most "correct" from a release engineering point of view, but involves more work for everyone.
I'm okay with making tags and branches of seabios for bug fixes. So far qemu/kvm has just grabbed various builds of seabios - is it worthwhile to branch off of the seabios-0.6.1 version - which would mean qemu/kvm would pull in additional changes beyond the bug fix above?
-Kevin
On 10/23/2010 04:12 PM, Kevin O'Connor wrote:
On Thu, Oct 21, 2010 at 12:07:17PM +0200, Avi Kivity wrote:
How do we manage the stable series wrt this issue?
qemu-kvm-0.12.5 has a regression within the stable series that this patch fixes. qemu 0.12.5 does not, but only because it does not emulate polarity in the I/O APIC correctly.
There are several paths we could take:
- do nothing, bug is fixed in mainline
- release a seabios 0.x.1 for qemu 0.13.1 with this patch
- same, plus seabios 0.y.1 for qemu 0.12.6 with this patch
- skip qemu (which is not truly affected), patch qemu-kvm's copy of
seabios for both 0.12.z and 0.13.z
The third option is the most "correct" from a release engineering point of view, but involves more work for everyone.
I'm okay with making tags and branches of seabios for bug fixes. So far qemu/kvm has just grabbed various builds of seabios - is it worthwhile to branch off of the seabios-0.6.1 version - which would mean qemu/kvm would pull in additional changes beyond the bug fix above?
qemu 0.12 is based on 0.5.1-stable, appears to be an untagged commit qemu 0.13 is based on 17d3e46511, doesn't appear to be a part of a branch or a tag?
git-wise, tags are more important than branches. You can always retrofit a branch to a tag (and you can always retrofit a tag to a commit hash). For the qemu git repositories, neither matter so much since the commit is recorded in git; but the distro people really like nice stable tags with lots of digits and dots in them.
On 10/25/2010 12:52 PM, Avi Kivity wrote:
I'm okay with making tags and branches of seabios for bug fixes. So far qemu/kvm has just grabbed various builds of seabios - is it worthwhile to branch off of the seabios-0.6.1 version - which would mean qemu/kvm would pull in additional changes beyond the bug fix above?
qemu 0.12 is based on 0.5.1-stable, appears to be an untagged commit qemu 0.13 is based on 17d3e46511, doesn't appear to be a part of a branch or a tag?
git-wise, tags are more important than branches. You can always retrofit a branch to a tag (and you can always retrofit a tag to a commit hash). For the qemu git repositories, neither matter so much since the commit is recorded in git; but the distro people really like nice stable tags with lots of digits and dots in them.
On the last kvm conf call Anthony said that he'll be happy to include an updated seabios with qemu 0.13.1, so a new release would be appreciated.
On Wed, Oct 27, 2010 at 03:27:58PM +0200, Avi Kivity wrote:
On the last kvm conf call Anthony said that he'll be happy to include an updated seabios with qemu 0.13.1, so a new release would be appreciated.
I branched and tagged "rel-0.6.1.1". It only has 6d5a2172 cherry-picked into it.
-Kevin