From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by mx.groups.io with SMTP id smtpd.web11.641.1676077014953527537 for ; Fri, 10 Feb 2023 16:56:55 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@taylorbeebe.com header.s=google header.b=OAUTo4Qf; spf=pass (domain: taylorbeebe.com, ip: 209.85.210.171, mailfrom: t@taylorbeebe.com) Received: by mail-pf1-f171.google.com with SMTP id 16so4638725pfo.8 for ; Fri, 10 Feb 2023 16:56:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=taylorbeebe.com; s=google; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=qbE7hsctLUv+2YxY3qxmvwGepKa7dtrnh9j5R7KckhQ=; b=OAUTo4QfWL4+bpCbT/zSXxxScrBhFdtVII//Bh2cDzFALqhMemif+kmvI6oc4Gg8vy umECvXATf7yF5BSRGHYOEjN5yTZMyZ/2PJOhAHOVcd1AY1/5VcYP6pXoyKmQ2Beyphi4 T9uFUrBUnvHLLTFmrRjIL+4lxen7kFaxg4iRIYK/yMufa450FC9qk6xs1mOQwUbLQ8AZ 772EbyRN8R0vGyjXSohuuFqSzmMhwryA5GWsxQb3sgnTdna7nYYfOTRHswsXEsxWfT3E fN/PXuN18f2IaiYLdcxd69f7wMm9onH1EfbeAuV36E8En1Ge0MjDsk2bPYypKrhgJFs2 UGCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qbE7hsctLUv+2YxY3qxmvwGepKa7dtrnh9j5R7KckhQ=; b=n04j2hG5zsEU3Q4czl/CVetevroFIeKnQVkhljnxpgv1UEK24Uy8sRib7B/wUYlxsu BAdnPzWS5jadcBRlHwLBLhHzFfvCO0L+8Zoi3wAOauoFZ+ZgENQI0CyOJ8xplH98tjQO XjC5mTfXd0koy+EEvzI5Fxb2OtwpOvk3bEB+fa9d7EueOeqg0VyTmiU69Uz3ZfFfm1cG B47wLCcIM8rCGBfn1RdouWgrngs2+rPiCorCAgnxroxkEhzPuegrynC2MjH1mFOS2qtu P6+2k/BHRlgZzCKmW5bSfBDT7CCdmwhrthkyYwVQmiiTo5yHShHlKzjqgxucxYkp8+/U v56A== X-Gm-Message-State: AO0yUKUY3FiMEDbfBpyilLC3KIoDR7NzLTBpIsqRVfU+9MHG0E7a9qJB nufUQdKddWJxX3RwFwpbjSWHPA== X-Google-Smtp-Source: AK7set+czdwwcwVjQjD/fZYij3V2T1IT4+jUz9CQQdxVyvWQq0OPCJr4aJKW82Zc/Ca4iFoKMvn0sA== X-Received: by 2002:a62:cfc5:0:b0:5a8:47fa:e398 with SMTP id b188-20020a62cfc5000000b005a847fae398mr10599104pfg.27.1676077013983; Fri, 10 Feb 2023 16:56:53 -0800 (PST) Return-Path: Received: from [192.168.50.162] ([50.46.230.135]) by smtp.gmail.com with ESMTPSA id h14-20020a62b40e000000b0058dbb5c5038sm3793028pfn.182.2023.02.10.16.56.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Feb 2023 16:56:53 -0800 (PST) Message-ID: <5af401fe-d5f9-15ef-d021-b998395554e7@taylorbeebe.com> Date: Fri, 10 Feb 2023 16:56:53 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.7.2 Subject: Re: [PATCH v4 00/11] ArmPkg: implement EFI memory attributes protocol To: Ard Biesheuvel , devel@edk2.groups.io Cc: Michael Kinney , Liming Gao , Jiewen Yao , Michael Kubacki , Sean Brogan , Rebecca Cran , Leif Lindholm , Sami Mujawar References: <20230209135936.789983-1-ardb@kernel.org> From: "Taylor Beebe" In-Reply-To: <20230209135936.789983-1-ardb@kernel.org> Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hey Ard, Once the Memory Attribute Protocol is made available, Windows will have some expectations about its functionality. Can you run this test app created by me and Jiewen to ensure it meets the Windows requirements? Part of the test needed an AARCH64 implementation which I just added - let me know if it doesn't work. Thanks :) https://github.com/TaylorBeebe/mu_basecore/tree/update_map_test_app/MdePkg/Test/ShellTest/MemoryAttributeProtocolFuncTestApp On 2/9/2023 5:59 AM, Ard Biesheuvel wrote: > v4: > > - major cleanup of the 32-bit ARM code > > - add support for EFI_MEMORY_RP using the access flag > > - enable stack guard in ArmVirtPkg (which uses EFI_MEMORY_RP) > > - incorporate optimization from other series [0] to avoid splitting > > block entries unnecessarily > > > > v3: > > - fix ARM32 bug in attribute conversion > > - add Liming's ack to patch #1 > > - include draft patch (NOT FOR MERGE) used to test the changes > > > > v2: > > - drop patch to bump exposed UEFI revision to v2.10 > > - add missing permitted return values to protocol definition > > > > [0] https://edk2.groups.io/g/devel/message/99801 > > > > Cc: Michael Kinney > > Cc: Liming Gao > > Cc: Jiewen Yao > > Cc: Michael Kubacki > > Cc: Sean Brogan > > Cc: Rebecca Cran > > Cc: Leif Lindholm > > Cc: Sami Mujawar > > Cc: Taylor Beebe > > > > Ard Biesheuvel (11): > > ArmPkg/ArmMmuLib ARM: Remove half baked large page support > > ArmPkg/ArmMmuLib ARM: Split off XN page descriptor bit from type field > > ArmPkg/CpuDxe ARM: Fix page-to-section attribute conversion > > ArmPkg/ArmMmuLib ARM: Isolate the access flag from AP mask > > ArmPkg/ArmMmuLib ARM: Clear individual permission bits > > ArmPkg/ArmMmuLib: Implement EFI_MEMORY_RP using access flag > > ArmVirtPkg: Enable stack guard > > ArmPkg/ArmMmuLib: Avoid splitting block entries if possible > > ArmPkg/CpuDxe: Expose unified region-to-EFI attribute conversion > > MdePkg: Add Memory Attribute Protocol definition > > ArmPkg/CpuDxe: Implement EFI memory attributes protocol > > > > ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c | 25 +- > > ArmPkg/Drivers/CpuDxe/Arm/Mmu.c | 96 +++++-- > > ArmPkg/Drivers/CpuDxe/CpuDxe.c | 2 + > > ArmPkg/Drivers/CpuDxe/CpuDxe.h | 17 ++ > > ArmPkg/Drivers/CpuDxe/CpuDxe.inf | 2 + > > ArmPkg/Drivers/CpuDxe/MemoryAttribute.c | 271 ++++++++++++++++++++ > > ArmPkg/Include/Chipset/ArmV7Mmu.h | 88 +++---- > > ArmPkg/Include/Library/ArmMmuLib.h | 34 +++ > > ArmPkg/Library/ArmLib/Arm/ArmV7Support.S | 2 + > > ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuLibCore.c | 68 ++++- > > ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibConvert.c | 8 +- > > ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c | 2 +- > > ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibUpdate.c | 173 +++++++++++-- > > ArmVirtPkg/ArmVirt.dsc.inc | 2 + > > MdePkg/Include/Protocol/MemoryAttribute.h | 142 ++++++++++ > > MdePkg/MdePkg.dec | 3 + > > 16 files changed, 833 insertions(+), 102 deletions(-) > > create mode 100644 ArmPkg/Drivers/CpuDxe/MemoryAttribute.c > > create mode 100644 MdePkg/Include/Protocol/MemoryAttribute.h > > >