All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 00/10] Implement network booting directly into the s390-ccw BIOS
@ 2017-07-10 15:32 Thomas Huth
  2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 01/10] pc-bios/s390-ccw: Move libc functions to separate header Thomas Huth
                   ` (12 more replies)
  0 siblings, 13 replies; 28+ messages in thread
From: Thomas Huth @ 2017-07-10 15:32 UTC (permalink / raw)
  To: qemu-devel, Christian Borntraeger, Cornelia Huck
  Cc: Alexander Graf, Farhan Ali, David Hildenbrand,
	Viktor Mihajlovski, Alexey Kardashevskiy

It's already possible to do a network boot of an s390x guest with an
external netboot image based on a Linux installation, but it would
be much more convenient if the s390-ccw firmware supported network
booting right out of the box, without the need to assemble such an
external image first.

This patch series now introduces a s390-netboot.img that can be used
for network booting via DHCP and TFTP by re-using the networking stack
from the SLOF firmware (see https://github.com/aik/SLOF/ for details),
and adds a driver for virtio-net-ccw devices.

The code can only be built if the roms/SLOF submodule has been checked
out (there is a sanity check for this in the Makefile). Once it has
been built, you can download a combined kernel + initrd image via TFTP
by starting QEMU for example with:

 qemu-system-s390x ... -device virtio-net,netdev=n1,bootindex=1 \
       -netdev user,id=n1,tftp=/path/to/tftp,bootfile=kernel.img

Note that this version does not support downloading via config
files (i.e. pxelinux config files or .INS config files) yet. This
will be added later.

v3:
 - Adressed the review feedback from v2
 - The last remaining SLOF patch has now been merged (big thanks to
   Alexey!), so not sending this as RFC anymore - it is ready now for
   integration, I think.

v2:
 - Put the network boot loader into a separate s390-netboot.img
   binary instead of linking it directly into the s390-ccw firmware.
 - Use the SLOF sources from the roms/SLOF/ submodule instead of
   copying them into the pc-bios/s390-ccw folder
 - Removed the .INS config file loading code for now - only support
   combined kernel + initrd images in this initial implementation.

Thomas Huth (10):
  pc-bios/s390-ccw: Move libc functions to separate header
  pc-bios/s390-ccw: Move ebc2asc to sclp.c
  pc-bios/s390-ccw: Move virtio-block related functions into a separate
    file
  pc-bios/s390-ccw: Add a write() function for stdio
  pc-bios/s390-ccw: Move byteswap functions to a separate header
  pc-bios/s390-ccw: Add code for virtio feature negotiation
  roms/SLOF: Update submodule to latest status
  pc-bios/s390-ccw: Add core files for the network bootloading program
  pc-bios/s390-ccw: Add virtio-net driver code
  pc-bios/s390-ccw: Link libnet into the netboot image and do the TFTP
    load

 pc-bios/s390-ccw/Makefile        |  13 +-
 pc-bios/s390-ccw/bootmap.c       |   2 +
 pc-bios/s390-ccw/bootmap.h       |  26 ---
 pc-bios/s390-ccw/bswap.h         |  25 +++
 pc-bios/s390-ccw/libc.h          |  45 +++++
 pc-bios/s390-ccw/main.c          |  14 +-
 pc-bios/s390-ccw/netboot.mak     |  51 ++++++
 pc-bios/s390-ccw/netmain.c       | 365 +++++++++++++++++++++++++++++++++++++++
 pc-bios/s390-ccw/s390-ccw.h      |  33 +---
 pc-bios/s390-ccw/sclp.c          |  37 ++--
 pc-bios/s390-ccw/virtio-blkdev.c | 297 +++++++++++++++++++++++++++++++
 pc-bios/s390-ccw/virtio-net.c    | 133 ++++++++++++++
 pc-bios/s390-ccw/virtio-scsi.c   |   1 +
 pc-bios/s390-ccw/virtio.c        | 306 ++++----------------------------
 pc-bios/s390-ccw/virtio.h        |  18 +-
 roms/SLOF                        |   2 +-
 16 files changed, 1007 insertions(+), 361 deletions(-)
 create mode 100644 pc-bios/s390-ccw/bswap.h
 create mode 100644 pc-bios/s390-ccw/libc.h
 create mode 100644 pc-bios/s390-ccw/netboot.mak
 create mode 100644 pc-bios/s390-ccw/netmain.c
 create mode 100644 pc-bios/s390-ccw/virtio-blkdev.c
 create mode 100644 pc-bios/s390-ccw/virtio-net.c

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2017-07-11 14:05 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-10 15:32 [Qemu-devel] [PATCH v3 00/10] Implement network booting directly into the s390-ccw BIOS Thomas Huth
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 01/10] pc-bios/s390-ccw: Move libc functions to separate header Thomas Huth
2017-07-11  7:49   ` Cornelia Huck
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 02/10] pc-bios/s390-ccw: Move ebc2asc to sclp.c Thomas Huth
2017-07-11  9:43   ` David Hildenbrand
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 03/10] pc-bios/s390-ccw: Move virtio-block related functions into a separate file Thomas Huth
2017-07-11  7:53   ` Cornelia Huck
2017-07-11  9:45   ` David Hildenbrand
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 04/10] pc-bios/s390-ccw: Add a write() function for stdio Thomas Huth
2017-07-11  9:47   ` David Hildenbrand
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 05/10] pc-bios/s390-ccw: Move byteswap functions to a separate header Thomas Huth
2017-07-11  7:39   ` Christian Borntraeger
2017-07-11  7:59   ` Cornelia Huck
2017-07-11  8:52     ` Thomas Huth
2017-07-11  9:05       ` Cornelia Huck
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 06/10] pc-bios/s390-ccw: Add code for virtio feature negotiation Thomas Huth
2017-07-11  8:47   ` Cornelia Huck
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 07/10] roms/SLOF: Update submodule to latest status Thomas Huth
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 08/10] pc-bios/s390-ccw: Add core files for the network bootloading program Thomas Huth
2017-07-11  8:52   ` Cornelia Huck
2017-07-11 13:30     ` Thomas Huth
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 09/10] pc-bios/s390-ccw: Add virtio-net driver code Thomas Huth
2017-07-11  8:57   ` Cornelia Huck
2017-07-10 15:32 ` [Qemu-devel] [PATCH v3 10/10] pc-bios/s390-ccw: Link libnet into the netboot image and do the TFTP load Thomas Huth
2017-07-11  9:01   ` Cornelia Huck
2017-07-11  7:46 ` [Qemu-devel] [PATCH v3 00/10] Implement network booting directly into the s390-ccw BIOS Christian Borntraeger
2017-07-11 13:37 ` no-reply
2017-07-11 14:04 ` no-reply

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.