[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/2] Remove CP15 timer from the device tree if K
From: |
Peter Crosthwaite |
Subject: |
Re: [Qemu-devel] [PATCH 0/2] Remove CP15 timer from the device tree if KVM is used without in-kernel irqchip |
Date: |
Wed, 24 Jun 2015 23:22:38 -0700 |
On Wed, Jun 24, 2015 at 4:58 AM, Pavel Fedin <address@hidden> wrote:
> Certain machines do not have working vGIC hardware. Linux kernel (at least
> up to v4) has configuration options which would still allow to use KVM,
> but GIC and timer have to be emulated in userspace. Unfortunately, ARM CPUs
> do not have an option to trap access to CP15 virtual timer registers.
> Consequently, timer operations cannot be trapped and emulated.
>
> The only possibility to work around is to use another timer hardware which
> is memory-mapped and can be emulated by qemu. In order to make guest kernel
> ignoring CP15 timer, we remove it from machine's device tree.
>
Curious, what is the kernels algorithm for choosing a timer when
multiple are in the device-tree?
There are a lot of QEMU reasons for knocking out device tree nodes,
un-emulated hardware being a big one. Should we be looking for a more
core solution to the "should this device tree node really be here"
problem?
> Of course this works only with machine models which actually have these
> timers (like vexpress).
>
Does an unedited vexpress DTS just work except for this one thing?
Regards,
Peter
> Pavel Fedin (2):
> Introduce qemu_fdt_remove_compatible()
> Remove CP15 timer from the device tree if KVM is used without
> in-kernel irqchip
>
> device_tree.c | 10 ++++++++++
> hw/arm/boot.c | 5 +++++
> include/sysemu/device_tree.h | 10 ++++++++++
> 3 files changed, 25 insertions(+)
>
> --
> 1.9.5.msysgit.0
>
>