symbian-qemu-0.9.1-12/qemu-symbian-svp/devtree.c
branchphonesim-integ
changeset 36 a587897e3bb2
parent 1 2fb8b9db1c86
--- a/symbian-qemu-0.9.1-12/qemu-symbian-svp/devtree.c	Thu Nov 12 14:39:23 2009 -0800
+++ b/symbian-qemu-0.9.1-12/qemu-symbian-svp/devtree.c	Tue Jan 26 13:03:40 2010 +0000
@@ -26,6 +26,7 @@
 #include "devtree.h"
 #include "hw/boards.h"
 #include "libfdt/libfdt.h"
+#include "qemu-char.h"
 
 #define BADF(fmt, args...) \
 do { fprintf(stderr, "error: " fmt , ##args); exit(1);} while (0)
@@ -413,7 +414,15 @@
         if (propstr) {
             i = sscanf(propstr, "serial%d", &n);
             if (i == 1 && n >= 0 && n < MAX_SERIAL_PORTS)
+            {
+                if (!serial_hds[n])
+                {
+                    const char* target = fdt_getprop_string(dt, node, "target");
+                    if (target)
+                        serial_hds[n] = qemu_chr_open(propstr, target);
+                }
                 d->chardev = serial_hds[n];
+            }
         }
     }
     find_properties(d);