[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/6] device_tree.c: dump three kind data types of dt
From: |
john.liuli |
Subject: |
[Qemu-devel] [PATCH 2/6] device_tree.c: dump three kind data types of dts to a file desciptor |
Date: |
Mon, 25 Aug 2014 12:00:33 +0800 |
From: Li Liu <address@hidden>
dump three kind data types 'strings', 'cell' and 'bytes' of dts
to a file desciptor.
Signed-off-by: Li Liu <address@hidden>
---
device_tree.c | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/device_tree.c b/device_tree.c
index 29d9acc..14d4015 100644
--- a/device_tree.c
+++ b/device_tree.c
@@ -377,3 +377,42 @@ static int dts_is_printable_strings(const void *data, int
len)
return substrs && !substr_len;
}
+
+static void dts_write_data(FILE *fp, const char *data, int len)
+{
+ int i;
+ const char *p = data;
+ const char *s;
+
+ if (len == 0) {
+ return;
+ }
+
+ if (dts_is_printable_strings(data, len)) {
+ fprintf(fp, " = ");
+
+ s = data;
+ do {
+ fprintf(fp, "\"%s\"", s);
+ s += strlen(s) + 1;
+ if (s < data + len) {
+ fprintf(fp, ", ");
+ }
+ } while (s < data + len);
+ } else if ((len % 4) == 0) {
+ const uint32_t *cell = (const uint32_t *)data;
+
+ fprintf(fp, " = <");
+ for (i = 0; i < len; i += 4) {
+ fprintf(fp, "0x%x%s", fdt32_to_cpu(cell[i / 4]),
+ i < (len - 4) ? " " : "");
+ }
+ fprintf(fp, ">");
+ } else {
+ fprintf(fp, " = [");
+ for (i = 0; i < len; i++) {
+ fprintf(fp, "%02hhx%s", *p++, i < len - 1 ? " " : "");
+ }
+ fprintf(fp, "]");
+ }
+}
--
1.7.9.5
- [Qemu-devel] [PATCH 0/6] add dumpdts ability to convert dtb to dts, john.liuli, 2014/08/25
- [Qemu-devel] [PATCH 3/6] device_tree.c: Format a blob in memory as dts stream and dump to a file., john.liuli, 2014/08/25
- [Qemu-devel] [PATCH 1/6] device_tree.c: Introduce a function to check multiple strings for dts, john.liuli, 2014/08/25
- [Qemu-devel] [PATCH 2/6] device_tree.c: dump three kind data types of dts to a file desciptor,
john.liuli <=
- [Qemu-devel] [PATCH 4/6] device_tree.c: add the main function to analyse the parameter 'dumpdts', john.liuli, 2014/08/25
- [Qemu-devel] [PATCH 6/6] arm: Allow dumping generated dtb to dts file, john.liuli, 2014/08/25
- [Qemu-devel] [PATCH 5/6] machine: add 'dumpdts' parameter to 'machine' optslist., john.liuli, 2014/08/25
- Re: [Qemu-devel] [PATCH 0/6] add dumpdts ability to convert dtb to dts, Peter Maydell, 2014/08/25