From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57066) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a722U-0000Wm-Kw for qemu-devel@nongnu.org; Thu, 10 Dec 2015 09:17:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a722P-0001la-Qz for qemu-devel@nongnu.org; Thu, 10 Dec 2015 09:17:46 -0500 Received: from mx1.redhat.com ([209.132.183.28]:49343) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a722P-0001lN-MJ for qemu-devel@nongnu.org; Thu, 10 Dec 2015 09:17:41 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id 6A9352FB8CA for ; Thu, 10 Dec 2015 14:17:41 +0000 (UTC) References: <5669876E.1040102@redhat.com> From: Paolo Bonzini Message-ID: <5669897C.3090803@redhat.com> Date: Thu, 10 Dec 2015 15:17:32 +0100 MIME-Version: 1.0 In-Reply-To: <5669876E.1040102@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] setting fadt->century List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laszlo Ersek , Michael Tsirkin , Igor Mammedov Cc: qemu devel list On 10/12/2015 15:08, Laszlo Ersek wrote: > > The RTC CMOS RAM index to the century of data value (hundred and > thousand year decimals). If this field contains a zero, then the > RTC centenary feature is not supported. If this field has a > non-zero value, then this field contains an index into RTC RAM > space that OSPM can use to program the centenary field. > > Since the i440fx and Q35 machine types of the i386/x86_64 targets always > include the RTC device -- rtc_init() --, and said RTC device supports > the "centenary feature" -- see RTC_CENTURY in "hw/timer/mc146818rtc.c" > --, I think the fadt_setup() function should set fadt->century to > RTC_CENTURY. > > Do you guys agree? Yes. > If so, should 2.5 and earlier machine types be shielded from this change? I think this shouldn't be necessary. Paolo > Currently the field is left at zero: > > [06Ch 0108 1] RTC Century Index : 00 > > which -- according to analysis done by Ruiyu Ni at Intel -- should cause > Linux and Windows 8+ to think the RTC centenary feature is unavailable, > and cause Windows 7 to (incorrectly) assume that the offset to use is > 0x32. (Which happens to be the right value, but Windows 7 is wrong to > assume anything at all). > > Fixing this would inform Linux and Windows 8+ about the right > capabilities of the hardware, plus retrofit the FADT to Windows 7's > behavior.