[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/2] RTC support for QEMU RISC-V virt machine
From: |
Richard W.M. Jones |
Subject: |
Re: [PATCH 0/2] RTC support for QEMU RISC-V virt machine |
Date: |
Fri, 27 Sep 2019 13:30:47 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Fri, Sep 27, 2019 at 12:05:43PM +0000, Anup Patel wrote:
>
>
> > -----Original Message-----
> > From: Richard W.M. Jones <address@hidden>
> > Sent: Friday, September 27, 2019 5:21 PM
> > To: Anup Patel <address@hidden>
> > Cc: Palmer Dabbelt <address@hidden>; Alistair Francis
> > <address@hidden>; Sagar Karandikar <address@hidden>;
> > Bastian Koppelmann <address@hidden>; Atish Patra
> > <address@hidden>; address@hidden; qemu-
> > address@hidden; Anup Patel <address@hidden>
> > Subject: Re: [PATCH 0/2] RTC support for QEMU RISC-V virt machine
> >
> >
> > On Tue, Sep 24, 2019 at 08:42:36AM +0000, Anup Patel wrote:
> > > This series adds RTC device to QEMU RISC-V virt machine. We have
> > > selected Goldfish RTC device model for this. It's a pretty simple
> > > synthetic device with few MMIO registers and no dependency external
> > > clock. The driver for Goldfish RTC is already available in Linux so we
> > > just need to enable it in Kconfig for RISCV and also update Linux
> > > defconfigs.
> > >
> > > We have tested this series with Linux-5.3 plus defconfig changes
> > > available in 'goldfish_rtc_v1' branch of:
> > > https://github.com/avpatel/linux.git
> >
> > Why was this device chosen instead of kvm-clock?
>
> We need a RTC device which worked fine in TCG mode (even without
> KVM). The KVMCLOCK is PTP clock which depends on KVM hypercalls.
>
> On ARM virt machine, we have PL031 so instead of that we have
> Goldfish RTC on RISC-V virt machine.
Could we not make kvm-clock work on TCG (I wasn't aware that it needed
actual KVM - I wonder how timekeeping works on TCG?)
Alternately why not use PL031 here?
The reason I'm asking this is because adding a new virtual device
means we have to change this all the way up the stack (libvirt,
virt-*) _and_ have special cases everywhere just for RISC-V. That's a
load of extra work for everyone.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html