1*313d1e91SHuacai Chen /* 2*313d1e91SHuacai Chen * QEMU fw_cfg helpers (MIPS specific) 3*313d1e91SHuacai Chen * 4*313d1e91SHuacai Chen * Copyright (c) 2020 Lemote, Inc. 5*313d1e91SHuacai Chen * 6*313d1e91SHuacai Chen * Author: 7*313d1e91SHuacai Chen * Huacai Chen (chenhc@lemote.com) 8*313d1e91SHuacai Chen * 9*313d1e91SHuacai Chen * SPDX-License-Identifier: GPL-2.0-or-later 10*313d1e91SHuacai Chen * 11*313d1e91SHuacai Chen * This work is licensed under the terms of the GNU GPL, version 2 or later. 12*313d1e91SHuacai Chen * See the COPYING file in the top-level directory. 13*313d1e91SHuacai Chen */ 14*313d1e91SHuacai Chen 15*313d1e91SHuacai Chen #include "qemu/osdep.h" 16*313d1e91SHuacai Chen #include "hw/mips/fw_cfg.h" 17*313d1e91SHuacai Chen #include "hw/nvram/fw_cfg.h" 18*313d1e91SHuacai Chen fw_cfg_arch_key_name(uint16_t key)19*313d1e91SHuacai Chenconst char *fw_cfg_arch_key_name(uint16_t key) 20*313d1e91SHuacai Chen { 21*313d1e91SHuacai Chen static const struct { 22*313d1e91SHuacai Chen uint16_t key; 23*313d1e91SHuacai Chen const char *name; 24*313d1e91SHuacai Chen } fw_cfg_arch_wellknown_keys[] = { 25*313d1e91SHuacai Chen {FW_CFG_MACHINE_VERSION, "machine_version"}, 26*313d1e91SHuacai Chen {FW_CFG_CPU_FREQ, "cpu_frequency"}, 27*313d1e91SHuacai Chen }; 28*313d1e91SHuacai Chen 29*313d1e91SHuacai Chen for (size_t i = 0; i < ARRAY_SIZE(fw_cfg_arch_wellknown_keys); i++) { 30*313d1e91SHuacai Chen if (fw_cfg_arch_wellknown_keys[i].key == key) { 31*313d1e91SHuacai Chen return fw_cfg_arch_wellknown_keys[i].name; 32*313d1e91SHuacai Chen } 33*313d1e91SHuacai Chen } 34*313d1e91SHuacai Chen return NULL; 35*313d1e91SHuacai Chen } 36