ia64/xen-unstable

view xen/include/Makefile @ 17062:0769835cf50f

x86 shadow: Reduce scope of shadow lock.

emulate_map_dest doesn't require holding lock, since
only shadow related operation possibly involved is to
remove shadow which is less frequent and can acquire
lock inside. Rest are either guest table walk or
per-vcpu monitor table manipulation

Signed-off-by Kevin Tian <kevin.tian@intel.com>
author Keir Fraser <keir.fraser@citrix.com>
date Thu Feb 14 10:33:12 2008 +0000 (2008-02-14)
parents 923b8dbb0fed
children a49673cd23d2
line source
1 ifneq ($(CONFIG_COMPAT),)
3 compat-arch-$(CONFIG_X86) := x86_32
5 headers-y := \
6 compat/callback.h \
7 compat/elfnote.h \
8 compat/event_channel.h \
9 compat/features.h \
10 compat/grant_table.h \
11 compat/kexec.h \
12 compat/memory.h \
13 compat/nmi.h \
14 compat/physdev.h \
15 compat/platform.h \
16 compat/sched.h \
17 compat/trace.h \
18 compat/vcpu.h \
19 compat/version.h \
20 compat/xen.h \
21 compat/xencomm.h \
22 compat/xenoprof.h
23 headers-$(CONFIG_X86) += compat/arch-x86/xen.h
24 headers-$(CONFIG_X86) += compat/arch-x86/xen-$(compat-arch-y).h
25 headers-y += compat/arch-$(compat-arch-y).h compat/xlat.h
27 cppflags-y := -include public/xen-compat.h
28 cppflags-$(CONFIG_X86) += -m32
30 # 8-byte types are 4-byte aligned on x86_32 ...
31 prefix-$(CONFIG_X86) := \#pragma pack(4)
32 suffix-$(CONFIG_X86) := \#pragma pack()
34 endif
36 .PHONY: all
37 all: $(headers-y)
39 compat/%.h: compat/%.i Makefile
40 set -e; id=_$$(echo $@ | tr '[:lower:]-/.' '[:upper:]___'); \
41 echo "#ifndef $$id" >$@.new; \
42 echo "#define $$id" >>$@.new; \
43 echo "#include <xen/compat.h>" >>$@.new; \
44 $(if $(filter-out compat/arch-%.h,$@),echo "#include <$(patsubst compat/%,public/%,$@)>" >>$@.new;) \
45 $(if $(prefix-y),echo "$(prefix-y)" >>$@.new;) \
46 grep -v '^# [0-9]' $< | \
47 $(BASEDIR)/tools/compat-build-header.py | uniq >>$@.new; \
48 $(if $(suffix-y),echo "$(suffix-y)" >>$@.new;) \
49 echo "#endif /* $$id */" >>$@.new
50 mv -f $@.new $@
52 compat/%.i: compat/%.c Makefile
53 $(CPP) $(CFLAGS) $(cppflags-y) -o $@ $<
55 compat/%.c: public/%.h xlat.lst Makefile
56 mkdir -p $(@D)
57 grep -v 'DEFINE_XEN_GUEST_HANDLE(long)' $< | \
58 $(BASEDIR)/tools/compat-build-source.py >$@.new
59 mv -f $@.new $@
61 compat/xlat.h: xlat.lst $(filter-out compat/xlat.h,$(headers-y)) $(BASEDIR)/tools/get-fields.sh Makefile
62 grep -v '^[ ]*#' xlat.lst | \
63 while read what name hdr; do \
64 $(SHELL) $(BASEDIR)/tools/get-fields.sh "$$what" compat_$$name $$(echo compat/$$hdr | sed 's,@arch@,$(compat-arch-y),g') || exit $$?; \
65 done >$@.new
66 mv -f $@.new $@
68 clean::
69 rm -rf compat