qemu-riscv
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]