From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web11.3690.1603918309658748770 for ; Wed, 28 Oct 2020 13:51:49 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Typy7C14; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: guo.dong@intel.com) IronPort-SDR: QfsGYZj1ksK2GyeFyeAfTorcqjl3JtLvZVvWbefBRAwGuxHuNhtKORPS2IbYROoknnt/rnWqPN FJxcsnuobt9g== X-IronPort-AV: E=McAfee;i="6000,8403,9788"; a="155304816" X-IronPort-AV: E=Sophos;i="5.77,428,1596524400"; d="scan'208,217";a="155304816" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Oct 2020 13:51:46 -0700 IronPort-SDR: lcfC7g8TpMT4agam10PsMyU7pY/vF6lT6gWW5R6Q+JhZrhs8WYuFLH7xcZfduZmYGT5+ptr81t KY0v9Zj8Y/PQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,428,1596524400"; d="scan'208,217";a="350737213" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga008.jf.intel.com with ESMTP; 28 Oct 2020 13:51:46 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 28 Oct 2020 13:51:45 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 28 Oct 2020 13:51:45 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 28 Oct 2020 13:51:45 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.108) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Wed, 28 Oct 2020 13:51:43 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mujnVT0fDedTzNzQ+/eKDBsaMlOk4a4hF9Kp76EFissTjgZtRTktffkv6ECP57LI3AeFQvC1d/2sTPYM6DsfGUdwA9hSt/Wbw3cfhMDLsqZ1o3+BnBWJlIPqabjKsXG8EcbyYw/rOrbGWVXk05BGgUlVUheEXd9103mGmHXRVkwuS5UiBhElOJhPtg0S2thamTu3njPXCDi5Ofath39vJPiwXMIqz28KBQhCW9UBhYrZVp5o/I5B6ImjEBwlt4FzL6CYLOahmhu5CaEkd3LzLldLYFleov0gKqnulAmS5K6N7qo9z8DR8Jsj+zMpT3fRcYM1WrdSDSDNCoeoiLuoYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2LllDf1AOc83ySofSbfs+UAVPA0EmNgQqM31Y1rXVG0=; b=Uw8331VdnNm/6iLVFzwH35hYJH3MpRxdmDxlx5W7rn/l83T5Yyoh4u2p3Rw0A8AU1Y+7MMgQIhm27SYGBeUJr1lQZFR+fQdyWkzHagMvprLjuZD7/4BP7UXECyM+RJ2IR2xTqB1lags/eQ41XtPTMF1pBNZUpdlLsQCh4HtG7xQvGhwZHI6cwF1e6snOECGeZup5Z5EIKyGj8bAKFahjf4b5LABYfI566xxxTjX8AgmMy/dE5l9KGqJeOuF6owyaDhlyEJQaTomYBFTIHfniXE9sOFmNpEzZnQKFbKQ0J4AGuAMBgTV4xsjMTqERe/5xQxDqoggymLRaY9g9kFnQeQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2LllDf1AOc83ySofSbfs+UAVPA0EmNgQqM31Y1rXVG0=; b=Typy7C1407IjoVounFhYCoKOhOjHVoTCcREvKg7UUDp54JFMLG3kGOIxjS5rrvOgDQoCRurG9ebqAgucmAEETNmejJ4fXk9WNDoqVEh6zkRxWPn0nq3RUL3XPy+PnPgiPAWWMj7N5wYo4jjDuoaTten1ULnpA/GlOmyvi0/uSmU= Received: from BYAPR11MB3622.namprd11.prod.outlook.com (2603:10b6:a03:fe::30) by SJ0PR11MB4911.namprd11.prod.outlook.com (2603:10b6:a03:2ad::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.20; Wed, 28 Oct 2020 20:51:42 +0000 Received: from BYAPR11MB3622.namprd11.prod.outlook.com ([fe80::d192:c1f8:f66e:28bf]) by BYAPR11MB3622.namprd11.prod.outlook.com ([fe80::d192:c1f8:f66e:28bf%4]) with mapi id 15.20.3477.029; Wed, 28 Oct 2020 20:51:42 +0000 From: "Guo Dong" To: "Carsey, Jaben" , "devel@edk2.groups.io" , "Ni, Ray" CC: "Zimmer, Vincent" , "Ma, Maurice" , "Rangarajan, Ravi P" , "Hau, Tze-ming" Subject: Re: RFC: Universal Payload Interface Thread-Topic: RFC: Universal Payload Interface Thread-Index: Adao2l6sYj5IjEbTTh6huilOXmakLQEkCMEgAAAnnJA= Date: Wed, 28 Oct 2020 20:51:42 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [68.2.51.172] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a0c2ecf2-97e5-4f21-1c7e-08d87b834655 x-ms-traffictypediagnostic: SJ0PR11MB4911: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EA1F8Q5BWSNhSKNhCZGu7ZQFLH4WfIlxhzNXf/G646OjiRFGyZe79BDPohktO011EW640aGWAVodLPRAs/hYL4rkAzNLxfhvxsqhbTB22V6Ct5yOxMAad2hasjgPeMve2J1i4jmqFLmLtB/GHVEKDqM7U4WP62uAdsHALp8YsstrGvNrjex16/uiaaGz6oyPIUfeE9QQMu/WjGAon17n8M6T+xYvmP4jd+Gc+fr4Lc+834HAaLj3s0W7y3XZ+yDd/Kc/3ymWwsAdRii/3a5sAzfgKKghrZN1AVBQQ54spqBnOPx+FAO9aJaPbNh/h+mY/yHV403ywFGIzOIN7h/k+5bqyvjVPXjMRAXtsgtLf1esjCIg3TMtk9d7W7EwBF7q7BSIVUnCScgCqClUMW7HX1BfWUEFYl4MLFfEjk1HHQwJDEOvba4H0qzZLp2/xObM+6K9gWWSU42p0g8iLaXLXQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR11MB3622.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(376002)(39860400002)(136003)(366004)(346002)(8936002)(186003)(66556008)(55016002)(9686003)(76236003)(26005)(8676002)(5660300002)(86362001)(7696005)(966005)(52536014)(21615005)(76116006)(64756008)(66446008)(6506007)(71200400001)(66946007)(4326008)(6636002)(66476007)(166002)(316002)(478600001)(53546011)(2906002)(9326002)(83380400001)(110136005)(54906003)(33656002)(107886003)(460985005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: VDtgADXlJyJn6gGjUna59r66xUHXoUlmnUFb9Xi7Py4SaJnvG04V9mXludMiLIqpEntthr6OvGw0p3beB6jsKPAIypf3HkV+KraRUusY9xJ9K09mk4TujUFBqzjHZct+Ha0nAO+flWg7N83HSoY5U/fITfEtq/EG1hq7xHuVgG3sXZ0YLWT3SnBk+orA6CQYxBlWdnMhcJ/JvpLMUREfHk0CoX1HrYS/CwjXzYLl0/QE7xHIfs6fstsjhf3WTkrYV0/CmWlyGdTiU/pnIacowgdtIJWMWYgiha5Y2d1mxGf0uihWIuGI6DSfAYTMrbotPGHYMv0gjy/3vb5k1Px+iqj6nULfaFTppQZ362GmFluR5auh/LUwhoOVeYR7KoMAekOPaIqDxNY9+CPpHwKj+sLmiTZrB/dF2mQXv5hybqGWesuAEHuU1CSR8R2xHyTu5x2UqGw0qTt2Cte9sP0CXj5IWZkZ0DKFHiGgoZl1idv/ztkaIPpTUZLb5v+7ZesL6oT3OspE1uA4DTIc8/Z7g6ASRedx/ZMDevuRjOTY9mSCft7j6ahKpnrOJ9x1nTPmpxRbMnON4wtqZ+ZC4WBmkAnRVMRaWYXJg4A+BRRU2RoVyxcWFQr7gPZQwCNtoYvPMYrA9tFtpH/fzC5/+u/74g== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB3622.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a0c2ecf2-97e5-4f21-1c7e-08d87b834655 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Oct 2020 20:51:42.2461 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: N/U0IPfwyNPn/WbrQ0syTEB78aouQ6EThR0eYYXvxCNmSoctj12js6nb/ZNce92Tk+FGzKq0jmiuvJDRrs7qPg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4911 Return-Path: guo.dong@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_BYAPR11MB36221FCD9DA024F955620E859E170BYAPR11MB3622namp_" --_000_BYAPR11MB36221FCD9DA024F955620E859E170BYAPR11MB3622namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Jaben, I think the "Payload Image Extend Header" means the optional tables below = in Payload Image Format. These tables exist only when corresponding bit is set in Capability field. * Payload Image Relocation Table * Payload Image Authentication Table Thanks, Guo From: Carsey, Jaben Sent: Wednesday, October 28, 2020 1:41 PM To: devel@edk2.groups.io; Ni, Ray Cc: Zimmer, Vincent ; Ma, Maurice ; Rangarajan, Ravi P ; Dong, Guo ; Hau, Tze-ming Subject: RE: RFC: Universal Payload Interface Ray Is there any more information on "Payload Image Extend Header"? This is me= ntioned, but I don't see detailed information. -Jaben From: devel@edk2.groups.io > On Behalf Of Ni, Ray Sent: Thursday, October 22, 2020 6:18 PM To: devel@edk2.groups.io Cc: Zimmer, Vincent >; Ma, Maurice >; Ran= garajan, Ravi P >; Dong, Guo >; Hau, Tze= -ming >; Ni, Ray > Subject: [edk2-devel] RFC: Universal Payload Interface With the fact that there are many different firmware implementations, we t= ried to decouple today's monolithic UEFI firmware binary to two independent= components: bootloader and payload. Basically, bootloader initializes the silicon hardware and payload prepare= s the OS required data and services. Bootloader passes control to payload. https://universalpayload.github.io/documentation/spec/spec.html defines th= e universal interface between bootloader and payload. So that different boo= tloaders can work with different payloads, initializing different hardware = and booting different OSes. The interface document is in very draft phase. Any feedback is welcome. We also developed the POC code to demonstrate the idea. Please use below s= teps to get the code that uses SBL as the bootloader and EDKII UEFI Payload= as the payload. This POC is being developed for QEMU Q35 virtual machine. 1. Run "git clone https://github.com/universalpayload/tools.git payload= " This step downloads the initial tools that will setup the dev environment. 1. Run "py -3 clone_and_build_sbl_with_uefipayload.py" in the "payload"= directory This script downloads branched SBL (https://github.com/universalpayload/sl= imbootloader.git) and edk2 (https://github.com/universalpayload/edk2.git). Then it builds the firmware binary "SlimBootloader.bin" in "codeworkspace"= directory. 1. Boot QEMU by running "qemu-system-x86_64.exe -machine q35 -pflash c= odeworkspace\SlimBootloader.bin -serial file:test.log" Because the code is under active development, please contact us when you c= annot build or boot successfully. Besides the SBL, we modified coreboot (https://github.com/universalpayload= /coreboot.git) to let it conform to the universal interface as a bootloader= . Besides the EDK2 UEFI Payload, we created a payload (https://github.com/un= iversalpayload/linuxpayload.git) that can boot Linux. Thanks, Ray --_000_BYAPR11MB36221FCD9DA024F955620E859E170BYAPR11MB3622namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

 =

Hi Jaben,

 =

I think the= “Payload Image Extend Header”= ; means the optional tables below in Payload Image Format.

These tables exist only when corresponding = bit is set in Capability field.

  • Payload Image Relocati= on Table
  • Payload Image Authenti= cation Table

 =

Thanks,

Guo

 =

From: Carsey, Jaben <jaben.carsey@intel.c= om>
Sent: Wednesday, October 28, 2020 1:41 PM
To: devel@edk2.groups.io; Ni, Ray <ray.ni@intel.com>
Cc: Zimmer, Vincent <vincent.zimmer@intel.com>; Ma, Maurice &= lt;maurice.ma@intel.com>; Rangarajan, Ravi P <ravi.p.rangarajan@intel= .com>; Dong, Guo <guo.dong@intel.com>; Hau, Tze-ming <tze-ming.= hau@intel.com>
Subject: RE: RFC: Universal Payload Interface

 

Ray

 

Is there any more information on “Payload Image Extend Header”? This is mention= ed, but I don’t see detailed information.

 

-Jaben

 

From: devel@edk2.groups.io <deve= l@edk2.groups.io> On Behalf Of Ni, Ray
Sent: Thursday, October 22, 2020 6:18 PM
To: devel@edk2.groups.io
Cc: Zimmer, Vincent <
vincent.zimmer@intel.com>; Ma, Maurice <maurice.ma@intel.com>; Rangarajan, Ravi P <ravi.p.rangarajan@intel.com>= ;; Dong, Guo <guo.dong@intel.com>; Hau, Tze-ming <tze-ming= .hau@intel.com>; Ni, Ray <ray= .ni@intel.com>
Subject: [edk2-devel] RFC: Universal Payload Interface

 

With the fact that there are many different firmwar= e implementations, we tried to decouple today’s monolithic UEFI firmw= are binary to two independent components: bootloader and payload.

 

Basically, bootloader initializes the silicon hardw= are and payload prepares the OS required data and services. Bootloader pass= es control to payload.

 

https://universalpayload.github.io/documentation/s= pec/spec.html defines the universal interface between bootloader and pa= yload. So that different bootloaders can work with different payloads, initializing different hardware and boo= ting different OSes.

The interface document is in very draft phase. Any = feedback is welcome.

 

We also developed the POC code to demonstrate the i= dea. Please use below steps to get the code that uses SBL as the bootloader= and EDKII UEFI Payload as the payload. This POC is being developed for QEM= U Q35 virtual machine.

  1. Run “git clone https://github.c= om/universalpayload/tools.git payload”

This step downloads the initial tools that w= ill setup the dev environment.

  1. Run “py -3 clone_and_build_sbl_with_uefipayload.py” in t= he “payload” directory

This script downloads branched SBL (https://github= .com/universalpayload/slimbootloader.git) and edk2 (https://github.com/universalpayload/e= dk2.git).

Then it builds the firmware binary “Sl= imBootloader.bin” in “codeworkspace” directory.

  1. Boot QEMU by running “qemu-system-x86_64.exe -machine q35 -pfl= ash  codeworkspace\SlimBootloader.bin  -serial file:test.log̶= 1;

 

Because the code is under active development, pleas= e contact us when you cannot build or boot successfully.

 

Besides the SBL, we modified coreboot (https://github.com/univers= alpayload/coreboot.git) to let it conform to the universal interface as= a bootloader.

Besides the EDK2 UEFI Payload, we created a payload= (https://= github.com/universalpayload/linuxpayload.git) that can boot Linux.=

 

Thanks,

Ray

 

--_000_BYAPR11MB36221FCD9DA024F955620E859E170BYAPR11MB3622namp_--