From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
To: qemu-devel@nongnu.org, peter.maydell@linaro.org
Cc: edgar.iglesias@xilinx.com, afaerber@suse.de, alistair.francis@xilinx.com
Subject: [Qemu-devel] [RFC v0 0/4] Linux boot API and usage in ARM boots
Date: Tue, 30 Jun 2015 12:21:32 -0700 [thread overview]
Message-ID: <cover.1435691033.git.peter.crosthwaite@xilinx.com> (raw)
Hi Peter and All,
QEMU continues to support booting Linux kernels directly without firmware,
but Linux is becoming more and more reliant on firmware or bootloader setup.
In cases where the firmware is very complicated, the firmware should just be
run as the guest and Linux boot is defeatured. But in many cases there is only
a handful of operations needed to get into a well defined linux-operable state.
So add an interface that devices can implement that allow definition of
that state. QEMU Bootloaders can call the linux_init fn for these devices
when it is identified that the boot image is Linux sans firmware.
Not complete. Need to solve the problem of conditionals. I.e. how to
handle a GIC NS setup only in a NS boot. Opaque data might do it.
RFCing as Peter sent a related series for GIC NS setup.
P1 adds a recursive version of object_child_for_each which allows full
QOM tree iterations. I have another use of this out of tree (but well
out of scope of this series).
P2 is the new API. P3 adds it to GIC, but I have #if 0'd the functional code
as it should be rebased to Peter's implementation of the GIC-side
functionality. P4 adds boot.c support for Linux devs.
Regards,
Peter
Peter Crosthwaite (4):
qom: Add recursive version of object_child_for_each
hw: Introduce Linux Device API
intc: arm_gic: Implement Linux boot
arm: boot: Add support for Linux specific boot devs
hw/Makefile.objs | 1 +
hw/arm/boot.c | 18 ++++++++++++++++++
hw/guest/Makefile.objs | 1 +
hw/guest/linux.c | 14 ++++++++++++++
hw/intc/arm_gic.c | 21 +++++++++++++++++++++
include/hw/guest/linux.h | 32 ++++++++++++++++++++++++++++++++
include/qom/object.h | 15 +++++++++++++++
qom/object.c | 25 ++++++++++++++++++++++---
8 files changed, 124 insertions(+), 3 deletions(-)
create mode 100644 hw/guest/Makefile.objs
create mode 100644 hw/guest/linux.c
create mode 100644 include/hw/guest/linux.h
--
2.4.5.3.g6a5966f
next reply other threads:[~2015-06-30 19:21 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-30 19:21 Peter Crosthwaite [this message]
2015-06-30 19:21 ` [Qemu-devel] [RFC v0 1/4] qom: Add recursive version of object_child_for_each Peter Crosthwaite
2015-06-30 19:21 ` [Qemu-devel] [RFC v0 2/4] hw: Introduce Linux Device API Peter Crosthwaite
2015-06-30 19:21 ` [Qemu-devel] [RFC v0 3/4] intc: arm_gic: Implement Linux boot Peter Crosthwaite
2015-06-30 19:46 ` Peter Maydell
2015-06-30 19:21 ` [Qemu-devel] [RFC v0 4/4] arm: boot: Add support for Linux specific boot devs Peter Crosthwaite
2015-06-30 19:45 ` Peter Maydell
2015-06-30 20:04 ` Peter Crosthwaite
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=cover.1435691033.git.peter.crosthwaite@xilinx.com \
--to=peter.crosthwaite@xilinx.com \
--cc=afaerber@suse.de \
--cc=alistair.francis@xilinx.com \
--cc=edgar.iglesias@xilinx.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.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).