diff mbox series

[PULL,04/23] hw/s390x: Remove the possibility to load the s390-netboot.img binary

Message ID 20241023131710.906748-5-thuth@redhat.com (mailing list archive)
State New
Headers show
Series [PULL,01/23] hw/s390x/ipl: Provide more memory to the s390-ccw.img firmware | expand

Commit Message

Thomas Huth Oct. 23, 2024, 1:16 p.m. UTC
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.

Message-Id: <20240621082422.136217-6-thuth@redhat.com>
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

GIT binary patch
literal 0
HcmV?d00001

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

Patch

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 5f60977ceb..8c490eeb52 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 5aa8d207a3..529e53f308 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -197,11 +197,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);
@@ -212,11 +211,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);
@@ -284,7 +278,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 090379763e..4823dff189 100644
--- a/pc-bios/meson.build
+++ b/pc-bios/meson.build
@@ -68,7 +68,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