ia64/xen-unstable

view Config.mk @ 15017:63263d715d43

[IA64] Fix vcpu hotplug

When domain is saved and restored, the following message is printed out.
bind_ipi_to_irqhandler()/bind_virq_to_irqhandler() should be called
in process context. Move the call from cpu_init() to __cpu_init() like x86.

BUG: sleeping function called from invalid context at /src1/yamahata/hg/xen/ia64
/my150/compile/test-0/xen-ia64-unstable.hg/linux-2.6.18-xen/mm/slab.c:2901
in_atomic():0, irqs_disabled():1

Call Trace:
[<a00000010001b190>] show_stack+0x50/0xa0
sp=e0000000004ff8b0 bsp=e0000000004f9358
[<a00000010001b210>] dump_stack+0x30/0x60
sp=e0000000004ffa80 bsp=e0000000004f9340
[<a000000100070f40>] __might_sleep+0x2c0/0x2e0
sp=e0000000004ffa80 bsp=e0000000004f9318
[<a00000010012c230>] __kmalloc+0xb0/0x320
sp=e0000000004ffa90 bsp=e0000000004f92e0
[<a0000001001a98d0>] proc_create+0x110/0x1c0
sp=e0000000004ffa90 bsp=e0000000004f9298
[<a0000001001a9ca0>] proc_mkdir_mode+0x40/0xe0
sp=e0000000004ffaa0 bsp=e0000000004f9268
[<a0000001001a9d70>] proc_mkdir+0x30/0x60
sp=e0000000004ffab0 bsp=e0000000004f9240
[<a0000001000e97e0>] register_handler_proc+0x1a0/0x1e0
sp=e0000000004ffab0 bsp=e0000000004f91f0
[<a0000001000e6420>] setup_irq+0x440/0x4e0
sp=e0000000004ffb30 bsp=e0000000004f9198
[<a0000001000e68c0>] request_irq+0x140/0x1a0
sp=e0000000004ffb30 bsp=e0000000004f9150
[<a0000001003e7a20>] bind_ipi_to_irqhandler+0x260/0x2c0
sp=e0000000004ffb30 bsp=e0000000004f90e8
[<a000000100019780>] xen_register_percpu_irq+0x2c0/0x880
sp=e0000000004ffb40 bsp=e0000000004f9098
[<a00000010001a1f0>] xen_smp_intr_init+0x170/0x1c0
sp=e0000000004ffb40 bsp=e0000000004f9070
[<a00000010003d350>] cpu_init+0x1090/0x10e0
sp=e0000000004ffb50 bsp=e0000000004f8fe0
[<a0000001000607a0>] start_secondary+0xc0/0x520
sp=e0000000004ffe30 bsp=e0000000004f8f90
[<a0000001000105f0>] __end_ivt_text+0x6d0/0x700
sp=e0000000004ffe30 bsp=e0000000004f8f90

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
author Alex Williamson <alex.williamson@hp.com>
date Thu May 03 14:38:26 2007 -0600 (2007-05-03)
parents d5d6d2a8d10c
children 8528da5be577
line source
1 # -*- mode: Makefile; -*-
3 # A debug build of Xen and tools?
4 debug ?= n
6 XEN_COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/ \
7 -e s/ppc/powerpc/ -e s/i86pc/x86_32/)
8 XEN_TARGET_ARCH ?= $(XEN_COMPILE_ARCH)
9 XEN_OS ?= $(shell uname -s)
11 ifeq ($(XEN_TARGET_ARCH),x86_32)
12 XEN_TARGET_X86_PAE ?= y
13 endif
15 CONFIG_$(XEN_OS) := y
17 SHELL ?= /bin/sh
19 # Tools to run on system hosting the build
20 HOSTCC = gcc
21 HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer
23 DISTDIR ?= $(XEN_ROOT)/dist
24 DESTDIR ?= /
26 include $(XEN_ROOT)/config/$(XEN_OS).mk
27 include $(XEN_ROOT)/config/$(XEN_TARGET_ARCH).mk
29 ifneq ($(EXTRA_PREFIX),)
30 EXTRA_INCLUDES += $(EXTRA_PREFIX)/include
31 EXTRA_LIB += $(EXTRA_PREFIX)/$(LIBDIR)
32 endif
34 # cc-option: Check if compiler supports first option, else fall back to second.
35 # Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586)
36 cc-option = $(shell if test -z "`$(1) $(2) -S -o /dev/null -xc \
37 /dev/null 2>&1`"; then echo "$(2)"; else echo "$(3)"; fi ;)
39 # cc-ver: Check compiler is at least specified version. Return boolean 'y'/'n'.
40 # Usage: ifeq ($(call cc-ver,$(CC),0x030400),y)
41 cc-ver = $(shell if [ $$((`$(1) -dumpversion | awk -F. \
42 '{ printf "0x%02x%02x%02x", $$1, $$2, $$3}'`)) -ge $$(($(2))) ]; \
43 then echo y; else echo n; fi ;)
45 # cc-ver-check: Check compiler is at least specified version, else fail.
46 # Usage: $(call cc-ver-check,CC,0x030400,"Require at least gcc-3.4")
47 cc-ver-check = $(eval $(call cc-ver-check-closure,$(1),$(2),$(3)))
48 define cc-ver-check-closure
49 ifeq ($$(call cc-ver,$$($(1)),$(2)),n)
50 override $(1) = echo "*** FATAL BUILD ERROR: "$(3) >&2; exit 1;
51 cc-option := n
52 endif
53 endef
55 ifneq ($(debug),y)
56 CFLAGS += -DNDEBUG
57 else
58 CFLAGS += -g
59 endif
61 CFLAGS += -std=gnu99
63 CFLAGS += -Wall -Wstrict-prototypes
65 # -Wunused-value makes GCC 4.x too aggressive for my taste: ignoring the
66 # result of any casted expression causes a warning.
67 CFLAGS += -Wno-unused-value
69 HOSTCFLAGS += $(call cc-option,$(HOSTCC),-Wdeclaration-after-statement,)
70 CFLAGS += $(call cc-option,$(CC),-Wdeclaration-after-statement,)
72 LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i))
73 CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i))
75 # If ACM_SECURITY = y, then the access control module is compiled
76 # into Xen and the policy type can be set by the boot policy file
77 # y - Build the Xen ACM framework
78 # n - Do not build the Xen ACM framework
79 ACM_SECURITY ?= n
81 # If ACM_SECURITY = y and no boot policy file is installed,
82 # then the ACM defaults to the security policy set by
83 # ACM_DEFAULT_SECURITY_POLICY
84 # Supported models are:
85 # ACM_NULL_POLICY
86 # ACM_CHINESE_WALL_AND_SIMPLE_TYPE_ENFORCEMENT_POLICY
87 ACM_DEFAULT_SECURITY_POLICY ?= ACM_NULL_POLICY
89 # Optional components
90 XENSTAT_XENTOP ?= y
91 VTPM_TOOLS ?= n
92 LIBXENAPI_BINDINGS ?= n
93 XENFB_TOOLS ?= n
94 PYTHON_TOOLS ?= y
96 -include $(XEN_ROOT)/.config