From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH 1/3 v2] Add Directed EOI support to APIC emulation Date: Mon, 29 Jun 2009 12:18:28 +0300 Message-ID: <4A4886E4.3070907@redhat.com> References: <1246191331-31085-1-git-send-email-gleb@redhat.com> <1246191331-31085-2-git-send-email-gleb@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: Gleb Natapov Return-path: Received: from mx2.redhat.com ([66.187.237.31]:57342 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755124AbZF2JQy (ORCPT ); Mon, 29 Jun 2009 05:16:54 -0400 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n5T9GvF4016166 for ; Mon, 29 Jun 2009 05:16:57 -0400 In-Reply-To: <1246191331-31085-2-git-send-email-gleb@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 06/28/2009 03:15 PM, Gleb Natapov wrote: > Directed EOI is specified by x2APIC, but is available even when lapic is > in xAPIC mode. > > #define APIC_LVT_NUM 6 > /* 14 is the version for Xeon and Pentium 8.4.8*/ > -#define APIC_VERSION (0x14UL | ((APIC_LVT_NUM - 1)<< 16)) > +#define APIC_VERSION (0x14UL | ((APIC_LVT_NUM - 1)<< 16) | \ > + APIC_LVR_DIRECTED_EOI) > Better make that depend on the x2apic cpuid bit. > static void apic_send_ipi(struct kvm_lapic *apic) > @@ -683,7 +686,7 @@ static void apic_mmio_write(struct kvm_io_device *this, > break; > > case APIC_SPIV: > - apic_set_reg(apic, APIC_SPIV, val& 0x3ff); > + apic_set_reg(apic, APIC_SPIV, val& 0xfff); > if (!(val& APIC_SPIV_APIC_ENABLED)) { > int i; > u32 lvt_val; > Confused, you're adding bits 10 and 11 while APIC_SPIV_DIRECTED_EOI is bit 12? -- error compiling committee.c: too many arguments to function