All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.