Re: [edk2] Unable to boot Linux with master EDK2

2019-01-21 Thread Julien Grall

Hi Dandan,

On 21/01/2019 02:23, Bi, Dandan wrote:

I have committed the fix patch.
https://github.com/tianocore/edk2/commit/eb76b76218d5bac867414e2ff6dd09c6e7c700dd

Please trying the latest EDK2 master.


I have tried EDK2 master and got a guest booting with UEFI. Thank you for 
merging it!


Cheers,

--
Julien Grall
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] Unable to boot Linux with master EDK2

2019-01-20 Thread Bi, Dandan
Hi Julien Grall

I have committed the fix patch. 
https://github.com/tianocore/edk2/commit/eb76b76218d5bac867414e2ff6dd09c6e7c700dd

Please trying the latest EDK2 master.


Thanks,
Dandan 

> -Original Message-
> From: Julien Grall [mailto:julien.gr...@arm.com]
> Sent: Saturday, January 19, 2019 2:30 AM
> To: edk2-devel-01 ; Bi, Dandan
> ; Gao, Liming 
> Cc: Leif Lindholm ; Ard Biesheuvel
> ; Laszlo Ersek ; Kinney,
> Michael D ; xen-devel  de...@lists.xenproject.org>
> Subject: Unable to boot Linux with master EDK2
> 
> Hi all,
> 
> I am trying to boot a Xen guest using the latest EDK2 master (cce9d76358
> "BaseTools: Allow empty value for HiiPcd in Dsc"), GRUB and Linux 5.0-rc2.
> 
> The last code executed by Linux is when installing the virtual address map in
> the EFI stub and then it seems to get stuck. I don't have much information
> from the console:
> 
> InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 7E041040
> Loading driver at 0x00068C7 EntryPoint=0x00069D65664 Loading driver at
> 0x00068C7 EntryPoint=0x00069D65664
> InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 7DF6AB18
> ProtectUefiImageCommon - 0x7E041040
>   - 0x68C7 - 0x02006000
> SetUefiImageMemoryAttributes - 0x68C7 -
> 0x1000 (0x4008) SetUefiImageMemoryAttributes
> - 0x68C71000 - 0x011CD000 (0x00020008)
> SetUefiImageMemoryAttributes - 0x69E3E000 -
> 0x00E38000 (0x4008) EFI stub: Booting Linux Kernel...
> EFI stub: Using DTB from configuration table EFI stub: Exiting boot services
> and installing virtual address map...
> XenBus: Set state to 5
> XenBus: Set state to 5, done
> XenPvBlk: waiting backend state 5, current: 4
> XenStore: Watch event 7E957398
> XenBus: Set state to 6
> XenBus: Set state to 6, done
> XenPvBlk: waiting backend state 6, current: 5
> XenStore: Watch event 7E957398
> XenBus: Set state to 1
> XenBus: Set state to 1, done
> Xen GrantTable, removing 38003
> Xen GrantTable, removing 38002
> Xen GrantTable, removing 38001
> Xen GrantTable, removing 38000
> SetUefiImageMemoryAttributes - 0x7F36 -
> 0x0004 (0x0008) SetUefiImageMemoryAttributes
> - 0x7BFF - 0x0004 (0x0008)
> SetUefiImageMemoryAttributes - 0x7BFA -
> 0x0004 (0x0008) SetUefiImageMemoryAttributes
> - 0x7BF0 - 0x0004 (0x0008)
> SetUefiImageMemoryAttributes - 0x7BE6 -
> 0x0004 (0x0008) SetUefiImageMemoryAttributes
> - 0x7BDC - 0x0004 (0x0008)
> 
> The bisector pointed to the following commit:
> 
> commit 2f4a5a9f4c17ed88aaa3114d1e161e42cb80a9bf
> Author: Dandan Bi 
> Date:   Thu Jan 3 15:31:23 2019 +0800
> 
> MdePkg/BasePeCoffLib: Add more check for relocation data
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1426
> 
> V2:
> (1) Add NULL pointer check for the input parameters
> (2) Add check for the "Adjust" value before applying fix ups.
> 
> In function PeCoffLoaderRelocateImageForRuntime, it doesn't
> do much check when do relocation. For API level consideration,
> it's not safe enough.
> So this patch is to replace the same code logic with function
> PeCoffLoaderImageAddress which will cover more validation.
> 
> Cc: Michael D Kinney 
> Cc: Liming Gao 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Dandan Bi 
> Reviewed-by: Liming Gao 
> 
> Any ideas what could have gone wrong?
> 
> Best regards,
> 
> --
> Julien Grall
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] Unable to boot Linux with master EDK2

2019-01-18 Thread Ard Biesheuvel
On Fri, 18 Jan 2019 at 19:39, Ard Biesheuvel  wrote:
>
> On Fri, 18 Jan 2019 at 19:30, Julien Grall  wrote:
> >
> > Hi all,
> >
> > I am trying to boot a Xen guest using the latest EDK2 master (cce9d76358
> > "BaseTools: Allow empty value for HiiPcd in Dsc"), GRUB and Linux 5.0-rc2.
> >
> > The last code executed by Linux is when installing the virtual address
> > map in the EFI stub and then it seems to get stuck. I don't have much
> > information from the console:
> >
> > InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 7E041040
> > Loading driver at 0x00068C7 EntryPoint=0x00069D65664
> > Loading driver at 0x00068C7 EntryPoint=0x00069D65664
> > InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 7DF6AB18
> > ProtectUefiImageCommon - 0x7E041040
> >   - 0x68C7 - 0x02006000
> > SetUefiImageMemoryAttributes - 0x68C7 - 0x1000 
> > (0x4008)
> > SetUefiImageMemoryAttributes - 0x68C71000 - 0x011CD000 
> > (0x00020008)
> > SetUefiImageMemoryAttributes - 0x69E3E000 - 0x00E38000 
> > (0x4008)
> > EFI stub: Booting Linux Kernel...
> > EFI stub: Using DTB from configuration table
> > EFI stub: Exiting boot services and installing virtual address map...
> > XenBus: Set state to 5
> > XenBus: Set state to 5, done
> > XenPvBlk: waiting backend state 5, current: 4
> > XenStore: Watch event 7E957398
> > XenBus: Set state to 6
> > XenBus: Set state to 6, done
> > XenPvBlk: waiting backend state 6, current: 5
> > XenStore: Watch event 7E957398
> > XenBus: Set state to 1
> > XenBus: Set state to 1, done
> > Xen GrantTable, removing 38003
> > Xen GrantTable, removing 38002
> > Xen GrantTable, removing 38001
> > Xen GrantTable, removing 38000
> > SetUefiImageMemoryAttributes - 0x7F36 - 0x0004 
> > (0x0008)
> > SetUefiImageMemoryAttributes - 0x7BFF - 0x0004 
> > (0x0008)
> > SetUefiImageMemoryAttributes - 0x7BFA - 0x0004 
> > (0x0008)
> > SetUefiImageMemoryAttributes - 0x7BF0 - 0x0004 
> > (0x0008)
> > SetUefiImageMemoryAttributes - 0x7BE6 - 0x0004 
> > (0x0008)
> > SetUefiImageMemoryAttributes - 0x7BDC - 0x0004 
> > (0x0008)
> >
> > The bisector pointed to the following commit:
> >
> > commit 2f4a5a9f4c17ed88aaa3114d1e161e42cb80a9bf
> > Author: Dandan Bi 
> > Date:   Thu Jan 3 15:31:23 2019 +0800
> >
> > MdePkg/BasePeCoffLib: Add more check for relocation data
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1426
> >
> > V2:
> > (1) Add NULL pointer check for the input parameters
> > (2) Add check for the "Adjust" value before applying fix ups.
> >
> > In function PeCoffLoaderRelocateImageForRuntime, it doesn't
> > do much check when do relocation. For API level consideration,
> > it's not safe enough.
> > So this patch is to replace the same code logic with function
> > PeCoffLoaderImageAddress which will cover more validation.
> >
> > Cc: Michael D Kinney 
> > Cc: Liming Gao 
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Dandan Bi 
> > Reviewed-by: Liming Gao 
> >
> > Any ideas what could have gone wrong?
> >

Yes, that patch broke lots of platforms: OVMF, ArmVirtQemu and ARM
Juno as well. You need the following patch to fix it

https://lists.01.org/pipermail/edk2-devel/2019-January/035372.html
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] Unable to boot Linux with master EDK2

2019-01-18 Thread Ard Biesheuvel
On Fri, 18 Jan 2019 at 19:30, Julien Grall  wrote:
>
> Hi all,
>
> I am trying to boot a Xen guest using the latest EDK2 master (cce9d76358
> "BaseTools: Allow empty value for HiiPcd in Dsc"), GRUB and Linux 5.0-rc2.
>
> The last code executed by Linux is when installing the virtual address
> map in the EFI stub and then it seems to get stuck. I don't have much
> information from the console:
>
> InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 7E041040
> Loading driver at 0x00068C7 EntryPoint=0x00069D65664
> Loading driver at 0x00068C7 EntryPoint=0x00069D65664
> InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 7DF6AB18
> ProtectUefiImageCommon - 0x7E041040
>   - 0x68C7 - 0x02006000
> SetUefiImageMemoryAttributes - 0x68C7 - 0x1000 
> (0x4008)
> SetUefiImageMemoryAttributes - 0x68C71000 - 0x011CD000 
> (0x00020008)
> SetUefiImageMemoryAttributes - 0x69E3E000 - 0x00E38000 
> (0x4008)
> EFI stub: Booting Linux Kernel...
> EFI stub: Using DTB from configuration table
> EFI stub: Exiting boot services and installing virtual address map...
> XenBus: Set state to 5
> XenBus: Set state to 5, done
> XenPvBlk: waiting backend state 5, current: 4
> XenStore: Watch event 7E957398
> XenBus: Set state to 6
> XenBus: Set state to 6, done
> XenPvBlk: waiting backend state 6, current: 5
> XenStore: Watch event 7E957398
> XenBus: Set state to 1
> XenBus: Set state to 1, done
> Xen GrantTable, removing 38003
> Xen GrantTable, removing 38002
> Xen GrantTable, removing 38001
> Xen GrantTable, removing 38000
> SetUefiImageMemoryAttributes - 0x7F36 - 0x0004 
> (0x0008)
> SetUefiImageMemoryAttributes - 0x7BFF - 0x0004 
> (0x0008)
> SetUefiImageMemoryAttributes - 0x7BFA - 0x0004 
> (0x0008)
> SetUefiImageMemoryAttributes - 0x7BF0 - 0x0004 
> (0x0008)
> SetUefiImageMemoryAttributes - 0x7BE6 - 0x0004 
> (0x0008)
> SetUefiImageMemoryAttributes - 0x7BDC - 0x0004 
> (0x0008)
>
> The bisector pointed to the following commit:
>
> commit 2f4a5a9f4c17ed88aaa3114d1e161e42cb80a9bf
> Author: Dandan Bi 
> Date:   Thu Jan 3 15:31:23 2019 +0800
>
> MdePkg/BasePeCoffLib: Add more check for relocation data
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1426
>
> V2:
> (1) Add NULL pointer check for the input parameters
> (2) Add check for the "Adjust" value before applying fix ups.
>
> In function PeCoffLoaderRelocateImageForRuntime, it doesn't
> do much check when do relocation. For API level consideration,
> it's not safe enough.
> So this patch is to replace the same code logic with function
> PeCoffLoaderImageAddress which will cover more validation.
>
> Cc: Michael D Kinney 
> Cc: Liming Gao 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Dandan Bi 
> Reviewed-by: Liming Gao 
>
> Any ideas what could have gone wrong?
>
> Best regards,
>
> --
> Julien Grall
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] Unable to boot Linux with master EDK2

2019-01-18 Thread Julien Grall
Hi all,

I am trying to boot a Xen guest using the latest EDK2 master (cce9d76358
"BaseTools: Allow empty value for HiiPcd in Dsc"), GRUB and Linux 5.0-rc2.

The last code executed by Linux is when installing the virtual address
map in the EFI stub and then it seems to get stuck. I don't have much
information from the console:

InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 7E041040
Loading driver at 0x00068C7 EntryPoint=0x00069D65664
Loading driver at 0x00068C7 EntryPoint=0x00069D65664 
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 7DF6AB18
ProtectUefiImageCommon - 0x7E041040
  - 0x68C7 - 0x02006000
SetUefiImageMemoryAttributes - 0x68C7 - 0x1000 
(0x4008)
SetUefiImageMemoryAttributes - 0x68C71000 - 0x011CD000 
(0x00020008)
SetUefiImageMemoryAttributes - 0x69E3E000 - 0x00E38000 
(0x4008)
EFI stub: Booting Linux Kernel...
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
XenBus: Set state to 5
XenBus: Set state to 5, done
XenPvBlk: waiting backend state 5, current: 4
XenStore: Watch event 7E957398
XenBus: Set state to 6
XenBus: Set state to 6, done
XenPvBlk: waiting backend state 6, current: 5
XenStore: Watch event 7E957398
XenBus: Set state to 1
XenBus: Set state to 1, done
Xen GrantTable, removing 38003
Xen GrantTable, removing 38002
Xen GrantTable, removing 38001
Xen GrantTable, removing 38000
SetUefiImageMemoryAttributes - 0x7F36 - 0x0004 
(0x0008)
SetUefiImageMemoryAttributes - 0x7BFF - 0x0004 
(0x0008)
SetUefiImageMemoryAttributes - 0x7BFA - 0x0004 
(0x0008)
SetUefiImageMemoryAttributes - 0x7BF0 - 0x0004 
(0x0008)
SetUefiImageMemoryAttributes - 0x7BE6 - 0x0004 
(0x0008)
SetUefiImageMemoryAttributes - 0x7BDC - 0x0004 
(0x0008)

The bisector pointed to the following commit:

commit 2f4a5a9f4c17ed88aaa3114d1e161e42cb80a9bf
Author: Dandan Bi 
Date:   Thu Jan 3 15:31:23 2019 +0800

MdePkg/BasePeCoffLib: Add more check for relocation data

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1426

V2:
(1) Add NULL pointer check for the input parameters
(2) Add check for the "Adjust" value before applying fix ups.

In function PeCoffLoaderRelocateImageForRuntime, it doesn't
do much check when do relocation. For API level consideration,
it's not safe enough.
So this patch is to replace the same code logic with function
PeCoffLoaderImageAddress which will cover more validation.

Cc: Michael D Kinney 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Dandan Bi 
Reviewed-by: Liming Gao 

Any ideas what could have gone wrong?

Best regards,

-- 
Julien Grall
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel