From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by mx.groups.io with SMTP id smtpd.web09.609.1666630897241392805 for ; Mon, 24 Oct 2022 10:01:37 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=MIfS9r+f; spf=pass (domain: kernel.org, ip: 145.40.68.75, mailfrom: ardb@kernel.org) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id E7E4EB815BE; Mon, 24 Oct 2022 17:01:34 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F62CC433D6; Mon, 24 Oct 2022 17:01:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1666630893; bh=Dr8+1LjsdsTBLjxucHnyx09Dm3/KBepbsGs+bt0y04Y=; h=From:To:Cc:Subject:Date:From; b=MIfS9r+fIa4G4c6dtXxe/tWHT9B7VUGyjN7KgyA27LsUbX7mh9tFDkyvlB0Dzut13 53uSNB6kwKAE1tnJ5Wb6V4v1KDPCzNmq4gem9iv9QiStBV2Po1s2c6Aq2mkGIcIbPX O8g8JmFxVHqOFTw1AbCVFu5LHBC9rTERdHkUXs9suwv2lN5D99iwQY9urNY8TQjcz5 6YOH8BGavj/7Jh3P5NDObRMbT6A1UPsVAk7Z6eFtp/sOz5H84o4R2rV91mKZHaQkgu eejOjMU6i9u5TYUFNNqS3xcnqWaSN4SiC9qUgObliIbzaDO3h/D2i1V67HOBGYWUk2 /UJXT33EpbYvw== From: "Ard Biesheuvel" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Gerd Hoffmann , Sunil V L , Sami Mujawar , Leif Lindholm Subject: [PATCH 00/11] ArmVirtPkg: introduce VirtNorFlashDxe Date: Mon, 24 Oct 2022 19:01:11 +0200 Message-Id: <20221024170122.594577-1-ardb@kernel.org> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Create a new driver VirtNorFlashDxe that targets QEMU and KvmTool's NOR=0D flash emulation specifically, and retire the ArmPlatformPkg one.=0D =0D This permits new virt implementations to wire up QEMU's NOR flash=0D emulation without having to rely on ARM specific packages. It also=0D permits us to implement some tweaks to work around some rough=0D performance edges of KVM memslot backed NOR flash.=0D =0D Cc: Gerd Hoffmann =0D Cc: Sunil V L =0D Cc: Sami Mujawar =0D Cc: Leif Lindholm =0D =0D Ard Biesheuvel (11):=0D OvmfPkg: clone NorFlashPlatformLib into VirtNorFlashPlatformLib=0D OvmfPkg/VirtNorFlashDxe: clone ArmPlatformPkg's NOR flash driver=0D OvmfPkg/VirtNorFlashDxe: remove CheckBlockLocked feature=0D OvmfPkg/VirtNorFlashDxe: remove disk I/O protocol implementation=0D OvmfPkg/VirtNorFlashDxe: drop block I/O protocol implementation=0D OvmfPkg/VirtNorFlashDxe: avoid array mode switch after each word write=0D OvmfPkg/VirtNorFlashDxe: avoid switching between modes in a tight loop=0D OvmfPkg/VirtNorFlashDxe: use EFI_MEMORY_WC and drop AlignedCopyMem()=0D ArmVirtPkg/ArmVirtQemu: migrate to OVMF's VirtNorFlashDxe=0D ArmVirtPkg/ArmVirtKvmTool: Migrate to OVMF's VirtNorFlashDxe=0D ArmPlatformPkg: Retire NorFlashDxe driver=0D =0D ArmPlatformPkg/ArmPlatformPkg.dec = | 6 -=0D ArmPlatformPkg/ArmPlatformPkg.dsc = | 6 -=0D ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashBlockIoDxe.c = | 123 -----=0D ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashStandaloneMm.c = | 383 ---------------=0D ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashStandaloneMm.inf = | 66 ---=0D ArmPlatformPkg/Library/NorFlashPlatformNullLib/NorFlashPlatformNullLib.c = | 28 --=0D ArmPlatformPkg/Library/NorFlashPlatformNullLib/NorFlashPlatformNullLib.inf= | 24 -=0D ArmVirtPkg/ArmVirtKvmTool.dsc = | 4 +-=0D ArmVirtPkg/ArmVirtKvmTool.fdf = | 2 +-=0D ArmVirtPkg/ArmVirtQemu.dsc = | 4 +-=0D ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc = | 2 +-=0D ArmVirtPkg/ArmVirtQemuKernel.dsc = | 4 +-=0D ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtool.c = | 20 +-=0D ArmVirtPkg/Library/NorFlashKvmtoolLib/NorFlashKvmtoolLib.inf = | 4 +-=0D ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c = | 12 +-=0D ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf = | 4 +-=0D ArmPlatformPkg/Include/Library/NorFlashPlatformLib.h =3D> OvmfPkg/Include/= Library/VirtNorFlashPlatformLib.h | 16 +-=0D OvmfPkg/OvmfPkg.dec = | 4 +=0D ArmPlatformPkg/Drivers/NorFlashDxe/NorFlash.c =3D> OvmfPkg/VirtNorFlashDxe= /VirtNorFlash.c | 492 ++++----------------=0D ArmPlatformPkg/Drivers/NorFlashDxe/NorFlash.h =3D> OvmfPkg/VirtNorFlashDxe= /VirtNorFlash.h | 83 +---=0D ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c =3D> OvmfPkg/VirtNorFlash= Dxe/VirtNorFlashDxe.c | 77 +--=0D ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf =3D> OvmfPkg/VirtNorFla= shDxe/VirtNorFlashDxe.inf | 39 +-=0D ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvb.c =3D> OvmfPkg/VirtNorFlash= Dxe/VirtNorFlashFvb.c | 62 +--=0D 23 files changed, 205 insertions(+), 1260 deletions(-)=0D delete mode 100644 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashBlockIoDxe.c= =0D delete mode 100644 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashStandaloneMm= .c=0D delete mode 100644 ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashStandaloneMm= .inf=0D delete mode 100644 ArmPlatformPkg/Library/NorFlashPlatformNullLib/NorFlash= PlatformNullLib.c=0D delete mode 100644 ArmPlatformPkg/Library/NorFlashPlatformNullLib/NorFlash= PlatformNullLib.inf=0D rename ArmPlatformPkg/Include/Library/NorFlashPlatformLib.h =3D> OvmfPkg/I= nclude/Library/VirtNorFlashPlatformLib.h (52%)=0D rename ArmPlatformPkg/Drivers/NorFlashDxe/NorFlash.c =3D> OvmfPkg/VirtNorF= lashDxe/VirtNorFlash.c (54%)=0D rename ArmPlatformPkg/Drivers/NorFlashDxe/NorFlash.h =3D> OvmfPkg/VirtNorF= lashDxe/VirtNorFlash.h (78%)=0D rename ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.c =3D> OvmfPkg/VirtN= orFlashDxe/VirtNorFlashDxe.c (85%)=0D rename ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf =3D> OvmfPkg/Vir= tNorFlashDxe/VirtNorFlashDxe.inf (78%)=0D rename ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvb.c =3D> OvmfPkg/VirtN= orFlashDxe/VirtNorFlashFvb.c (92%)=0D =0D -- =0D 2.35.1=0D =0D