[Skiboot] [PATCH] opal: Don't put the symbol map whole into a property
Benjamin Herrenschmidt
benh at kernel.crashing.org
Fri Dec 5 11:39:19 AEDT 2014
The huge property trips a bug in some versions of kexec, and it generally
makes looking at the device-tree more painful than it has to be. Instead,
let's just pass the address & size and we'll add a debugfs file on the
Linux side to recover them.
Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
---
diff --git a/core/opal.c b/core/opal.c
index 5b96064..044ff92 100644
--- a/core/opal.c
+++ b/core/opal.c
@@ -115,12 +115,14 @@ void __opal_register(uint64_t token, void *func, unsigned int nargs)
static void add_opal_firmware_node(void)
{
struct dt_node *firmware = dt_new(opal_node, "firmware");
-
+ uint64_t sym_start = (uint64_t)__sym_map_start;
+ uint64_t sym_size = (uint64_t)__sym_map_end - sym_start;
dt_add_property_string(firmware, "compatible", "ibm,opal-firmware");
dt_add_property_string(firmware, "name", "firmware");
dt_add_property_string(firmware, "version", version);
- dt_add_property(firmware, "symbol-map", __sym_map_start,
- __sym_map_end - __sym_map_start);
+ dt_add_property_cells(firmware, "symbol-map",
+ hi32(sym_start), lo32(sym_start),
+ hi32(sym_size), lo32(sym_size));
}
void add_opal_node(void)
More information about the Skiboot
mailing list