From patchwork Mon Apr 14 08:14:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Grygorii Strashko X-Patchwork-Id: 14049902 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 49DB0C369B6 for ; Mon, 14 Apr 2025 08:15:05 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.949360.1345920 (Exim 4.92) (envelope-from ) id 1u4Ey0-0002W7-JE; Mon, 14 Apr 2025 08:14:56 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 949360.1345920; Mon, 14 Apr 2025 08:14:56 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1u4Ey0-0002VQ-GO; Mon, 14 Apr 2025 08:14:56 +0000 Received: by outflank-mailman (input) for mailman id 949360; Mon, 14 Apr 2025 08:14:55 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1u4Exz-00025y-FF for xen-devel@lists.xenproject.org; Mon, 14 Apr 2025 08:14:55 +0000 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on20613.outbound.protection.outlook.com [2a01:111:f403:2606::613]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 8ac6ea49-1908-11f0-9ffb-bf95429c2676; Mon, 14 Apr 2025 10:14:53 +0200 (CEST) Received: from AS2PR03MB8907.eurprd03.prod.outlook.com (2603:10a6:20b:5e4::22) by GV1PR03MB8431.eurprd03.prod.outlook.com (2603:10a6:150:5a::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.31; Mon, 14 Apr 2025 08:14:50 +0000 Received: from AS2PR03MB8907.eurprd03.prod.outlook.com ([fe80::804:c187:252a:9593]) by AS2PR03MB8907.eurprd03.prod.outlook.com ([fe80::804:c187:252a:9593%4]) with mapi id 15.20.8632.030; Mon, 14 Apr 2025 08:14:50 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 8ac6ea49-1908-11f0-9ffb-bf95429c2676 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=goWX3scS/uJIWX+opt1fYrmORsLL59s3dkIdIzBCUql/Q60f/4Aiz35LVqJtC/P+JSMb2Y4cbfl5+mokhe5pTYhBPPkhDWgHVsOh26hjSfjEoP4F4BxBbqtYtTxv2BVMU/YuwsgmTXr7BQON320yvmKTdOKjc6cPl4IQYnKaqm/p8M/z1xdPPTjja9JqibhS398k/BkUvjSUuWsrMkt1M9KVMJh4DQDmr6bLmhOe8XEQtiG4E8MwNUkX39TwavXgmXMDwLsacfJnTqfz4mbkRSgfaeQ4nIXvJ3d5pkc2lGXbxFzRsDzkszIfhBpPiLkTw5fW8k9mg0aZQX5YvkRAQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cOE4dEhBTz83BtPEP7EAznFRjuPweK6MpHYue0uewNg=; b=zIEfXB8hmGIxjVbG2EFI+zdfx2WF8Knzi01MeooL6EC35yG5FPMZ3tI6Jp13LUrw0fviS8oKMD3QqP+82UOj3ibmFlg+DF3Yud9MxxQYP5IWfQsyh0d3c2eLwMU7Qj1pnEWm2CywezYSDbjdYxXjPl3948xalPcKPrHXMue4BVAefbmBiMt+Y+2VyLUizpGO+mylP9okWdnqKquoXHVZJwYOyMudreugNqI4K5HOdsCIJKnbiSwGOMTCWDvQIOgrqJ/d4GDKq+XZH5Lk1FnAvoRpxj8HM62wmx4BT3jOkvXzhkQ91wjnUw5rv5na3eAW6N7JKQ3xjftWprX0xDW/jA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cOE4dEhBTz83BtPEP7EAznFRjuPweK6MpHYue0uewNg=; b=Huf6yf3zeYvBUBg8Cl2vg/tbKS6BtWXBFb9n1E3knQ41cGdUFlB8tsZJzbIJTfQPIp1nJlBdwV7CkHy7e0dKHFwDSgSig7x4jIilCT/MgE5M0Z5JFqws3HltoaKQttCvyIWd7K97TmBtrVP3snLSz8o1mIaEQWz9VqiC2/aLXpTFhliNvlzgJzlH8jDOhpXHQ429rLy61RpHvhCEF4B61yz3XErZy5LdCBjbqze3GtwVL1uh8xAx2cQlBsJAGz7QXGyH2o/Pz/ENNVQ2k5VX6TSSVmXaVG1xm0pw5UddeZ9wVsevxXwnVwzj6n1EgB0cUgV8cyx9Hcz8UzaFTNOCuw== From: Grygorii Strashko To: "xen-devel@lists.xenproject.org" , Stefano Stabellini CC: Oleksandr Tyshchenko , Grygorii Strashko Subject: [ImageBuilder] uboot-script-gen: add xen xsm policy loading support Thread-Topic: [ImageBuilder] uboot-script-gen: add xen xsm policy loading support Thread-Index: AQHbrRVLbOHOtwYZX0m+iXoOaHec7Q== Date: Mon, 14 Apr 2025 08:14:50 +0000 Message-ID: <20250414081449.1763962-1-grygorii_strashko@epam.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AS2PR03MB8907:EE_|GV1PR03MB8431:EE_ x-ms-office365-filtering-correlation-id: 6760401c-7ba0-4a42-d37c-08dd7b2c6d8d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018; x-microsoft-antispam-message-info: =?iso-8859-1?q?nHoA6WklNg0bpOBSL5M/YL5x8g?= =?iso-8859-1?q?sTMQtv6zI0xaM2HxyoaEZBHr9Ym+UKejDW+MBiavWxZltEqTMS5InkN50Hgd?= =?iso-8859-1?q?JzFvFKfKFGabRP7mI3NDvrlLEjEfZtAunUrq3JlQJ1udfCojqs441qWBkLd0?= =?iso-8859-1?q?B3la6sdI0FrTAM9TjVAsCKZZK4FK1xGoEAIGtjBdOsDGwueUhxpnE5VrhRAz?= =?iso-8859-1?q?hnfnkhuTf9fgOn62ROXBZRkERP+jHGoYnpQVM64/mZv+dB0v+WscQbzbWaqa?= =?iso-8859-1?q?5LLCIrDSbemN97H8HSu3apuOE97v7Ryc3aRZahx05tzRym5JG1miRCfZBfw9?= =?iso-8859-1?q?oolMiTgV0l1UmKd0wjwtUfnqH8Vw9nNw8x+1ucLzXe1PrwlXB6yp3CVsvkTx?= =?iso-8859-1?q?zaj1SuJGf1XhOcoxbsWgJqj2FJ0dR5vwD8PpZzWFgrtSZdK+nWRwDDWsSJQU?= =?iso-8859-1?q?AiixzyQx4F0ApHuHwGBSGAYgB7MeA/MTVUVx6+rYVKRr83UrmXshuQfOlNBQ?= =?iso-8859-1?q?qKtPB/yNJNX9inFHvzhetBqEtbOL/G/TxFL4e6gkNkVC8D0432YzTGrw5DQN?= =?iso-8859-1?q?88jIyy71Hja2ednDrluCpsZsSx7fR0w9DzYfvhV+Ni8zcXkRYrwBDoU3mXhc?= =?iso-8859-1?q?/a7q6n2ugKBK2jQCpCADFGGLx/XKkcbNWDoVThJhoM8aTsRVBSgTOFTVs290?= =?iso-8859-1?q?CIDq4pXg/0cgfvsYKDAHMi9iFzm9WSWn0V6AVkQKYzsDlCcPeEcip3eQWNGY?= =?iso-8859-1?q?Ru1SSjNAV+DxJXaXL1u9RtyzNvb1ujuYxEkmygbWUstLqsW7xBz9dcd9TEJz?= =?iso-8859-1?q?9VDsv7fS3b6zbjGm+/ueMRlHcFu4VKqjBpF6kQ2w3zV/z+LNjkUsf1h6bV2w?= =?iso-8859-1?q?jTshX8/6z0zmgZ88itweSxKbbrdup6218gMmaovMwk5UtkCZ9fHigl6haZVU?= =?iso-8859-1?q?fMcbjzdvc5PnXdheO1S3LKlvmfibbX62nYsNodygu2IThWME3YGz6GIUrlAV?= =?iso-8859-1?q?3D0ew946fDq0IOtu3pDnB5uQO8Iry86ieT6cQ13kc5zaPWIez+nIhiJDDx8G?= =?iso-8859-1?q?oyKEW0Ku2RUwdGiRljxqVSBYPA0XE+UIp7lnHodZhmbk3gEtqVVD/KbWRf5o?= =?iso-8859-1?q?C0obt370cZq4aRHx5/RXoGuY8bjZj2GH0lrlEXlHdoQJOhghK2lLYdbO3P6O?= =?iso-8859-1?q?uhwvrNWyVIOYyPcp0lqcrf6n/jmokWjDOQUANehuiqBRGnVNnYjyNQ8qj+Dq?= =?iso-8859-1?q?wCEcx9Ur3SExGACX3W0WoVlLkH3fdnUlsXEJ5/L3QxHlNSswJOnsfRDnDmxJ?= =?iso-8859-1?q?zhqyU+ZPLldYgQ3AVRaWeFQDSZD5fUhMp8jd6WhZd2pH4FdAl+QR54n+Qyel?= =?iso-8859-1?q?dwRAnSYopTkMCYnl2c58hcRfojohbPL5yfVi2gIaTeGtPDfSOo01bx9Kjy0t?= =?iso-8859-1?q?ZE5q8XomhaTcEeTVop2tPv+OWaqu/vDEivBYuJbdUySZQYnVll99XK3ofuSo?= =?iso-8859-1?q?m1ZbNV5BePmbLmUYV0qaEmkA4vIQ=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR03MB8907.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?Ze8ZpmrnWhr7KgKkr5EDERs?= =?iso-8859-1?q?D+xoRujy1eimRAUOVOjAfHvefznHlvu0T4vW+mXWXAAdCwagNq3dRsc45e6e?= =?iso-8859-1?q?xicuyHC7eLPEq2MXwGXQSEx12thnjqBwtZ+MpDNWML2q5zk7oAJRnzKWnouL?= =?iso-8859-1?q?CQHGu36V/p57BoVzuMmFFflt9XePeyaoX02d0CI4vcOX3GN96LWvrsGgxgLi?= =?iso-8859-1?q?/u65O1jZgW8j3ECXHzqv481aEAvpbsoYJQ5tMfPzye5lc2e+O/BZjBnnt5yO?= =?iso-8859-1?q?1fAWun1QijWKRWG7Av9TMtne4YVPTXvaOn5nzxjhEPA5OtAny8VgTBPQGLUU?= =?iso-8859-1?q?4+RADihVQNk6V69CrxQac447yPHtMCxu95g78uzvuPt5BweCe5dAaeFVWL7j?= =?iso-8859-1?q?rOGXZKXZfg6XTmSe20g303bOI5yIMjRA9b7RwAYIWpiRGBamQzBWGJHbGtxd?= =?iso-8859-1?q?qBXh7EualhFCwCPiz+SCuvtVzcDRe7HF4Et3aK0HI9ISJTJKOVts+KUpyq0H?= =?iso-8859-1?q?j6YHW6iOf805Fod9xbU0bQthNNLA0QXASHplZ2Asc+5EqQy7wo/epv9vDvsi?= =?iso-8859-1?q?KMxhgRzZvRyY0SVAoaNEgHUu2RaP2XV5WEaegrZgNEVkh2S9TnOFJEKvTuwc?= =?iso-8859-1?q?betVA07QpSxgcxyJXlZ2xVzPi83Sl0lJXTMNWuoBTghHPM3SQt+nFuDSA1OG?= =?iso-8859-1?q?12C2HPkWfgZRRdyHmyHfxL1JvhybTd5p2JgkmeO3zECdKutFE7lYxRLnaS1o?= =?iso-8859-1?q?IEygRX8Fo9XUnZz6PHghSCIP/MgSnbH2AjWPAnnu05BHsuP2Irfpdsyp2eS9?= =?iso-8859-1?q?KUBk5y8jIyyapeMKBoxw9Q3YRIMwkjSZ77K+1AKUlZ7ypMzhq7rwUg4C91CP?= =?iso-8859-1?q?Bc8iUbCjVGIqi4VrB9iqY23gCs+VDsU5NGzl8lgSvxlJ4c99fY5HZUoIwHBY?= =?iso-8859-1?q?LXfljemkPNNKP6eYUnkaZgD4GE1RJXPczDRqCRxHsPwI1goNINi1tJQo3GJ6?= =?iso-8859-1?q?5U15a4m9kqfUZQ2UUWHj4Fpv7VbNTinCTlSz9VS9dWVJrBi1a2eoR2g+zWgi?= =?iso-8859-1?q?SHk6ajdu7VVuAIiLnIoVoJG2tszpsICuf9K2cdIpuVsrkY4nen20tgJbsvez?= =?iso-8859-1?q?N4oCQY72pzBeAW359praO6im6HOVbtJVFmjdngE6l2SyCl/cve+RL7Jx4mFd?= =?iso-8859-1?q?9BhDgn5n4CS5SG2+CDB5Mv7zDL1Ur8DnzqE1AaZHAxTuG9fjZy4/CzgVnYL0?= =?iso-8859-1?q?tYDnf27pB0RliF/teHxkez5t8A5+LIn12iHTzEVzQdTFXpOj8YYTSFEgpXe9?= =?iso-8859-1?q?0wJi7KZmAHAQXMWD4pX+kyHrlgIwCUlLbk4ZfA8hGDmAf+rfLdwYHMoBO1Qf?= =?iso-8859-1?q?IgbYZrVR/235Ba0ulpJy5J7zkvn7vouwNnWaDPaB/+hRPXDqQI5f+R8Xcjwo?= =?iso-8859-1?q?VO8Zptvc8SQ3W8Nco6h5zRtbiOoDoQMaCV9vGbiw41VV+NuYYnZ6Cv+TgzR3?= =?iso-8859-1?q?+JF/kkv1j63d1zAmLsLHxHomUWFsgcxyL372TbunSK/TZmdebhBhDB7Ufb2S?= =?iso-8859-1?q?zAcITdFSXoJuRn4BCoDz+LFOcFtdMh/wVsbEmpjk+pDvgrWGSpxcALQE3L1t?= =?iso-8859-1?q?SFPyg0Mz38x8CaN2v9DF29Xv4qCiaP/XnSmEOvw=3D=3D?= MIME-Version: 1.0 X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AS2PR03MB8907.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6760401c-7ba0-4a42-d37c-08dd7b2c6d8d X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2025 08:14:50.2800 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: QJTqWsw+1osbQOgVv2338NCC/rczgdPC+5mnXxvVY1jHNSF+euFrHMWnSlY/gwUvHjpEJWMfr9U2cnMH8OhFHa+V81VcYUO3WKNfx2qPusA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB8431 From: Grygorii Strashko This patch adds Xen XSM policy loading support. The configuration file XEN_POLICY specifies Xen hypervisor XSM policy binary to load. Signed-off-by: Grygorii Strashko --- README.md | 2 ++ scripts/uboot-script-gen | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/README.md b/README.md index 137abef153ce..9106d2a07302 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,8 @@ Where: - XEN specifies the Xen hypervisor binary to load. Note that it has to be a regular Xen binary, not a u-boot binary. +- XEN_POLICY specifies the Xen hypervisor XSM policy binary to load. + - XEN_COLORS specifies the colors (cache coloring) to be used for Xen and is in the format startcolor-endcolor diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen index c4d26caf5e0e..343eba20e4d9 100755 --- a/scripts/uboot-script-gen +++ b/scripts/uboot-script-gen @@ -315,6 +315,15 @@ function xen_device_tree_editing() dt_set "/chosen" "#size-cells" "hex" "0x2" dt_set "/chosen" "xen,xen-bootargs" "str" "$XEN_CMD" + if test "$XEN_POLICY" && test $xen_policy_addr != "-" + then + local node_name="xen-policy@${xen_policy_addr#0x}" + + dt_mknode "/chosen" "$node_name" + dt_set "/chosen/$node_name" "compatible" "str_a" "xen,xsm-policy xen,multiboot-module multiboot,module" + dt_set "/chosen/$node_name" "reg" "hex" "$(split_addr_size $xen_policy_addr $xen_policy_size)" + fi + if test "$DOM0_KERNEL" then local node_name="dom0@${dom0_kernel_addr#0x}" @@ -900,6 +909,14 @@ xen_file_loading() kernel_addr=$memaddr kernel_path=$XEN load_file "$XEN" "host_kernel" + + xen_policy_addr=="-" + if test "$XEN_POLICY" + then + xen_policy_addr=$memaddr + load_file "$XEN_POLICY" "xen_policy" + xen_policy_size=$filesize + fi } linux_file_loading() @@ -939,6 +956,22 @@ bitstream_load_and_config() create_its_file_xen() { + if test "$XEN_POLICY" && test $xen_policy_addr != "-" + then + cat >> "$its_file" <<- EOF + xen_policy { + description = "Xen XSM policy binary"; + data = /incbin/("$XEN_POLICY"); + type = "kernel"; + arch = "arm64"; + os = "linux"; + compression = "none"; + load = <$xen_policy_addr>; + $fit_algo + }; + EOF + fi + if test "$DOM0_KERNEL" then if test "$ramdisk_addr" != "-"