Hi Thomas, Alex, On 11/26/2015 11:57 AM, Thomas Huth wrote: > On 19/11/15 16:22, Eric Auger wrote: >> This function returns the host device tree blob from sysfs >> (/sys/firmware/devicetree/base). >> >> This has a runtime dependency on the dtc binary. This functionality >> is useful for platform device passthrough where the host device tree >> needs to be parsed to feed information into the guest device tree. >> >> Signed-off-by: Eric Auger <eric.au...@linaro.org> >> --- >> device_tree.c | 40 ++++++++++++++++++++++++++++++++++++++++ >> include/sysemu/device_tree.h | 1 + >> 2 files changed, 41 insertions(+) >> >> diff --git a/device_tree.c b/device_tree.c >> index a9f5f8e..58a5329 100644 >> --- a/device_tree.c >> +++ b/device_tree.c >> @@ -117,6 +117,46 @@ fail: >> return NULL; >> } >> >> +/** >> + * load_device_tree_from_sysfs >> + * >> + * extract the dt blob from host sysfs >> + * this has a runtime dependency on the dtc binary >> + */ >> +void *load_device_tree_from_sysfs(void) >> +{ >> + char cmd[] = "dtc -I fs -O dtb /sys/firmware/devicetree/base"; >> + FILE *pipe; >> + void *fdt; >> + int ret, actual_dt_size; >> + >> + pipe = popen(cmd, "r"); >> + if (!pipe) { >> + error_report("%s: Error when executing dtc", __func__); >> + return NULL; >> + } > > The Device Tree Compiler binary is normally only installed on > developer's machines, so I somewhat doubt that it is a good idea to rely > on the availability of that binary in QEMU? Maybe you should rather > extend libfdt to support such a feature?
Sorry for the delay and thank you for your review/comments. According to your feedbacks I give up my plan about using dtc binary. Thanks Eric > > Thomas >