Re: [PATCH v3 0/6] efi/x86: add support for generic EFI mixed mode boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 1 Mar 2020 at 21:02, Ard Biesheuvel <ardb@xxxxxxxxxx> wrote:
>
> On Sun, 1 Mar 2020 at 21:00, Arvind Sankar <nivedita@xxxxxxxxxxxx> wrote:
> >
> > On Sun, Mar 01, 2020 at 08:36:42PM +0100, Ard Biesheuvel wrote:
> > > On Sun, 1 Mar 2020 at 18:22, Arvind Sankar <nivedita@xxxxxxxxxxxx> wrote:
> > > >
> > > > On Sun, Mar 01, 2020 at 12:15:10PM -0500, Arvind Sankar wrote:
> > > > > What I'm doing is creating an x86-64 defconfig based on tip:efi/core,
> > > > > and then running it via
> > > > >
> > > > > $ qemu-system-x86_64 -cpu Haswell -pflash qemu/OVMF_64.fd \
> > > >                                                  ^^^^^^^
> > > > That OVMF_64.fd is incorrect copy/paste from a different run, the panic
> > > > case is using OVMF-mixed-mode-compat-section.fd.
> > > > >   -drive file=fat:rw:qemu/boot -nographic -m 3072
> > >
> > > Thanks for the patch. Interestingly, I don't even make it to the point
> > > where it crashes, and I end up in an ASSERT() in the firmware:
> > >
> > > ASSERT_EFI_ERROR (Status = Not Found)
> > > ASSERT /home/ardbie01/build/edk2/MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.c(347):
> > > !EFI_ERROR (Status)
> > >
> > > which appears to be a result of the fact that the memory map passed to
> > > SetVirtualAddressMap() does not cover some function pointer that gets
> > > converted in that code.
> > >
> > > I don't remember - does mixed mode even work in general with 3 GB of memory?
> >
> > Oh -- is there some option to enable debugging assertions? I did see
> > that it crashed somewhere inside SetVirtualMap (i.e. we called it and
> > it never returned).
> >
>
> The ASSERT()s are always active, but you don't see them if you don't
> expose the debugcon
>
> > For some reason, with nokaslr on the command line, I can't get this to
> > crash. All the addresses seem to be within 4Gb, so it ought to work, no?
>
> The issue is in the memory map we compile and send back to the firware
> - apparently, that ends up wrong for some reason.

BTW I uploaded another version which uses Loadimage/Startimage (and
the .compat section) for mixed mode kernels passed to QEMU via the
command line

https://people.linaro.org/~ard.biesheuvel/OVMF-mixed-mode-compat-section-cmdline.fd



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux