From nobody Mon Feb 9 12:15:02 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1598627334; cv=none; d=zohomail.com; s=zohoarc; b=SXzfqtLZxdCw9s+uIy1Zl6oNogduxbD+5Up0S7PBXewR6hiiMwExmJIJcOic0h4G60V5LRVOS3iYeMUzMN+86knYVio4Mx6d+JWSt8t/8EbBVTTna4+41GU9X6baZbwuV6tOpC7VyerDfAsdnRPLXZGnElGJNSiPdMLxSJPw+tg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1598627334; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=M/77nJoLqIeu4Xw0Bvrw0vUVzIi1SZNsrvClPc6Ni+k=; b=AAl0YHr/19DzXM8qMkV5yTASFP9LgQU5ctjt1PpZ5x0f/nWxwaWYvNlyo6DfHTVIq7HAM7yrVsjuY/finMBNCVoJ3hWf/ZeYeG1LjnVFtplv4AIWGc2Njd/w845Pid8SMF4mDddRBjp8thLBAb5i0tezLOe52UBdrlt8jELeD7o= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1598627334765912.9215217613206; Fri, 28 Aug 2020 08:08:54 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kBfzR-00051D-1e; Fri, 28 Aug 2020 15:08:29 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kBfzQ-0004eG-5o for xen-devel@lists.xenproject.org; Fri, 28 Aug 2020 15:08:28 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 30b6fb5a-bd2b-485b-87c0-4a241c316ecb; Fri, 28 Aug 2020 15:07:55 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 4EE1CAF2A; Fri, 28 Aug 2020 15:08:26 +0000 (UTC) X-Inumbo-ID: 30b6fb5a-bd2b-485b-87c0-4a241c316ecb X-Virus-Scanned: by amavisd-new at test-mx.suse.de From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Andrew Cooper , George Dunlap , Ian Jackson , Jan Beulich , Julien Grall , Stefano Stabellini , Wei Liu , Samuel Thibault Subject: [PATCH v4 19/31] tools/libxc: move libxenguest to tools/libs/guest Date: Fri, 28 Aug 2020 17:07:35 +0200 Message-Id: <20200828150747.25305-20-jgross@suse.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200828150747.25305-1-jgross@suse.com> References: <20200828150747.25305-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Content-Type: text/plain; charset="utf-8" tools/libxc now contains libxenguest only. Move it to tools/libs/guest. When generating the pkg-config file for libxenguest a filter is now required for replacing "xenctrl" by "xencontrol" in the "Requires.private:" entry. Add this filter to tools/libs/libs.mk. Signed-off-by: Juergen Gross Reviewed-by: Samuel Thibault (stubdom parts) --- .gitignore | 16 +- stubdom/Makefile | 34 +-- stubdom/grub/Makefile | 2 +- stubdom/mini-os.mk | 2 +- tools/Makefile | 3 +- tools/Rules.mk | 7 +- tools/libs/Makefile | 1 + tools/{libxc =3D> libs/guest}/COPYING | 0 tools/libs/guest/Makefile | 121 ++++++++++ .../{libxc =3D> libs/guest}/include/xenguest.h | 0 tools/{libxc =3D> libs/guest}/xg_cpuid_x86.c | 0 tools/{libxc =3D> libs/guest}/xg_dom_arm.c | 0 .../guest}/xg_dom_armzimageloader.c | 0 .../{libxc =3D> libs/guest}/xg_dom_binloader.c | 0 tools/{libxc =3D> libs/guest}/xg_dom_boot.c | 0 .../guest}/xg_dom_bzimageloader.c | 0 .../guest}/xg_dom_compat_linux.c | 0 tools/{libxc =3D> libs/guest}/xg_dom_core.c | 0 .../{libxc =3D> libs/guest}/xg_dom_decompress.h | 0 .../guest}/xg_dom_decompress_lz4.c | 0 .../guest}/xg_dom_decompress_unsafe.c | 0 .../guest}/xg_dom_decompress_unsafe.h | 0 .../guest}/xg_dom_decompress_unsafe_bzip2.c | 0 .../guest}/xg_dom_decompress_unsafe_lzma.c | 0 .../guest}/xg_dom_decompress_unsafe_lzo1x.c | 0 .../guest}/xg_dom_decompress_unsafe_xz.c | 0 .../{libxc =3D> libs/guest}/xg_dom_elfloader.c | 0 .../{libxc =3D> libs/guest}/xg_dom_hvmloader.c | 0 tools/{libxc =3D> libs/guest}/xg_dom_x86.c | 0 tools/{libxc =3D> libs/guest}/xg_domain.c | 0 tools/{libxc =3D> libs/guest}/xg_nomigrate.c | 0 tools/{libxc =3D> libs/guest}/xg_offline_page.c | 0 tools/{libxc =3D> libs/guest}/xg_private.c | 0 tools/{libxc =3D> libs/guest}/xg_private.h | 0 tools/{libxc =3D> libs/guest}/xg_save_restore.h | 0 tools/{libxc =3D> libs/guest}/xg_sr_common.c | 0 tools/{libxc =3D> libs/guest}/xg_sr_common.h | 0 .../{libxc =3D> libs/guest}/xg_sr_common_x86.c | 0 .../{libxc =3D> libs/guest}/xg_sr_common_x86.h | 0 .../guest}/xg_sr_common_x86_pv.c | 0 .../guest}/xg_sr_common_x86_pv.h | 0 tools/{libxc =3D> libs/guest}/xg_sr_restore.c | 0 .../guest}/xg_sr_restore_x86_hvm.c | 0 .../guest}/xg_sr_restore_x86_pv.c | 0 tools/{libxc =3D> libs/guest}/xg_sr_save.c | 0 .../guest}/xg_sr_save_x86_hvm.c | 0 .../{libxc =3D> libs/guest}/xg_sr_save_x86_pv.c | 0 .../guest}/xg_sr_stream_format.h | 0 tools/{libxc =3D> libs/guest}/xg_suspend.c | 0 tools/libs/libs.mk | 2 +- tools/libs/uselibs.mk | 2 + tools/libxc/Makefile | 219 ------------------ 52 files changed, 148 insertions(+), 261 deletions(-) rename tools/{libxc =3D> libs/guest}/COPYING (100%) create mode 100644 tools/libs/guest/Makefile rename tools/{libxc =3D> libs/guest}/include/xenguest.h (100%) rename tools/{libxc =3D> libs/guest}/xg_cpuid_x86.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_arm.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_armzimageloader.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_binloader.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_boot.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_bzimageloader.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_compat_linux.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_core.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_decompress.h (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_decompress_lz4.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_decompress_unsafe.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_decompress_unsafe.h (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_decompress_unsafe_bzip2.c (100= %) rename tools/{libxc =3D> libs/guest}/xg_dom_decompress_unsafe_lzma.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_decompress_unsafe_lzo1x.c (100= %) rename tools/{libxc =3D> libs/guest}/xg_dom_decompress_unsafe_xz.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_elfloader.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_hvmloader.c (100%) rename tools/{libxc =3D> libs/guest}/xg_dom_x86.c (100%) rename tools/{libxc =3D> libs/guest}/xg_domain.c (100%) rename tools/{libxc =3D> libs/guest}/xg_nomigrate.c (100%) rename tools/{libxc =3D> libs/guest}/xg_offline_page.c (100%) rename tools/{libxc =3D> libs/guest}/xg_private.c (100%) rename tools/{libxc =3D> libs/guest}/xg_private.h (100%) rename tools/{libxc =3D> libs/guest}/xg_save_restore.h (100%) rename tools/{libxc =3D> libs/guest}/xg_sr_common.c (100%) rename tools/{libxc =3D> libs/guest}/xg_sr_common.h (100%) rename tools/{libxc =3D> libs/guest}/xg_sr_common_x86.c (100%) rename tools/{libxc =3D> libs/guest}/xg_sr_common_x86.h (100%) rename tools/{libxc =3D> libs/guest}/xg_sr_common_x86_pv.c (100%) rename tools/{libxc =3D> libs/guest}/xg_sr_common_x86_pv.h (100%) rename tools/{libxc =3D> libs/guest}/xg_sr_restore.c (100%) rename tools/{libxc =3D> libs/guest}/xg_sr_restore_x86_hvm.c (100%) rename tools/{libxc =3D> libs/guest}/xg_sr_restore_x86_pv.c (100%) rename tools/{libxc =3D> libs/guest}/xg_sr_save.c (100%) rename tools/{libxc =3D> libs/guest}/xg_sr_save_x86_hvm.c (100%) rename tools/{libxc =3D> libs/guest}/xg_sr_save_x86_pv.c (100%) rename tools/{libxc =3D> libs/guest}/xg_sr_stream_format.h (100%) rename tools/{libxc =3D> libs/guest}/xg_suspend.c (100%) delete mode 100644 tools/libxc/Makefile diff --git a/.gitignore b/.gitignore index d22b031ed2..eb637a98e9 100644 --- a/.gitignore +++ b/.gitignore @@ -71,7 +71,6 @@ stubdom/include stubdom/ioemu stubdom/ioemu/ stubdom/libs-* -stubdom/libxc-* stubdom/libxencall-* stubdom/libxenevtchn-* stubdom/libxenforeignmemory-* @@ -121,6 +120,14 @@ tools/libs/foreignmemory/headers.chk tools/libs/foreignmemory/xenforeignmemory.pc tools/libs/devicemodel/headers.chk tools/libs/devicemodel/xendevicemodel.pc +tools/libs/guest/_*.[ch] +tools/libs/guest/libxenguest.map +tools/libs/guest/xenguest.pc +tools/libs/guest/xc_bitops.h +tools/libs/guest/xc_core.h +tools/libs/guest/xc_core_arm.h +tools/libs/guest/xc_core_x86.h +tools/libs/guest/xc_private.h tools/console/xenconsole tools/console/xenconsoled tools/console/client/_paths.h @@ -197,12 +204,6 @@ tools/include/xen-xsm/* tools/include/xen-foreign/*.(c|h|size) tools/include/xen-foreign/checker tools/libvchan/xenvchan.pc -tools/libxc/*.pc -tools/libxc/xc_bitops.h -tools/libxc/xc_core.h -tools/libxc/xc_core_arm.h -tools/libxc/xc_core_x86.h -tools/libxc/xc_private.h tools/libxl/_libxl.api-for-check tools/libxl/*.api-ok tools/libxl/*.pc @@ -370,7 +371,6 @@ tools/include/xen-foreign/arm64.h tools/misc/xen-hptool tools/misc/xen-mfndump tools/libs/toolcore/include/_*.h -tools/libxc/_*.[ch] tools/libxl/_*.[ch] tools/libxl/testidl tools/libxl/testidl.c diff --git a/stubdom/Makefile b/stubdom/Makefile index 961a9f8704..de10281ca3 100644 --- a/stubdom/Makefile +++ b/stubdom/Makefile @@ -331,7 +331,9 @@ endif # libraries under tools/libs ####### =20 -STUB_LIBS :=3D toolcore toollog evtchn gnttab call foreignmemory devicemod= el ctrl +STUB_LIBS :=3D toolcore toollog evtchn gnttab call foreignmemory devicemod= el ctrl guest + +LIBDEP_guest :=3D cross-zlib =20 ####### # common handling @@ -362,13 +364,10 @@ endef =20 $(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib)))) =20 -libxc-$(XEN_TARGET_ARCH)/stamp: $(XEN_ROOT)/tools/libxc/Makefile - $(do_links) - xenstore/stamp: $(XEN_ROOT)/tools/xenstore/Makefile $(do_links) =20 -LINK_DIRS :=3D libxc-$(XEN_TARGET_ARCH) xenstore $(foreach dir,$(STUB_LIBS= ),libs-$(XEN_TARGET_ARCH)/$(dir)) +LINK_DIRS :=3D xenstore $(foreach dir,$(STUB_LIBS),libs-$(XEN_TARGET_ARCH)= /$(dir)) LINK_STAMPS :=3D $(foreach dir,$(LINK_DIRS),$(dir)/stamp) =20 mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET) $(LINK_STAMPS) @@ -391,16 +390,6 @@ $(TARGETS_MINIOS): mini-os-%: mkdir -p $@/$$i ; \ done =20 -####### -# libxc -####### - -.PHONY: libxc -libxc: libxc-$(XEN_TARGET_ARCH)/libxenguest.a -libxc-$(XEN_TARGET_ARCH)/libxenguest.a: libxenevtchn libxenctrl cross-zlib -libxc-$(XEN_TARGET_ARCH)/libxenguest.a: mk-headers-$(XEN_TARGET_ARCH) $(NE= WLIB_STAMPFILE) - CPPFLAGS=3D"$(TARGET_CPPFLAGS)" CFLAGS=3D"$(TARGET_CFLAGS)" $(MAKE) DESTD= IR=3D CONFIG_LIBXC_MINIOS=3Dy -C libxc-$(XEN_TARGET_ARCH) - ####### # ioemu ####### @@ -409,7 +398,7 @@ ioemu-minios-config.mk: $(CURDIR)/ioemu-minios.cfg MINIOS_CONFIG=3D"$<" CONFIG_FILE=3D"$(CURDIR)/$@" $(MAKE) DESTDIR=3D -C $= (MINI_OS) config =20 .PHONY: ioemu -ioemu: cross-zlib cross-libpci libxc ioemu-minios-config.mk +ioemu: cross-zlib cross-libpci libxenguest ioemu-minios-config.mk [ -f ioemu/config-host.mak ] || \ ( $(buildmakevars2shellvars); \ cd ioemu ; \ @@ -503,15 +492,15 @@ xenstore: $(CROSS_ROOT) xenstore-minios-config.mk =20 .PHONY: ioemu-stubdom ioemu-stubdom: APP_OBJS=3D$(CURDIR)/ioemu/i386-stubdom/qemu.a $(CURDIR)/io= emu/i386-stubdom/libqemu.a $(CURDIR)/ioemu/libqemu_common.a -ioemu-stubdom: mini-os-$(XEN_TARGET_ARCH)-ioemu lwip-$(XEN_TARGET_ARCH) li= bxc ioemu +ioemu-stubdom: mini-os-$(XEN_TARGET_ARCH)-ioemu lwip-$(XEN_TARGET_ARCH) li= bxenguest ioemu DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/ioemu-minios.cfg" $= (MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< LWIPDIR=3D$(CURDIR)/= lwip-$(XEN_TARGET_ARCH) APP_OBJS=3D"$(APP_OBJS)" =20 .PHONY: caml-stubdom -caml-stubdom: mini-os-$(XEN_TARGET_ARCH)-caml lwip-$(XEN_TARGET_ARCH) libx= c cross-ocaml caml +caml-stubdom: mini-os-$(XEN_TARGET_ARCH)-caml lwip-$(XEN_TARGET_ARCH) libx= enguest cross-ocaml caml DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/caml/minios.cfg" $(= MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< LWIPDIR=3D$(CURDIR)/l= wip-$(XEN_TARGET_ARCH) APP_OBJS=3D"$(CURDIR)/caml/main-caml.o $(CURDIR)/cam= l/caml.o $(CAMLLIB)/libasmrun.a" =20 .PHONY: c-stubdom -c-stubdom: mini-os-$(XEN_TARGET_ARCH)-c lwip-$(XEN_TARGET_ARCH) libxc c +c-stubdom: mini-os-$(XEN_TARGET_ARCH)-c lwip-$(XEN_TARGET_ARCH) libxengues= t c DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/c/minios.cfg" $(MAK= E) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< LWIPDIR=3D$(CURDIR)/lwip= -$(XEN_TARGET_ARCH) APP_OBJS=3D$(CURDIR)/c/main.a =20 .PHONY: vtpm-stubdom @@ -523,11 +512,11 @@ vtpmmgr-stubdom: mini-os-$(XEN_TARGET_ARCH)-vtpmmgr v= tpmmgr DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/vtpmmgr/minios.cfg"= $(MAKE) -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< APP_OBJS=3D"$(CURDIR)/vtpmmgr= /vtpmmgr.a" APP_LDLIBS=3D"-lm -lpolarssl" =20 .PHONY: pv-grub -pv-grub: mini-os-$(XEN_TARGET_ARCH)-grub libxc grub +pv-grub: mini-os-$(XEN_TARGET_ARCH)-grub libxenguest grub DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/grub/minios.cfg" $(= MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< APP_OBJS=3D$(CURDIR)/= grub-$(XEN_TARGET_ARCH)/main.a =20 .PHONY: xenstore-stubdom -xenstore-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstore libxc xenstore +xenstore-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstore libxenguest xenstore DEF_CPPFLAGS=3D"$(TARGET_CPPFLAGS)" DEF_CFLAGS=3D"$(TARGET_CFLAGS)" DEF_L= DFLAGS=3D"$(TARGET_LDFLAGS)" MINIOS_CONFIG=3D"$(CURDIR)/xenstore-minios.cfg= " $(MAKE) DESTDIR=3D -C $(MINI_OS) OBJ_DIR=3D$(CURDIR)/$< APP_OBJS=3D$(CURD= IR)/xenstore/xenstored.a =20 ######### @@ -621,7 +610,6 @@ clean: rm -f $(STUBDOMPATH) rm -f *-minios-config.mk rm -fr pkg-config - [ ! -e libxc-$(XEN_TARGET_ARCH)/Makefile ] || $(MAKE) DESTDIR=3D -C libxc= -$(XEN_TARGET_ARCH) clean -[ ! -d ioemu ] || $(MAKE) DESTDIR=3D -C ioemu clean -[ ! -d xenstore ] || $(MAKE) DESTDIR=3D -C xenstore clean =20 @@ -632,7 +620,7 @@ crossclean: clean rm -fr newlib-$(XEN_TARGET_ARCH) rm -fr zlib-$(XEN_TARGET_ARCH) pciutils-$(XEN_TARGET_ARCH) rm -fr libs-$(XEN_TARGET_ARCH) - rm -fr libxc-$(XEN_TARGET_ARCH) ioemu xenstore + rm -fr ioemu xenstore rm -fr gmp-$(XEN_TARGET_ARCH) rm -fr polarssl-$(XEN_TARGET_ARCH) rm -fr openssl-$(XEN_TARGET_ARCH) diff --git a/stubdom/grub/Makefile b/stubdom/grub/Makefile index d33fa2f71e..7397661c9b 100644 --- a/stubdom/grub/Makefile +++ b/stubdom/grub/Makefile @@ -7,7 +7,7 @@ BOOT=3D$(OBJ_DIR)/boot-$(XEN_TARGET_ARCH).o =20 DEF_CPPFLAGS +=3D -I$(XEN_ROOT)/tools/libs/toollog/include DEF_CPPFLAGS +=3D -I$(XEN_ROOT)/tools/libs/ctrl/include -DEF_CPPFLAGS +=3D -I$(XEN_ROOT)/tools/libxc/include +DEF_CPPFLAGS +=3D -I$(XEN_ROOT)/tools/libs/guest/include DEF_CPPFLAGS +=3D -I$(XEN_ROOT)/tools/include -I. DEF_CPPFLAGS +=3D -I../grub-upstream/stage1 DEF_CPPFLAGS +=3D -I../grub-upstream/stage2 diff --git a/stubdom/mini-os.mk b/stubdom/mini-os.mk index b1387df3f8..e1640a7cbc 100644 --- a/stubdom/mini-os.mk +++ b/stubdom/mini-os.mk @@ -14,4 +14,4 @@ CALL_PATH =3D $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_AR= CH)/call FOREIGNMEMORY_PATH =3D $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/fore= ignmemory DEVICEMODEL_PATH =3D $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/device= model CTRL_PATH =3D $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/ctrl -GUEST_PATH =3D $(XEN_ROOT)/stubdom/libxc-$(MINIOS_TARGET_ARCH) +GUEST_PATH =3D $(XEN_ROOT)/stubdom/libs-$(MINIOS_TARGET_ARCH)/guest diff --git a/tools/Makefile b/tools/Makefile index 7c9f9fc900..f9b4012290 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -6,7 +6,6 @@ include $(XEN_ROOT)/tools/Rules.mk =20 SUBDIRS-y :=3D SUBDIRS-y +=3D libs -SUBDIRS-y +=3D libxc SUBDIRS-y +=3D flask SUBDIRS-y +=3D fuzz SUBDIRS-y +=3D xenstore @@ -44,7 +43,7 @@ SUBDIRS-y +=3D pygrub SUBDIRS-$(OCAML_TOOLS) +=3D ocaml =20 ifeq ($(CONFIG_RUMP),y) -SUBDIRS-y :=3D libs libxc xenstore +SUBDIRS-y :=3D libs xenstore endif =20 # For the sake of linking, set the sys-root diff --git a/tools/Rules.mk b/tools/Rules.mk index 1cc56e9ab8..914c79bfb9 100644 --- a/tools/Rules.mk +++ b/tools/Rules.mk @@ -15,7 +15,6 @@ XEN_INCLUDE =3D $(XEN_ROOT)/tools/include =20 include $(XEN_ROOT)/tools/libs/uselibs.mk =20 -XEN_libxenguest =3D $(XEN_ROOT)/tools/libxc XEN_libxenlight =3D $(XEN_ROOT)/tools/libxl # Currently libxlutil lives in the same directory as libxenlight XEN_libxlutil =3D $(XEN_libxenlight) @@ -105,11 +104,7 @@ $(foreach lib,$(LIBS_LIBS),$(eval $(call LIB_defs,$(li= b)))) # code which compiles against libxenctrl get __XEN_TOOLS__ and # therefore sees the unstable hypercall interfaces. CFLAGS_libxenctrl +=3D $(CFLAGS_libxentoollog) $(CFLAGS_libxenforeignmemor= y) $(CFLAGS_libxendevicemodel) -D__XEN_TOOLS__ - -CFLAGS_libxenguest =3D -I$(XEN_libxenguest)/include $(CFLAGS_libxenevtchn)= $(CFLAGS_libxenforeignmemory) $(CFLAGS_xeninclude) -SHDEPS_libxenguest =3D $(SHLIB_libxenevtchn) $(SHLIB_libxenctrl) -LDLIBS_libxenguest =3D $(SHDEPS_libxenguest) $(XEN_libxenguest)/libxengues= t$(libextension) -SHLIB_libxenguest =3D $(SHDEPS_libxenguest) -Wl,-rpath-link=3D$(XEN_libxe= nguest) +CFLAGS_libxenguest +=3D $(CFLAGS_libxenevtchn) $(CFLAGS_libxenforeignmemor= y) =20 CFLAGS_libxenstore =3D -I$(XEN_libxenstore)/include $(CFLAGS_xeninclude) SHDEPS_libxenstore =3D $(SHLIB_libxentoolcore) $(SHLIB_libxenctrl) diff --git a/tools/libs/Makefile b/tools/libs/Makefile index 7648ea0e4c..f15c1688f7 100644 --- a/tools/libs/Makefile +++ b/tools/libs/Makefile @@ -10,6 +10,7 @@ SUBDIRS-y +=3D call SUBDIRS-y +=3D foreignmemory SUBDIRS-y +=3D devicemodel SUBDIRS-y +=3D ctrl +SUBDIRS-y +=3D guest SUBDIRS-y +=3D hypfs =20 ifeq ($(CONFIG_RUMP),y) diff --git a/tools/libxc/COPYING b/tools/libs/guest/COPYING similarity index 100% rename from tools/libxc/COPYING rename to tools/libs/guest/COPYING diff --git a/tools/libs/guest/Makefile b/tools/libs/guest/Makefile new file mode 100644 index 0000000000..e53aeabd3e --- /dev/null +++ b/tools/libs/guest/Makefile @@ -0,0 +1,121 @@ +XEN_ROOT =3D $(CURDIR)/../../.. +include $(XEN_ROOT)/tools/Rules.mk + +ifeq ($(CONFIG_LIBXC_MINIOS),y) +# Save/restore of a domain is currently incompatible with a stubdom enviro= nment +override CONFIG_MIGRATE :=3D n +endif + +LINK_FILES :=3D xc_private.h xc_core.h xc_core_x86.h xc_core_arm.h xc_bito= ps.h + +$(LINK_FILES): + ln -sf $(XEN_ROOT)/tools/libs/ctrl/$(notdir $@) $@ + +SRCS-y +=3D xg_private.c +SRCS-y +=3D xg_domain.c +SRCS-y +=3D xg_suspend.c +ifeq ($(CONFIG_MIGRATE),y) +SRCS-y +=3D xg_sr_common.c +SRCS-$(CONFIG_X86) +=3D xg_sr_common_x86.c +SRCS-$(CONFIG_X86) +=3D xg_sr_common_x86_pv.c +SRCS-$(CONFIG_X86) +=3D xg_sr_restore_x86_pv.c +SRCS-$(CONFIG_X86) +=3D xg_sr_restore_x86_hvm.c +SRCS-$(CONFIG_X86) +=3D xg_sr_save_x86_pv.c +SRCS-$(CONFIG_X86) +=3D xg_sr_save_x86_hvm.c +SRCS-y +=3D xg_sr_restore.c +SRCS-y +=3D xg_sr_save.c +SRCS-y +=3D xg_offline_page.c +else +SRCS-y +=3D xg_nomigrate.c +endif + +vpath %.c ../../../xen/common/libelf +CFLAGS +=3D -I../../../xen/common/libelf + +ELF_SRCS-y +=3D libelf-tools.c libelf-loader.c +ELF_SRCS-y +=3D libelf-dominfo.c + +SRCS-y +=3D $(ELF_SRCS-y) + +$(patsubst %.c,%.o,$(ELF_SRCS-y)): CFLAGS +=3D -Wno-pointer-sign +$(patsubst %.c,%.opic,$(ELF_SRCS-y)): CFLAGS +=3D -Wno-pointer-sign + +ifeq ($(CONFIG_X86),y) # Add libx86 to the build +vpath %.c ../../../xen/lib/x86 + +SRCS-y +=3D cpuid.c msr.c +endif + +# new domain builder +SRCS-y +=3D xg_dom_core.c +SRCS-y +=3D xg_dom_boot.c +SRCS-y +=3D xg_dom_elfloader.c +SRCS-$(CONFIG_X86) +=3D xg_dom_bzimageloader.c +SRCS-$(CONFIG_X86) +=3D xg_dom_decompress_lz4.c +SRCS-$(CONFIG_X86) +=3D xg_dom_hvmloader.c +SRCS-$(CONFIG_ARM) +=3D xg_dom_armzimageloader.c +SRCS-y +=3D xg_dom_binloader.c +SRCS-y +=3D xg_dom_compat_linux.c + +SRCS-$(CONFIG_X86) +=3D xg_dom_x86.c +SRCS-$(CONFIG_X86) +=3D xg_cpuid_x86.c +SRCS-$(CONFIG_ARM) +=3D xg_dom_arm.c + +ifeq ($(CONFIG_LIBXC_MINIOS),y) +SRCS-y +=3D xg_dom_decompress_unsafe.c +SRCS-y +=3D xg_dom_decompress_unsafe_bzip2.c +SRCS-y +=3D xg_dom_decompress_unsafe_lzma.c +SRCS-y +=3D xg_dom_decompress_unsafe_lzo1x.c +SRCS-y +=3D xg_dom_decompress_unsafe_xz.c +endif + +-include $(XEN_TARGET_ARCH)/Makefile + +CFLAGS +=3D -Werror -Wmissing-prototypes +CFLAGS +=3D -I. -I./include $(CFLAGS_xeninclude) +CFLAGS +=3D -D__XEN_TOOLS__ +CFLAGS +=3D -include $(XEN_ROOT)/tools/config.h + +# Needed for posix_fadvise64() in xc_linux.c +CFLAGS-$(CONFIG_Linux) +=3D -D_GNU_SOURCE + +CFLAGS +=3D $(PTHREAD_CFLAGS) +CFLAGS +=3D $(CFLAGS_libxentoollog) +CFLAGS +=3D $(CFLAGS_libxenevtchn) +CFLAGS +=3D $(CFLAGS_libxendevicemodel) + +# libxenguest includes xc_private.h, so needs this despite not using +# this functionality directly. +CFLAGS +=3D $(CFLAGS_libxencall) $(CFLAGS_libxenforeignmemory) + +ifeq ($(CONFIG_MiniOS),y) +zlib-options =3D +else +zlib-options =3D $(ZLIB) +endif + +xc_dom_bzimageloader.o: CFLAGS +=3D $(filter -D%,$(zlib-options)) +xc_dom_bzimageloader.opic: CFLAGS +=3D $(filter -D%,$(zlib-options)) + +LIBHEADER :=3D xenguest.h + +NO_HEADERS_CHK :=3D y + +include $(XEN_ROOT)/tools/libs/libs.mk + +libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS =3D $(filter -l%,$(zlib= -options)) +libxenguest.so.$(MAJOR).$(MINOR): APPEND_LDFLAGS +=3D $(COMPRESSION_LIBS) = -lz + +genpath-target =3D $(call buildmakevars2header,_paths.h) +$(eval $(genpath-target)) + +xc_private.h: _paths.h + +$(LIB_OBJS) $(PIC_OBJS): $(LINK_FILES) + +$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR =3D $(XEN_libxenctrl)/include +$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL =3D $(CFLAGS_xeninclude) + +.PHONY: cleanlocal +cleanlocal: + rm -f libxenguest.map diff --git a/tools/libxc/include/xenguest.h b/tools/libs/guest/include/xeng= uest.h similarity index 100% rename from tools/libxc/include/xenguest.h rename to tools/libs/guest/include/xenguest.h diff --git a/tools/libxc/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c similarity index 100% rename from tools/libxc/xg_cpuid_x86.c rename to tools/libs/guest/xg_cpuid_x86.c diff --git a/tools/libxc/xg_dom_arm.c b/tools/libs/guest/xg_dom_arm.c similarity index 100% rename from tools/libxc/xg_dom_arm.c rename to tools/libs/guest/xg_dom_arm.c diff --git a/tools/libxc/xg_dom_armzimageloader.c b/tools/libs/guest/xg_dom= _armzimageloader.c similarity index 100% rename from tools/libxc/xg_dom_armzimageloader.c rename to tools/libs/guest/xg_dom_armzimageloader.c diff --git a/tools/libxc/xg_dom_binloader.c b/tools/libs/guest/xg_dom_binlo= ader.c similarity index 100% rename from tools/libxc/xg_dom_binloader.c rename to tools/libs/guest/xg_dom_binloader.c diff --git a/tools/libxc/xg_dom_boot.c b/tools/libs/guest/xg_dom_boot.c similarity index 100% rename from tools/libxc/xg_dom_boot.c rename to tools/libs/guest/xg_dom_boot.c diff --git a/tools/libxc/xg_dom_bzimageloader.c b/tools/libs/guest/xg_dom_b= zimageloader.c similarity index 100% rename from tools/libxc/xg_dom_bzimageloader.c rename to tools/libs/guest/xg_dom_bzimageloader.c diff --git a/tools/libxc/xg_dom_compat_linux.c b/tools/libs/guest/xg_dom_co= mpat_linux.c similarity index 100% rename from tools/libxc/xg_dom_compat_linux.c rename to tools/libs/guest/xg_dom_compat_linux.c diff --git a/tools/libxc/xg_dom_core.c b/tools/libs/guest/xg_dom_core.c similarity index 100% rename from tools/libxc/xg_dom_core.c rename to tools/libs/guest/xg_dom_core.c diff --git a/tools/libxc/xg_dom_decompress.h b/tools/libs/guest/xg_dom_deco= mpress.h similarity index 100% rename from tools/libxc/xg_dom_decompress.h rename to tools/libs/guest/xg_dom_decompress.h diff --git a/tools/libxc/xg_dom_decompress_lz4.c b/tools/libs/guest/xg_dom_= decompress_lz4.c similarity index 100% rename from tools/libxc/xg_dom_decompress_lz4.c rename to tools/libs/guest/xg_dom_decompress_lz4.c diff --git a/tools/libxc/xg_dom_decompress_unsafe.c b/tools/libs/guest/xg_d= om_decompress_unsafe.c similarity index 100% rename from tools/libxc/xg_dom_decompress_unsafe.c rename to tools/libs/guest/xg_dom_decompress_unsafe.c diff --git a/tools/libxc/xg_dom_decompress_unsafe.h b/tools/libs/guest/xg_d= om_decompress_unsafe.h similarity index 100% rename from tools/libxc/xg_dom_decompress_unsafe.h rename to tools/libs/guest/xg_dom_decompress_unsafe.h diff --git a/tools/libxc/xg_dom_decompress_unsafe_bzip2.c b/tools/libs/gues= t/xg_dom_decompress_unsafe_bzip2.c similarity index 100% rename from tools/libxc/xg_dom_decompress_unsafe_bzip2.c rename to tools/libs/guest/xg_dom_decompress_unsafe_bzip2.c diff --git a/tools/libxc/xg_dom_decompress_unsafe_lzma.c b/tools/libs/guest= /xg_dom_decompress_unsafe_lzma.c similarity index 100% rename from tools/libxc/xg_dom_decompress_unsafe_lzma.c rename to tools/libs/guest/xg_dom_decompress_unsafe_lzma.c diff --git a/tools/libxc/xg_dom_decompress_unsafe_lzo1x.c b/tools/libs/gues= t/xg_dom_decompress_unsafe_lzo1x.c similarity index 100% rename from tools/libxc/xg_dom_decompress_unsafe_lzo1x.c rename to tools/libs/guest/xg_dom_decompress_unsafe_lzo1x.c diff --git a/tools/libxc/xg_dom_decompress_unsafe_xz.c b/tools/libs/guest/x= g_dom_decompress_unsafe_xz.c similarity index 100% rename from tools/libxc/xg_dom_decompress_unsafe_xz.c rename to tools/libs/guest/xg_dom_decompress_unsafe_xz.c diff --git a/tools/libxc/xg_dom_elfloader.c b/tools/libs/guest/xg_dom_elflo= ader.c similarity index 100% rename from tools/libxc/xg_dom_elfloader.c rename to tools/libs/guest/xg_dom_elfloader.c diff --git a/tools/libxc/xg_dom_hvmloader.c b/tools/libs/guest/xg_dom_hvmlo= ader.c similarity index 100% rename from tools/libxc/xg_dom_hvmloader.c rename to tools/libs/guest/xg_dom_hvmloader.c diff --git a/tools/libxc/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c similarity index 100% rename from tools/libxc/xg_dom_x86.c rename to tools/libs/guest/xg_dom_x86.c diff --git a/tools/libxc/xg_domain.c b/tools/libs/guest/xg_domain.c similarity index 100% rename from tools/libxc/xg_domain.c rename to tools/libs/guest/xg_domain.c diff --git a/tools/libxc/xg_nomigrate.c b/tools/libs/guest/xg_nomigrate.c similarity index 100% rename from tools/libxc/xg_nomigrate.c rename to tools/libs/guest/xg_nomigrate.c diff --git a/tools/libxc/xg_offline_page.c b/tools/libs/guest/xg_offline_pa= ge.c similarity index 100% rename from tools/libxc/xg_offline_page.c rename to tools/libs/guest/xg_offline_page.c diff --git a/tools/libxc/xg_private.c b/tools/libs/guest/xg_private.c similarity index 100% rename from tools/libxc/xg_private.c rename to tools/libs/guest/xg_private.c diff --git a/tools/libxc/xg_private.h b/tools/libs/guest/xg_private.h similarity index 100% rename from tools/libxc/xg_private.h rename to tools/libs/guest/xg_private.h diff --git a/tools/libxc/xg_save_restore.h b/tools/libs/guest/xg_save_resto= re.h similarity index 100% rename from tools/libxc/xg_save_restore.h rename to tools/libs/guest/xg_save_restore.h diff --git a/tools/libxc/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c similarity index 100% rename from tools/libxc/xg_sr_common.c rename to tools/libs/guest/xg_sr_common.c diff --git a/tools/libxc/xg_sr_common.h b/tools/libs/guest/xg_sr_common.h similarity index 100% rename from tools/libxc/xg_sr_common.h rename to tools/libs/guest/xg_sr_common.h diff --git a/tools/libxc/xg_sr_common_x86.c b/tools/libs/guest/xg_sr_common= _x86.c similarity index 100% rename from tools/libxc/xg_sr_common_x86.c rename to tools/libs/guest/xg_sr_common_x86.c diff --git a/tools/libxc/xg_sr_common_x86.h b/tools/libs/guest/xg_sr_common= _x86.h similarity index 100% rename from tools/libxc/xg_sr_common_x86.h rename to tools/libs/guest/xg_sr_common_x86.h diff --git a/tools/libxc/xg_sr_common_x86_pv.c b/tools/libs/guest/xg_sr_com= mon_x86_pv.c similarity index 100% rename from tools/libxc/xg_sr_common_x86_pv.c rename to tools/libs/guest/xg_sr_common_x86_pv.c diff --git a/tools/libxc/xg_sr_common_x86_pv.h b/tools/libs/guest/xg_sr_com= mon_x86_pv.h similarity index 100% rename from tools/libxc/xg_sr_common_x86_pv.h rename to tools/libs/guest/xg_sr_common_x86_pv.h diff --git a/tools/libxc/xg_sr_restore.c b/tools/libs/guest/xg_sr_restore.c similarity index 100% rename from tools/libxc/xg_sr_restore.c rename to tools/libs/guest/xg_sr_restore.c diff --git a/tools/libxc/xg_sr_restore_x86_hvm.c b/tools/libs/guest/xg_sr_r= estore_x86_hvm.c similarity index 100% rename from tools/libxc/xg_sr_restore_x86_hvm.c rename to tools/libs/guest/xg_sr_restore_x86_hvm.c diff --git a/tools/libxc/xg_sr_restore_x86_pv.c b/tools/libs/guest/xg_sr_re= store_x86_pv.c similarity index 100% rename from tools/libxc/xg_sr_restore_x86_pv.c rename to tools/libs/guest/xg_sr_restore_x86_pv.c diff --git a/tools/libxc/xg_sr_save.c b/tools/libs/guest/xg_sr_save.c similarity index 100% rename from tools/libxc/xg_sr_save.c rename to tools/libs/guest/xg_sr_save.c diff --git a/tools/libxc/xg_sr_save_x86_hvm.c b/tools/libs/guest/xg_sr_save= _x86_hvm.c similarity index 100% rename from tools/libxc/xg_sr_save_x86_hvm.c rename to tools/libs/guest/xg_sr_save_x86_hvm.c diff --git a/tools/libxc/xg_sr_save_x86_pv.c b/tools/libs/guest/xg_sr_save_= x86_pv.c similarity index 100% rename from tools/libxc/xg_sr_save_x86_pv.c rename to tools/libs/guest/xg_sr_save_x86_pv.c diff --git a/tools/libxc/xg_sr_stream_format.h b/tools/libs/guest/xg_sr_str= eam_format.h similarity index 100% rename from tools/libxc/xg_sr_stream_format.h rename to tools/libs/guest/xg_sr_stream_format.h diff --git a/tools/libxc/xg_suspend.c b/tools/libs/guest/xg_suspend.c similarity index 100% rename from tools/libxc/xg_suspend.c rename to tools/libs/guest/xg_suspend.c diff --git a/tools/libs/libs.mk b/tools/libs/libs.mk index 4679268fc2..9d0ed08846 100644 --- a/tools/libs/libs.mk +++ b/tools/libs/libs.mk @@ -34,7 +34,7 @@ PKG_CONFIG_DESC ?=3D The $(PKG_CONFIG_NAME) library for X= en hypervisor PKG_CONFIG_VERSION :=3D $(MAJOR).$(MINOR) PKG_CONFIG_USELIBS :=3D $(SHLIB_libxen$(LIBNAME)) PKG_CONFIG_LIB :=3D xen$(LIBNAME) -PKG_CONFIG_REQPRIV :=3D $(subst $(space),$(comma),$(strip $(foreach lib,$(= USELIBS_$(LIBNAME)),xen$(lib)))) +PKG_CONFIG_REQPRIV :=3D $(subst $(space),$(comma),$(strip $(foreach lib,$(= patsubst ctrl,control,$(USELIBS_$(LIBNAME))),xen$(lib)))) =20 ifneq ($(CONFIG_LIBXC_MINIOS),y) PKG_CONFIG_INST :=3D $(PKG_CONFIG) diff --git a/tools/libs/uselibs.mk b/tools/libs/uselibs.mk index 8e45e8d917..9619c576ba 100644 --- a/tools/libs/uselibs.mk +++ b/tools/libs/uselibs.mk @@ -18,3 +18,5 @@ LIBS_LIBS +=3D hypfs USELIBS_hypfs :=3D toollog toolcore call LIBS_LIBS +=3D ctrl USELIBS_ctrl :=3D toollog call evtchn gnttab foreignmemory devicemodel +LIBS_LIBS +=3D guest +USELIBS_guest :=3D evtchn ctrl diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile deleted file mode 100644 index 44fa0488c9..0000000000 --- a/tools/libxc/Makefile +++ /dev/null @@ -1,219 +0,0 @@ -XEN_ROOT =3D $(CURDIR)/../.. -include $(XEN_ROOT)/tools/Rules.mk - -MAJOR =3D 4.15 -MINOR =3D 0 - -ifeq ($(CONFIG_LIBXC_MINIOS),y) -# Save/restore of a domain is currently incompatible with a stubdom enviro= nment -override CONFIG_MIGRATE :=3D n -endif - -LINK_FILES :=3D xc_private.h xc_core.h xc_core_x86.h xc_core_arm.h xc_bito= ps.h - -$(LINK_FILES): - ln -sf $(XEN_ROOT)/tools/libs/ctrl/$(notdir $@) $@ - -GUEST_SRCS-y :=3D -GUEST_SRCS-y +=3D xg_private.c -GUEST_SRCS-y +=3D xg_domain.c -GUEST_SRCS-y +=3D xg_suspend.c -ifeq ($(CONFIG_MIGRATE),y) -GUEST_SRCS-y +=3D xg_sr_common.c -GUEST_SRCS-$(CONFIG_X86) +=3D xg_sr_common_x86.c -GUEST_SRCS-$(CONFIG_X86) +=3D xg_sr_common_x86_pv.c -GUEST_SRCS-$(CONFIG_X86) +=3D xg_sr_restore_x86_pv.c -GUEST_SRCS-$(CONFIG_X86) +=3D xg_sr_restore_x86_hvm.c -GUEST_SRCS-$(CONFIG_X86) +=3D xg_sr_save_x86_pv.c -GUEST_SRCS-$(CONFIG_X86) +=3D xg_sr_save_x86_hvm.c -GUEST_SRCS-y +=3D xg_sr_restore.c -GUEST_SRCS-y +=3D xg_sr_save.c -GUEST_SRCS-y +=3D xg_offline_page.c -else -GUEST_SRCS-y +=3D xg_nomigrate.c -endif - -vpath %.c ../../xen/common/libelf -CFLAGS +=3D -I../../xen/common/libelf - -ELF_SRCS-y +=3D libelf-tools.c libelf-loader.c -ELF_SRCS-y +=3D libelf-dominfo.c - -GUEST_SRCS-y +=3D $(ELF_SRCS-y) - -$(patsubst %.c,%.o,$(ELF_SRCS-y)): CFLAGS +=3D -Wno-pointer-sign -$(patsubst %.c,%.opic,$(ELF_SRCS-y)): CFLAGS +=3D -Wno-pointer-sign - -ifeq ($(CONFIG_X86),y) # Add libx86 to the build -vpath %.c ../../xen/lib/x86 - -GUEST_SRCS-y +=3D cpuid.c msr.c -endif - -# new domain builder -GUEST_SRCS-y +=3D xg_dom_core.c -GUEST_SRCS-y +=3D xg_dom_boot.c -GUEST_SRCS-y +=3D xg_dom_elfloader.c -GUEST_SRCS-$(CONFIG_X86) +=3D xg_dom_bzimageloader.c -GUEST_SRCS-$(CONFIG_X86) +=3D xg_dom_decompress_lz4.c -GUEST_SRCS-$(CONFIG_X86) +=3D xg_dom_hvmloader.c -GUEST_SRCS-$(CONFIG_ARM) +=3D xg_dom_armzimageloader.c -GUEST_SRCS-y +=3D xg_dom_binloader.c -GUEST_SRCS-y +=3D xg_dom_compat_linux.c - -GUEST_SRCS-$(CONFIG_X86) +=3D xg_dom_x86.c -GUEST_SRCS-$(CONFIG_X86) +=3D xg_cpuid_x86.c -GUEST_SRCS-$(CONFIG_ARM) +=3D xg_dom_arm.c - -ifeq ($(CONFIG_LIBXC_MINIOS),y) -GUEST_SRCS-y +=3D xg_dom_decompress_unsafe.c -GUEST_SRCS-y +=3D xg_dom_decompress_unsafe_bzip2.c -GUEST_SRCS-y +=3D xg_dom_decompress_unsafe_lzma.c -GUEST_SRCS-y +=3D xg_dom_decompress_unsafe_lzo1x.c -GUEST_SRCS-y +=3D xg_dom_decompress_unsafe_xz.c -endif - --include $(XEN_TARGET_ARCH)/Makefile - -CFLAGS +=3D -Werror -Wmissing-prototypes -CFLAGS +=3D -I. -I./include $(CFLAGS_xeninclude) -CFLAGS +=3D -D__XEN_TOOLS__ - -# Needed for posix_fadvise64() in xc_linux.c -CFLAGS-$(CONFIG_Linux) +=3D -D_GNU_SOURCE - -CFLAGS +=3D $(PTHREAD_CFLAGS) -CFLAGS +=3D $(CFLAGS_libxentoollog) -CFLAGS +=3D $(CFLAGS_libxenevtchn) -CFLAGS +=3D $(CFLAGS_libxendevicemodel) - -GUEST_LIB_OBJS :=3D $(patsubst %.c,%.o,$(GUEST_SRCS-y)) -GUEST_PIC_OBJS :=3D $(patsubst %.c,%.opic,$(GUEST_SRCS-y)) - -$(GUEST_LIB_OBJS) $(GUEST_PIC_OBJS): CFLAGS +=3D -include $(XEN_ROOT)/tool= s/config.h - -# libxenguest includes xc_private.h, so needs this despite not using -# this functionality directly. -$(GUEST_LIB_OBJS) $(GUEST_PIC_OBJS): CFLAGS +=3D $(CFLAGS_libxencall) $(CF= LAGS_libxenforeignmemory) - -LIB +=3D libxenguest.a -ifneq ($(nosharedlibs),y) -LIB +=3D libxenguest.so libxenguest.so.$(MAJOR) libxenguest.so.$(MAJOR).$(= MINOR) -endif - -genpath-target =3D $(call buildmakevars2header,_paths.h) -$(eval $(genpath-target)) - -xc_private.h: _paths.h - -$(GUEST_LIB_OBJS) $(GUEST_PIC_OBJS): $(LINK_FILES) - -PKG_CONFIG :=3D xenguest.pc -PKG_CONFIG_VERSION :=3D $(MAJOR).$(MINOR) - -xenguest.pc: PKG_CONFIG_NAME =3D Xenguest -xenguest.pc: PKG_CONFIG_DESC =3D The Xenguest library for Xen hypervisor -xenguest.pc: PKG_CONFIG_USELIBS =3D $(SHLIB_libxenguest) -xenguest.pc: PKG_CONFIG_LIB =3D xenguest -xenguest.pc: PKG_CONFIG_REQPRIV =3D xentoollog,xencall,xenforeignmemory,xe= nevtchn - -$(PKG_CONFIG_DIR)/xenguest.pc: PKG_CONFIG_NAME =3D Xenguest -$(PKG_CONFIG_DIR)/xenguest.pc: PKG_CONFIG_DESC =3D The Xenguest library fo= r Xen hypervisor -$(PKG_CONFIG_DIR)/xenguest.pc: PKG_CONFIG_USELIBS =3D $(SHLIB_libxenguest) -$(PKG_CONFIG_DIR)/xenguest.pc: PKG_CONFIG_LIB =3D xenguest -$(PKG_CONFIG_DIR)/xenguest.pc: PKG_CONFIG_REQPRIV =3D xentoollog,xencall,x= enforeignmemory,xenevtchn,xencontrol - -ifneq ($(CONFIG_LIBXC_MINIOS),y) -PKG_CONFIG_INST :=3D $(PKG_CONFIG) -$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX =3D $(prefix) -$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR =3D $(includedir) -$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR =3D $(libdir) -endif - -PKG_CONFIG_LOCAL :=3D $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc)) - -$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX =3D $(XEN_ROOT) -$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR =3D $(XEN_libxenctrl)/include -$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR =3D $(CURDIR) -$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL =3D $(CFLAGS_xeninclude) - -.PHONY: all -all: build - -.PHONY: build -build: - $(MAKE) libs - -.PHONY: libs -libs: $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL) - -.PHONY: install -install: build - $(INSTALL_DIR) $(DESTDIR)$(libdir) - $(INSTALL_DIR) $(DESTDIR)$(includedir) - $(INSTALL_SHLIB) libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir) - $(INSTALL_DATA) libxenguest.a $(DESTDIR)$(libdir) - $(SYMLINK_SHLIB) libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/lib= xenguest.so.$(MAJOR) - $(SYMLINK_SHLIB) libxenguest.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenguest.= so - $(INSTALL_DATA) include/xenguest.h $(DESTDIR)$(includedir) - $(INSTALL_DATA) xenguest.pc $(DESTDIR)$(PKG_INSTALLDIR) - -.PHONY: uninstall -uninstall: - rm -f $(DESTDIR)$(PKG_INSTALLDIR)/xenguest.pc - rm -f $(DESTDIR)$(includedir)/xenguest.h - rm -f $(DESTDIR)$(libdir)/libxenguest.so - rm -f $(DESTDIR)$(libdir)/libxenguest.so.$(MAJOR) - rm -f $(DESTDIR)$(libdir)/libxenguest.so.$(MAJOR).$(MINOR) - rm -f $(DESTDIR)$(libdir)/libxenguest.a - -.PHONY: TAGS -TAGS: - etags -t *.c *.h - -.PHONY: clean -clean: - rm -rf *.rpm $(LIB) *~ $(DEPS_RM) \ - _paths.h \ - $(LINK_FILES) \ - xenguest.pc \ - $(GUEST_LIB_OBJS) $(GUEST_PIC_OBJS) - -.PHONY: distclean -distclean: clean - -.PHONY: rpm -rpm: build - rm -rf staging - mkdir staging - mkdir staging/i386 - rpmbuild --define "staging$$PWD/staging" --define '_builddir.' \ - --define "_rpmdir$$PWD/staging" -bb rpm.spec - mv staging/i386/*.rpm . - rm -rf staging - -# libxenguest - -libxenguest.a: $(GUEST_LIB_OBJS) - $(AR) rc $@ $^ - -libxenguest.so: libxenguest.so.$(MAJOR) - $(SYMLINK_SHLIB) $< $@ -libxenguest.so.$(MAJOR): libxenguest.so.$(MAJOR).$(MINOR) - $(SYMLINK_SHLIB) $< $@ - -ifeq ($(CONFIG_MiniOS),y) -zlib-options =3D -else -zlib-options =3D $(ZLIB) -endif - -xc_dom_bzimageloader.o: CFLAGS +=3D $(filter -D%,$(zlib-options)) -xc_dom_bzimageloader.opic: CFLAGS +=3D $(filter -D%,$(zlib-options)) - -libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS =3D $(filter -l%,$(zlib= -options)) -libxenguest.so.$(MAJOR).$(MINOR): $(GUEST_PIC_OBJS) - $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenguest.so.$(MAJOR) $(SHLIB= _LDFLAGS) -o $@ $(GUEST_PIC_OBJS) $(COMPRESSION_LIBS) -lz $(LDLIBS_libxenev= tchn) $(LDLIBS_libxenctrl) $(PTHREAD_LIBS) $(APPEND_LDFLAGS) - --include $(DEPS_INCLUDE) - --=20 2.26.2