[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] xen/arm: Propagate clock-frequency to DOMU if present in the DT timer node



Hi Ian,

On 17/06/15 11:57, Ian Campbell wrote:
> On Wed, 2015-06-03 at 15:48 +0100, Julien Grall wrote:
>> When the property "clock-frequency" is present in the DT timer node, it
>> means that the bootloader/firmware didn't correctly configured the
> 
> "configure"
> 
>> CNTFRQ/CNTFRQ_EL0 on each processor.
>>
>> The best solution would be to fix the offending firmware/bootloader,
>> although it may not always be possible to modify and re-flash it.
>>
>> As it's not possible to trap the register CNTFRQ/CNTFRQ_EL0, we have
>> to extend xen_arch_domainconfig to provide the timer frequency to the
>> toolstack when the property "clock-frequency" is present to the host DT
>> timer node. Then, a property "clock-frequency" will be created in the guest
>> DT timer node if the value is not 0.
>>
>> We could have set the property in the guest DT no matter if the property
>> is present in the host DT. Although, we still want to let the guest
>> using CNTFRQ in normal case. After all, the property "clock-frequency"
>> is just a workaround for buggy firmware.
>>
>> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
>> Cc: Chris Brand <chris.brand@xxxxxxxxxxxx>
> 
> I was about to apply but:
> 
> libxl_arm.c: In function âmake_timer_nodeâ:
> libxl_arm.c:468:9: error: implicit declaration of function âfdt_property_u32â 
> [-Werror=implicit-function-declaration]
> cc1: all warnings being treated as errors
> 
> That happen on both my 32 bit build (Debian Wheezy) and my 64 bit on
> (Ubuntu Saucy).

Hmmm... I was expecting to this helper present on libfdt for a long
time. But it seems to be present only from 1.4.

Given the size of the helper (2 line), I'm thinking to open-code and
call directly fdt_property:

static inline int fdt_property_u32(void *fdt, const char *name, uint32_t
val)
{
        fdt32_t tmp = cpu_to_fdt32(val);
        return fdt_property(fdt, name, &tmp, sizeof(tmp));
}

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.