From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54711) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VDrj6-00022j-S3 for qemu-devel@nongnu.org; Mon, 26 Aug 2013 04:00:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VDrj0-0005Qj-Nf for qemu-devel@nongnu.org; Mon, 26 Aug 2013 04:00:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:12784) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VDriz-0005QO-Vo for qemu-devel@nongnu.org; Mon, 26 Aug 2013 04:00:34 -0400 Message-ID: <521B0AFC.7010603@redhat.com> Date: Mon, 26 Aug 2013 09:59:56 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1377396984-17706-1-git-send-email-pingfank@linux.vnet.ibm.com> <5219A81D.7090008@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/2] hpet: entitle more irq pins for hpet List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: liu ping fan Cc: Jan Kiszka , qemu-devel@nongnu.org, Anthony Liguori Il 26/08/2013 04:53, liu ping fan ha scritto: > On Sun, Aug 25, 2013 at 2:45 PM, Paolo Bonzini wrote: >> Il 25/08/2013 04:16, Liu Ping Fan ha scritto: >>> On PC, IRQ2/8 can be reserved for hpet timer 0/1. And pin 16~23 of >>> ioapic can be dynamically assigned to hpet as guest chooses. >>> >>> Signed-off-by: Liu Ping Fan >>> --- >>> hw/timer/hpet.c | 6 ++++-- >>> 1 file changed, 4 insertions(+), 2 deletions(-) >>> >>> diff --git a/hw/timer/hpet.c b/hw/timer/hpet.c >>> index 648b383..cd95d39 100644 >>> --- a/hw/timer/hpet.c >>> +++ b/hw/timer/hpet.c >>> @@ -41,6 +41,8 @@ >>> #endif >>> >>> #define HPET_MSI_SUPPORT 0 >>> +/* Hpet can use non-legacy IRQ16~23, and an IRQ2 ,IRQ8 */ >>> +#define HPET_TN_INT_CAP (0xff0104ULL << 32) >>> >>> #define TYPE_HPET "hpet" >>> #define HPET(obj) OBJECT_CHECK(HPETState, (obj), TYPE_HPET) >>> @@ -653,8 +655,8 @@ static void hpet_reset(DeviceState *d) >>> if (s->flags & (1 << HPET_MSI_SUPPORT)) { >>> timer->config |= HPET_TN_FSB_CAP; >>> } >>> - /* advertise availability of ioapic inti2 */ >>> - timer->config |= 0x00000004ULL << 32; >>> + /* advertise availability of ioapic int */ >>> + timer->config |= HPET_TN_INT_CAP; >>> timer->period = 0ULL; >>> timer->wrap_flag = 0; >>> } >>> >> >> These high 32-bits of timer->config need to be a property of the HPET >> devices, so that the old value (4) is used when running with old machine > > Sorry, but I had included old value (4) in macro HPET_TN_INT_CAP. No, *only* GSI 2 must be available on old machine types (pc-1.6 and older). Paolo