All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: qemu-s390x@nongnu.org,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Jared Rossi <jrossi@linux.ibm.com>
Cc: qemu-devel@nongnu.org, Eric Farman <farman@linux.ibm.com>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	"Collin L . Walling" <walling@linux.ibm.com>,
	Janosch Frank <frankja@linux.ibm.com>,
	"Jason J . Herne" <jjherne@linux.ibm.com>,
	Marc Hartmayer <mhartmay@linux.ibm.com>
Subject: [PATCH 5/7] hw/s390x: Remove the possibility to load the s390-netboot.img binary
Date: Fri, 21 Jun 2024 10:24:20 +0200	[thread overview]
Message-ID: <20240621082422.136217-6-thuth@redhat.com> (raw)
In-Reply-To: <20240621082422.136217-1-thuth@redhat.com>

Since the netboot code has now been merged into the main s390-ccw.img
binary, we don't need the separate s390-netboot.img anymore. Remove
it and the code that was responsible for loading it.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/s390x/ipl.h             |  12 +++-----
 hw/s390x/ipl.c             |  55 -------------------------------------
 hw/s390x/s390-virtio-ccw.c |  10 ++-----
 pc-bios/meson.build        |   1 -
 pc-bios/s390-netboot.img   | Bin 67232 -> 0 bytes
 5 files changed, 6 insertions(+), 72 deletions(-)
 delete mode 100644 pc-bios/s390-netboot.img

diff --git a/hw/s390x/ipl.h b/hw/s390x/ipl.h
index 57cd125769..b2105b616a 100644
--- a/hw/s390x/ipl.h
+++ b/hw/s390x/ipl.h
@@ -134,11 +134,8 @@ void s390_ipl_clear_reset_request(void);
 /*
  * The QEMU IPL Parameters will be stored at absolute address
  * 204 (0xcc) which means it is 32-bit word aligned but not
- * double-word aligned.
- * Placement of data fields in this area must account for
- * their alignment needs. E.g., netboot_start_address must
- * have an offset of 4 + n * 8 bytes within the struct in order
- * to keep it double-word aligned.
+ * double-word aligned. Placement of 64-bit data fields in this
+ * area must account for their alignment needs.
  * The total size of the struct must never exceed 28 bytes.
  * This definition must be kept in sync with the definition
  * in pc-bios/s390-ccw/iplb.h.
@@ -146,9 +143,9 @@ void s390_ipl_clear_reset_request(void);
 struct QemuIplParameters {
     uint8_t  qipl_flags;
     uint8_t  reserved1[3];
-    uint64_t netboot_start_addr;
+    uint64_t reserved2;
     uint32_t boot_menu_timeout;
-    uint8_t  reserved2[12];
+    uint8_t  reserved3[12];
 } QEMU_PACKED;
 typedef struct QemuIplParameters QemuIplParameters;
 
@@ -178,7 +175,6 @@ struct S390IPLState {
     char *initrd;
     char *cmdline;
     char *firmware;
-    char *netboot_fw;
     uint8_t cssid;
     uint8_t ssid;
     uint16_t devno;
diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c
index 9362de0b6f..8a0a3e6961 100644
--- a/hw/s390x/ipl.c
+++ b/hw/s390x/ipl.c
@@ -288,7 +288,6 @@ static Property s390_ipl_properties[] = {
     DEFINE_PROP_STRING("initrd", S390IPLState, initrd),
     DEFINE_PROP_STRING("cmdline", S390IPLState, cmdline),
     DEFINE_PROP_STRING("firmware", S390IPLState, firmware),
-    DEFINE_PROP_STRING("netboot_fw", S390IPLState, netboot_fw),
     DEFINE_PROP_BOOL("enforce_bios", S390IPLState, enforce_bios, false),
     DEFINE_PROP_BOOL("iplbext_migration", S390IPLState, iplbext_migration,
                      true),
@@ -480,56 +479,6 @@ int s390_ipl_set_loadparm(uint8_t *loadparm)
     return -1;
 }
 
-static int load_netboot_image(Error **errp)
-{
-    MachineState *ms = MACHINE(qdev_get_machine());
-    S390IPLState *ipl = get_ipl_device();
-    char *netboot_filename;
-    MemoryRegion *sysmem =  get_system_memory();
-    MemoryRegion *mr = NULL;
-    void *ram_ptr = NULL;
-    int img_size = -1;
-
-    mr = memory_region_find(sysmem, 0, 1).mr;
-    if (!mr) {
-        error_setg(errp, "Failed to find memory region at address 0");
-        return -1;
-    }
-
-    ram_ptr = memory_region_get_ram_ptr(mr);
-    if (!ram_ptr) {
-        error_setg(errp, "No RAM found");
-        goto unref_mr;
-    }
-
-    netboot_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, ipl->netboot_fw);
-    if (netboot_filename == NULL) {
-        error_setg(errp, "Could not find network bootloader '%s'",
-                   ipl->netboot_fw);
-        goto unref_mr;
-    }
-
-    img_size = load_elf_ram(netboot_filename, NULL, NULL, NULL,
-                            &ipl->start_addr,
-                            NULL, NULL, NULL, 1, EM_S390, 0, 0, NULL,
-                            false);
-
-    if (img_size < 0) {
-        img_size = load_image_size(netboot_filename, ram_ptr, ms->ram_size);
-        ipl->start_addr = KERN_IMAGE_START;
-    }
-
-    if (img_size < 0) {
-        error_setg(errp, "Failed to load network bootloader");
-    }
-
-    g_free(netboot_filename);
-
-unref_mr:
-    memory_region_unref(mr);
-    return img_size;
-}
-
 static bool is_virtio_ccw_device_of_type(IplParameterBlock *iplb,
                                          int virtio_id)
 {
@@ -754,10 +703,6 @@ void s390_ipl_prepare_cpu(S390CPU *cpu)
             ipl->iplb_valid = s390_gen_initial_iplb(ipl);
         }
     }
-    if (ipl->netboot) {
-        load_netboot_image(&error_fatal);
-        ipl->qipl.netboot_start_addr = cpu_to_be64(ipl->start_addr);
-    }
     s390_ipl_set_boot_menu(ipl);
     s390_ipl_prepare_qipl(cpu);
 }
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 3d0bc3e7f2..779366d551 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -186,11 +186,10 @@ static void s390_memory_init(MemoryRegion *ram)
 static void s390_init_ipl_dev(const char *kernel_filename,
                               const char *kernel_cmdline,
                               const char *initrd_filename, const char *firmware,
-                              const char *netboot_fw, bool enforce_bios)
+                              bool enforce_bios)
 {
     Object *new = object_new(TYPE_S390_IPL);
     DeviceState *dev = DEVICE(new);
-    char *netboot_fw_prop;
 
     if (kernel_filename) {
         qdev_prop_set_string(dev, "kernel", kernel_filename);
@@ -201,11 +200,6 @@ static void s390_init_ipl_dev(const char *kernel_filename,
     qdev_prop_set_string(dev, "cmdline", kernel_cmdline);
     qdev_prop_set_string(dev, "firmware", firmware);
     qdev_prop_set_bit(dev, "enforce_bios", enforce_bios);
-    netboot_fw_prop = object_property_get_str(new, "netboot_fw", &error_abort);
-    if (!strlen(netboot_fw_prop)) {
-        qdev_prop_set_string(dev, "netboot_fw", netboot_fw);
-    }
-    g_free(netboot_fw_prop);
     object_property_add_child(qdev_get_machine(), TYPE_S390_IPL,
                               new);
     object_unref(new);
@@ -270,7 +264,7 @@ static void ccw_init(MachineState *machine)
     s390_init_ipl_dev(machine->kernel_filename, machine->kernel_cmdline,
                       machine->initrd_filename,
                       machine->firmware ?: "s390-ccw.img",
-                      "s390-netboot.img", true);
+                      true);
 
     dev = qdev_new(TYPE_S390_PCI_HOST_BRIDGE);
     object_property_add_child(qdev_get_machine(), TYPE_S390_PCI_HOST_BRIDGE,
diff --git a/pc-bios/meson.build b/pc-bios/meson.build
index 0760612bea..3d2e367d31 100644
--- a/pc-bios/meson.build
+++ b/pc-bios/meson.build
@@ -64,7 +64,6 @@ blobs = [
   'kvmvapic.bin',
   'pvh.bin',
   's390-ccw.img',
-  's390-netboot.img',
   'slof.bin',
   'skiboot.lid',
   'palcode-clipper',
diff --git a/pc-bios/s390-netboot.img b/pc-bios/s390-netboot.img
deleted file mode 100644
index 6908e49f06801808b826d3a01f88132cf1b2f57c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 67232
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
ba_Yxv8Q%DF#((bPsWNoHC+0@D`RV@w*b1Nq

-- 
2.45.2



  parent reply	other threads:[~2024-06-21  8:25 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-21  8:24 [PATCH 0/7] pc-bios/s390-ccw: Merge the netboot loader into s390-ccw.img Thomas Huth
2024-06-21  8:24 ` [PATCH 1/7] pc-bios/s390-ccw: Remove duplicated LDFLAGS Thomas Huth
2024-06-21  8:24 ` [PATCH 2/7] hw/s390x/ipl: Provide more memory to the s390-ccw.img firmware Thomas Huth
2024-06-21  8:24 ` [PATCH 3/7] pc-bios/s390-ccw: Use the libc from SLOF for the main s390-ccw.img binary, too Thomas Huth
2024-06-21  8:24 ` [PATCH 4/7] pc-bios/s390-ccw: Link the netboot code into the main s390-ccw.img binary Thomas Huth
2024-06-21  8:24 ` Thomas Huth [this message]
2024-06-21  8:24 ` [PATCH 6/7] pc-bios/s390-ccw: Merge netboot.mak into the main Makefile Thomas Huth
2024-06-21  8:24 ` [PATCH 7/7] docs/system/s390x/bootdevices: Update the documentation about network booting Thomas Huth
2024-06-21  9:39 ` [PATCH 0/7] pc-bios/s390-ccw: Merge the netboot loader into s390-ccw.img Christian Borntraeger
2024-06-21  9:41   ` Thomas Huth
2024-06-21 20:51 ` Eric Farman
2024-06-24  5:55   ` Thomas Huth
2024-06-28 18:01     ` Jared Rossi
2024-07-01  8:01       ` Thomas Huth
2024-06-24  0:35 ` Jared Rossi
2024-08-26 17:07 ` Jared Rossi
2024-08-27 12:43   ` Thomas Huth
2024-08-27 13:13     ` Jared Rossi

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=20240621082422.136217-6-thuth@redhat.com \
    --to=thuth@redhat.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=farman@linux.ibm.com \
    --cc=frankja@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=jjherne@linux.ibm.com \
    --cc=jrossi@linux.ibm.com \
    --cc=mhartmay@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=walling@linux.ibm.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.