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: Anup Patel
Subject: RE: [PATCH 0/2] RTC support for QEMU RISC-V virt machine
Date: Fri, 27 Sep 2019 12:39:10 +0000


> -----Original Message-----
> From: Richard W.M. Jones <address@hidden>
> Sent: Friday, September 27, 2019 6:01 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 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?

PL031 requires input clock.

Of course, we can provide fake input clock (i.e. some random
fixed clock) to make it work but it will be a HACK.

Also, it will be really strange to hook an ARM device into RISC-V
virt machine. On other hand, Goldfish para-virt devices are used
across architectures x86, ARM and MIPS.

> 
> 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.

The RTC devices are pretty much transparent in usage. I am not sure
why libvirt will require to know about type of RTC device.

Regards,
Anup



reply via email to

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