xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Juergen Gross <JGross@suse.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: PV guest with PCI passthrough crash on Xen 4.8.3 inside KVM when booted through OVMF
Date: Fri, 16 Feb 2018 20:54:15 +0100	[thread overview]
Message-ID: <20180216195415.GK2084@mail-itl> (raw)
In-Reply-To: <b8bb621f-1558-d207-4978-4dca46e350e6@citrix.com>


[-- Attachment #1.1: Type: text/plain, Size: 3789 bytes --]

On Fri, Feb 16, 2018 at 07:02:39PM +0000, Andrew Cooper wrote:
> On 16/02/18 18:51, Marek Marczykowski-Górecki wrote:
> > On Fri, Feb 16, 2018 at 05:52:50PM +0000, Andrew Cooper wrote:
> >> On 16/02/18 17:48, Marek Marczykowski-Górecki wrote:
> >>> Hi,
> >>>
> >>> As in the subject, the guest crashes on boot, before kernel output
> >>> anything. I've isolated this to the conditions below:
> >>>  - PV guest have PCI device assigned (e1000e emulated by QEMU in this case),
> >>>    without PCI device it works
> >>>  - Xen (in KVM) is started through OVMF; with seabios it works
> >>>  - nested HVM is disabled in KVM
> >>>  - AMD IOMMU emulation is disabled in KVM; when enabled qemu crashes on
> >>>    boot (looks like qemu bug, unrelated to this one)
> >>>
> >>> Version info:
> >>>  - KVM host: OpenSUSE 42.3, qemu 2.9.1, ovmf-2017+git1492060560.b6d11d7c46-4.1, AMD
> >>>  - Xen host: Xen 4.8.3, dom0: Linux 4.14.13
> >>>  - Xen domU: Linux 4.14.13, direct boot
> >>>
> >>> Not sure if relevant, but initially I've tried booting xen.efi /mapbs
> >>> /noexitboot and then dom0 kernel crashed saying something about conflict
> >>> between e820 and kernel mapping. But now those options are disabled.
> >>>
> >>> The crash message:
> >>> (XEN) d1v0 Unhandled invalid opcode fault/trap [#6, ec=0000]
> >>> (XEN) domain_crash_sync called from entry.S: fault at ffff82d080218720 entry.o#create_bounce_frame+0x137/0x146
> >>> (XEN) Domain 1 (vcpu#0) crashed on cpu#1:
> >>> (XEN) ----[ Xen-4.8.3  x86_64  debug=n   Not tainted ]----
> >>> (XEN) CPU:    1
> >>> (XEN) RIP:    e033:[<ffffffff826d9156>]
> >> This is #UD, which is most probably hitting a BUG().  addr2line this ^
> >> to find some code to look at.
> > addr2line failed me
> 
> By default, vmlinux is stripped and compressed.  Ideally you want to
> addr2line the vmlinux artefact in the root of your kernel build, which
> is the plain elf with debugging symbols.

Yes, I've used it on vmlinux. Still got "??:?".

> Alternatively, use scripts/extract-vmlinux on the binary you actually
> booted, which might get you somewhere.

Interestingly, that fails too ("Cannot find vmlinux.").
But I don't care right now.

> > , but System.map says its xen_memory_setup. And it
> > looks like the BUG() is the same as I had in dom0 before:
> > "Xen hypervisor allocated kernel memory conflicts with E820 map".
> 
> Juergen: Is there anything we can do to try and insert some dummy
> exception handlers right at PV start, so we could at least print out a
> oneliner to the host console which is a little more helpful than Xen
> saying "something unknown went wrong" ?

Just before the BUG(), there is a call to xen_raw_console_write(). But
apparently it was too early...

> > Disabling e820_host in guest config solved the problem. Thanks!
> >
> > Is this some bug in Xen or OVMF, or is it expected behavior and e820_host
> > should be avoided?
> 
> I don't really know.  e820_host is a gross hack which shouldn't really
> be present.  The actually problem is that Linux can't cope with the
> memory layout it was given (and I can't recall if there is anything
> Linux could potentially to do cope).  OTOH, the toolstack, which knew
> about e820_host and chose to lay the guest out in an overlapping way is
> probably also at fault.

Yes, probably. But note that the same happened to dom0, when /mapbs is
used. Toolstack wasn't involved there. But /mapbs is also a hack.

> IMO, PCI Passthrough is a trainwreck, and it is a miracle it functions
> at all.
> 
> ~Andrew

-- 
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2018-02-16 19:54 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-16 17:48 PV guest with PCI passthrough crash on Xen 4.8.3 inside KVM when booted through OVMF Marek Marczykowski-Górecki
2018-02-16 17:52 ` Andrew Cooper
2018-02-16 18:51   ` Marek Marczykowski-Górecki
2018-02-16 19:02     ` Andrew Cooper
2018-02-16 19:54       ` Marek Marczykowski-Górecki [this message]
2018-02-19 17:23         ` Juergen Gross
2018-02-19 17:29           ` Marek Marczykowski-Górecki
2018-02-19 17:46             ` Juergen Gross
2018-02-19 17:49               ` Andrew Cooper
2018-02-16 21:35       ` Rich Persaud
2018-02-19 17:13         ` Roger Pau Monné
2018-02-19 17:30       ` Juergen Gross
2023-11-26 14:51         ` [Xen-devel] " Marek Marczykowski-Górecki
     [not found]           ` <CACHz=ZiWufUenyw_wg+QuK86+gU5RZNkuJNzX9-K1UM5P3m8+Q@mail.gmail.com>
2023-11-27 11:26             ` Marek Marczykowski-Górecki
2023-11-27 15:56               ` Jason Andryuk
2023-11-27 16:05                 ` Juergen Gross

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-all 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=20180216195415.GK2084@mail-itl \
    --to=marmarek@invisiblethingslab.com \
    --cc=JGross@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /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;
as well as URLs for NNTP newsgroup(s).