qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v1 for-2.13 0/4] pc-bios/s390-ccw: Network boot


From: Farhan Ali
Subject: Re: [Qemu-devel] [PATCH v1 for-2.13 0/4] pc-bios/s390-ccw: Network boot improvements
Date: Wed, 18 Apr 2018 14:21:18 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0



On 04/18/2018 08:31 AM, Thomas Huth wrote:
Some patches to improve the network boot experience on s390x:

First, make sure that we shut down the virtio-net device before jumping
into the kernel. Otherwise some incoming packets might destroy some of
the kernel's data if it has not taken over the device yet.

Then the last two patches add support for loading kernels via
configuration files - pxelinux-style and .INS-file style. This way
you don't have to manually glue your ramdisk to your kernel anymore,
so this should be quite a relieve for all users who want to boot
Linux via the network.

The config file parsers have been completely written by myself from
scratch and only tested with some config files that I came up with
on my own. So if anybody has some pre-existing pxelinux config files
already for booting a s390x, I'd appreciate some testing to see whether
this works as expected for you, too!

Thomas Huth (4):
   pc-bios/s390-ccw/net: Split up net_load() into init, load and uninit
     parts
   pc-bios/s390-ccw/net: Stop virtio-net device before jumping into the
     OS
   pc-bios/s390-ccw/net: Add support for pxelinux-style config files
   pc-bios/s390-ccw/net: Add support for .INS config files

  pc-bios/s390-ccw/netboot.mak  |   5 +-
  pc-bios/s390-ccw/netmain.c    | 312 ++++++++++++++++++++++++++++++++++++++----
  pc-bios/s390-ccw/virtio-net.c |   8 ++
  pc-bios/s390-ccw/virtio.c     |  19 ++-
  pc-bios/s390-ccw/virtio.h     |   3 +
  5 files changed, 312 insertions(+), 35 deletions(-)



I have tried with pxelinux default config file I had and it worked fine. I will try a couple more tests.

Also while going through the code again, I noticed a memory leak in the function virtio_net_init, and fixed it. I could send a formal patch for it, if you want to queue it as part of this series as I think we might have missed 2.12 window?

diff --git a/pc-bios/s390-ccw/virtio-net.c b/pc-bios/s390-ccw/virtio-net.c
index ff7f4da..e83ba08 100644
--- a/pc-bios/s390-ccw/virtio-net.c
+++ b/pc-bios/s390-ccw/virtio-net.c
@@ -61,6 +61,7 @@ int virtio_net_init(void *mac_addr)
IPL_assert(buf != NULL, "Can not allocate memory for receive buffers");
         vring_send_buf(rxvq, buf, ETH_MTU_SIZE + sizeof(VirtioNetHdr),
                        VRING_DESC_F_WRITE);
+        free(buf);
     }
     vring_notify(rxvq);




reply via email to

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