From nobody Mon Feb 9 01:16:15 2026 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1568182900; cv=none; d=zoho.com; s=zohoarc; b=BAaecLZ4zHJtNGf4yIhvTeOZsQQZTDi7lxFpaHrmWpNvXcljtAIOXC5ZXdw5Aq4nZufnfrs4hWJoIwWvV8c/Efk69KSbiECCIBfY9BMZ7M83lEtrQjzx8AkIM1DQf0j7WA4XzH3ZlwoYn+BFP79UNFP6w2Vm2TWmA3FFFiTPyMc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1568182900; h=Content-Type: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:ARC-Authentication-Results; bh=CtCppocptC8fCF5oaI5tK1bIv31m310FjfpjHdu1/DI=; b=QLQHQ7BAkSqWMZhxtyIvCB3ujwuciXG+IzwcPmOGpKMzjy3PyHeNUFhSAJruJTgoH2pfDeWlhXYG9xlW4199EfaPb6xfj8Ustze78dW1i4caI6uagLdLv4Bn82AjiUYuAUTZwX4fTDttV/hn17m0f9NgsCc7LgcSapJ8SBv2xFg= ARC-Authentication-Results: i=1; mx.zoho.com; spf=none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) 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 15681829009011002.0015190200961; Tue, 10 Sep 2019 23:21:40 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i7vzS-0003gh-Lo; Wed, 11 Sep 2019 06:20:30 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i7vzQ-0003g6-Q4 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2019 06:20:28 +0000 Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 3421c3ac-d45c-11e9-a337-bc764e2007e4; Wed, 11 Sep 2019 06:20:09 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 786CEAEBE; Wed, 11 Sep 2019 06:20:05 +0000 (UTC) X-Inumbo-ID: 3421c3ac-d45c-11e9-a337-bc764e2007e4 X-Virus-Scanned: by amavisd-new at test-mx.suse.de From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Wed, 11 Sep 2019 08:20:01 +0200 Message-Id: <20190911062001.25931-6-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190911062001.25931-1-jgross@suse.com> References: <20190911062001.25931-1-jgross@suse.com> Subject: [Xen-devel] [RFC PATCH 5/5] xen: add /buildinfo/config entry to hypervisor filesystem X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Juergen Gross , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Add the /buildinfo/config entry to the hypervisor filesystem. This entry contains the .config file used to build the hypervisor. Signed-off-by: Juergen Gross --- .gitignore | 2 ++ xen/common/Makefile | 6 ++++++ xen/common/filesystem.c | 17 +++++++++++++++++ xen/include/xen/kernel.h | 2 ++ xen/tools/Makefile | 9 +++++++-- xen/tools/bin2c.c | 28 ++++++++++++++++++++++++++++ 6 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 xen/tools/bin2c.c diff --git a/.gitignore b/.gitignore index 3c947ac948..7150dd0548 100644 --- a/.gitignore +++ b/.gitignore @@ -295,6 +295,7 @@ xen/arch/*/efi/boot.c xen/arch/*/efi/compat.c xen/arch/*/efi/efi.h xen/arch/*/efi/runtime.c +xen/common/config_data.c xen/include/headers*.chk xen/include/asm xen/include/asm-*/asm-offsets.h @@ -312,6 +313,7 @@ xen/test/livepatch/xen_bye_world.livepatch xen/test/livepatch/xen_hello_world.livepatch xen/test/livepatch/xen_nop.livepatch xen/test/livepatch/xen_replace_world.livepatch +xen/tools/bin2c xen/tools/kconfig/.tmp_gtkcheck xen/tools/kconfig/.tmp_qtcheck xen/tools/symbols diff --git a/xen/common/Makefile b/xen/common/Makefile index be43757dff..9bce9db43b 100644 --- a/xen/common/Makefile +++ b/xen/common/Makefile @@ -1,6 +1,7 @@ obj-$(CONFIG_ARGO) +=3D argo.o obj-y +=3D bitmap.o obj-y +=3D bsearch.o +obj-y +=3D config_data.o obj-$(CONFIG_CORE_PARKING) +=3D core_parking.o obj-y +=3D cpu.o obj-y +=3D cpupool.o @@ -79,3 +80,8 @@ subdir-$(CONFIG_UBSAN) +=3D ubsan =20 subdir-$(CONFIG_NEEDS_LIBELF) +=3D libelf subdir-$(CONFIG_HAS_DEVICE_TREE) +=3D libfdt + +config_data.c: ../.config + ( echo "const char xen_config_data[] =3D"; \ + ../tools/bin2c <$<; \ + echo ";" ) > $@ diff --git a/xen/common/filesystem.c b/xen/common/filesystem.c index d833992ab1..4ab18eb82a 100644 --- a/xen/common/filesystem.c +++ b/xen/common/filesystem.c @@ -25,6 +25,10 @@ static struct fs_entry fs_root_entry =3D { .dir =3D &fs_root, }; =20 +static struct fs_dir fs_buildinfo =3D { + .list =3D LIST_HEAD_INIT(fs_buildinfo.list), +}; + static int fs_add_entry(struct fs_dir *parent, struct fs_entry *new) { int ret =3D -ENOENT; @@ -268,3 +272,16 @@ long do_filesystem_op(unsigned int cmd, =20 return ret; } + +static int __init fs_init(void) +{ + int ret; + + ret =3D fs_new_dir(&fs_root, "buildinfo", &fs_buildinfo); + BUG_ON(ret); + ret =3D fs_new_entry(&fs_buildinfo, "config", xen_config_data); + BUG_ON(ret); + + return 0; +} +__initcall(fs_init); diff --git a/xen/include/xen/kernel.h b/xen/include/xen/kernel.h index 548b64da9f..00817d06c8 100644 --- a/xen/include/xen/kernel.h +++ b/xen/include/xen/kernel.h @@ -100,5 +100,7 @@ extern enum system_state { =20 bool_t is_active_kernel_text(unsigned long addr); =20 +extern const char xen_config_data[]; + #endif /* _LINUX_KERNEL_H */ =20 diff --git a/xen/tools/Makefile b/xen/tools/Makefile index e940939d61..cd2bbbf647 100644 --- a/xen/tools/Makefile +++ b/xen/tools/Makefile @@ -1,13 +1,18 @@ =20 include $(XEN_ROOT)/Config.mk =20 +PROGS =3D symbols bin2c + .PHONY: default default: - $(MAKE) symbols + $(MAKE) $(PROGS) =20 .PHONY: clean clean: - rm -f *.o symbols + rm -f *.o $(PROGS) =20 symbols: symbols.c $(HOSTCC) $(HOSTCFLAGS) -o $@ $< + +bin2c: bin2c.c + $(HOSTCC) $(HOSTCFLAGS) -o $@ $< diff --git a/xen/tools/bin2c.c b/xen/tools/bin2c.c new file mode 100644 index 0000000000..c332399b70 --- /dev/null +++ b/xen/tools/bin2c.c @@ -0,0 +1,28 @@ +/* + * Unloved program to convert a binary on stdin to a C include on stdout + * + * Jan 1999 Matt Mackall + * + * This software may be used and distributed according to the terms + * of the GNU General Public License, incorporated herein by reference. + */ + +#include + +int main(int argc, char *argv[]) +{ + int ch, total =3D 0; + + do { + printf("\t\""); + while ((ch =3D getchar()) !=3D EOF) { + total++; + printf("\\x%02x", ch); + if (total % 16 =3D=3D 0) + break; + } + printf("\"\n"); + } while (ch !=3D EOF); + + return 0; +} --=20 2.16.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel