From: David Gibson <david@gibson.dropbear.id.au>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>,
Alexey Kardashevskiy <aik@ozlabs.ru>,
qemu-devel <qemu-devel@nongnu.org>,
Cornelia Huck <conny@cornelia-huck.de>,
Christian Borntraeger <borntraeger@de.ibm.com>,
Stefano Garzarella <sgarzare@redhat.com>
Subject: Re: VW ELF loader
Date: Mon, 3 Feb 2020 12:31:11 +1100 [thread overview]
Message-ID: <20200203013111.GE52446@umbus.fritz.box> (raw)
In-Reply-To: <CABgObfaG6th54YJkEPaqq=_UQhvmZiJz6X6Yb_PZJQ15AZvMTA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2640 bytes --]
On Sun, Feb 02, 2020 at 06:38:59PM +0100, Paolo Bonzini wrote:
> Il dom 2 feb 2020, 12:51 Alexey Kardashevskiy <aik@ozlabs.ru> ha scritto:
>
> > > QEMU must not load GRUB from disk, that's the firmware's task. If you
> > > want to kill SLOF, you can rewrite it, but loading the kernel GRUB from
> > > disk within QEMU is a bad idea: the next feature you'll be requested to
> > > implement will be network boot, and there's no way to do that in QEMU.
> >
> > What is exactly the problem with netboot? I can hook up the OF's "net" to
> > a backend (as I do for serial console and
> > blockdev, in boot order)
>
> Who provides the OpenFirmware entry point when you remove SLOF and boot
> directly into grub?
We do the same thing as we do for RTAS. We have a tiny (20 byte) stub
for the client interface entry point which forwards client interface
calls to a hypercall which we implement in qemu.
> Or alternatively it is possible with my patchset to load petitboot (kernel
> > + intramdisk, the default way of booting
> > POWER8/9 baremetal systems) and that thing can do whole lot of things, we
> > can consider it as a replacement for ROMs from
> > devices (or I misunderstood what kind of netboot you meant).
> >
>
> Why wouldn't that have the same issue as SLOF that you describe below (I
> honestly don't understand anything of it, but that's not your fault :-)).
Because having it's own full understanding of the hardware (via its
linux kernel), petitboot doesn't have to shared data with the
hypervisor to the extent that SLOF needs to.
>
> Paolo
>
>
> > > You should be able to reuse quite a lot of code from both
> > > pc-bios/s390-ccw (for virtio drivers) and kvm-unit-tests (for device
> > > tree parsing). You'd have to write the glue code for PCI hypercalls,
> > > and adapt virtio.c for virtio-pci instead of virtio-ccw.
> >
> > The reason for killing SLOF is to keep one device tree for the entire boot
> > process including
> > ibm,client-architecture-support with possible (and annoying) configuration
> > reboots. Having another firware won't help
> > with that.
> >
> > Also the OF1275 client interface is the way for the client to get
> > net/block device without need to have drivers, I'd
> > like to do just this and skip the middle man (QEMU device and guest driver
> > in firmware/bootloader).
> >
> > I'll post another RFC tomorrow to give a better idea.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2020-02-03 1:32 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-01 13:39 VW ELF loader Alexey Kardashevskiy
2020-02-01 19:04 ` Paolo Bonzini
2020-02-02 11:51 ` Alexey Kardashevskiy
2020-02-02 17:38 ` Paolo Bonzini
2020-02-03 1:31 ` David Gibson [this message]
2020-02-03 1:28 ` David Gibson
2020-02-03 9:12 ` Paolo Bonzini
2020-02-03 9:50 ` David Gibson
2020-02-03 10:58 ` Alexey Kardashevskiy
2020-02-03 15:08 ` Paolo Bonzini
2020-02-03 22:36 ` Alexey Kardashevskiy
2020-02-03 22:56 ` Paolo Bonzini
2020-02-03 23:19 ` Alexey Kardashevskiy
2020-02-03 23:26 ` Paolo Bonzini
2020-02-04 6:16 ` Thomas Huth
2020-02-04 8:54 ` Cornelia Huck
2020-02-04 9:20 ` Restrictions of libnet (was: Re: VW ELF loader) Thomas Huth
2020-02-04 9:32 ` Thomas Huth
2020-02-04 9:33 ` Michal Suchánek
2020-02-05 5:30 ` David Gibson
2020-02-05 6:24 ` Thomas Huth
2020-02-10 7:55 ` David Gibson
2020-02-10 9:39 ` Michal Suchánek
2020-02-13 3:16 ` David Gibson
2020-02-04 23:18 ` VW ELF loader Alexey Kardashevskiy
2020-02-05 6:06 ` David Gibson
2020-02-05 9:28 ` Cornelia Huck
2020-02-06 4:47 ` David Gibson
2020-02-06 8:27 ` Paolo Bonzini
2020-02-06 23:17 ` Alexey Kardashevskiy
2020-02-06 23:45 ` Paolo Bonzini
2020-02-10 7:30 ` David Gibson
2020-02-10 10:37 ` Peter Maydell
2020-02-10 11:25 ` Paolo Bonzini
2020-02-14 3:23 ` David Gibson
2020-02-10 7:28 ` David Gibson
2020-02-10 11:26 ` Paolo Bonzini
2020-02-14 4:02 ` David Gibson
2020-02-05 5:58 ` David Gibson
2020-02-06 8:29 ` Paolo Bonzini
2020-02-06 23:23 ` Alexey Kardashevskiy
2020-02-06 23:46 ` Paolo Bonzini
2020-02-10 0:31 ` Alexey Kardashevskiy
2020-02-13 1:43 ` Alexey Kardashevskiy
2020-02-13 10:17 ` Paolo Bonzini
2020-02-14 0:01 ` Alexey Kardashevskiy
2020-02-14 2:30 ` David Gibson
2020-02-04 9:40 ` Christian Borntraeger
2026-07-06 9:07 ` Utkarsh Verma
2026-07-06 11:46 ` David Gibson
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=20200203013111.GE52446@umbus.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=aik@ozlabs.ru \
--cc=borntraeger@de.ibm.com \
--cc=conny@cornelia-huck.de \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=sgarzare@redhat.com \
--cc=thuth@redhat.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.