From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [RFC v2] ARM VM System Specification Date: Tue, 10 Jun 2014 20:56:37 +0200 Message-ID: <539754E5.3030408@redhat.com> References: <20140328184517.GA27219@cbox> <53973AA8.9020301@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Christoffer Dall , "cross-distro@lists.linaro.org" , Ian Campbell , kvm-devel , Michael Casadevall , "marc.zyngier@arm.com" , Rob Herring , "xen-devel@lists.xen.org" , Stefano Stabellini , Grant Likely , "kvmarm@lists.cs.columbia.edu" , arm-mail-list To: Peter Maydell , Christopher Covington Return-path: Received: from mail-wi0-f180.google.com ([209.85.212.180]:59068 "EHLO mail-wi0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751888AbaFJS4n (ORCPT ); Tue, 10 Jun 2014 14:56:43 -0400 Received: by mail-wi0-f180.google.com with SMTP id hi2so4514455wib.7 for ; Tue, 10 Jun 2014 11:56:42 -0700 (PDT) In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: Il 10/06/2014 20:08, Peter Maydell ha scritto: > On 10 June 2014 18:04, Christopher Covington wrote: >> On 06/10/2014 10:42 AM, Peter Maydell wrote: >>> I just noticed that this doesn't mandate that the platform >>> provides an RTC. As I understand it, the UEFI spec mandates >>> that there's an RTC (could somebody more familiar with UEFI >>> than me confirm/deny that?) so we should probably put one here. >> >> Pardon my ignorance, but what exactly disqualifies Generic Timer >> implementations from being used as Real Time Clocks? > > So my naive view was that an RTC actually had to have > support for dealing with real (wall) clock time, ie > knowing it's 2014 and not 1970. The generic timers are > just timers. Or am I wrong and UEFI doesn't really > require that? The real-time clock provides four UEFI runtime services (GetTime, SetTime, GetWakeupTime, SetWakeupTime). The spec says that you can return EFI_DEVICE_ERROR from GetTime/SetTime if "the time could not be retrieved/set due to a hardware error", but I don't think this is enough to make these two optional. By comparison, GetWakeupTime/SetWakeupTime can also return EFI_UNSUPPORTED. So I agree that the RTC is required in UEFI. Paolo From mboxrd@z Thu Jan 1 00:00:00 1970 From: pbonzini@redhat.com (Paolo Bonzini) Date: Tue, 10 Jun 2014 20:56:37 +0200 Subject: [RFC v2] ARM VM System Specification In-Reply-To: References: <20140328184517.GA27219@cbox> <53973AA8.9020301@codeaurora.org> Message-ID: <539754E5.3030408@redhat.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Il 10/06/2014 20:08, Peter Maydell ha scritto: > On 10 June 2014 18:04, Christopher Covington wrote: >> On 06/10/2014 10:42 AM, Peter Maydell wrote: >>> I just noticed that this doesn't mandate that the platform >>> provides an RTC. As I understand it, the UEFI spec mandates >>> that there's an RTC (could somebody more familiar with UEFI >>> than me confirm/deny that?) so we should probably put one here. >> >> Pardon my ignorance, but what exactly disqualifies Generic Timer >> implementations from being used as Real Time Clocks? > > So my naive view was that an RTC actually had to have > support for dealing with real (wall) clock time, ie > knowing it's 2014 and not 1970. The generic timers are > just timers. Or am I wrong and UEFI doesn't really > require that? The real-time clock provides four UEFI runtime services (GetTime, SetTime, GetWakeupTime, SetWakeupTime). The spec says that you can return EFI_DEVICE_ERROR from GetTime/SetTime if "the time could not be retrieved/set due to a hardware error", but I don't think this is enough to make these two optional. By comparison, GetWakeupTime/SetWakeupTime can also return EFI_UNSUPPORTED. So I agree that the RTC is required in UEFI. Paolo