qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Question about xen disk unplug support for ahci missed


From: Laszlo Ersek
Subject: Re: [Qemu-devel] Question about xen disk unplug support for ahci missed in qemu
Date: Mon, 19 Oct 2015 21:55:26 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

On 10/19/15 20:29, Fabio Fantoni wrote:
> 2015-10-19 18:57 GMT+02:00 Stefano Stabellini
> <address@hidden
> <mailto:address@hidden>>:
> 
>     On Mon, 19 Oct 2015, John Snow wrote:
>     > On 10/19/2015 07:44 AM, Stefano Stabellini wrote:
>     > > On Mon, 19 Oct 2015, Gerd Hoffmann wrote:
>     > >>   Hi,
>     > >>
>     > >>>> I'm trying to follow this discussion as best as I am able,
>     but my lack
>     > >>>> of experience with Xen prevents me from really participating in a
>     > >>>> meaningful way.
>     > >>>>
>     > >>>> (I see that Laszlo is still discussing some CD-ROM issues
>     with Fabio
>     > >>>> which may be of interest to me...)
>     > >>>>
>     > >>>> At any rate, I won't be authoring any Xen-specific hacks to
>     the AHCI
>     > >>>> device, but I do have plans to implement hot-plugging
>     emulation as per
>     > >>>> the AHCI spec. Perhaps this is sufficient for the Xen layer,
>     but someone
>     > >>>> else will need to author the appropriate glue code.
>     > >>>>
>     > >>>> If "real" hot-plugging is not sufficient, we'll need to
>     discuss further,
>     > >>>> preferably over some RFC patches.
>     > >>>
>     > >>> That's fine. AHCI hot-plugging would go a long way and once we
>     have
>     > >>> that, the rest is easy.
>     > >>
>     > >> Can we get some more background on this?
>     > >>
>     > >> IIRC the IDE bits are needed to boot hvm guests, which goes
>     like this:
>     > >>
>     > >>   (1) boot disk is hooked up using both xenbus and ide.
>     > >>   (2) seabios boots using ide.
>     > >>   (3) linux kernel activates xenbus, at which point qemu zaps
>     the ide
>     > >>       disks to avoid the disk being present twice in the system.
>     > >>
>     > >> Correct?
>     > >>
>     > >> Do we really want repeat this exercise for AHCI?  Alot has
>     changed since
>     > >> this boot hack for ide was added ...
>     > >>
>     > >> As far I know OVMF has xenbus drivers, so OVMF should already
>     boot xen
>     > >> guests just fine without this, correct?
>     > >
>     > > I agree with you that the current unplug in nasty. Also I don't care
>     > > much about AHCI, in fact I don't think we should be spending efforts
>     > > into making that scenario work better. I think we should be
>     working on
>     > > OVMF instead and fix the bug about empty cdrom drives reported
>     by Fabio.
>     > >
>     >
>     > OVMF and AHCI go hand in hand here from my viewpoint. I'm happy to
>     debug
>     > any OVMF+SATA/AHCI problems that are reported.
>     >
>     > Last I saw, Laszlo asked Fabio for some more information on this
>     > problem, so I am waiting for that information to start work on
>     that issue.
> 
>     Fabio reported a bug using OVFM+xen_disk, no AHCI involved. OVFM has
>     already support for the Xen PV disk protocol, see
>     OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.c.
> 
> 
> I not tried with ahci in ovmf in latest because as you told that is a
> missing unplug case in qemu.
> 
> I tried with xendisk and ide, the empty cdrom problem is with both, from
> xl domU cfg:
> 
> ',raw,xvdb,ro,cdrom' for xendisk and ',raw,hdb,ro,cdrom' for ide.
> 
> Using seabios instead boot correctly, with ovmf not:
> http://lists.xen.org/archives/html/xen-devel/2015-10/msg01833.html

I'll reply in that thread soon, with more info I might have.

> If I remember good also in latest test persist also the problem that ovmf not 
> respect the boot order parameter.

OVMF has *utter* respect for the boot order that comes from QEMU via
fw_cfg. The code that is in place has taken many-many hours, and it's
one of the major features of OVMF.

You are welcome to review both the code / git history:

  OvmfPkg/Library/QemuBootOrderLib/

and its extensive documentation:

  http://www.linux-kvm.org/page/OVMF
  (the OVMF whitepaper)

  section "Platform-specific boot policy"

The topic is complex, which is why it requires elaborate code, and
similarly elaborate documentation. The code works in ARM guests as well
(QEMU or KVM), and has been repeatedly updated to recognize QEMU's
OpenFirmware device paths for more and more device types. (Most recently
in <https://github.com/tianocore/edk2/commit/0febef91bf83>.)

The library doesn't work in Xen guests for two reasons:
- I'm not a Xen developer,
- no Xen developer has contributed patches for boot order processing on
  Xen. (If you are interested, *please* read the whitepaper section
  above, before asking questions.)

The immediate technical reason is that Xen guests don't have an fw_cfg
device.

Thanks
Laszlo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]