On Fri, Sep 27, 2019 at 12:05:43PM +0000, Anup Patel wrote: > > > > -----Original Message----- > > From: Richard W.M. Jones <rjo...@redhat.com> > > Sent: Friday, September 27, 2019 5:21 PM > > To: Anup Patel <anup.pa...@wdc.com> > > Cc: Palmer Dabbelt <pal...@sifive.com>; Alistair Francis > > <alistair.fran...@wdc.com>; Sagar Karandikar <sag...@eecs.berkeley.edu>; > > Bastian Koppelmann <kbast...@mail.uni-paderborn.de>; Atish Patra > > <atish.pa...@wdc.com>; qemu-ri...@nongnu.org; qemu- > > de...@nongnu.org; Anup Patel <a...@brainfault.org> > > 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