From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751696AbbCBLYK (ORCPT ); Mon, 2 Mar 2015 06:24:10 -0500 Received: from smtp.citrix.com ([66.165.176.89]:24445 "EHLO SMTP.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751077AbbCBLYH (ORCPT ); Mon, 2 Mar 2015 06:24:07 -0500 X-IronPort-AV: E=Sophos;i="5.09,675,1418083200"; d="scan'208";a="238924465" Message-ID: <54F44854.5070006@citrix.com> Date: Mon, 2 Mar 2015 11:24:04 +0000 From: David Vrabel User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0 MIME-Version: 1.0 To: Konrad Rzeszutek Wilk , , , , Subject: Re: [Xen-devel] [PATCH] xen, apic: Setup our own APIC driver and validator for APIC IDs. References: <1425071669-9290-1-git-send-email-konrad.wilk@oracle.com> In-Reply-To: <1425071669-9290-1-git-send-email-konrad.wilk@oracle.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-DLP: MIA2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 27/02/15 21:14, Konrad Rzeszutek Wilk wrote: > Via CPUID masking and the different apic-> overrides we > effectively make PV guests only but with the default APIC > driver. That is OK as an PV guest should never access any > APIC registers. However, the APIC is also used to limit the > amount of CPUs if the APIC IDs are incorrect - and since we > mask the x2APIC from the CPUID - any APIC IDs above 0xFF > are deemed incorrect by the default APIC routines. > > As such add a new routine to check for APIC ID which will > be only used if the CPUID (native one) tells us the system > is using x2APIC. I was applying this but it breaks the build. arch/x86/built-in.o:(.data+0x2a28): undefined reference to `xen_send_IPI_mask' arch/x86/built-in.o:(.data+0x2a30): undefined reference to `xen_send_IPI_mask_allbutself' arch/x86/built-in.o:(.data+0x2a38): undefined reference to `xen_send_IPI_allbutself' arch/x86/built-in.o:(.data+0x2a40): undefined reference to `xen_send_IPI_all' arch/x86/built-in.o:(.data+0x2a48): undefined reference to `xen_send_IPI_self' There are some minor things that I was going to fix up (see below). I also found the commit message a bit garbled so rewrote it to: x86/xen: Provide a "Xen PV" APIC driver to support >255 VCPUs Instead of mangling the default APIC driver, provide a Xen PV guest specific one that explicitly provides appropriate methods. This allows use to report that all APIC IDs are valid, allowing dom0 to boot with more than 255 VCPUs. Since the probe order of APIC drivers is link dependent, we add in an late probe function to change to the Xen PV if it hadn't been done during bootup. > +static u32 xen_safe_apic_wait_icr_idle(void) > +{ > + return 0; > +} > + > + Extra blank line. > +static int probe_xen(void) xen_apic_probe_pv > +static struct apic xen_apic = { static struct apic xen_pv_apic > +void __init xen_apic_check(void) static David