public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* Unable to boot Linux with master EDK2
@ 2019-01-18 18:30 Julien Grall
  2019-01-18 18:39 ` Ard Biesheuvel
  2019-01-21  2:23 ` Bi, Dandan
  0 siblings, 2 replies; 5+ messages in thread
From: Julien Grall @ 2019-01-18 18:30 UTC (permalink / raw)
  To: edk2-devel-01, dandan.bi, liming.gao
  Cc: Leif Lindholm, Ard Biesheuvel, Laszlo Ersek, michael.d.kinney,
	xen-devel

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 0x00068C70000 EntryPoint=0x00069D65664
Loading driver at 0x00068C70000 EntryPoint=0x00069D65664 
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 7DF6AB18
ProtectUefiImageCommon - 0x7E041040
  - 0x0000000068C70000 - 0x0000000002006000
SetUefiImageMemoryAttributes - 0x0000000068C70000 - 0x0000000000001000 (0x0000000000004008)
SetUefiImageMemoryAttributes - 0x0000000068C71000 - 0x00000000011CD000 (0x0000000000020008)
SetUefiImageMemoryAttributes - 0x0000000069E3E000 - 0x0000000000E38000 (0x0000000000004008)
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 - 0x000000007F360000 - 0x0000000000040000 (0x0000000000000008)
SetUefiImageMemoryAttributes - 0x000000007BFF0000 - 0x0000000000040000 (0x0000000000000008)
SetUefiImageMemoryAttributes - 0x000000007BFA0000 - 0x0000000000040000 (0x0000000000000008)
SetUefiImageMemoryAttributes - 0x000000007BF00000 - 0x0000000000040000 (0x0000000000000008)
SetUefiImageMemoryAttributes - 0x000000007BE60000 - 0x0000000000040000 (0x0000000000000008)
SetUefiImageMemoryAttributes - 0x000000007BDC0000 - 0x0000000000040000 (0x0000000000000008)

The bisector pointed to the following commit:

commit 2f4a5a9f4c17ed88aaa3114d1e161e42cb80a9bf
Author: Dandan Bi <dandan.bi@intel.com>
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 <michael.d.kinney@intel.com>
    Cc: Liming Gao <liming.gao@intel.com>
    Contributed-under: TianoCore Contribution Agreement 1.1
    Signed-off-by: Dandan Bi <dandan.bi@intel.com>
    Reviewed-by: Liming Gao <liming.gao@intel.com>

Any ideas what could have gone wrong?

Best regards,

-- 
Julien Grall


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Unable to boot Linux with master EDK2
  2019-01-18 18:30 Unable to boot Linux with master EDK2 Julien Grall
@ 2019-01-18 18:39 ` Ard Biesheuvel
  2019-01-18 18:41   ` Ard Biesheuvel
  2019-01-21  2:23 ` Bi, Dandan
  1 sibling, 1 reply; 5+ messages in thread
From: Ard Biesheuvel @ 2019-01-18 18:39 UTC (permalink / raw)
  To: Julien Grall
  Cc: edk2-devel-01, Dandan Bi, Gao, Liming, Leif Lindholm,
	Laszlo Ersek, Kinney, Michael D, xen-devel

On Fri, 18 Jan 2019 at 19:30, Julien Grall <julien.grall@arm.com> 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 0x00068C70000 EntryPoint=0x00069D65664
> Loading driver at 0x00068C70000 EntryPoint=0x00069D65664
> InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 7DF6AB18
> ProtectUefiImageCommon - 0x7E041040
>   - 0x0000000068C70000 - 0x0000000002006000
> SetUefiImageMemoryAttributes - 0x0000000068C70000 - 0x0000000000001000 (0x0000000000004008)
> SetUefiImageMemoryAttributes - 0x0000000068C71000 - 0x00000000011CD000 (0x0000000000020008)
> SetUefiImageMemoryAttributes - 0x0000000069E3E000 - 0x0000000000E38000 (0x0000000000004008)
> 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 - 0x000000007F360000 - 0x0000000000040000 (0x0000000000000008)
> SetUefiImageMemoryAttributes - 0x000000007BFF0000 - 0x0000000000040000 (0x0000000000000008)
> SetUefiImageMemoryAttributes - 0x000000007BFA0000 - 0x0000000000040000 (0x0000000000000008)
> SetUefiImageMemoryAttributes - 0x000000007BF00000 - 0x0000000000040000 (0x0000000000000008)
> SetUefiImageMemoryAttributes - 0x000000007BE60000 - 0x0000000000040000 (0x0000000000000008)
> SetUefiImageMemoryAttributes - 0x000000007BDC0000 - 0x0000000000040000 (0x0000000000000008)
>
> The bisector pointed to the following commit:
>
> commit 2f4a5a9f4c17ed88aaa3114d1e161e42cb80a9bf
> Author: Dandan Bi <dandan.bi@intel.com>
> 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 <michael.d.kinney@intel.com>
>     Cc: Liming Gao <liming.gao@intel.com>
>     Contributed-under: TianoCore Contribution Agreement 1.1
>     Signed-off-by: Dandan Bi <dandan.bi@intel.com>
>     Reviewed-by: Liming Gao <liming.gao@intel.com>
>
> Any ideas what could have gone wrong?
>
> Best regards,
>
> --
> Julien Grall


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Unable to boot Linux with master EDK2
  2019-01-18 18:39 ` Ard Biesheuvel
@ 2019-01-18 18:41   ` Ard Biesheuvel
  0 siblings, 0 replies; 5+ messages in thread
From: Ard Biesheuvel @ 2019-01-18 18:41 UTC (permalink / raw)
  To: Julien Grall
  Cc: edk2-devel-01, Dandan Bi, Gao, Liming, Leif Lindholm,
	Laszlo Ersek, Kinney, Michael D, xen-devel

On Fri, 18 Jan 2019 at 19:39, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>
> On Fri, 18 Jan 2019 at 19:30, Julien Grall <julien.grall@arm.com> 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 0x00068C70000 EntryPoint=0x00069D65664
> > Loading driver at 0x00068C70000 EntryPoint=0x00069D65664
> > InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 7DF6AB18
> > ProtectUefiImageCommon - 0x7E041040
> >   - 0x0000000068C70000 - 0x0000000002006000
> > SetUefiImageMemoryAttributes - 0x0000000068C70000 - 0x0000000000001000 (0x0000000000004008)
> > SetUefiImageMemoryAttributes - 0x0000000068C71000 - 0x00000000011CD000 (0x0000000000020008)
> > SetUefiImageMemoryAttributes - 0x0000000069E3E000 - 0x0000000000E38000 (0x0000000000004008)
> > 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 - 0x000000007F360000 - 0x0000000000040000 (0x0000000000000008)
> > SetUefiImageMemoryAttributes - 0x000000007BFF0000 - 0x0000000000040000 (0x0000000000000008)
> > SetUefiImageMemoryAttributes - 0x000000007BFA0000 - 0x0000000000040000 (0x0000000000000008)
> > SetUefiImageMemoryAttributes - 0x000000007BF00000 - 0x0000000000040000 (0x0000000000000008)
> > SetUefiImageMemoryAttributes - 0x000000007BE60000 - 0x0000000000040000 (0x0000000000000008)
> > SetUefiImageMemoryAttributes - 0x000000007BDC0000 - 0x0000000000040000 (0x0000000000000008)
> >
> > The bisector pointed to the following commit:
> >
> > commit 2f4a5a9f4c17ed88aaa3114d1e161e42cb80a9bf
> > Author: Dandan Bi <dandan.bi@intel.com>
> > 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 <michael.d.kinney@intel.com>
> >     Cc: Liming Gao <liming.gao@intel.com>
> >     Contributed-under: TianoCore Contribution Agreement 1.1
> >     Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> >     Reviewed-by: Liming Gao <liming.gao@intel.com>
> >
> > 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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Unable to boot Linux with master EDK2
  2019-01-18 18:30 Unable to boot Linux with master EDK2 Julien Grall
  2019-01-18 18:39 ` Ard Biesheuvel
@ 2019-01-21  2:23 ` Bi, Dandan
  2019-01-21 10:36   ` Julien Grall
  1 sibling, 1 reply; 5+ messages in thread
From: Bi, Dandan @ 2019-01-21  2:23 UTC (permalink / raw)
  To: Julien Grall, edk2-devel-01, Gao, Liming
  Cc: Leif Lindholm, Ard Biesheuvel, Laszlo Ersek, Kinney, Michael D,
	xen-devel

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.grall@arm.com]
> Sent: Saturday, January 19, 2019 2:30 AM
> To: edk2-devel-01 <edk2-devel@lists.01.org>; Bi, Dandan
> <dandan.bi@intel.com>; Gao, Liming <liming.gao@intel.com>
> Cc: Leif Lindholm <leif.lindholm@linaro.org>; Ard Biesheuvel
> <ard.biesheuvel@linaro.org>; Laszlo Ersek <lersek@redhat.com>; Kinney,
> Michael D <michael.d.kinney@intel.com>; xen-devel <xen-
> devel@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 0x00068C70000 EntryPoint=0x00069D65664 Loading driver at
> 0x00068C70000 EntryPoint=0x00069D65664
> InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 7DF6AB18
> ProtectUefiImageCommon - 0x7E041040
>   - 0x0000000068C70000 - 0x0000000002006000
> SetUefiImageMemoryAttributes - 0x0000000068C70000 -
> 0x0000000000001000 (0x0000000000004008) SetUefiImageMemoryAttributes
> - 0x0000000068C71000 - 0x00000000011CD000 (0x0000000000020008)
> SetUefiImageMemoryAttributes - 0x0000000069E3E000 -
> 0x0000000000E38000 (0x0000000000004008) 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 - 0x000000007F360000 -
> 0x0000000000040000 (0x0000000000000008) SetUefiImageMemoryAttributes
> - 0x000000007BFF0000 - 0x0000000000040000 (0x0000000000000008)
> SetUefiImageMemoryAttributes - 0x000000007BFA0000 -
> 0x0000000000040000 (0x0000000000000008) SetUefiImageMemoryAttributes
> - 0x000000007BF00000 - 0x0000000000040000 (0x0000000000000008)
> SetUefiImageMemoryAttributes - 0x000000007BE60000 -
> 0x0000000000040000 (0x0000000000000008) SetUefiImageMemoryAttributes
> - 0x000000007BDC0000 - 0x0000000000040000 (0x0000000000000008)
> 
> The bisector pointed to the following commit:
> 
> commit 2f4a5a9f4c17ed88aaa3114d1e161e42cb80a9bf
> Author: Dandan Bi <dandan.bi@intel.com>
> 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 <michael.d.kinney@intel.com>
>     Cc: Liming Gao <liming.gao@intel.com>
>     Contributed-under: TianoCore Contribution Agreement 1.1
>     Signed-off-by: Dandan Bi <dandan.bi@intel.com>
>     Reviewed-by: Liming Gao <liming.gao@intel.com>
> 
> Any ideas what could have gone wrong?
> 
> Best regards,
> 
> --
> Julien Grall

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Unable to boot Linux with master EDK2
  2019-01-21  2:23 ` Bi, Dandan
@ 2019-01-21 10:36   ` Julien Grall
  0 siblings, 0 replies; 5+ messages in thread
From: Julien Grall @ 2019-01-21 10:36 UTC (permalink / raw)
  To: Bi, Dandan, edk2-devel-01, Gao, Liming
  Cc: Leif Lindholm, Ard Biesheuvel, Laszlo Ersek, Kinney, Michael D,
	xen-devel

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


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-01-21 10:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-18 18:30 Unable to boot Linux with master EDK2 Julien Grall
2019-01-18 18:39 ` Ard Biesheuvel
2019-01-18 18:41   ` Ard Biesheuvel
2019-01-21  2:23 ` Bi, Dandan
2019-01-21 10:36   ` Julien Grall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox