From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (EUR05-AM6-obe.outbound.protection.outlook.com [40.107.22.63]) by mx.groups.io with SMTP id smtpd.web10.5605.1601673266993833463 for ; Fri, 02 Oct 2020 14:14:27 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=0xbHumaX; spf=pass (domain: arm.com, ip: 40.107.22.63, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fDNHhLcWdJP6RIPGtyany7eKOG9KLLQ2f3/NSlucSiY=; b=0xbHumaXrNpRfpN/o3KypvFLmJdZZYgsLQ6lUXk9lbJISIHukVs5MMpNpgVgGdxMOGYBHOjZo8HocN/a01EdYOgd79jFNM+YihyMT0vgmBWwIiEf1NCtwAh+Q5RxFRx2xqQcYJYZ7vi+ncp9N4pOJZ4a1FXH9j6HDtLbu1Lryp0= Received: from DB6PR07CA0050.eurprd07.prod.outlook.com (2603:10a6:6:2a::12) by VE1PR08MB5792.eurprd08.prod.outlook.com (2603:10a6:800:1a6::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.36; Fri, 2 Oct 2020 21:14:23 +0000 Received: from DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com (2603:10a6:6:2a:cafe::91) by DB6PR07CA0050.outlook.office365.com (2603:10a6:6:2a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.18 via Frontend Transport; Fri, 2 Oct 2020 21:14:23 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT003.mail.protection.outlook.com (10.152.20.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.34 via Frontend Transport; Fri, 2 Oct 2020 21:14:23 +0000 Received: ("Tessian outbound 7a6fb63c1e64:v64"); Fri, 02 Oct 2020 21:14:23 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: bcc543cb8bd520c3 X-CR-MTA-TID: 64aa7808 Received: from bac43141116b.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 167E90C4-3C5D-4B91-B66F-CFAA07135603.1; Fri, 02 Oct 2020 21:14:17 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bac43141116b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 02 Oct 2020 21:14:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ah3XwnQhhBXKAWihNwFLyvFdV0BGmfM0BqliDk90dvx38Ryh1VvKzk5Qo5bwK+t6NMr2wix3RKipkwA7f51Om1IHCiNEzV31+oXkUz/Bm9IjNJHQcGiwyc0d+G0F9ShUJwjlY7felOuSjMAiUwNkCEBTF2OGNq4bBlpzChI3JlqxcKpFueJLwAskt/QpyssnJaxHbPAsztESvLJpNfb85NhiqdSweH9JO1hpw1ZoXV2BGZzSUImbDoyPYX2aAD/OEYLH9yHh5Kvscu9KNE3o/QLt4X5NqROLaGRO62tAWVOW7sR8wvCcxCbbBTuA0QBAETwaVZJeLvaNth5+vpZgHA== 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=fDNHhLcWdJP6RIPGtyany7eKOG9KLLQ2f3/NSlucSiY=; b=KnI+QmAl2rOtD8/FRb+fjSK+H02DGsavQq4InyvPuZf5ZWBYZ3keYS6a/abeSroGtJlLGJlJWU9LYV5Q00W/qwnr7f7KmNkEPxRmgDnORm67YFaldFsk/9zdVmjZXORLDFtL92fhplLIfP7WbuxDp54Yr5QnZBLgHe8mbvHHaDyXpa9wJlP5l6SRMberYwTiKhxkNbW45iFnltXcKVZz7bkEWijb1oi3sDP/DV1JK1EMx4D47Q9+3gidKZTxHi2HFopfDt7VOCwgUx4ZECvgmbHerr5tO2jTU+PpCzleqqHcjKAenpedMzOE8eDM3jQOQHP1eUeXa3QTBgo6RUQD2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fDNHhLcWdJP6RIPGtyany7eKOG9KLLQ2f3/NSlucSiY=; b=0xbHumaXrNpRfpN/o3KypvFLmJdZZYgsLQ6lUXk9lbJISIHukVs5MMpNpgVgGdxMOGYBHOjZo8HocN/a01EdYOgd79jFNM+YihyMT0vgmBWwIiEf1NCtwAh+Q5RxFRx2xqQcYJYZ7vi+ncp9N4pOJZ4a1FXH9j6HDtLbu1Lryp0= Received: from MR2P264CA0075.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500:32::15) by DB8PR08MB3978.eurprd08.prod.outlook.com (2603:10a6:10:aa::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.38; Fri, 2 Oct 2020 21:14:14 +0000 Received: from VE1EUR03FT046.eop-EUR03.prod.protection.outlook.com (2603:10a6:500:32:cafe::c3) by MR2P264CA0075.outlook.office365.com (2603:10a6:500:32::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.32 via Frontend Transport; Fri, 2 Oct 2020 21:14:14 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; Received: from nebula.arm.com (40.67.248.234) by VE1EUR03FT046.mail.protection.outlook.com (10.152.19.226) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.3433.34 via Frontend Transport; Fri, 2 Oct 2020 21:14:12 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2044.4; Fri, 2 Oct 2020 21:14:10 +0000 Received: from E107187.Arm.com (10.57.53.44) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2044.4 via Frontend Transport; Fri, 2 Oct 2020 21:14:09 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , , , , , , , , Subject: [PATCH v5 00/15] Kvmtool guest firmware support for Arm Date: Fri, 2 Oct 2020 22:13:54 +0100 Message-ID: <20201002211409.43888-1-sami.mujawar@arm.com> X-Mailer: git-send-email 2.11.0.windows.3 MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-HT: Tenant X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 93934025-36ff-44d7-30eb-08d8671822ba X-MS-TrafficTypeDiagnostic: DB8PR08MB3978:|VE1PR08MB5792: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: ortTxZ6E+34uskt54qppl8shJOQeotckDYW1pNt0dL4+2kzOqbL1XvYz5ZPZcjV+NlYGUMWF3L6hoG4uhikQJyVoq35lFCNDB/I9pYLAiPNMuW6e4PwVdKR9abuv0/2lI/TwME29Tx87bMAOsX9A6NOewmGEQGkZBXqymU5uMb9cRRnvJBnyzd9iSX6z9ABSlN96hH8LU1Qgvft4nzMU0GrIUk6E9OZ130mGFT4Un8yD201t/ORzQUoiReBLDQ6jIG5ZipVOrocMn/hq1fqqI/QFq8dpGQ4eh2S/3zOToWHTcFu43sL7AoSJyX2h5F/9ku2oEYzP3Rd41as7e2IRoiniKOrm8Ti/b+9o5z6kxXZUVPipIuAhY7qsJCXbHjdU02slQADdSjUOxEbuj6x0FGg9hBOVFl7WjiOdzvcodohxFQLjax0qifweOWohGA2u1ZqUjqx2vW13fF/YBfr8aEHTX4A88ue+34Bztl1wiBI= X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(136003)(396003)(39850400004)(376002)(346002)(46966005)(70206006)(70586007)(336012)(186003)(6666004)(966005)(47076004)(82740400003)(2616005)(426003)(6916009)(26005)(478600001)(36756003)(82310400003)(86362001)(83380400001)(4326008)(44832011)(8676002)(2906002)(81166007)(5660300002)(7696005)(1076003)(83080400001)(316002)(8936002)(356005)(54906003);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB3978 Return-Path: Sami.Mujawar@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: a303ab78-59bb-46e7-4ae4-08d867181d2e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Rujt8ZrtmKE3bE7skYS/qddQcsn043qZbGDNV86W7DodKuteGYrlzCdIIwNx0tv2JYDsM8YtZS25ArJIFgCzam4Vxvw5tkVDDs08F2GbMz5yUXyulpQy05LT4wpQgcEHYfU/zCzx2VOsoeeFBjs+NDUWHNZVUMmKEEGFzIKOcicoKrzoXub8HbQBnuSOJc0MLrvDHlaEdCvyDy7ea83OTxTyKClM7HGDM/wCckZV2++R5L8FUVWq8uxZ3D/6f95UemCMt/V+BQqvayojKJqWCTpIDMZQaABK7xywjh768naJoT5wZfPncIwLe0F7K6YGAh+OCNEBi/EwHJBEqPnocC3iq6cw6kh8gP79tzPgEYgi7giVbFSIRbFRS572i3XhnBuSr9RNjR/L4vP0CMlTqJxSHmB0KIRKlb+zIoyIfUibJYfsT4JEmTC7OH8DGjYSI4StQX+wRdxG3jBV0zrRf1WIqxhoelTpewfu+Dv5HYA= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(396003)(39850400004)(376002)(346002)(136003)(46966005)(1076003)(82740400003)(47076004)(83380400001)(5660300002)(83080400001)(81166007)(4326008)(70206006)(82310400003)(8676002)(7696005)(70586007)(316002)(8936002)(36756003)(6916009)(44832011)(426003)(26005)(2616005)(478600001)(966005)(54906003)(6666004)(186003)(86362001)(336012)(2906002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2020 21:14:23.2328 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 93934025-36ff-44d7-30eb-08d8671822ba X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5792 Content-Type: text/plain Kvmtool is a virtual machine manager that can be used to launch guest partitions. Kvmtool additionally supports emulation of hardware like the RTC, CFI etc. essentially providing an emulated platform for a Guest OS to run. To boot a standards-based OS one would need UEFI. In this case it is UEFI at EL1 or guest/virtual firmware. Kvmtool has been enhanced to enable launching of KVM guests with UEFI support e.g. CFI emulation has been added to store UEFI variables, etc. These changes have been merged in the kvmtool repository at: https://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git This patch series updates the following: * addresses the review feedback from v4 series to drop the unnecessary whitespace and header changes in - [PATCH v5 01/15] PcAtChipsetPkg: Add MMIO Support to RTC driver * Minor doxygen style fixes to file headers reported by ECC tool in - [PATCH v5 02/15] ArmVirtPkg: Add Kvmtool RTC Fdt Client Library - [PATCH v5 04/15] ArmVirtPkg: Add kvmtool platform driver - [PATCH v5 06/15] ArmVirtPkg: Add Kvmtool NOR flash lib - [PATCH v5 10/15] ArmVirtPkg: Add Kvmtool Platform Pei Lib * Minor fix for ECC error "5007: There should be no initialization of a variable as part of its declaration" and doxygen style fixes to file headers in - [PATCH v5 05/15] ArmVirtPkg: kvmtool platform memory map * Minor fix in function documentation to match doxygen style in - [PATCH v5 07/15] MdeModulePkg: Fix constructor invocation ordering The changes for the v4 series can be seen at: https://github.com/samimujawar/edk2/tree/299_kvmtool_plat_support_v5 Sami Mujawar (15): PcAtChipsetPkg: Add MMIO Support to RTC driver ArmVirtPkg: Add Kvmtool RTC Fdt Client Library ArmPlatformPkg: Dynamic flash variable base ArmVirtPkg: Add kvmtool platform driver ArmVirtPkg: kvmtool platform memory map ArmVirtPkg: Add Kvmtool NOR flash lib MdeModulePkg: Fix constructor invocation ordering ArmVirtPkg: GUID Hob for 16550 UART base address ArmVirtPkg: 16550 UART Platform hook library ArmVirtPkg: Add Kvmtool Platform Pei Lib ArmVirtPkg: Support for kvmtool virtual platform ArmVirtPkg: Package dependency for MC146818 RTC ArmVirtPkg: Add kvmtool to package dictionary .python/SpellCheck: Add 'XIPFLAGS' to "words" section Maintainer.txt: Add Kvmtool platform reviewer .pytool/Plugin/SpellCheck/cspell.base.yaml | 1 + ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvbDxe.c | 4 +- ArmVirtPkg/ArmVirtKvmTool.dsc | 321 +++++++++++++++++++ ArmVirtPkg/ArmVirtKvmTool.fdf | 234 ++++++++++++++ ArmVirtPkg/ArmVirtPkg.ci.yaml | 6 +- ArmVirtPkg/ArmVirtPkg.dec | 2 + ArmVirtPkg/Include/Guid/Early16550UartBaseAddress.h | 22 ++ ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.c | 82 +++++ ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf | 43 +++ ArmVirtPkg/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.c | 138 ++++++++ ArmVirtPkg/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.inf | 36 +++ ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.c | 57 ++++ ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.inf | 39 +++ ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.uni | 14 + ArmVirtPkg/Library/KvmtoolPlatformPeiLib/KvmtoolPlatformPeiLib.c | 79 +++++ ArmVirtPkg/Library/KvmtoolPlatformPeiLib/KvmtoolPlatformPeiLib.inf | 49 +++ ArmVirtPkg/Library/KvmtoolRtcFdtClientLib/KvmtoolRtcFdtClientLib.c | 230 ++++++++++++++ ArmVirtPkg/Library/KvmtoolRtcFdtClientLib/KvmtoolRtcFdtClientLib.inf | 42 +++ ArmVirtPkg/Library/KvmtoolVirtMemInfoLib/KvmtoolVirtMemInfoLib.c | 98 ++++++ ArmVirtPkg/Library/KvmtoolVirtMemInfoLib/KvmtoolVirtMemInfoLib.inf | 43 +++ ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtool.c | 336 ++++++++++++++++++++ ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtoolLib.inf | 50 +++ Maintainers.txt | 10 + MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c | 17 + MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf | 3 + PcAtChipsetPkg/PcAtChipsetPkg.dec | 16 + PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c | 120 ++++++- PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c | 54 +++- PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf | 8 + 29 files changed, 2139 insertions(+), 15 deletions(-) create mode 100644 ArmVirtPkg/ArmVirtKvmTool.dsc create mode 100644 ArmVirtPkg/ArmVirtKvmTool.fdf create mode 100644 ArmVirtPkg/Include/Guid/Early16550UartBaseAddress.h create mode 100644 ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.c create mode 100644 ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf create mode 100644 ArmVirtPkg/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.c create mode 100644 ArmVirtPkg/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.inf create mode 100644 ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.c create mode 100644 ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.inf create mode 100644 ArmVirtPkg/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.uni create mode 100644 ArmVirtPkg/Library/KvmtoolPlatformPeiLib/KvmtoolPlatformPeiLib.c create mode 100644 ArmVirtPkg/Library/KvmtoolPlatformPeiLib/KvmtoolPlatformPeiLib.inf create mode 100644 ArmVirtPkg/Library/KvmtoolRtcFdtClientLib/KvmtoolRtcFdtClientLib.c create mode 100644 ArmVirtPkg/Library/KvmtoolRtcFdtClientLib/KvmtoolRtcFdtClientLib.inf create mode 100644 ArmVirtPkg/Library/KvmtoolVirtMemInfoLib/KvmtoolVirtMemInfoLib.c create mode 100644 ArmVirtPkg/Library/KvmtoolVirtMemInfoLib/KvmtoolVirtMemInfoLib.inf create mode 100644 ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtool.c create mode 100644 ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtoolLib.inf -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'