[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 63/72] PPC: e500: allow users to set the /compatible
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PATCH 63/72] PPC: e500: allow users to set the /compatible property via -machine |
Date: |
Sun, 24 Jun 2012 01:07:27 +0200 |
Device trees usually have a node /compatible, which indicate which machine
type we're looking at. For quick prototyping, it can be very useful to change
the contents of that node via the command line.
Thus, introduce a new option to -machine called dt_compatible, which when
set changes the /compatible contents to its value.
Signed-off-by: Alexander Graf <address@hidden>
---
hw/ppce500_mpc8544ds.c | 12 +++++++++---
qemu-config.c | 4 ++++
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/hw/ppce500_mpc8544ds.c b/hw/ppce500_mpc8544ds.c
index f6da25b..d38ad99 100644
--- a/hw/ppce500_mpc8544ds.c
+++ b/hw/ppce500_mpc8544ds.c
@@ -119,7 +119,8 @@ static int mpc8544_load_device_tree(CPUPPCState *env,
uint32_t clock_freq = 400000000;
uint32_t tb_freq = 400000000;
int i;
- char compatible[] = "MPC8544DS\0MPC85xxDS";
+ const char *compatible = "MPC8544DS\0MPC85xxDS";
+ int compatible_len = sizeof("MPC8544DS\0MPC85xxDS");
char compatible_sb[] = "fsl,mpc8544-immr\0simple-bus";
char model[] = "MPC8544DS";
char soc[128];
@@ -144,8 +145,14 @@ static int mpc8544_load_device_tree(CPUPPCState *env,
machine_opts = qemu_opts_find(qemu_find_opts("machine"), 0);
if (machine_opts) {
+ const char *tmp;
dumpdtb = qemu_opt_get(machine_opts, "dumpdtb");
dtb_file = qemu_opt_get(machine_opts, "dtb");
+ tmp = qemu_opt_get(machine_opts, "dt_compatible");
+ if (tmp) {
+ compatible = tmp;
+ compatible_len = strlen(compatible) + 1;
+ }
}
if (dtb_file) {
@@ -169,8 +176,7 @@ static int mpc8544_load_device_tree(CPUPPCState *env,
/* Manipulate device tree in memory. */
qemu_devtree_setprop_string(fdt, "/", "model", model);
- qemu_devtree_setprop(fdt, "/", "compatible", compatible,
- sizeof(compatible));
+ qemu_devtree_setprop(fdt, "/", "compatible", compatible, compatible_len);
qemu_devtree_setprop_cell(fdt, "/", "#address-cells", 2);
qemu_devtree_setprop_cell(fdt, "/", "#size-cells", 2);
diff --git a/qemu-config.c b/qemu-config.c
index 2cd2726..5c3296b 100644
--- a/qemu-config.c
+++ b/qemu-config.c
@@ -591,6 +591,10 @@ static QemuOptsList qemu_machine_opts = {
.name = "phandle_start",
.type = QEMU_OPT_STRING,
.help = "The first phandle ID we may generate dynamically",
+ }, {
+ .name = "dt_compatible",
+ .type = QEMU_OPT_STRING,
+ .help = "Overrides the \"compatible\" property of the dt root
node",
},
{ /* End of list */ }
},
--
1.6.0.2
- [Qemu-devel] [PATCH 46/72] PPC: e500: dt: create serial nodes dynamically, (continued)
- [Qemu-devel] [PATCH 46/72] PPC: e500: dt: create serial nodes dynamically, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 45/72] PPC: e500: dt: create /soc8544 node dynamically, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 44/72] PPC: e500: dt: create /chosen node dynamically, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 36/72] dt: add helper for empty dt creation, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 43/72] PPC: e500: dt: create / node dynamically, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 27/72] pseries: Correctly create ibm, segment-page-sizes property, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 13/72] ppc: Move MMU helpers from helper.c to mmu_helper.c, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 60/72] dt: Add global option to set phandle start offset, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 61/72] PPC: e500: Refactor serial dt generation, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 58/72] PPC: e500: Define addresses as always 64bit, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 63/72] PPC: e500: allow users to set the /compatible property via -machine,
Alexander Graf <=
- [Qemu-devel] [PATCH 64/72] uImage: increase the gzip load size, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 65/72] PPC: Add some booke SPR defines, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 52/72] PPC: e500: dt: use 64bit cell helper, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 66/72] PPC: Add support for MSR_CM, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 62/72] dt: make setprop argument static, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 72/72] PPC: BookE206: Bump MAS2 to 64bit, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 69/72] PPC: Add e5500 CPU target, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 67/72] PPC: BookE: Implement EPR SPR, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 48/72] PPC: e500: dt: create global-utils node dynamically, Alexander Graf, 2012/06/23
- [Qemu-devel] [PATCH 71/72] PPC: BookE: Support 32 and 64 bit wide MAS2, Alexander Graf, 2012/06/23