From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by mx.groups.io with SMTP id smtpd.web10.15525.1675951189065711427 for ; Thu, 09 Feb 2023 05:59:49 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Q4TAYZjK; spf=pass (domain: kernel.org, ip: 139.178.84.217, 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 dfw.source.kernel.org (Postfix) with ESMTPS id 8374161A8D; Thu, 9 Feb 2023 13:59:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BE85BC433D2; Thu, 9 Feb 2023 13:59:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1675951188; bh=ZW/Cay80a0J0w0G3Mf2mWtF3uoKg5XlnaH6JYdfzeQ0=; h=From:To:Cc:Subject:Date:From; b=Q4TAYZjKoYlhf2O7H4vE6v74iVHXBmcsjcjoqgV55dEkPjjEgMufkpSVyH6dYJHqf TMW+aQNMLEI/jsRQYcyd98FTN1ewBHfwi4s+kkPVu/GmkfAyMXhkBnc+OzREi2kMaN GAVlwbwE4IlJsLordoldLjiCCifZQTyY7pUAXWU8DPLIh3XoIVvh+9ygvgwHm5wice uh4L4NCGGxQ7bneVrqKwLp84wtDF8C6Bq7zQl/vUur/zFbr+41EgizMBEP7VvBma/4 qAHQNFdTbMbQmntPdNqPkf0zEGuhoZf0LcPHTOTRuNICI/M6cTLL+4vkHVTg2ExaN8 b+a5eGY5cz2Hw== From: "Ard Biesheuvel" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Michael Kinney , Liming Gao , Jiewen Yao , Michael Kubacki , Sean Brogan , Rebecca Cran , Leif Lindholm , Sami Mujawar , Taylor Beebe Subject: [PATCH v4 00/11] ArmPkg: implement EFI memory attributes protocol Date: Thu, 9 Feb 2023 14:59:25 +0100 Message-Id: <20230209135936.789983-1-ardb@kernel.org> X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable v4:=0D - major cleanup of the 32-bit ARM code=0D - add support for EFI_MEMORY_RP using the access flag=0D - enable stack guard in ArmVirtPkg (which uses EFI_MEMORY_RP)=0D - incorporate optimization from other series [0] to avoid splitting=0D block entries unnecessarily=0D =0D v3:=0D - fix ARM32 bug in attribute conversion=0D - add Liming's ack to patch #1=0D - include draft patch (NOT FOR MERGE) used to test the changes=0D =0D v2:=0D - drop patch to bump exposed UEFI revision to v2.10=0D - add missing permitted return values to protocol definition=0D =0D [0] https://edk2.groups.io/g/devel/message/99801=0D =0D Cc: Michael Kinney =0D Cc: Liming Gao =0D Cc: Jiewen Yao =0D Cc: Michael Kubacki =0D Cc: Sean Brogan =0D Cc: Rebecca Cran =0D Cc: Leif Lindholm =0D Cc: Sami Mujawar =0D Cc: Taylor Beebe =0D =0D Ard Biesheuvel (11):=0D ArmPkg/ArmMmuLib ARM: Remove half baked large page support=0D ArmPkg/ArmMmuLib ARM: Split off XN page descriptor bit from type field=0D ArmPkg/CpuDxe ARM: Fix page-to-section attribute conversion=0D ArmPkg/ArmMmuLib ARM: Isolate the access flag from AP mask=0D ArmPkg/ArmMmuLib ARM: Clear individual permission bits=0D ArmPkg/ArmMmuLib: Implement EFI_MEMORY_RP using access flag=0D ArmVirtPkg: Enable stack guard=0D ArmPkg/ArmMmuLib: Avoid splitting block entries if possible=0D ArmPkg/CpuDxe: Expose unified region-to-EFI attribute conversion=0D MdePkg: Add Memory Attribute Protocol definition=0D ArmPkg/CpuDxe: Implement EFI memory attributes protocol=0D =0D ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c | 25 +-=0D ArmPkg/Drivers/CpuDxe/Arm/Mmu.c | 96 +++++--=0D ArmPkg/Drivers/CpuDxe/CpuDxe.c | 2 +=0D ArmPkg/Drivers/CpuDxe/CpuDxe.h | 17 ++=0D ArmPkg/Drivers/CpuDxe/CpuDxe.inf | 2 +=0D ArmPkg/Drivers/CpuDxe/MemoryAttribute.c | 271 +++++++++++++++++++= +=0D ArmPkg/Include/Chipset/ArmV7Mmu.h | 88 +++----=0D ArmPkg/Include/Library/ArmMmuLib.h | 34 +++=0D ArmPkg/Library/ArmLib/Arm/ArmV7Support.S | 2 +=0D ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c | 68 ++++-=0D ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibConvert.c | 8 +-=0D ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c | 2 +-=0D ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibUpdate.c | 173 +++++++++++--=0D ArmVirtPkg/ArmVirt.dsc.inc | 2 +=0D MdePkg/Include/Protocol/MemoryAttribute.h | 142 ++++++++++=0D MdePkg/MdePkg.dec | 3 +=0D 16 files changed, 833 insertions(+), 102 deletions(-)=0D create mode 100644 ArmPkg/Drivers/CpuDxe/MemoryAttribute.c=0D create mode 100644 MdePkg/Include/Protocol/MemoryAttribute.h=0D =0D -- =0D 2.39.1=0D =0D