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
> 


Reply via email to