thx, the patches work just fine.(they apply and the runtime warnings are
gone).
if edk2 patches aren't that usable, how the maintainers test it? because
usually people don't post git links.

On Wed, Sep 9, 2015 at 6:31 PM, Ard Biesheuvel <ard.biesheu...@linaro.org>
wrote:

> On 9 September 2015 at 18:21, Michael Zimmermann
> <sigmaepsilo...@gmail.com> wrote:
> > what I meant is that git am fails:
> > Applying: BaseTools/GenFw: remove ARM and RVCT references from ELF64 code
> > error: patch failed: BaseTools/Source/C/GenFw/Elf64Convert.c:360
> > error: BaseTools/Source/C/GenFw/Elf64Convert.c: patch does not apply
> > Patch failed at 0001 BaseTools/GenFw: remove ARM and RVCT references from
> > ELF64 code
> > The copy of the patch that failed is found in:
> >
> /media/Data/repositories/git/efidroid/uefi/edk2/.git/rebase-apply/patch
> > When you have resolved this problem, run "git am --continue".
> > If you prefer to skip this patch, run "git am --skip" instead.
> > To restore the original branch and stop patching, run "git am --abort".
> >
> > maybe I did sth. wrong?(I've never used a mailing list patch before). I
> > downloaded the mbox from gmane:
> > http://download.gmane.org/gmane.comp.bios.edk2.devel/2036/2037
> >
>
> No, it is just painful, with the CR/LF conversion etc
>
> What I usually do is
>
> $ cat |todos |git am
>
> and then paste it, followed by Ctrl-D. That will usually work, unless
> the patch adds or removes files.
>
> I pushed the patches here:
>
> https://git.linaro.org/people/ard.biesheuvel/uefi-next.git/shortlog/refs/heads/arm-memprot
>
> So after applying you need to
> - git clean -dxf BaseTools/ ; make -C BaseTools
> - rm Conf/tools_def.txt ; source edksetup.sh
>
> to make sure everything is up to date after the changes
>
> --
> Ard.
>
> > On Wed, Sep 9, 2015 at 6:17 PM, Ard Biesheuvel <
> ard.biesheu...@linaro.org>
> > wrote:
> >>
> >>
> >>
> >> On 9 sep. 2015, at 18:10, Michael Zimmermann <sigmaepsilo...@gmail.com>
> >> wrote:
> >>
> >> Yes I'm using 32bit ARM :)
> >> thx for the patches - unfortunatelythe patches fail for me.
> >>
> >>
> >> Did you regenerate Conf/tools_def.txt  and rebuild the BaseTools/ ?
> >>
> >> On Wed, Sep 9, 2015 at 5:33 PM, Ard Biesheuvel <
> ard.biesheu...@linaro.org>
> >> wrote:
> >>>
> >>> On 9 September 2015 at 17:26, Gao, Liming <liming....@intel.com>
> wrote:
> >>> > Michael:
> >>> >   Do you use the linker script BaseTools/Scripts/GccBase.lds and -z
> >>> > common-page-size=4096?
> >>> >
> >>>
> >>> Are you building for 32-bit ARM by any chance? That does not have this
> >>> feature wired up yet. I posted a v2 of my series that addresses this
> >>> yesterday.
> >>>
> >>>
> >>>
> >>> > From: Michael Zimmermann [mailto:sigmaepsilo...@gmail.com]
> >>> > Sent: Wednesday, September 9, 2015 3:22 PM
> >>> > To: Yao, Jiewen
> >>> > Cc: Gao, Liming; edk2-devel@lists.01.org
> >>> > Subject: Re: [edk2] Section Alignment of elf binaries compiled with
> >>> > GCC(Linux)
> >>> >
> >>> > Unfortunately I missed the replies but I debugged this problem
> further
> >>> > and the Problem is that GenFw set's the alignment based on
> "sh_addralign" in
> >>> > the Elf header.
> >>> >
> >>> > The 'common-page-size' flag doesn't change the value of this field
> >>> > though. what it does change is the Alignment value of the Program
> Headers:
> >>> > Program Headers:
> >>> >   Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg
> >>> > Align
> >>> >   LOAD           0x010000 0x00000000 0x00000000 0x042f8 0x042f8 R E
> >>> > 0x10000
> >>> >   LOAD           0x0142f8 0x000142f8 0x000142f8 0x000d4 0x000f4 RW
> >>> > 0x10000
> >>> >   GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE
> >>> > 0x10
> >>> > the section alignment still stays at 0/1/4.
> >>> >
> >>> > On Tue, Aug 18, 2015 at 4:49 AM, Yao, Jiewen
> >>> > <jiewen....@intel.com<mailto:jiewen....@intel.com>> wrote:
> >>> > OK
> >>> >
> >>> > -----Original Message-----
> >>> > From: Gao, Liming
> >>> > Sent: Tuesday, August 18, 2015 10:48 AM
> >>> > To: Yao, Jiewen; Michael Zimmermann;
> >>> > edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> >>> > Subject: RE: [edk2] Section Alignment of elf binaries compiled with
> >>> > GCC(Linux)
> >>> >
> >>> > Jiewen:
> >>> >   The updated message is useful. I suggest to change error level from
> >>> > EFI_D_ERROR to EFI_D_INFO.
> >>> >
> >>> > Thanks
> >>> > Liming
> >>> > -----Original Message-----
> >>> > From: Yao, Jiewen
> >>> > Sent: Tuesday, August 18, 2015 10:46 AM
> >>> > To: Gao, Liming; Michael Zimmermann;
> >>> > edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> >>> > Subject: RE: [edk2] Section Alignment of elf binaries compiled with
> >>> > GCC(Linux)
> >>> >
> >>> > Hi
> >>> > How about we update debug message like below:
> >>> >
> >>> > Index: PropertiesTable.c
> >>> > ===================================================================
> >>> > --- PropertiesTable.c   (revision 18191)
> >>> > +++ PropertiesTable.c   (working copy)
> >>> > @@ -1120,7 +1120,7 @@
> >>> >
> >>> >    SetPropertiesTableSectionAlignment (SectionAlignment);
> >>> >    if ((SectionAlignment &
> (EFI_ACPI_RUNTIME_PAGE_ALLOCATION_ALIGNMENT
> >>> > - 1)) != 0) {
> >>> > -    DEBUG ((EFI_D_ERROR, "!!!!!!!!  InsertImageRecord - Section
> >>> > Alignment(0x%x) is not %dK  !!!!!!!!\n",
> >>> > +    DEBUG ((EFI_D_ERROR, "!!!!!!!!  UEFI2.5 PropertiesTable -
> Runtime
> >>> > Driver Section Alignment(0x%x) is not %dK  !!!!!!!!\n",
> >>> >        SectionAlignment, EFI_ACPI_RUNTIME_PAGE_ALLOCATION_ALIGNMENT
> >>
> >>> > 10));
> >>> >      PdbPointer = PeCoffLoaderGetPdbPointer ((VOID*) (UINTN)
> >>> > ImageAddress);
> >>> >      if (PdbPointer != NULL) {
> >>> >
> >>> >
> >>> >
> >>> >
> >>> > -----Original Message-----
> >>> > From: edk2-devel
> >>> > [mailto:edk2-devel-boun...@lists.01.org<mailto:
> edk2-devel-boun...@lists.01.org>]
> >>> > On Behalf Of Gao, Liming
> >>> > Sent: Tuesday, August 18, 2015 10:39 AM
> >>> > To: Michael Zimmermann;
> >>> > edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> >>> > Subject: Re: [edk2] Section Alignment of elf binaries compiled with
> >>> > GCC(Linux)
> >>> >
> >>> > Hi,
> >>> >   This is a warning message that describes the runtime driver
> alignment
> >>> > is not 4K.
> >>> >
> >>> >   UEFI PropertiesTable table feature expects all runtime driver
> >>> > alignment is 4K. When DxeCore loads Runtime driver, it will check its
> >>> > alignment and report such warning message if it doesn't meet with the
> >>> > alignment. If you want to enable this feature, you need to make sure
> all
> >>> > runtime driver at 4K. If you don't enable it, you can just ignore
> this
> >>> > message.
> >>> >
> >>> >   To configure runtime driver with 4K alignment, you can modify DSC
> >>> > file to add the following section.
> >>> > [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
> >>> >   GCC:  *_*_*_DLINK_FLAGS = -z common-page-size=0x1000
> >>> >   MSFT: *_*_*_DLINK_FLAGS = /ALIGN:4096
> >>> >
> >>> > Thanks
> >>> > Liming
> >>> > -----Original Message-----
> >>> > From: edk2-devel
> >>> > [mailto:edk2-devel-boun...@lists.01.org<mailto:
> edk2-devel-boun...@lists.01.org>]
> >>> > On Behalf Of Michael Zimmermann
> >>> > Sent: Sunday, August 16, 2015 12:32 PM
> >>> > To: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> >>> > Subject: [edk2] Section Alignment of elf binaries compiled with
> >>> > GCC(Linux)
> >>> >
> >>> > When booting(a new device I'm currently working on) I get these
> >>> > warnings:
> >>> > !!!!!!!!  InsertImageRecord - Section Alignment(0x20) is not 4K
> >>> > !!!!!!!!
> >>> >
> >>> > the warning is raised by
> "MdeModulePkg/Core/Dxe/Misc/PropertiesTable.c"
> >>> > and when compiling using GCC from Linux, the SectionAlignment is set
> by
> >>> > "BaseTools/Source/C/GenFw/Elf32Convert.c".
> >>> >
> >>> > I checked the resulting binaries using "readpe" and indeed they have
> a
> >>> > SectionAlignment of 0x20, while the precompiled binaries like
> Shell.efi have
> >>> > a Alignment of 0x1000(4K).
> >>> >
> >>> > So, is this a bug of my GCC compiler or of EDK2?
> >>> > _______________________________________________
> >>> > edk2-devel mailing list
> >>> > edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> >>> > https://lists.01.org/mailman/listinfo/edk2-devel
> >>> > _______________________________________________
> >>> > edk2-devel mailing list
> >>> > edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> >>> > https://lists.01.org/mailman/listinfo/edk2-devel
> >>> >
> >>> > _______________________________________________
> >>> > edk2-devel mailing list
> >>> > edk2-devel@lists.01.org
> >>> > https://lists.01.org/mailman/listinfo/edk2-devel
> >>
> >>
> >
>
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to