qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 master, stable-0.12] Don't load options roms


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH v2 master, stable-0.12] Don't load options roms intended to be loaded by the bios in qemu
Date: Thu, 24 Dec 2009 01:17:44 +0100
User-agent: Mutt/1.5.20 (2009-06-14)

On Tue, Dec 22, 2009 at 11:57:02AM +0200, Avi Kivity wrote:
> The first such option rom will load at address 0, which isn't very nice,
> and the second will report a conflict and abort, which is horrible.
> 
> Signed-off-by: Avi Kivity <address@hidden>
> ---
> 
> Changes from v1:
> - use ->fw_file instead of ->addr to distinguish between host-loaded and
>   firmware-loaded roms
> - add the same check in a couple more places

This patch is a lot better and does not break the versatile platform
anymore. I do wonder though if the same change should also be done for
find_rom() and rom_copy().

>  hw/loader.c |    8 +++++++-
>  1 files changed, 7 insertions(+), 1 deletions(-)
> 
> diff --git a/hw/loader.c b/hw/loader.c
> index 2ceb8eb..eef385e 100644
> --- a/hw/loader.c
> +++ b/hw/loader.c
> @@ -636,6 +636,9 @@ static void rom_reset(void *unused)
>      Rom *rom;
>  
>      QTAILQ_FOREACH(rom, &roms, next) {
> +        if (rom->fw_file) {
> +            continue;
> +        }
>          if (rom->data == NULL)
>              continue;
>          cpu_physical_memory_write_rom(rom->addr, rom->data, rom->romsize);
> @@ -654,6 +657,9 @@ int rom_load_all(void)
>      Rom *rom;
>  
>      QTAILQ_FOREACH(rom, &roms, next) {
> +        if (rom->fw_file) {
> +            continue;
> +        }
>          if (addr > rom->addr) {
>              fprintf(stderr, "rom: requested regions overlap "
>                      "(rom %s. free=0x" TARGET_FMT_plx
> @@ -752,7 +758,7 @@ void do_info_roms(Monitor *mon)
>      Rom *rom;
>  
>      QTAILQ_FOREACH(rom, &roms, next) {
> -        if (rom->addr) {
> +        if (!rom->fw_file) {
>              monitor_printf(mon, "addr=" TARGET_FMT_plx
>                             " size=0x%06zx mem=%s name=\"%s\" \n",
>                             rom->addr, rom->romsize,
> -- 
> 1.6.5.3
> 
> 
> 
> 

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
address@hidden                 http://www.aurel32.net




reply via email to

[Prev in Thread] Current Thread [Next in Thread]