1*bd3f680fSPhilippe Mathieu-Daudé /* 2*bd3f680fSPhilippe Mathieu-Daudé * QEMU fw_cfg helpers (X86 specific) 3*bd3f680fSPhilippe Mathieu-Daudé * 4*bd3f680fSPhilippe Mathieu-Daudé * Copyright (c) 2019 Red Hat, Inc. 5*bd3f680fSPhilippe Mathieu-Daudé * 6*bd3f680fSPhilippe Mathieu-Daudé * Author: 7*bd3f680fSPhilippe Mathieu-Daudé * Philippe Mathieu-Daudé <philmd@redhat.com> 8*bd3f680fSPhilippe Mathieu-Daudé * 9*bd3f680fSPhilippe Mathieu-Daudé * SPDX-License-Identifier: GPL-2.0-or-later 10*bd3f680fSPhilippe Mathieu-Daudé * 11*bd3f680fSPhilippe Mathieu-Daudé * This work is licensed under the terms of the GNU GPL, version 2 or later. 12*bd3f680fSPhilippe Mathieu-Daudé * See the COPYING file in the top-level directory. 13*bd3f680fSPhilippe Mathieu-Daudé */ 14*bd3f680fSPhilippe Mathieu-Daudé 15*bd3f680fSPhilippe Mathieu-Daudé #include "qemu/osdep.h" 16*bd3f680fSPhilippe Mathieu-Daudé #include "hw/i386/fw_cfg.h" 17*bd3f680fSPhilippe Mathieu-Daudé #include "hw/nvram/fw_cfg.h" 18*bd3f680fSPhilippe Mathieu-Daudé 19*bd3f680fSPhilippe Mathieu-Daudé const char *fw_cfg_arch_key_name(uint16_t key) 20*bd3f680fSPhilippe Mathieu-Daudé { 21*bd3f680fSPhilippe Mathieu-Daudé static const struct { 22*bd3f680fSPhilippe Mathieu-Daudé uint16_t key; 23*bd3f680fSPhilippe Mathieu-Daudé const char *name; 24*bd3f680fSPhilippe Mathieu-Daudé } fw_cfg_arch_wellknown_keys[] = { 25*bd3f680fSPhilippe Mathieu-Daudé {FW_CFG_ACPI_TABLES, "acpi_tables"}, 26*bd3f680fSPhilippe Mathieu-Daudé {FW_CFG_SMBIOS_ENTRIES, "smbios_entries"}, 27*bd3f680fSPhilippe Mathieu-Daudé {FW_CFG_IRQ0_OVERRIDE, "irq0_override"}, 28*bd3f680fSPhilippe Mathieu-Daudé {FW_CFG_E820_TABLE, "e820_table"}, 29*bd3f680fSPhilippe Mathieu-Daudé {FW_CFG_HPET, "hpet"}, 30*bd3f680fSPhilippe Mathieu-Daudé }; 31*bd3f680fSPhilippe Mathieu-Daudé 32*bd3f680fSPhilippe Mathieu-Daudé for (size_t i = 0; i < ARRAY_SIZE(fw_cfg_arch_wellknown_keys); i++) { 33*bd3f680fSPhilippe Mathieu-Daudé if (fw_cfg_arch_wellknown_keys[i].key == key) { 34*bd3f680fSPhilippe Mathieu-Daudé return fw_cfg_arch_wellknown_keys[i].name; 35*bd3f680fSPhilippe Mathieu-Daudé } 36*bd3f680fSPhilippe Mathieu-Daudé } 37*bd3f680fSPhilippe Mathieu-Daudé return NULL; 38*bd3f680fSPhilippe Mathieu-Daudé } 39