From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Guido Guenther <agx-wGvLLbajjwFAfugRpC6u6w@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [PATCH] add acpi powerbutton support
Date: Mon, 14 Jan 2008 19:34:02 +0200 [thread overview]
Message-ID: <478B9D0A.5010901@qumranet.com> (raw)
In-Reply-To: <20080114102326.GB8987-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 332 bytes --]
Guido Guenther wrote:
>
>> - backout the madt interrupt source override changes
>>
> Should these stay, but with active low instead of active high?
>
They can go away, since active low is the default.
For reference, I'm attaching the patches I'm using.
--
error compiling committee.c: too many arguments to function
[-- Attachment #2: 0001-kvm-bios-pci-interrupts-are-active-low.patch --]
[-- Type: text/x-patch, Size: 3737 bytes --]
>From 736880c1e550f84778e0cd13ae7dd27988dee902 Mon Sep 17 00:00:00 2001
From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Date: Mon, 14 Jan 2008 17:34:11 +0200
Subject: [PATCH] kvm: bios: pci interrupts are active low
Signed-off-by: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
---
bios/acpi-dsdt.dsl | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/bios/acpi-dsdt.dsl b/bios/acpi-dsdt.dsl
index df255ce..92fd126 100755
--- a/bios/acpi-dsdt.dsl
+++ b/bios/acpi-dsdt.dsl
@@ -382,7 +382,7 @@ DefinitionBlock (
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
Name(_UID, 1)
Name(_PRS, ResourceTemplate(){
- Interrupt (, Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveLow, Shared)
{ 5, 9, 10, 11 }
})
Method (_STA, 0, NotSerialized)
@@ -402,7 +402,7 @@ DefinitionBlock (
{
Name (PRR0, ResourceTemplate ()
{
- Interrupt (, Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveLow, Shared)
{1}
})
CreateDWordField (PRR0, 0x05, TMP)
@@ -427,7 +427,7 @@ DefinitionBlock (
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
Name(_UID, 2)
Name(_PRS, ResourceTemplate(){
- Interrupt (, Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveLow, Shared)
{ 5, 9, 10, 11 }
})
Method (_STA, 0, NotSerialized)
@@ -447,7 +447,7 @@ DefinitionBlock (
{
Name (PRR0, ResourceTemplate ()
{
- Interrupt (, Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveLow, Shared)
{1}
})
CreateDWordField (PRR0, 0x05, TMP)
@@ -472,7 +472,7 @@ DefinitionBlock (
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
Name(_UID, 3)
Name(_PRS, ResourceTemplate(){
- Interrupt (, Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveLow, Shared)
{ 5, 9, 10, 11 }
})
Method (_STA, 0, NotSerialized)
@@ -492,7 +492,7 @@ DefinitionBlock (
{
Name (PRR0, ResourceTemplate ()
{
- Interrupt (, Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveLow, Shared)
{1}
})
CreateDWordField (PRR0, 0x05, TMP)
@@ -517,7 +517,7 @@ DefinitionBlock (
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
Name(_UID, 4)
Name(_PRS, ResourceTemplate(){
- Interrupt (, Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveLow, Shared)
{ 5, 9, 10, 11 }
})
Method (_STA, 0, NotSerialized)
@@ -537,7 +537,7 @@ DefinitionBlock (
{
Name (PRR0, ResourceTemplate ()
{
- Interrupt (, Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveLow, Shared)
{1}
})
CreateDWordField (PRR0, 0x05, TMP)
--
1.5.3.7
[-- Attachment #3: 0002-kvm-bios-don-t-advertise-the-pci-interrupts-as-act.patch --]
[-- Type: text/x-patch, Size: 976 bytes --]
>From 96ecf8e23154baa8020c58316cc013b8fa28689c Mon Sep 17 00:00:00 2001
From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Date: Mon, 14 Jan 2008 17:47:35 +0200
Subject: [PATCH] kvm: bios: don't advertise the pci interrupts as active high
Signed-off-by: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
---
bios/rombios32.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/bios/rombios32.c b/bios/rombios32.c
index 967c119..ebfbb24 100755
--- a/bios/rombios32.c
+++ b/bios/rombios32.c
@@ -1369,7 +1369,7 @@ void acpi_bios_init(void)
intsrcovr = (struct madt_intsrcovr*)(io_apic + 1);
for ( i = 0; i < 16; i++ ) {
- if ( PCI_ISA_IRQ_MASK & (1U << i) ) {
+ if ( 0 && (PCI_ISA_IRQ_MASK & (1U << i) )) {
memset(intsrcovr, 0, sizeof(*intsrcovr));
intsrcovr->type = APIC_XRUPT_OVERRIDE;
intsrcovr->length = sizeof(*intsrcovr);
--
1.5.3.7
[-- Attachment #4: 0003-kvm-qemu-invert-pci-interrupts-so-they-are-active.patch --]
[-- Type: text/x-patch, Size: 823 bytes --]
>From 5a5564a0998f42c5394090167d0dbf1e111dde10 Mon Sep 17 00:00:00 2001
From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Date: Mon, 14 Jan 2008 17:48:51 +0200
Subject: [PATCH] kvm: qemu: invert pci interrupts so they are active low
qemu treats them as active high, but they really are active low.
Signed-off-by: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
---
qemu/qemu-kvm.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/qemu/qemu-kvm.c b/qemu/qemu-kvm.c
index dd84686..33db263 100644
--- a/qemu/qemu-kvm.c
+++ b/qemu/qemu-kvm.c
@@ -742,6 +742,8 @@ int kvm_get_phys_ram_page_bitmap(unsigned char *bitmap)
int kvm_set_irq(int irq, int level)
{
+ if ((1 << irq) & 0xe20)
+ level ^= 1;
return kvm_set_irq_level(kvm_context, irq, level);
}
--
1.5.3.7
[-- Attachment #5: 0004-KVM-Hack-pci-pic-irqs-to-be-inverted-relative-to-io.patch --]
[-- Type: text/x-patch, Size: 1293 bytes --]
>From 1d578b022cfc4973ae3da3b3c639ab41f7a84f28 Mon Sep 17 00:00:00 2001
From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Date: Mon, 14 Jan 2008 17:29:38 +0200
Subject: [PATCH] KVM: Hack pci pic irqs to be inverted relative to ioapic irqs
PCI irqs are active low, but the pic wants them active high.
Signed-off-by: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
---
arch/x86/kvm/x86.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 77d57ff..ffce026 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -1434,16 +1434,21 @@ long kvm_arch_vm_ioctl(struct file *filp,
break;
case KVM_IRQ_LINE: {
struct kvm_irq_level irq_event;
+ int isa_irq_level;
r = -EFAULT;
if (copy_from_user(&irq_event, argp, sizeof irq_event))
goto out;
if (irqchip_in_kernel(kvm)) {
mutex_lock(&kvm->lock);
- if (irq_event.irq < 16)
+ if (irq_event.irq < 16) {
+ isa_irq_level = irq_event.level;
+ if ((1 << irq_event.irq) & 0xe20)
+ isa_irq_level ^= 1;
kvm_pic_set_irq(pic_irqchip(kvm),
irq_event.irq,
- irq_event.level);
+ isa_irq_level);
+ }
kvm_ioapic_set_irq(kvm->arch.vioapic,
irq_event.irq,
irq_event.level);
--
1.5.3.7
[-- Attachment #6: Type: text/plain, Size: 278 bytes --]
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
[-- Attachment #7: Type: text/plain, Size: 186 bytes --]
_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/kvm-devel
next prev parent reply other threads:[~2008-01-14 17:34 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-03 18:11 [PATCH] system_powerdown via acpi power button Guido Guenther
[not found] ` <20080103181132.GA1077-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-03 18:14 ` acpi sci polarity Guido Guenther
[not found] ` <20080103181415.GB1077-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-03 21:17 ` Avi Kivity
[not found] ` <477D50FE.4040104-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-04 18:31 ` Guido Guenther
[not found] ` <20080104183158.GA14002-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-06 9:08 ` Avi Kivity
[not found] ` <47809A8F.5090803-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-07 11:59 ` Guido Guenther
[not found] ` <20080107115916.GA24050-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-07 12:02 ` [PATCH] add acpi powerbutton support Guido Guenther
[not found] ` <20080107120223.GB24050-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-07 12:44 ` Avi Kivity
[not found] ` <47821EC8.4020308-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-08 4:34 ` Jun Koi
[not found] ` <fdaac4d50801072034p7f047495jd4be276c20623be3-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-01-08 8:09 ` Guido Guenther
[not found] ` <20080108080928.GA9823-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-19 15:40 ` Jan Kiszka
[not found] ` <479219D6.1000707-S0/GAf8tV78@public.gmane.org>
2008-01-20 11:56 ` Guido Guenther
[not found] ` <20080120115617.GA31618-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-21 10:00 ` Jan Kiszka
[not found] ` <47946D4A.5000808-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
2008-01-21 10:47 ` Avi Kivity
[not found] ` <47947857.4020004-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-21 11:35 ` Jan Kiszka
[not found] ` <47948376.9000105-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
2008-01-21 12:52 ` Avi Kivity
2008-01-22 9:48 ` Gerd Hoffmann
[not found] ` <4795BBE3.5060609-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2008-01-22 10:06 ` Jan Kiszka
2008-01-08 8:50 ` Avi Kivity
[not found] ` <47833938.1020609-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-09 18:00 ` Guido Guenther
[not found] ` <20080109180001.GA11240-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-13 9:35 ` Avi Kivity
[not found] ` <4789DB74.5070901-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-13 13:48 ` Avi Kivity
[not found] ` <478A1694.1010307-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-14 10:23 ` Guido Guenther
[not found] ` <20080114102326.GB8987-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-14 17:34 ` Avi Kivity [this message]
2008-01-18 22:20 ` Avi Kivity
[not found] ` <47912648.4030101-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-19 14:04 ` Guido Guenther
2008-01-14 10:21 ` Guido Guenther
2008-01-14 12:41 ` Alexey Eremenko
[not found] ` <64F9B87B6B770947A9F8391472E032160C95C641-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2008-01-14 13:30 ` Guido Guenther
2008-01-22 10:11 ` [PATCH] system_powerdown via acpi power button Jan Kiszka
[not found] ` <4795C134.7030400-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
2008-01-22 11:49 ` Guido Guenther
[not found] ` <20080122114955.GA28335-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-22 12:12 ` Jan Kiszka
[not found] ` <4795DD9C.3040804-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
2008-01-24 12:37 ` Guido Guenther
[not found] ` <20080124123730.GA4527-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-24 12:41 ` Avi Kivity
[not found] ` <47988797.8040208-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-24 12:50 ` Gerd Hoffmann
[not found] ` <479889B1.6030403-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2008-01-24 12:54 ` Avi Kivity
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=478B9D0A.5010901@qumranet.com \
--to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
--cc=agx-wGvLLbajjwFAfugRpC6u6w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox