All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori@us.ibm.com>
To: Amit Shah <amit.shah@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH] Introduce get_datafile_dir() to replace bios_dir
Date: Wed, 11 Feb 2009 14:00:56 -0600	[thread overview]
Message-ID: <49932E78.80304@us.ibm.com> (raw)
In-Reply-To: <1234252562-8257-1-git-send-email-amit.shah@redhat.com>

Amit Shah wrote:
> bios_dir really is $(PREFIX)/share/qemu/ (or the dir. specified by
> -L). It currently stores some firmware images and keymaps, so the
> name bios_dir is really a misnomer.
>
> Replace it with a helper, get_datafile_dir().
>
> Signed-off-by: Amit Shah <amit.shah@redhat.com>
> ---
>  qemu/hw/mips_jazz.c       |    2 +-
>  qemu/hw/mips_malta.c      |    2 +-
>  qemu/hw/mips_mipssim.c    |    2 +-
>  qemu/hw/mips_r4k.c        |    2 +-
>  qemu/hw/pc.c              |    8 +++++---
>  qemu/hw/ppc405_boards.c   |    4 ++--
>  qemu/hw/ppc440_bamboo.c   |    6 ++++--
>  qemu/hw/ppc_chrp.c        |    4 ++--
>  qemu/hw/ppc_oldworld.c    |    4 ++--
>  qemu/hw/ppc_prep.c        |    2 +-
>  qemu/hw/sun4m.c           |    6 +++---
>  qemu/hw/sun4u.c           |    2 +-
>  qemu/keymaps.c            |    2 +-
>  qemu/sysemu.h             |    2 +-
>  qemu/vl.c                 |   19 ++++++++++++++++---
>  16 files changed, 42 insertions(+), 25 deletions(-)
>
> diff --git a/qemu/hw/mips_jazz.c b/qemu/hw/mips_jazz.c
>   

Please submit patches against QEMU SVN, not kvm-userspace.

Regards,

Anthony Liguori

> index 9bdb903..a7e0473 100644
> --- a/qemu/hw/mips_jazz.c
> +++ b/qemu/hw/mips_jazz.c
> @@ -165,7 +165,7 @@ void mips_jazz_init (ram_addr_t ram_size, int vga_ram_size,
>      bios_offset = ram_size + vga_ram_size;
>      if (bios_name == NULL)
>          bios_name = BIOS_FILENAME;
> -    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +    snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>      bios_size = load_image(buf, phys_ram_base + bios_offset);
>      if (bios_size < 0 || bios_size > MAGNUM_BIOS_SIZE) {
>          fprintf(stderr, "qemu: Could not load MIPS bios '%s'\n",
> diff --git a/qemu/hw/mips_malta.c b/qemu/hw/mips_malta.c
> index b7afb2d..554e55f 100644
> --- a/qemu/hw/mips_malta.c
> +++ b/qemu/hw/mips_malta.c
> @@ -850,7 +850,7 @@ void mips_malta_init (ram_addr_t ram_size, int vga_ram_size,
>              /* Load a BIOS image. */
>              if (bios_name == NULL)
>                  bios_name = BIOS_FILENAME;
> -            snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +            snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>              bios_size = load_image(buf, phys_ram_base + bios_offset);
>              if ((bios_size < 0 || bios_size > BIOS_SIZE) && !kernel_filename) {
>                  fprintf(stderr,
> diff --git a/qemu/hw/mips_mipssim.c b/qemu/hw/mips_mipssim.c
> index 3f54900..b1f47cb 100644
> --- a/qemu/hw/mips_mipssim.c
> +++ b/qemu/hw/mips_mipssim.c
> @@ -139,7 +139,7 @@ mips_mipssim_init (ram_addr_t ram_size, int vga_ram_size,
>      bios_offset = ram_size + vga_ram_size;
>      if (bios_name == NULL)
>          bios_name = BIOS_FILENAME;
> -    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +    snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>      bios_size = load_image(buf, phys_ram_base + bios_offset);
>      if ((bios_size < 0 || bios_size > BIOS_SIZE) && !kernel_filename) {
>          /* Bail out if we have neither a kernel image nor boot vector code. */
> diff --git a/qemu/hw/mips_r4k.c b/qemu/hw/mips_r4k.c
> index ab0c110..80b068b 100644
> --- a/qemu/hw/mips_r4k.c
> +++ b/qemu/hw/mips_r4k.c
> @@ -199,7 +199,7 @@ void mips_r4k_init (ram_addr_t ram_size, int vga_ram_size,
>      bios_offset = ram_size + vga_ram_size;
>      if (bios_name == NULL)
>          bios_name = BIOS_FILENAME;
> -    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +    snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>      bios_size = load_image(buf, phys_ram_base + bios_offset);
>      if ((bios_size > 0) && (bios_size <= BIOS_SIZE)) {
>  	cpu_register_physical_memory(0x1fc00000,
> diff --git a/qemu/hw/pc.c b/qemu/hw/pc.c
> index 176730e..00ccc0c 100644
> --- a/qemu/hw/pc.c
> +++ b/qemu/hw/pc.c
> @@ -838,7 +838,7 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size,
>      /* BIOS load */
>      if (bios_name == NULL)
>          bios_name = BIOS_FILENAME;
> -    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +    snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>      bios_size = get_image_size(buf);
>      if (bios_size <= 0 ||
>          (bios_size % 65536) != 0) {
> @@ -855,9 +855,11 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size,
>      if (cirrus_vga_enabled || std_vga_enabled || vmsvga_enabled) {
>          /* VGA BIOS load */
>          if (cirrus_vga_enabled) {
> -            snprintf(buf, sizeof(buf), "%s/%s", bios_dir, VGABIOS_CIRRUS_FILENAME);
> +            snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(),
> +                     VGABIOS_CIRRUS_FILENAME);
>          } else {
> -            snprintf(buf, sizeof(buf), "%s/%s", bios_dir, VGABIOS_FILENAME);
> +            snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(),
> +                     VGABIOS_FILENAME);
>          }
>          vga_bios_size = get_image_size(buf);
>          if (vga_bios_size <= 0 || vga_bios_size > 65536)
> diff --git a/qemu/hw/ppc405_boards.c b/qemu/hw/ppc405_boards.c
> index 945f095..06e0451 100644
> --- a/qemu/hw/ppc405_boards.c
> +++ b/qemu/hw/ppc405_boards.c
> @@ -238,7 +238,7 @@ static void ref405ep_init (ram_addr_t ram_size, int vga_ram_size,
>  #endif
>          if (bios_name == NULL)
>              bios_name = BIOS_FILENAME;
> -        snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +        snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>          bios_size = load_image(buf, phys_ram_base + bios_offset);
>          if (bios_size < 0 || bios_size > BIOS_SIZE) {
>              fprintf(stderr, "qemu: could not load PowerPC bios '%s'\n", buf);
> @@ -550,7 +550,7 @@ static void taihu_405ep_init(ram_addr_t ram_size, int vga_ram_size,
>  #endif
>          if (bios_name == NULL)
>              bios_name = BIOS_FILENAME;
> -        snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +        snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>          bios_size = load_image(buf, phys_ram_base + bios_offset);
>          if (bios_size < 0 || bios_size > BIOS_SIZE) {
>              fprintf(stderr, "qemu: could not load PowerPC bios '%s'\n", buf);
> diff --git a/qemu/hw/ppc440_bamboo.c b/qemu/hw/ppc440_bamboo.c
> index fbd447c..1c47b20 100644
> --- a/qemu/hw/ppc440_bamboo.c
> +++ b/qemu/hw/ppc440_bamboo.c
> @@ -40,10 +40,12 @@ static void *bamboo_load_device_tree(void *addr,
>      int pathlen;
>      int ret;
>
> -    pathlen = snprintf(NULL, 0, "%s/%s", bios_dir, BINARY_DEVICE_TREE_FILE) + 1;
> +    pathlen = snprintf(NULL, 0, "%s/%s", get_datafile_dir(),
> +                       BINARY_DEVICE_TREE_FILE) + 1;
>      path = qemu_malloc(pathlen);
>
> -    snprintf(path, pathlen, "%s/%s", bios_dir, BINARY_DEVICE_TREE_FILE);
> +    snprintf(path, pathlen, "%s/%s", get_datafile_dir(),
> +             BINARY_DEVICE_TREE_FILE);
>
>      fdt = load_device_tree(path, addr);
>      free(path);
> diff --git a/qemu/hw/ppc_chrp.c b/qemu/hw/ppc_chrp.c
> index 1379847..364553b 100644
> --- a/qemu/hw/ppc_chrp.c
> +++ b/qemu/hw/ppc_chrp.c
> @@ -144,7 +144,7 @@ static void ppc_core99_init (ram_addr_t ram_size, int vga_ram_size,
>      bios_offset = qemu_ram_alloc(BIOS_SIZE);
>      if (bios_name == NULL)
>          bios_name = BIOS_FILENAME;
> -    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +    snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>      bios_size = load_image(buf, phys_ram_base + bios_offset);
>      if (bios_size < 0 || bios_size > BIOS_SIZE) {
>          cpu_abort(env, "qemu: could not load PowerPC bios '%s'\n", buf);
> @@ -160,7 +160,7 @@ static void ppc_core99_init (ram_addr_t ram_size, int vga_ram_size,
>
>      /* allocate and load VGA BIOS */
>      vga_bios_offset = qemu_ram_alloc(VGA_BIOS_SIZE);
> -    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, VGABIOS_FILENAME);
> +    snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), VGABIOS_FILENAME);
>      vga_bios_size = load_image(buf, phys_ram_base + vga_bios_offset + 8);
>      if (vga_bios_size < 0) {
>          /* if no bios is present, we can still work */
> diff --git a/qemu/hw/ppc_oldworld.c b/qemu/hw/ppc_oldworld.c
> index a6dfc35..51d7753 100644
> --- a/qemu/hw/ppc_oldworld.c
> +++ b/qemu/hw/ppc_oldworld.c
> @@ -178,7 +178,7 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size,
>      bios_offset = qemu_ram_alloc(BIOS_SIZE);
>      if (bios_name == NULL)
>          bios_name = PROM_FILENAME;
> -    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +    snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>      cpu_register_physical_memory(PROM_ADDR, BIOS_SIZE, bios_offset | IO_MEM_ROM);
>
>      /* Load OpenBIOS (ELF) */
> @@ -190,7 +190,7 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size,
>
>      /* allocate and load VGA BIOS */
>      vga_bios_offset = qemu_ram_alloc(VGA_BIOS_SIZE);
> -    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, VGABIOS_FILENAME);
> +    snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), VGABIOS_FILENAME);
>      vga_bios_size = load_image(buf, phys_ram_base + vga_bios_offset + 8);
>      if (vga_bios_size < 0) {
>          /* if no bios is present, we can still work */
> diff --git a/qemu/hw/ppc_prep.c b/qemu/hw/ppc_prep.c
> index b104fc3..2dbc7f0 100644
> --- a/qemu/hw/ppc_prep.c
> +++ b/qemu/hw/ppc_prep.c
> @@ -583,7 +583,7 @@ static void ppc_prep_init (ram_addr_t ram_size, int vga_ram_size,
>      bios_offset = ram_size + vga_ram_size;
>      if (bios_name == NULL)
>          bios_name = BIOS_FILENAME;
> -    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +    snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>      bios_size = load_image(buf, phys_ram_base + bios_offset);
>      if (bios_size < 0 || bios_size > BIOS_SIZE) {
>          cpu_abort(env, "qemu: could not load PPC PREP bios '%s'\n", buf);
> diff --git a/qemu/hw/sun4m.c b/qemu/hw/sun4m.c
> index bae8803..1ca0ea6 100644
> --- a/qemu/hw/sun4m.c
> +++ b/qemu/hw/sun4m.c
> @@ -490,7 +490,7 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef, ram_addr_t RAM_size,
>
>      if (bios_name == NULL)
>          bios_name = PROM_FILENAME;
> -    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +    snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>      ret = load_elf(buf, hwdef->slavio_base - PROM_VADDR, NULL, NULL, NULL);
>      if (ret < 0 || ret > PROM_SIZE_MAX)
>          ret = load_image_targphys(buf, hwdef->slavio_base, PROM_SIZE_MAX);
> @@ -1286,7 +1286,7 @@ static void sun4d_hw_init(const struct sun4d_hwdef *hwdef, ram_addr_t RAM_size,
>
>      if (bios_name == NULL)
>          bios_name = PROM_FILENAME;
> -    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +    snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>      ret = load_elf(buf, hwdef->slavio_base - PROM_VADDR, NULL, NULL, NULL);
>      if (ret < 0 || ret > PROM_SIZE_MAX)
>          ret = load_image_targphys(buf, hwdef->slavio_base, PROM_SIZE_MAX);
> @@ -1493,7 +1493,7 @@ static void sun4c_hw_init(const struct sun4c_hwdef *hwdef, ram_addr_t RAM_size,
>
>      if (bios_name == NULL)
>          bios_name = PROM_FILENAME;
> -    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +    snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>      ret = load_elf(buf, hwdef->slavio_base - PROM_VADDR, NULL, NULL, NULL);
>      if (ret < 0 || ret > PROM_SIZE_MAX)
>          ret = load_image_targphys(buf, hwdef->slavio_base, PROM_SIZE_MAX);
> diff --git a/qemu/hw/sun4u.c b/qemu/hw/sun4u.c
> index 234df7a..e24b912 100644
> --- a/qemu/hw/sun4u.c
> +++ b/qemu/hw/sun4u.c
> @@ -449,7 +449,7 @@ static void sun4uv_init(ram_addr_t RAM_size, int vga_ram_size,
>
>      if (bios_name == NULL)
>          bios_name = PROM_FILENAME;
> -    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
> +    snprintf(buf, sizeof(buf), "%s/%s", get_datafile_dir(), bios_name);
>      ret = load_elf(buf, hwdef->prom_addr - PROM_VADDR, NULL, NULL, NULL);
>      if (ret < 0) {
>          ret = load_image_targphys(buf, hwdef->prom_addr,
> diff --git a/qemu/keymaps.c b/qemu/keymaps.c
> index 216e378..a1645ab 100644
> --- a/qemu/keymaps.c
> +++ b/qemu/keymaps.c
> @@ -82,7 +82,7 @@ static kbd_layout_t *parse_keyboard_layout(const char *language,
>      int len;
>
>      snprintf(file_name, sizeof(file_name),
> -             "%s/keymaps/%s", bios_dir, language);
> +             "%s/keymaps/%s", get_datafile_dir(), language);
>
>      if (!k)
>  	k = qemu_mallocz(sizeof(kbd_layout_t));
> diff --git a/qemu/sysemu.h b/qemu/sysemu.h
> index bc6d5af..7661fb2 100644
> --- a/qemu/sysemu.h
> +++ b/qemu/sysemu.h
> @@ -4,7 +4,7 @@
>
>  /* vl.c */
>  extern const char *bios_name;
> -extern const char *bios_dir;
> +extern char *get_datafile_dir(void);
>
>  extern int vm_running;
>  extern const char *qemu_name;
> diff --git a/qemu/vl.c b/qemu/vl.c
> index aff2b2c..6d41014 100644
> --- a/qemu/vl.c
> +++ b/qemu/vl.c
> @@ -172,7 +172,7 @@
>  /* XXX: use a two level table to limit memory usage */
>  #define MAX_IOPORTS 65536
>
> -const char *bios_dir = CONFIG_QEMU_SHAREDIR;
> +static char datafile_dir[512];
>  const char *bios_name = NULL;
>  static void *ioport_opaque[MAX_IOPORTS];
>  static IOPortReadFunc *ioport_read_table[3][MAX_IOPORTS];
> @@ -4529,6 +4529,17 @@ static void termsig_setup(void)
>
>  #endif
>
> +static void set_datafile_dir(const char *dir)
> +{
> +    strncpy(datafile_dir, dir, sizeof(datafile_dir) - 1);
> +    datafile_dir[sizeof(datafile_dir) - 1] = 0;
> +}
> +
> +char *get_datafile_dir(void)
> +{
> +    return datafile_dir;
> +}
> +
>  int main(int argc, char **argv, char **envp)
>  {
>  #ifdef CONFIG_GDBSTUB
> @@ -4603,6 +4614,7 @@ int main(int argc, char **argv, char **envp)
>      }
>  #endif
>
> +    set_datafile_dir(CONFIG_QEMU_SHAREDIR);
>      register_machines();
>      machine = first_machine;
>      cpu_model = NULL;
> @@ -4953,7 +4965,7 @@ int main(int argc, char **argv, char **envp)
>                  break;
>  #endif
>              case QEMU_OPTION_L:
> -                bios_dir = optarg;
> +                set_datafile_dir(optarg);
>                  break;
>              case QEMU_OPTION_bios:
>                  bios_name = optarg;
> @@ -5373,7 +5385,8 @@ int main(int argc, char **argv, char **envp)
>              if (net_boot & (1 << i)) {
>                  if (model == NULL)
>                      model = "ne2k_pci";
> -                snprintf(buf, sizeof(buf), "%s/pxe-%s.bin", bios_dir, model);
> +                snprintf(buf, sizeof(buf), "%s/pxe-%s.bin", get_datafile_dir(),
> +                         model);
>                  if (get_image_size(buf) > 0) {
>                      if (nb_option_roms >= MAX_OPTION_ROMS) {
>                          fprintf(stderr, "Too many option ROMs\n");
>   

      reply	other threads:[~2009-02-11 20:01 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-10  7:56 [Qemu-devel] [PATCH] Introduce get_datafile_dir() to replace bios_dir Amit Shah
2009-02-11 20:00 ` Anthony Liguori [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49932E78.80304@us.ibm.com \
    --to=aliguori@us.ibm.com \
    --cc=amit.shah@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.