From nobody Tue Nov 4 21:57:01 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1530815337942867.7515592243622; Thu, 5 Jul 2018 11:28:57 -0700 (PDT) Received: from localhost ([::1]:54312 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fb8zx-0002dg-4i for importer@patchew.org; Thu, 05 Jul 2018 14:28:57 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58133) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fb8rs-0004Xx-Dr for qemu-devel@nongnu.org; Thu, 05 Jul 2018 14:20:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fb8rr-0006J3-4n for qemu-devel@nongnu.org; Thu, 05 Jul 2018 14:20:36 -0400 Received: from mail-pf0-x22a.google.com ([2607:f8b0:400e:c00::22a]:41729) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fb8rq-0006I1-QB for qemu-devel@nongnu.org; Thu, 05 Jul 2018 14:20:35 -0400 Received: by mail-pf0-x22a.google.com with SMTP id c21-v6so1515461pfn.8 for ; Thu, 05 Jul 2018 11:20:34 -0700 (PDT) Received: from localhost.localdomain (c-73-158-53-43.hsd1.ca.comcast.net. [73.158.53.43]) by smtp.gmail.com with ESMTPSA id g75-v6sm14170847pfg.145.2018.07.05.11.20.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 05 Jul 2018 11:20:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=HlIKyWfYRBKAQ/J9rnS3Cnw2DMhgAMjqRolJHFPeVDs=; b=U6NtMlDQvyWzw1Q4rwMpUVlcBzp1ybwohy3FsggAXTd1Fvi6jJbHCcq9ETRUlV4bXo i61EHnZYsOwBJpi73Lav34a1iK4K7QLuYecCa/Z3WrENQY6xyPrOTXIKMABh8mABSaQl wauSzI1vBZu4qk9rxOMo4e17emryt2K9ZkxDobxKWAXIUtMj1/uKsSAuN/fIoYDmYS5B mZgGU0tf8K4UgMrPC8Uj5yD46nzSKPYRbc00mXeCavpmge8CC3zyfkXgXTxqTpmNSiHP gAqiziX3R3IN+hNryXokJhgQCjFZU1yk1QXEQcShMn1kfIy3HzkIRXAjPOl4HCDeNfgZ KZ4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=HlIKyWfYRBKAQ/J9rnS3Cnw2DMhgAMjqRolJHFPeVDs=; b=XT49ndRi3HmKUs58b7SOlPXvzs8UQrZGmpeilLr5F9BoJ6Zfvv9TC+ClOFJNJNFR8i DmuFN07+6pc+AHZmEuukLotmRTF+uEOMhtRHh8HD56I6q7fc9MqEMHJKBdeHPSrbwy0J kmywF1LChjrjiu0RGlzhjDxyS+VYNPI/GmGaLd76Y1pJzEDrJn9aX2yongQVwgNHPTTS BRAeaLbFiBaMnoGawVa7tQXRrHGXIiIZ1KMCK4VOnKHX1OBV9CaJSIzt4oZicgPLXcoo gUkho7YVUuxv0+kQiIpQ1itqzUcE0bMCy5TDSlKe0vHTircbrp3DCoFnUqva/9B/M6Ed NLug== X-Gm-Message-State: APt69E19eUFrU0IZjrQTqaJXJRacpN1RCfLD2H4bKD8aDECL5rSMUTrL 0U/cS2F7LaaGy7toDI9WB90= X-Google-Smtp-Source: AAOMgpcdSteroaloc5PO4L6uf/qrrkjehbXmLKnnsrX6ZHO/4GuCLFfAs2bjfOcbXZMb/erQOoNYiw== X-Received: by 2002:a63:4951:: with SMTP id y17-v6mr6728673pgk.32.1530814833904; Thu, 05 Jul 2018 11:20:33 -0700 (PDT) From: Michael Davidsaver To: Peter Maydell , Paolo Bonzini Date: Thu, 5 Jul 2018 11:19:59 -0700 Message-Id: <20180705182001.16537-13-mdavidsaver@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180705182001.16537-1-mdavidsaver@gmail.com> References: <20180705182001.16537-1-mdavidsaver@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c00::22a Subject: [Qemu-devel] [PATCH 12/14] timer: ds-rtc handle CENTURY bit X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Antoine Mathys , Thomas Huth , Michael Davidsaver , qemu-devel@nongnu.org, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Michael Davidsaver Reviewed-by: Peter Maydell Reviewed-by: David Gibson --- hw/timer/ds-rtc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/timer/ds-rtc.c b/hw/timer/ds-rtc.c index 6d3a8b5586..9abac38628 100644 --- a/hw/timer/ds-rtc.c +++ b/hw/timer/ds-rtc.c @@ -70,6 +70,7 @@ typedef struct DSRTCState { typedef struct DSRTCClass { I2CSlaveClass parent_obj; =20 + bool has_century; /* actual address space size must be <=3D NVRAM_SIZE */ unsigned addr_size; unsigned ctrl_offset; @@ -93,6 +94,7 @@ static const VMStateDescription vmstate_dsrtc =3D { =20 static void capture_current_time(DSRTCState *s) { + DSRTCClass *k =3D DSRTC_GET_CLASS(s); /* Capture the current time into the secondary registers * which will be actually read by the data transfer operation. */ @@ -125,7 +127,10 @@ static void capture_current_time(DSRTCState *s) } s->nvram[R_DATE] =3D to_bcd(now.tm_mday); s->nvram[R_MONTH] =3D to_bcd(now.tm_mon + 1); - s->nvram[R_YEAR] =3D to_bcd(now.tm_year - 100); + s->nvram[R_YEAR] =3D to_bcd(now.tm_year % 100u); + + ARRAY_FIELD_DP32(s->nvram, MONTH, CENTURY, + k->has_century && now.tm_year >=3D 100) } =20 static void inc_regptr(DSRTCState *s) @@ -282,6 +287,7 @@ static void ds1338_class_init(ObjectClass *klass, void = *data) { DSRTCClass *k =3D DSRTC_CLASS(klass); =20 + k->has_century =3D false; k->addr_size =3D 0x40; k->ctrl_offset =3D R_DS1338_CTRL; k->ctrl_write =3D ds1338_control_write; --=20 2.11.0