Message ID | 20181130151712.2312-2-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | Remove deprecated load_image() function | expand |
On 11/30/18 9:17 AM, Peter Maydell wrote: > The load_image() function is deprecated, as it does not let the > caller specify how large the buffer to read the file into is. > Use the glib g_file_get_contents() function instead, which does > the whole "allocate memory for the file and read it in" operation. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > hw/ppc/mac_newworld.c | 10 ++++------ > hw/ppc/mac_oldworld.c | 10 ++++------ > 2 files changed, 8 insertions(+), 12 deletions(-) > > diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c > index 14273a123e5..7e45afae7c5 100644 > --- a/hw/ppc/mac_newworld.c > +++ b/hw/ppc/mac_newworld.c > @@ -127,8 +127,7 @@ static void ppc_core99_init(MachineState *machine) > MACIOIDEState *macio_ide; > BusState *adb_bus; > MacIONVRAMState *nvr; > - int bios_size, ndrv_size; > - uint8_t *ndrv_file; > + int bios_size; > int ppc_boot_device; > DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS]; > void *fw_cfg; > @@ -510,11 +509,10 @@ static void ppc_core99_init(MachineState *machine) > /* MacOS NDRV VGA driver */ > filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, NDRV_VGA_FILENAME); > if (filename) { > - ndrv_size = get_image_size(filename); > - if (ndrv_size != -1) { > - ndrv_file = g_malloc(ndrv_size); > - ndrv_size = load_image(filename, ndrv_file); > + gchar *ndrv_file; > + gsize ndrv_size; > > + if (g_file_get_contents(filename, &ndrv_file, &ndrv_size, NULL)) { > fw_cfg_add_file(fw_cfg, "ndrv/qemu_vga.ndrv", ndrv_file, ndrv_size); > } The fw_cfg_add_file() is silently skipped if g_file_get_contents() fails - but that's no different than pre-patch when get_image_size() fails. We could/should probably do better, but not the task for this patch's mechanical conversion. Reviewed-by: Eric Blake <eblake@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
On Fri, Nov 30, 2018 at 03:17:03PM +0000, Peter Maydell wrote: > The load_image() function is deprecated, as it does not let the > caller specify how large the buffer to read the file into is. > Use the glib g_file_get_contents() function instead, which does > the whole "allocate memory for the file and read it in" operation. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: David Gibson <david@gibson.dropbear.id.au> > --- > hw/ppc/mac_newworld.c | 10 ++++------ > hw/ppc/mac_oldworld.c | 10 ++++------ > 2 files changed, 8 insertions(+), 12 deletions(-) > > diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c > index 14273a123e5..7e45afae7c5 100644 > --- a/hw/ppc/mac_newworld.c > +++ b/hw/ppc/mac_newworld.c > @@ -127,8 +127,7 @@ static void ppc_core99_init(MachineState *machine) > MACIOIDEState *macio_ide; > BusState *adb_bus; > MacIONVRAMState *nvr; > - int bios_size, ndrv_size; > - uint8_t *ndrv_file; > + int bios_size; > int ppc_boot_device; > DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS]; > void *fw_cfg; > @@ -510,11 +509,10 @@ static void ppc_core99_init(MachineState *machine) > /* MacOS NDRV VGA driver */ > filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, NDRV_VGA_FILENAME); > if (filename) { > - ndrv_size = get_image_size(filename); > - if (ndrv_size != -1) { > - ndrv_file = g_malloc(ndrv_size); > - ndrv_size = load_image(filename, ndrv_file); > + gchar *ndrv_file; > + gsize ndrv_size; > > + if (g_file_get_contents(filename, &ndrv_file, &ndrv_size, NULL)) { > fw_cfg_add_file(fw_cfg, "ndrv/qemu_vga.ndrv", ndrv_file, ndrv_size); > } > g_free(filename); > diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c > index 9891c325a9b..817f70e52cf 100644 > --- a/hw/ppc/mac_oldworld.c > +++ b/hw/ppc/mac_oldworld.c > @@ -99,8 +99,7 @@ static void ppc_heathrow_init(MachineState *machine) > SysBusDevice *s; > DeviceState *dev, *pic_dev; > BusState *adb_bus; > - int bios_size, ndrv_size; > - uint8_t *ndrv_file; > + int bios_size; > uint16_t ppc_boot_device; > DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS]; > void *fw_cfg; > @@ -361,11 +360,10 @@ static void ppc_heathrow_init(MachineState *machine) > /* MacOS NDRV VGA driver */ > filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, NDRV_VGA_FILENAME); > if (filename) { > - ndrv_size = get_image_size(filename); > - if (ndrv_size != -1) { > - ndrv_file = g_malloc(ndrv_size); > - ndrv_size = load_image(filename, ndrv_file); > + gchar *ndrv_file; > + gsize ndrv_size; > > + if (g_file_get_contents(filename, &ndrv_file, &ndrv_size, NULL)) { > fw_cfg_add_file(fw_cfg, "ndrv/qemu_vga.ndrv", ndrv_file, ndrv_size); > } > g_free(filename); -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index 14273a123e5..7e45afae7c5 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -127,8 +127,7 @@ static void ppc_core99_init(MachineState *machine) MACIOIDEState *macio_ide; BusState *adb_bus; MacIONVRAMState *nvr; - int bios_size, ndrv_size; - uint8_t *ndrv_file; + int bios_size; int ppc_boot_device; DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS]; void *fw_cfg; @@ -510,11 +509,10 @@ static void ppc_core99_init(MachineState *machine) /* MacOS NDRV VGA driver */ filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, NDRV_VGA_FILENAME); if (filename) { - ndrv_size = get_image_size(filename); - if (ndrv_size != -1) { - ndrv_file = g_malloc(ndrv_size); - ndrv_size = load_image(filename, ndrv_file); + gchar *ndrv_file; + gsize ndrv_size; + if (g_file_get_contents(filename, &ndrv_file, &ndrv_size, NULL)) { fw_cfg_add_file(fw_cfg, "ndrv/qemu_vga.ndrv", ndrv_file, ndrv_size); } g_free(filename); diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index 9891c325a9b..817f70e52cf 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -99,8 +99,7 @@ static void ppc_heathrow_init(MachineState *machine) SysBusDevice *s; DeviceState *dev, *pic_dev; BusState *adb_bus; - int bios_size, ndrv_size; - uint8_t *ndrv_file; + int bios_size; uint16_t ppc_boot_device; DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS]; void *fw_cfg; @@ -361,11 +360,10 @@ static void ppc_heathrow_init(MachineState *machine) /* MacOS NDRV VGA driver */ filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, NDRV_VGA_FILENAME); if (filename) { - ndrv_size = get_image_size(filename); - if (ndrv_size != -1) { - ndrv_file = g_malloc(ndrv_size); - ndrv_size = load_image(filename, ndrv_file); + gchar *ndrv_file; + gsize ndrv_size; + if (g_file_get_contents(filename, &ndrv_file, &ndrv_size, NULL)) { fw_cfg_add_file(fw_cfg, "ndrv/qemu_vga.ndrv", ndrv_file, ndrv_size); } g_free(filename);
The load_image() function is deprecated, as it does not let the caller specify how large the buffer to read the file into is. Use the glib g_file_get_contents() function instead, which does the whole "allocate memory for the file and read it in" operation. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- hw/ppc/mac_newworld.c | 10 ++++------ hw/ppc/mac_oldworld.c | 10 ++++------ 2 files changed, 8 insertions(+), 12 deletions(-) -- 2.19.1