From 5de16aa3c3b28a7a90426e38b06bda827b3c822f Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Sat, 11 Jan 2014 18:00:01 +0100 Subject: [PATCH 11/22] pc_sysfw: remove the rom_only property RH-Author: Laszlo Ersek Message-id: <1389463208-6278-12-git-send-email-lersek@redhat.com> Patchwork-id: 56623 O-Subject: [RHEL-7.0 qemu-kvm PATCH 11/18] pc_sysfw: remove the rom_only property Bugzilla: 1032346 RH-Acked-by: Paolo Bonzini RH-Acked-by: Amos Kong RH-Acked-by: Andrew Jones From: Paolo Bonzini With the new semantics of pc_sysfw (no -pflash implies "old-style" ROM setup, -pflash implies "new-style" ROM setup), there is no need anymore for a compat property. Old machines simply will never use -pflash, and thus will always use old-style setup. Signed-off-by: Paolo Bonzini Message-id: 1376069702-22330-3-git-send-email-aliguori@us.ibm.com Signed-off-by: Anthony Liguori (cherry picked from commit a904410af5f1ed6ff031e9e4119ca2f5d99647ce) Signed-off-by: Laszlo Ersek --- hw/block/pc_sysfw.c | 64 ++++++----------------------------------------------- hw/i386/pc_piix.c | 9 -------- 2 files changed, 7 insertions(+), 66 deletions(-) Signed-off-by: Miroslav Rezanina --- hw/block/pc_sysfw.c | 64 +++++--------------------------------------------- hw/i386/pc_piix.c | 9 ------- 2 files changed, 7 insertions(+), 66 deletions(-) diff --git a/hw/block/pc_sysfw.c b/hw/block/pc_sysfw.c index 38261b1..f9c0633 100644 --- a/hw/block/pc_sysfw.c +++ b/hw/block/pc_sysfw.c @@ -38,7 +38,6 @@ typedef struct PcSysFwDevice { SysBusDevice busdev; - uint8_t rom_only; uint8_t isapc_ram_fw; } PcSysFwDevice; @@ -73,39 +72,6 @@ static void pc_isa_bios_init(MemoryRegion *rom_memory, memory_region_set_readonly(isa_bios, true); } -static void pc_fw_add_pflash_drv(void) -{ - QemuOpts *opts; - QEMUMachine *machine; - char *filename; - - if (bios_name == NULL) { - bios_name = BIOS_FILENAME; - } - filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); - if (!filename) { - error_report("Can't open BIOS image %s", bios_name); - exit(1); - } - - opts = drive_add(IF_PFLASH, -1, filename, "readonly=on"); - - g_free(filename); - - if (opts == NULL) { - return; - } - - machine = find_default_machine(); - if (machine == NULL) { - return; - } - - if (!drive_init(opts, machine->block_default_type)) { - qemu_opts_del(opts); - } -} - static void pc_system_flash_init(MemoryRegion *rom_memory, DriveInfo *pflash_drv) { @@ -213,40 +179,24 @@ void pc_system_firmware_init(MemoryRegion *rom_memory) pflash_drv = drive_get(IF_PFLASH, 0, 0); - if (pflash_drv == NULL) { + if (sysfw_dev->isapc_ram_fw || pflash_drv == NULL) { /* When a pflash drive is not found, use rom-mode */ - sysfw_dev->rom_only = 1; - } else if (kvm_enabled() && !kvm_readonly_mem_enabled()) { - /* Older KVM cannot execute from device memory. So, flash memory - * cannot be used unless the readonly memory kvm capability is present. */ - fprintf(stderr, "qemu: pflash with kvm requires KVM readonly memory support\n"); - exit(1); - } - - /* If rom-mode is active, use the old pc system rom initialization. */ - if (sysfw_dev->rom_only) { old_pc_system_rom_init(rom_memory, sysfw_dev->isapc_ram_fw); return; } - /* If a pflash drive is not found, then create one using - the bios filename. */ - if (pflash_drv == NULL) { - pc_fw_add_pflash_drv(); - pflash_drv = drive_get(IF_PFLASH, 0, 0); - } - - if (pflash_drv != NULL) { - pc_system_flash_init(rom_memory, pflash_drv); - } else { - fprintf(stderr, "qemu: PC system firmware (pflash) not available\n"); + if (kvm_enabled() && !kvm_readonly_mem_enabled()) { + /* Older KVM cannot execute from device memory. So, flash memory + * cannot be used unless the readonly memory kvm capability is present. */ + fprintf(stderr, "qemu: pflash with kvm requires KVM readonly memory support\n"); exit(1); } + + pc_system_flash_init(rom_memory, pflash_drv); } static Property pcsysfw_properties[] = { DEFINE_PROP_UINT8("isapc_ram_fw", PcSysFwDevice, isapc_ram_fw, 0), - DEFINE_PROP_UINT8("rom_only", PcSysFwDevice, rom_only, 0), DEFINE_PROP_END_OF_LIST(), }; diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 0a8a4e5..6f273db 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -471,10 +471,6 @@ static QEMUMachine pc_machine_v1_1 = { #define PC_COMPAT_1_0 \ PC_COMPAT_1_1,\ {\ - .driver = "pc-sysfw",\ - .property = "rom_only",\ - .value = stringify(1),\ - }, {\ .driver = TYPE_ISA_FDC,\ .property = "check_media_rate",\ .value = "off",\ @@ -711,11 +707,6 @@ static QEMUMachine isapc_machine = { .compat_props = (GlobalProperty[]) { { .driver = "pc-sysfw", - .property = "rom_only", - .value = stringify(1), - }, - { - .driver = "pc-sysfw", .property = "isapc_ram_fw", .value = stringify(1), }, -- 1.7.1