[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 2/7] hw/nvram/fw_cfg: Add fw_cfg_arch_key_nam
From: |
Laszlo Ersek |
Subject: |
Re: [Qemu-devel] [PATCH v3 2/7] hw/nvram/fw_cfg: Add fw_cfg_arch_key_name() |
Date: |
Tue, 23 Apr 2019 20:32:24 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
On 04/22/19 21:50, Philippe Mathieu-Daudé wrote:
> Add fw_cfg_arch_key_name() which returns the name of
> an architecture-specific key.
>
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> MAINTAINERS | 1 +
> hw/nvram/fw_cfg.c | 2 +-
> include/hw/nvram/fw_cfg.h | 11 +++++++++++
> stubs/Makefile.objs | 1 +
> stubs/fw_cfg.c | 21 +++++++++++++++++++++
> 5 files changed, 35 insertions(+), 1 deletion(-)
> create mode 100644 stubs/fw_cfg.c
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 56139ac8ab0..444783bb652 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1675,6 +1675,7 @@ R: Gerd Hoffmann <address@hidden>
> S: Supported
> F: docs/specs/fw_cfg.txt
> F: hw/nvram/fw_cfg.c
> +F: stubs/fw_cfg.c
> F: include/hw/nvram/fw_cfg.h
> F: include/standard-headers/linux/qemu_fw_cfg.h
> F: tests/libqos/fw_cfg.c
> diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
> index d374a970fea..b2dc0a80cbc 100644
> --- a/hw/nvram/fw_cfg.c
> +++ b/hw/nvram/fw_cfg.c
> @@ -100,7 +100,7 @@ static const char *key_name(uint16_t key)
> };
>
> if (key & FW_CFG_ARCH_LOCAL) {
> - return NULL;
> + return fw_cfg_arch_key_name(key);
> }
> if (key < FW_CFG_FILE_FIRST) {
> return fw_cfg_wellknown_keys[key];
> diff --git a/include/hw/nvram/fw_cfg.h b/include/hw/nvram/fw_cfg.h
> index f5a6895a740..828ad9dedc6 100644
> --- a/include/hw/nvram/fw_cfg.h
> +++ b/include/hw/nvram/fw_cfg.h
> @@ -226,4 +226,15 @@ FWCfgState *fw_cfg_init_mem_wide(hwaddr ctl_addr,
> FWCfgState *fw_cfg_find(void);
> bool fw_cfg_dma_enabled(void *opaque);
>
> +/**
> + * fw_cfg_arch_key_name:
> + *
> + * @key: The uint16 selector key.
> + *
> + * Returns: The stringified architecture-specific name if the selector
> + * refers to a well-known numerically defined item, or NULL on
> + * key lookup failure.
> + */
We might want to document that we expect FW_CFG_ARCH_LOCAL to be set in
"key", but I really don't insist.
Reviewed-by: Laszlo Ersek <address@hidden>
Thanks
Laszlo
> +const char *fw_cfg_arch_key_name(uint16_t key);
> +
> #endif
> diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
> index 269dfa58326..73452ad2657 100644
> --- a/stubs/Makefile.objs
> +++ b/stubs/Makefile.objs
> @@ -39,3 +39,4 @@ stub-obj-y += xen-hvm.o
> stub-obj-y += pci-host-piix.o
> stub-obj-y += ram-block.o
> stub-obj-y += ramfb.o
> +stub-obj-y += fw_cfg.o
> diff --git a/stubs/fw_cfg.c b/stubs/fw_cfg.c
> new file mode 100644
> index 00000000000..bb1e3c8aa95
> --- /dev/null
> +++ b/stubs/fw_cfg.c
> @@ -0,0 +1,21 @@
> +/*
> + * fw_cfg stubs
> + *
> + * Copyright (c) 2019 Red Hat, Inc.
> + *
> + * Author:
> + * Philippe Mathieu-Daudé <address@hidden>
> + *
> + * SPDX-License-Identifier: GPL-2.0-or-later
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#include "qemu/osdep.h"
> +#include "hw/nvram/fw_cfg.h"
> +
> +const char *fw_cfg_arch_key_name(uint16_t key)
> +{
> + return NULL;
> +}
>
- [Qemu-devel] [PATCH v3 0/7] fw_cfg: Improve tracing, Philippe Mathieu-Daudé, 2019/04/22
- [Qemu-devel] [PATCH v3 1/7] hw/nvram/fw_cfg: Add trace events, Philippe Mathieu-Daudé, 2019/04/22
- [Qemu-devel] [PATCH v3 2/7] hw/nvram/fw_cfg: Add fw_cfg_arch_key_name(), Philippe Mathieu-Daudé, 2019/04/22
- Re: [Qemu-devel] [PATCH v3 2/7] hw/nvram/fw_cfg: Add fw_cfg_arch_key_name(),
Laszlo Ersek <=
- [Qemu-devel] [PATCH v3 3/7] hw/i386: Extract fw_cfg definitions to local "fw_cfg.h", Philippe Mathieu-Daudé, 2019/04/22
- [Qemu-devel] [PATCH v3 4/7] hw/i386: Implement fw_cfg_arch_key_name(), Philippe Mathieu-Daudé, 2019/04/22
- [Qemu-devel] [PATCH v3 5/7] hw/ppc: Implement fw_cfg_arch_key_name(), Philippe Mathieu-Daudé, 2019/04/22