From: "Wang, Jian J" <jian.j.wang@intel.com>
To: "Yao, Jiewen" <jiewen.yao@intel.com>,
"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Cc: "Zeng, Star" <star.zeng@intel.com>,
Laszlo Ersek <lersek@redhat.com>,
"Ard Biesheuvel" <ard.biesheuvel@linaro.org>,
"Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: [PATCH v6 1/2] MdeModulePkg/DxeCore: Filter out all paging capabilities
Date: Fri, 17 Nov 2017 02:48:40 +0000 [thread overview]
Message-ID: <D827630B58408649ACB04F44C510003624CAF8C5@SHSMSX103.ccr.corp.intel.com> (raw)
In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503AA20F2C@shsmsx102.ccr.corp.intel.com>
1) Sure. I'll update the wording.
2) I still think this is just a workaround . In the long run, I don't think the merge is a good idea. It looks like it will "fix" more issues, but actually it just "hide" them and would cause more and more workaround in the future. Anyway, if no one else has objections, I'll update the code.
> -----Original Message-----
> From: Yao, Jiewen
> Sent: Friday, November 17, 2017 9:37 AM
> To: Wang, Jian J <jian.j.wang@intel.com>; edk2-devel@lists.01.org
> Cc: Zeng, Star <star.zeng@intel.com>; Laszlo Ersek <lersek@redhat.com>; Ard
> Biesheuvel <ard.biesheuvel@linaro.org>
> Subject: RE: [PATCH v6 1/2] MdeModulePkg/DxeCore: Filter out all paging
> capabilities
>
> HI
> I have 2 comments:
>
> 1) I do not think we need mention: WORKAROUND.
> I suggest we just use "NOTE".
>
> We have similar example before, see
> MdePkg\Library\BasePeCoffLib\BasePeCoff.c
> //
> // NOTE: Some versions of Linux ELILO for Itanium have an incorrect magic
> value
> // in the PE/COFF Header. If the MachineType is Itanium(IA64) and the
> // Magic value in the OptionalHeader is
> EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC
> // then override the returned value to
> EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC
> //
>
> 2) I agree with Star. I think we should merge the final result.
> The suggestion before is: *Keep current UEFI memory map unchanged.*
> Changing it brings lots of risk without validating all UEFI OS.
>
>
> Thank you
> Yao Jiewen
>
>
> > -----Original Message-----
> > From: Wang, Jian J
> > Sent: Thursday, November 16, 2017 3:27 PM
> > To: edk2-devel@lists.01.org
> > Cc: Yao, Jiewen <jiewen.yao@intel.com>; Zeng, Star <star.zeng@intel.com>;
> > Laszlo Ersek <lersek@redhat.com>; Ard Biesheuvel
> <ard.biesheuvel@linaro.org>
> > Subject: [PATCH v6 1/2] MdeModulePkg/DxeCore: Filter out all paging
> capabilities
> >
> > Some OSs will treat EFI_MEMORY_DESCRIPTOR.Attribute as really
> > set attributes and change memory paging attribute accordingly.
> > But current EFI_MEMORY_DESCRIPTOR.Attribute is assigned by
> > value from Capabilities in GCD memory map. This might cause
> > boot problems. Clearing all paging related capabilities can
> > workaround it. The code added in this patch is supposed to
> > be removed once the usage of EFI_MEMORY_DESCRIPTOR.Attribute
> > is clarified in UEFI spec and adopted by both EDK-II Core and
> > all supported OSs.
> >
> > Cc: Jiewen Yao <jiewen.yao@intel.com>
> > Cc: Star Zeng <star.zeng@intel.com>
> > Cc: Laszlo Ersek <lersek@redhat.com>
> > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
> > ---
> > MdeModulePkg/Core/Dxe/Mem/Page.c | 17 +++++++++++++++++
> > 1 file changed, 17 insertions(+)
> >
> > diff --git a/MdeModulePkg/Core/Dxe/Mem/Page.c
> > b/MdeModulePkg/Core/Dxe/Mem/Page.c
> > index c9219cc068..783b576e35 100644
> > --- a/MdeModulePkg/Core/Dxe/Mem/Page.c
> > +++ b/MdeModulePkg/Core/Dxe/Mem/Page.c
> > @@ -1829,6 +1829,23 @@ CoreGetMemoryMap (
> > //
> > BufferSize = ((UINT8 *)MemoryMap - (UINT8 *)MemoryMapStart);
> >
> > + //
> > + // WORKAROUND: Some OSs will treat
> EFI_MEMORY_DESCRIPTOR.Attribute
> > as really
> > + // set attributes and change memory paging attribute
> > accordingly.
> > + // But current EFI_MEMORY_DESCRIPTOR.Attribute is assigned
> > by
> > + // value from Capabilities in GCD memory map. This might
> > cause
> > + // boot problems. Clearing all paging related capabilities can
> > + // workaround it. Following code is supposed to be removed
> > once
> > + // the usage of EFI_MEMORY_DESCRIPTOR.Attribute is clarified
> > in
> > + // UEFI spec and adopted by both EDK-II Core and all
> > supported
> > + // OSs.
> > + //
> > + while (MemoryMapStart < MemoryMap) {
> > + MemoryMapStart->Attribute &= ~(UINT64)(EFI_MEMORY_RP |
> > EFI_MEMORY_RO |
> > + EFI_MEMORY_XP);
> > + MemoryMapStart = NEXT_MEMORY_DESCRIPTOR(MemoryMapStart,
> > Size);
> > + }
> > +
> > Status = EFI_SUCCESS;
> >
> > Done:
> > --
> > 2.14.1.windows.1
next prev parent reply other threads:[~2017-11-17 2:44 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-16 7:26 [PATCH v6 0/2] Fix multiple entries of RT_CODE in memory map Jian J Wang
2017-11-16 7:26 ` [PATCH v6 1/2] MdeModulePkg/DxeCore: Filter out all paging capabilities Jian J Wang
2017-11-16 9:24 ` Ard Biesheuvel
2017-11-16 9:28 ` Zeng, Star
2017-11-16 9:29 ` Ard Biesheuvel
2017-11-16 9:48 ` Zeng, Star
2017-11-16 16:06 ` Ard Biesheuvel
2017-11-17 1:37 ` Yao, Jiewen
2017-11-17 2:48 ` Wang, Jian J [this message]
2017-11-22 7:30 ` Zeng, Star
2017-11-20 20:23 ` Laszlo Ersek
2017-11-21 6:29 ` Wang, Jian J
2017-11-16 7:27 ` [PATCH 2/2] UefiCpuPkg/CpuDxe: Fix multiple entries of RT_CODE in memory map Jian J Wang
2017-11-20 20:31 ` Laszlo Ersek
2017-11-21 6:51 ` Wang, Jian J
2017-11-22 7:54 ` Zeng, Star
2017-11-20 21:08 ` [PATCH v6 0/2] " Laszlo Ersek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D827630B58408649ACB04F44C510003624CAF8C5@SHSMSX103.ccr.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox