From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web09.3490.1603855578462139600 for ; Tue, 27 Oct 2020 20:26:18 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=eDYkkjoy; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: ray.ni@intel.com) IronPort-SDR: NiRmThzGrcIG5A+TQywRqH/B77SA8ZmdjvZAYhKRdtKWLztuz3EF7CWgzNEyfZXmI9SGfzEMa9 fLjwqC6fFoIA== X-IronPort-AV: E=McAfee;i="6000,8403,9787"; a="185950880" X-IronPort-AV: E=Sophos;i="5.77,425,1596524400"; d="scan'208";a="185950880" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Oct 2020 20:26:15 -0700 IronPort-SDR: DmgdaeCrvzpoi+Q5/px9ajZqM7XuWM6dXKcx2ZXEKH6lrMGWKLKNEbz0eZKtnyUcKlz1C7nevX yz5PHwDvGXAg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,425,1596524400"; d="scan'208";a="334606336" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by orsmga002.jf.intel.com with ESMTP; 27 Oct 2020 20:26:13 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 27 Oct 2020 20:26:13 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 27 Oct 2020 20:26:13 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.43) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 27 Oct 2020 20:26:11 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Py5QLXWTYqG2sliW85cGUw1ZTPvV/rdm50xy+nUhewm7UZ0xJqSZ55yZAb2vRrPwMuL52vM7oiV8MksoEgjTefdpNkZ/J+xZbG6n9WNnJoQvuwc62tBf+TJuQNLnZ9GuG0jmy3Zndu39RCDQyXqyfMBiGl3UV/CVEuAdm4VGG4niaX3PMcPmKr+wyiG47SxkV/JK7PjBR3wEccle/GCzJt/QXEFqdbGxdBdT3YGCrmX+G9pCSfDNJrWYhNkR+r2RBqzEOYQgBbZ2i0OCnwY6eJ6z0LEtvBeXiHIILmJk2z5/fhVgYZWgFzr2+h+62QWiQwEzRNukxwStnmfNe3V9lA== 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=BIrBBohjV5x8UP2/3rKZRW6dgedMbxpaUsI9NQLDwVo=; b=O+zEkws/0L7Ig5QEe4/2AxePocp/sP2XZWOV7gVF0EoTmQFK8yh5FZDGDuyMIM5+nVfPLMEhAf6tSvWUwOHjeM7lA61WaJ6dUUHiBFbNglKKy2CZrv4jaHgzzFgVCwbcsS+DBxw9HXX+nVv3ShY2wfMhcEVON3WUp6fWhc4UYe2OotgP6nW6bnic8yoo2dBVd+lFCSA7RLzo52cxtnCFmm2w8WmzD6tAnmNy8oSHRM0meq4iO2+UaphzhhxR0+WLK4QEd74XU6hpBwwC9JV/TABGMeAu5xQbcyGneTSKzlgnvyZvRtmUR5Tf38/VowUC8ubtdBx5TUIRCrQE3I6nWA== 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=BIrBBohjV5x8UP2/3rKZRW6dgedMbxpaUsI9NQLDwVo=; b=eDYkkjoybUb3UUvK8+zJTTOLqhlaaCuZBF5DhZGH79J+nkPpmTF/3ufiHbnwwut6LzaQoncvUFlJUmRGhf5TwiSMHQwkSuhT23goVeiXT1eHnephyRKuiJbm1gRt+W0E9/UEpV3SJxayUOMamTmwThMouTAvbtyaJDHMSUcu4p8= Received: from CO1PR11MB4930.namprd11.prod.outlook.com (2603:10b6:303:9b::11) by MWHPR11MB1887.namprd11.prod.outlook.com (2603:10b6:300:109::15) 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 03:26:11 +0000 Received: from CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::9804:f9c4:d0d7:9961]) by CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::9804:f9c4:d0d7:9961%3]) with mapi id 15.20.3499.018; Wed, 28 Oct 2020 03:26:10 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "lersek@redhat.com" CC: "Zimmer, Vincent" , "Ma, Maurice" , "Rangarajan, Ravi P" , "Dong, Guo" , "Hau, Tze-ming" Subject: Re: [edk2-devel] RFC: Universal Payload Interface Thread-Topic: [edk2-devel] RFC: Universal Payload Interface Thread-Index: Adao2l6sYj5IjEbTTh6huilOXmakLQDkhTuAABm+QgA= Date: Wed, 28 Oct 2020 03:26:10 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.194] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 653665f2-02cf-4fe7-9a1c-08d87af1377e x-ms-traffictypediagnostic: MWHPR11MB1887: 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: EEYk5bo0mjIkAAUJX35udSoDWH1Y+gT3xcFcNL/UTWWac5GVfa6fVFAUzaLS7UKprLMVr7XlXZo8t0GpSQ4c3RoISlRdVPGsj7waXmKJyjZJOb95E/jA39/tUvo9592QNceTk1fE7Dn/BP4wjomA6aila00lVvKwoMTN2ONZD4WqdB8WkkHuKMOudAOqxcEABFKjm1l+ZiPhiseQy2MW/ymZmR2FY3RQmtTxmu1vq5jmULxWyb/Gm4RW1hPGSS9Zc0XF3TbnILXdfD/U4+OHHKqkoCureUq0uvbmv+i/wexuSKFSommM3rN/70MTjH5ehmeolgq2X5rqGQpS4BOyBaWd7OaKehgzDo6JGl2jiaWa63eEMziaCpxazy+DhBBk7fDXbKevLcP3zMf7znSahjmyOSh3b6BnTN/efCp39qPwTQJ59v8XMxGBR9/aiROFVL3YuyORKVgPZZ8chMm3bQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4930.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(376002)(396003)(39860400002)(346002)(366004)(76116006)(83380400001)(71200400001)(86362001)(33656002)(8676002)(9686003)(966005)(6506007)(107886003)(316002)(53546011)(54906003)(478600001)(7696005)(26005)(186003)(110136005)(52536014)(66946007)(66556008)(2906002)(66476007)(55016002)(4326008)(5660300002)(66446008)(8936002)(64756008)(460985005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: 74j6cgy0mTOGR4yWLRmHzyX1Ed2fFTzaVFcamjKbdcTHwoozZX+4buUgMB/GhLjH3vdXRzioASueI+0Idf2r/yk3icSrC+SMlf4xN17Aqdl21Tw9KheDRE8ahbBF5CwtZIVKbKekO1fxCvzliYtMcrNZdYqRQlVENd5txvFnsCKSD4F5/AvJd54y9osYQBBch9i8CZ2oxFmaIh1cV0C/ZJWBkEC5jrD8Z/mI6ISonm2+IR9xIW51Ti+zccD0RIzJ5655SuqQchbOh8LBRwZNcB2v440nQ7e6ss8OAwWHdn2DoLaHYj5pe70ZPUyfAlTLfudiwmSn1MqZ3+2Knkvc+t6qsng3TpFxCUf/ycZZ4qnNrwuwfUq3cX1nBepXkLgTgViQWLNmm7WjjBQu7m0jmCeiJjkrs7KFDUo0tWKKWT/K9TRT5r3bOplpBBDQbKlNNmYHy9EpuNLFdVh8WYosK0Mj3HlFFKeYOQ2Ig+oP8gVhjxHkwzJTPOkqYPkYePMVAJzfETrrA6uiPvu192xo7o6FYHePVuwkkJTgjeFSaYBU9ZVb52H/8uc80Ze3ovgot1GkzeePO3rPwX7VgKwUFEDPYk9ZCP8DDqow/XISOzOqemP4E+o/VuP8hDbjZ7b5PUIDi60vSEelZt9Gq2gxZw== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4930.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 653665f2-02cf-4fe7-9a1c-08d87af1377e X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Oct 2020 03:26:10.8481 (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: zYm/UptLmNLxm3mZSPHNuzhAdaupp6CT42swflEiq9idcglFHw9MHgZLsPHbn7AJVlc4/l0ihl8ZMjsvRXmHkg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1887 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Laszlo, Thank you for the comments. Reply inline. > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Laszlo > Ersek > Sent: Tuesday, October 27, 2020 10:21 PM > To: devel@edk2.groups.io; Ni, Ray > Cc: Zimmer, Vincent ; Ma, Maurice > ; Rangarajan, Ravi P = ; > Dong, Guo ; Hau, Tze-ming > Subject: Re: [edk2-devel] RFC: Universal Payload Interface >=20 > On 10/23/20 03:18, Ni, Ray wrote: > > With the fact that there are many different firmware implementations, = we > tried to decouple today's monolithic UEFI firmware binary to two indepen= dent > components: bootloader and payload. >=20 > (1) "Bootloader" is an extremely loaded word. Regardless of everything > else in this topic, I strongly suggest picking a different name. >=20 > We already have "Platform Init" or "PI"; maybe use "Silicon Init" or "SI= "? I am a UEFI guy for many years. So your suggestion "PI" looks very friendl= y to me. But I am not sure if the audiences include broader people, like coreboot, = SBL developers, do they like the names. Personally I am open to any name as long as the concept is not changed: th= e binary blob is responsible to initialize the silicon. >=20 >=20 > (2) What is the *exact* use case (or workflow) that the proposed > interface enables, or improves? > What groups of people (what roles) are supposed to benefit from the > proposed interface? 1. Unified UEFI Payload Binary. By standardizing the bootloader->payload interface, we keep in mind to mov= e all platform/silicon specific implementation to bootloader and all the specifi= c info is passed to payload through the standard interface such that the payload doe= sn't need to deal with concrete hardware but just the abstracted info. It gives poss= ibility to create the unified UEFI payload binary that can run in any platform/silicon (off = course, one binary per one CPU arch). Just like today's UEFI Shell. It's a huge save on validation side to every company that uses UEFI as boo= t solution for hardware. People may argue maintaining such a binary causes additional overhead. I a= gree. But I am optimistic on such direction.=20 (The code will be still in open source.) 2. Bootloaders It shows an attitude of EDKII community that it doesn't restrict to use ED= KII PEI as the only acknowledged silicon code execution environment. The standard interfa= ce as a promise allows any compliant bootloader to work with EDKII UEFI Payload. 3. Payloads I saw different tries to change EDKII DXE environment for different hardwa= re/OS. It may cause defragmentation of UEFI spec. The standard interface also all= ows any compliant payload to be created. >=20 > Thanks > Laszlo >=20 > > > > Basically, bootloader initializes the silicon hardware and payload pre= pares > the OS required data and services. Bootloader passes control to payload. > > > > https://universalpayload.github.io/documentation/spec/spec.html define= s the > universal interface between bootloader and payload. So that different > bootloaders can work with different payloads, initializing different har= dware > 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 bel= ow > steps to get the code that uses SBL as the bootloader and EDKII UEFI Pay= load as > the payload. This POC is being developed for QEMU Q35 virtual machine. > > > > 1. Run "git clone https://github.com/universalpayload/tools.git pay= load" > > > > This step downloads the initial tools that will setup the dev environm= ent. > > > > 1. Run "py -3 clone_and_build_sbl_with_uefipayload.py" in the "payl= oad" > directory > > > > This script downloads branched SBL > (https://github.com/universalpayload/slimbootloader.git) and edk2 > (https://github.com/universalpayload/edk2.git). > > > > Then it builds the firmware binary "SlimBootloader.bin" in "codeworksp= ace" > directory. > > > > 1. Boot QEMU by running "qemu-system-x86_64.exe -machine q35 -pflas= h > codeworkspace\SlimBootloader.bin -serial file:test.log" > > > > Because the code is under active development, please contact us when y= ou > cannot 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/universalpayload/linuxpayload.git) that can boot Lin= ux. > > > > Thanks, > > Ray > > > > > > > > > > > > > > >=20 >=20 >=20 >=20 >=20