[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 3/5] Qemu: do not mark bios readonly
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [PATCH v2 3/5] Qemu: do not mark bios readonly |
Date: |
Fri, 26 Oct 2012 12:35:30 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
On 2012-10-25 11:22, Xiao Guangrong wrote:
> In isapc, no i440x device exists in guest that means seabios can not
> make 0xc0000 to 0x1000000 writable
>
> It works fine in current code since the guest can happily write readonly
> memory. In order to support readonly slot in Qemu, we do not make the bios
> readonly anymore
>
> Signed-off-by: Xiao Guangrong <address@hidden>
> ---
> hw/pc_sysfw.c | 2 --
> 1 files changed, 0 insertions(+), 2 deletions(-)
>
> diff --git a/hw/pc_sysfw.c b/hw/pc_sysfw.c
> index b45f0ac..2d56fc7 100644
> --- a/hw/pc_sysfw.c
> +++ b/hw/pc_sysfw.c
> @@ -156,7 +156,6 @@ static void old_pc_system_rom_init(MemoryRegion
> *rom_memory)
> bios = g_malloc(sizeof(*bios));
> memory_region_init_ram(bios, "pc.bios", bios_size);
> vmstate_register_ram_global(bios);
> - memory_region_set_readonly(bios, true);
> ret = rom_add_file_fixed(bios_name, (uint32_t)(-bios_size), -1);
> if (ret != 0) {
> bios_error:
> @@ -179,7 +178,6 @@ static void old_pc_system_rom_init(MemoryRegion
> *rom_memory)
> 0x100000 - isa_bios_size,
> isa_bios,
> 1);
> - memory_region_set_readonly(isa_bios, true);
>
> /* map all the bios at the top of memory */
> memory_region_add_subregion(rom_memory,
>
This has two problems: We know it breaks at least Win 95 that overwrites
its F-segment during boot. And it applies changes to the shadowed area
(below 1 MB) also to the ROM area - I don't think that is the original
behaviour on real hardware.
What we need is paravirtual shadow write control for the ISA PC. It's on
my todo list, maybe I will be able to look into this during the next week.
BTW, your patch series should allow to drop the KVM special case from
pc_system_firmware_init. That version, btw, treats high and low BIOS
areas separately - but only reloads the upper area. Hmm...
Jan
--
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux
- [Qemu-devel] [PATCH v2 0/5] Qemu: implement readonly memory, Xiao Guangrong, 2012/10/25
- [Qemu-devel] [PATCH v2 1/5] KVM: define KVM_CAP_READONLY_MEM unconditionally, Xiao Guangrong, 2012/10/25
- [Qemu-devel] [PATCH v2 4/5] Qemu: implement readonly memory, Xiao Guangrong, 2012/10/25
- [Qemu-devel] [PATCH v2 3/5] Qemu: do not mark bios readonly, Xiao Guangrong, 2012/10/25
- Re: [Qemu-devel] [PATCH v2 3/5] Qemu: do not mark bios readonly,
Jan Kiszka <=
- Re: [Qemu-devel] [PATCH v2 3/5] Qemu: do not mark bios readonly, Xiao Guangrong, 2012/10/29
- Re: [Qemu-devel] [PATCH v2 3/5] Qemu: do not mark bios readonly, Jan Kiszka, 2012/10/29
- Re: [Qemu-devel] [PATCH v2 3/5] Qemu: do not mark bios readonly, Xiao Guangrong, 2012/10/29
- Re: [Qemu-devel] [PATCH v2 3/5] Qemu: do not mark bios readonly, Jan Kiszka, 2012/10/31
- Re: [Qemu-devel] [PATCH v2 3/5] Qemu: do not mark bios readonly, Xiao Guangrong, 2012/10/31
- Re: [Qemu-devel] [PATCH v2 3/5] Qemu: do not mark bios readonly, Jan Kiszka, 2012/10/31
- Re: [Qemu-devel] [PATCH v2 3/5] Qemu: do not mark bios readonly, Xiao Guangrong, 2012/10/31
- Re: [Qemu-devel] [PATCH v2 3/5] Qemu: do not mark bios readonly, Jan Kiszka, 2012/10/31
[Qemu-devel] [PATCH v2 5/5] Qemu: mark pci rom readonly, Xiao Guangrong, 2012/10/25
[Qemu-devel] [PATCH v2 2/5] Qemu: update header files, Xiao Guangrong, 2012/10/25