[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen/arm: Validate generic timer frequency
Hi Michal, On 28/09/2023 13:34, Michal Orzel wrote: Generic timer dt node property "clock-frequency" (refer Linux dt binding Documentation/devicetree/bindings/timer/arm,arch_timer.yaml) is used to override the incorrect value set by firmware in CNTFRQ_EL0. If the value of this property is 0 (i.e. by mistake), Xen would continue to work and use the value from the sysreg instead. The logic is thus incorrect and results in inconsistency when creating timer node for domUs: - libxl domUs: clock_frequency member of struct xen_arch_domainconfig is set to 0 and libxl ignores setting the "clock-frequency" property, - dom0less domUs: "clock-frequency" property is taken from dt_host and thus set to 0. Property "clock-frequency" is used to override the value from sysreg, so if it is also invalid, there is nothing we can do and we shall panic to let user know about incorrect setting. Going even further, we operate under assumption that the frequency must be at least 1KHz (i.e. cpu_khz not 0) in order for Xen to boot. Therefore, introduce a new helper validate_timer_frequency() to verify this assumption and use it to check the frequency obtained either from dt property or from sysreg. Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx> Acked-by: Julien Grall <jgrall@xxxxxxxxxx> Cheers, -- Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |