hw/mips: Implement fw_cfg_arch_key_name()

Implement fw_cfg_arch_key_name(), which returns the name of a
mips-specific key.

Co-developed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Huacai Chen <chenhuacai@kernel.org>
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <1600742967-12933-7-git-send-email-chenhc@lemote.com>
[PMD: Add FW_CFG_MIPS Kconfig selector]
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
Huacai Chen 2020-09-22 10:49:25 +08:00 committed by Philippe Mathieu-Daudé
parent dea9633232
commit 313d1e910a
4 changed files with 58 additions and 0 deletions

View file

@ -38,3 +38,6 @@ config MIPS_CPS
config MIPS_BOSTON
bool
config FW_CFG_MIPS
bool

35
hw/mips/fw_cfg.c Normal file
View file

@ -0,0 +1,35 @@
/*
* QEMU fw_cfg helpers (MIPS specific)
*
* Copyright (c) 2020 Lemote, Inc.
*
* Author:
* Huacai Chen (chenhc@lemote.com)
*
* 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/mips/fw_cfg.h"
#include "hw/nvram/fw_cfg.h"
const char *fw_cfg_arch_key_name(uint16_t key)
{
static const struct {
uint16_t key;
const char *name;
} fw_cfg_arch_wellknown_keys[] = {
{FW_CFG_MACHINE_VERSION, "machine_version"},
{FW_CFG_CPU_FREQ, "cpu_frequency"},
};
for (size_t i = 0; i < ARRAY_SIZE(fw_cfg_arch_wellknown_keys); i++) {
if (fw_cfg_arch_wellknown_keys[i].key == key) {
return fw_cfg_arch_wellknown_keys[i].name;
}
}
return NULL;
}

19
hw/mips/fw_cfg.h Normal file
View file

@ -0,0 +1,19 @@
/*
* QEMU fw_cfg helpers (MIPS specific)
*
* Copyright (c) 2020 Huacai Chen
*
* SPDX-License-Identifier: MIT
*/
#ifndef HW_MIPS_FW_CFG_H
#define HW_MIPS_FW_CFG_H
#include "hw/boards.h"
#include "hw/nvram/fw_cfg.h"
/* Data for BIOS to identify machine */
#define FW_CFG_MACHINE_VERSION (FW_CFG_ARCH_LOCAL + 0)
#define FW_CFG_CPU_FREQ (FW_CFG_ARCH_LOCAL + 1)
#endif

View file

@ -1,5 +1,6 @@
mips_ss = ss.source_set()
mips_ss.add(files('mips_int.c'))
mips_ss.add(when: 'CONFIG_FW_CFG_MIPS', if_true: files('fw_cfg.c'))
mips_ss.add(when: 'CONFIG_FULOONG', if_true: files('fuloong2e.c'))
mips_ss.add(when: 'CONFIG_JAZZ', if_true: files('jazz.c'))
mips_ss.add(when: 'CONFIG_MALTA', if_true: files('gt64xxx_pci.c', 'malta.c'))