[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH v3 7/7] hw/sparc64: Implement fw_cfg_arch_key_name()
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-ppc] [PATCH v3 7/7] hw/sparc64: Implement fw_cfg_arch_key_name() |
Date: |
Mon, 22 Apr 2019 21:50:20 +0200 |
Implement fw_cfg_arch_key_name(), which returns the name of a
sparc64-specific key.
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/sparc64/sun4u.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index 399f2d73c81..4230b17b873 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -91,6 +91,25 @@ typedef struct EbusState {
#define TYPE_EBUS "ebus"
#define EBUS(obj) OBJECT_CHECK(EbusState, (obj), TYPE_EBUS)
+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_SPARC64_WIDTH, "width"},
+ {FW_CFG_SPARC64_HEIGHT, "height"},
+ {FW_CFG_SPARC64_DEPTH, "depth"},
+ };
+
+ 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;
+}
+
static void fw_cfg_boot_set(void *opaque, const char *boot_device,
Error **errp)
{
--
2.20.1
- [Qemu-ppc] [PATCH v3 3/7] hw/i386: Extract fw_cfg definitions to local "fw_cfg.h", (continued)