On 10.07.2017 17:32, Thomas Huth wrote: > The netboot code is going to link against the code from virtio.c, too, so > we've got to move the virtio-block and -scsi related code out of the way. > > Signed-off-by: Thomas Huth <th...@redhat.com> > --- > pc-bios/s390-ccw/Makefile | 2 +- > pc-bios/s390-ccw/main.c | 2 +- > pc-bios/s390-ccw/s390-ccw.h | 2 +- > pc-bios/s390-ccw/virtio-blkdev.c | 296 > +++++++++++++++++++++++++++++++++++++++ > pc-bios/s390-ccw/virtio.c | 273 +----------------------------------- > pc-bios/s390-ccw/virtio.h | 4 + > 6 files changed, 307 insertions(+), 272 deletions(-) > create mode 100644 pc-bios/s390-ccw/virtio-blkdev.c > > diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile > index fb88c13..82b41ef 100644 > --- a/pc-bios/s390-ccw/Makefile > +++ b/pc-bios/s390-ccw/Makefile > @@ -9,7 +9,7 @@ $(call set-vpath, $(SRC_PATH)/pc-bios/s390-ccw) > > .PHONY : all clean build-all > > -OBJECTS = start.o main.o bootmap.o sclp.o virtio.o virtio-scsi.o > +OBJECTS = start.o main.o bootmap.o sclp.o virtio.o virtio-scsi.o > virtio-blkdev.o > QEMU_CFLAGS := $(filter -W%, $(QEMU_CFLAGS)) > QEMU_CFLAGS += -ffreestanding -fno-delete-null-pointer-checks -msoft-float > QEMU_CFLAGS += -march=z900 -fPIE -fno-strict-aliasing > diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c > index 0580eac..401e9db 100644 > --- a/pc-bios/s390-ccw/main.c > +++ b/pc-bios/s390-ccw/main.c > @@ -144,7 +144,7 @@ static void virtio_setup(void) > sclp_print("Network boot device detected\n"); > vdev->netboot_start_addr = iplb.ccw.netboot_start_addr; > } else { > - virtio_setup_device(blk_schid); > + virtio_blk_setup_device(blk_schid); > > IPL_assert(virtio_ipl_disk_is_valid(), "No valid IPL device > detected"); > } > diff --git a/pc-bios/s390-ccw/s390-ccw.h b/pc-bios/s390-ccw/s390-ccw.h > index 43e2d42..6fdc858 100644 > --- a/pc-bios/s390-ccw/s390-ccw.h > +++ b/pc-bios/s390-ccw/s390-ccw.h > @@ -74,7 +74,7 @@ void sclp_get_loadparm_ascii(char *loadparm); > unsigned long virtio_load_direct(ulong rec_list1, ulong rec_list2, > ulong subchan_id, void *load_addr); > bool virtio_is_supported(SubChannelId schid); > -void virtio_setup_device(SubChannelId schid); > +void virtio_blk_setup_device(SubChannelId schid); > int virtio_read(ulong sector, void *load_addr); > int enable_mss_facility(void); > ulong get_second(void); > diff --git a/pc-bios/s390-ccw/virtio-blkdev.c > b/pc-bios/s390-ccw/virtio-blkdev.c > new file mode 100644 > index 0000000..6cb77bc > --- /dev/null > +++ b/pc-bios/s390-ccw/virtio-blkdev.c > @@ -0,0 +1,296 @@ > +/* > + * Virtio driver bits > + * > + * Copyright (c) 2013 Alexander Graf <ag...@suse.de> > + * > + * This work is licensed under the terms of the GNU GPL, version 2 or (at > + * your option) any later version. See the COPYING file in the top-level > + * directory. > + */ > + > +#include "libc.h" > +#include "s390-ccw.h" > +#include "virtio.h" > +#include "virtio-scsi.h" > + > +static int virtio_blk_read_many(VDev *vdev, > + ulong sector, void *load_addr, int sec_num) > +{
I would change this on the fly into something nicer. But I assume you really just want a straight copy in this patch. Reviewed-by: David Hildenbrand <da...@redhat.com> -- Thanks, David