[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 06/18] ppc: virtex_ml507: QEMU_OPTION_dtb support for
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PULL 06/18] ppc: virtex_ml507: QEMU_OPTION_dtb support for this machine. |
Date: |
Mon, 2 Sep 2013 10:11:21 +0200 |
From: Efimov Vasily <address@hidden>
QEMU has 'dtb' option for specifing the device tree file for the kernel.
The patch adds support for this option to the 'virtex_ml507' machine
implementation.
Signed-off-by: Efimov Vasily <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
---
hw/ppc/virtex_ml507.c | 29 +++++++++++++++++++----------
1 file changed, 19 insertions(+), 10 deletions(-)
diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
index 08e77fb..e9468b1 100644
--- a/hw/ppc/virtex_ml507.c
+++ b/hw/ppc/virtex_ml507.c
@@ -141,22 +141,31 @@ static int xilinx_load_device_tree(hwaddr addr,
{
char *path;
int fdt_size;
- void *fdt;
+ void *fdt = NULL;
int r;
+ const char *dtb_filename;
- /* Try the local "ppc.dtb" override. */
- fdt = load_device_tree("ppc.dtb", &fdt_size);
- if (!fdt) {
- path = qemu_find_file(QEMU_FILE_TYPE_BIOS, BINARY_DEVICE_TREE_FILE);
- if (path) {
- fdt = load_device_tree(path, &fdt_size);
- g_free(path);
+ dtb_filename = qemu_opt_get(qemu_get_machine_opts(), "dtb");
+ if (dtb_filename) {
+ fdt = load_device_tree(dtb_filename, &fdt_size);
+ if (!fdt) {
+ error_report("Error while loading device tree file '%s'",
+ dtb_filename);
}
+ } else {
+ /* Try the local "ppc.dtb" override. */
+ fdt = load_device_tree("ppc.dtb", &fdt_size);
if (!fdt) {
- return 0;
+ path = qemu_find_file(QEMU_FILE_TYPE_BIOS,
BINARY_DEVICE_TREE_FILE);
+ if (path) {
+ fdt = load_device_tree(path, &fdt_size);
+ g_free(path);
+ }
}
}
-
+ if (!fdt) {
+ return 0;
+ }
r = qemu_devtree_setprop_string(fdt, "/chosen", "bootargs",
kernel_cmdline);
if (r < 0)
fprintf(stderr, "couldn't set /chosen/bootargs\n");
--
1.8.1.4
- [Qemu-devel] [PULL 00/18] ppc patch queue 2013-09-02, Alexander Graf, 2013/09/02
- [Qemu-devel] [PULL 10/18] target-ppc: fix bit extraction for FPBF and FPL, Alexander Graf, 2013/09/02
- [Qemu-devel] [PULL 01/18] PPC: E500: Generate device tree on reset, Alexander Graf, 2013/09/02
- [Qemu-devel] [PULL 06/18] ppc: virtex_ml507: QEMU_OPTION_dtb support for this machine.,
Alexander Graf <=
- [Qemu-devel] [PULL 15/18] pseries: Add H_SET_MODE hcall to change guest exception endianness, Alexander Graf, 2013/09/02
- [Qemu-devel] [PULL 07/18] ppc405_boards: Disable debug output, Alexander Graf, 2013/09/02
- [Qemu-devel] [PULL 16/18] PPC: KVM: Compile fix for qemu_notify_event, Alexander Graf, 2013/09/02
- [Qemu-devel] [PULL 05/18] disas/ppc.c: Fix little endian disassembly, Alexander Graf, 2013/09/02
- [Qemu-devel] [PULL 03/18] target-ppc: USE LPCR_ILE to control exception endian on POWER7, Alexander Graf, 2013/09/02
- [Qemu-devel] [PULL 08/18] ppc405_uc: Disable debug output, Alexander Graf, 2013/09/02
- [Qemu-devel] [PULL 02/18] pseries: Fix stalls on hypervisor virtual console, Alexander Graf, 2013/09/02
- [Qemu-devel] [PULL 09/18] ppc405_boards: Don't enforce presence of firmware for qtest, Alexander Graf, 2013/09/02
- [Qemu-devel] [PULL 04/18] target-ppc: POWER7 supports the MSR_LE bit, Alexander Graf, 2013/09/02
- [Qemu-devel] [PULL 14/18] xics: move registration of global state to realize(), Alexander Graf, 2013/09/02