All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Lin Ming <mlin@ss.pku.edu.cn>
Cc: linux-kernel@vger.kernel.org,
	Steven Noonan <steven@uplinklabs.net>,
	Ben Guthro <ben@guthro.net>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	Marcus Granado <marcus.granado@citrix.com>,
	xen-devel@lists.xen.org
Subject: Re: [PATCH 1/2] xen: implement apic ipi interface
Date: Thu, 19 Apr 2012 15:11:01 -0400	[thread overview]
Message-ID: <20120419191101.GA22339@phenom.dumpdata.com> (raw)
In-Reply-To: <20120419190217.GA29124@phenom.dumpdata.com>

On Thu, Apr 19, 2012 at 03:02:17PM -0400, Konrad Rzeszutek Wilk wrote:
> On Sun, Apr 15, 2012 at 02:09:31PM +0800, Lin Ming wrote:
> > From: Ben Guthro <ben@guthro.net>
> > 
> > Map native ipi vector to xen vector.
> > Implement apic ipi interface with xen_send_IPI_one.
> 
> I keep on getting this (so PV guest without any SMP support,
> and with just PV frontend drivers):
> 
> 
> echo "CONFIG_PARAVIRT_GUEST=y" > linux.config
> echo "CONFIG_XEN=y" >> linux.config
> echo "CONFIG_XEN_XENBUS_FRONTEND=m" >> linux.config
> cat xen.config | grep FRONTEND >> linux.config
> echo "# CONFIG_XEN_PRIVILEGED_GUEST is not set" >> linux.config
> echo "# CONFIG_XEN_DOM0 is not set" >> linux.config
> echo "# CONFIG_ACPI is not set" >> linux.config
> echo "# CONFIG_PCI is not set" >> linux.config
> echo "# CONFIG_XENFS is not set" >> linux.config
> echo "# CONFIG_SMP is not set" >> linux.config
> 
> 
> make -j$((4 * 2)) -C /home/konrad/ssd/konrad/xtt-compile/linux O=/home/konrad/ssd/konrad/xtt-compile/linux-build- defconfig
> make[2]: Entering directory `/home/konrad/ssd/konrad/linux'
>   GEN     /home/konrad/ssd/konrad/xtt-compile/linux-build-/Makefile
> *** Default configuration is based on 'x86_64_defconfig'
> #
> # configuration written to .config
> 
> cat linux.config >> linux-build-/.config
> 
> make -j4 ..
> 
>   LD      init/built-in.o
>   LD      .tmp_vmlinux1
> arch/x86/built-in.o: In function `xen_start_kernel':
> (.init.text+0x5a8): undefined reference to `xen_send_IPI_allbutself'
> arch/x86/built-in.o: In function `xen_start_kernel':
> (.init.text+0x5b3): undefined reference to `xen_send_IPI_mask_allbutself'
> arch/x86/built-in.o: In function `xen_start_kernel':
> (.init.text+0x5be): undefined reference to `xen_send_IPI_mask'
> arch/x86/built-in.o: In function `xen_start_kernel':
> (.init.text+0x5c9): undefined reference to `xen_send_IPI_all'
> arch/x86/built-in.o: In function `xen_start_kernel':
> (.init.text+0x5d4): undefined reference to `xen_send_IPI_self'
> make[2]: *** [.tmp_vmlinux1] Error 1

And this fixes it [feel free to squash it in the patch]


commit dc4e2feaef1d22f8c4a257755af52a0b24e55a54
Author: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date:   Thu Apr 19 15:09:08 2012 -0400

    xen/smp: Fix compile issues if no CONFIG_SMP
    
    Fixes:
    arch/x86/built-in.o: In function `xen_start_kernel':
    (.init.text+0x5a8): undefined reference to `xen_send_IPI_allbutself'
    arch/x86/built-in.o: In function `xen_start_kernel':
    (.init.text+0x5b3): undefined reference to `xen_send_IPI_mask_allbutself'
    arch/x86/built-in.o: In function `xen_start_kernel':
    (.init.text+0x5be): undefined reference to `xen_send_IPI_mask'
    arch/x86/built-in.o: In function `xen_start_kernel':
    (.init.text+0x5c9): undefined reference to `xen_send_IPI_all'
    arch/x86/built-in.o: In function `xen_start_kernel':
    (.init.text+0x5d4): undefined reference to `xen_send_IPI_self'
    
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 20b3b23..9cf8f35 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -868,12 +868,13 @@ static void set_xen_basic_apic_ops(void)
 	apic->icr_write = xen_apic_icr_write;
 	apic->wait_icr_idle = xen_apic_wait_icr_idle;
 	apic->safe_wait_icr_idle = xen_safe_apic_wait_icr_idle;
-
+#ifdef CONFIG_SMP
 	apic->send_IPI_allbutself = xen_send_IPI_allbutself;
 	apic->send_IPI_mask_allbutself = xen_send_IPI_mask_allbutself;
 	apic->send_IPI_mask = xen_send_IPI_mask;
 	apic->send_IPI_all = xen_send_IPI_all;
 	apic->send_IPI_self = xen_send_IPI_self;
+#endif
 }
 
 #endif

  reply	other threads:[~2012-04-19 19:16 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-15  6:09 Lin Ming
2012-04-15  6:09 ` [PATCH 1/2] xen: implement apic ipi interface Lin Ming
2012-04-19 19:02   ` Konrad Rzeszutek Wilk
2012-04-19 19:11     ` Konrad Rzeszutek Wilk [this message]
2012-04-19 19:11     ` Konrad Rzeszutek Wilk
2012-04-19 19:02   ` Konrad Rzeszutek Wilk
2012-04-15  6:09 ` Lin Ming
2012-04-15  6:09 ` [PATCH 2/2] xen: implement IRQ_WORK_VECTOR handler Lin Ming
2012-04-16 20:32   ` Konrad Rzeszutek Wilk
2012-04-16 20:32   ` Konrad Rzeszutek Wilk
2012-04-19  8:46     ` Lin Ming
2012-04-19  8:46     ` Lin Ming
2012-04-19 20:00       ` [Xen-devel] " Konrad Rzeszutek Wilk
2012-04-19 20:00       ` Konrad Rzeszutek Wilk
2012-04-15  6:09 ` Lin Ming

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=20120419191101.GA22339@phenom.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=ben@guthro.net \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcus.granado@citrix.com \
    --cc=mlin@ss.pku.edu.cn \
    --cc=steven@uplinklabs.net \
    --cc=xen-devel@lists.xen.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.