qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: "qemu-ppc@nongnu.org list:PowerPC" <qemu-ppc@nongnu.org>
Cc: Blue Swirl <blauwirbel@gmail.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	qemu-devel Developers <qemu-devel@nongnu.org>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Efimov Vasily <real@ispras.ru>
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	[thread overview]
Message-ID: <1378109493-41076-7-git-send-email-agraf@suse.de> (raw)
In-Reply-To: <1378109493-41076-1-git-send-email-agraf@suse.de>

From: Efimov Vasily <real@ispras.ru>

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 <real@ispras.ru>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 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

  parent reply	other threads:[~2013-09-02  8:11 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-02  8:11 [Qemu-devel] [PULL 00/18] ppc patch queue 2013-09-02 Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 01/18] PPC: E500: Generate device tree on reset Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 02/18] pseries: Fix stalls on hypervisor virtual console Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 03/18] target-ppc: USE LPCR_ILE to control exception endian on POWER7 Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 04/18] target-ppc: POWER7 supports the MSR_LE bit Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 05/18] disas/ppc.c: Fix little endian disassembly Alexander Graf
2013-09-02  8:11 ` Alexander Graf [this message]
2013-09-02  8:11 ` [Qemu-devel] [PULL 07/18] ppc405_boards: Disable debug output Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 08/18] ppc405_uc: " Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 09/18] ppc405_boards: Don't enforce presence of firmware for qtest Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 10/18] target-ppc: fix bit extraction for FPBF and FPL Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 11/18] spapr-pci: fix config space access to support bridges Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 12/18] target-ppc: Use #define instead of opencoding SLB valid bit Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 13/18] spapr-pci: rework MSI/MSIX Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 14/18] xics: move registration of global state to realize() Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 15/18] pseries: Add H_SET_MODE hcall to change guest exception endianness Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 16/18] PPC: KVM: Compile fix for qemu_notify_event Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 17/18] spapr: add "stop-self" RTAS call required to support hot CPU unplug Alexander Graf
2013-09-02  8:11 ` [Qemu-devel] [PULL 18/18] PPC: spapr: iommu: rework traces Alexander Graf
2013-09-03  6:13 ` [Qemu-devel] [PULL 00/18] ppc patch queue 2013-09-02 Aurelien Jarno

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1378109493-41076-7-git-send-email-agraf@suse.de \
    --to=agraf@suse.de \
    --cc=aliguori@us.ibm.com \
    --cc=aurelien@aurel32.net \
    --cc=blauwirbel@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=real@ispras.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).