From patchwork Sat Oct 10 17:26:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 271600 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 705A4C433E7 for ; Sat, 10 Oct 2020 17:36:45 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0DC5F2245F for ; Sat, 10 Oct 2020 17:36:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="pjr7GAEc" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0DC5F2245F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amsat.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:59336 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kRInU-0003xS-5o for qemu-devel@archiver.kernel.org; Sat, 10 Oct 2020 13:36:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55032) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kRIdd-0000Yc-TG for qemu-devel@nongnu.org; Sat, 10 Oct 2020 13:26:34 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:42068) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kRIdc-0003rG-Ct for qemu-devel@nongnu.org; Sat, 10 Oct 2020 13:26:33 -0400 Received: by mail-wr1-x442.google.com with SMTP id e18so13667036wrw.9 for ; Sat, 10 Oct 2020 10:26:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BslzpywZz3mbJWKAE8qW6xsdeqX9i4THsloWKfBnQUU=; b=pjr7GAEcqfMXNrpLVvYJztm3aj5lg5IkUT4H1AWhOE71gxrsuvT0XdjlE/UtjtqOej U3xiCAccbHb/3Fd8SJQjM3BjTv1b5VLyqxuuVUCukL2Q6Xb6SKrDmRrZJXPuUeS/UfmA H+ElfgsWLaGL8YO2DwCBaCzCdgFUtCV5tjLrthqJFpeaECI3AUqtDFU2cV6iPBjn7mLo PMaERISkWlqZaJOVBXAG1Yyx8lW8gpfayYhHsqRCekmiiDZa8CGlNZ/TWYgGZk5riJ2J QeiZBPDFClDEIoMARdnS2xasX6tT+jzWLSX7/+4/nD2SrnjBLvhiTI3lRqKvwk7HCOKK XRkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=BslzpywZz3mbJWKAE8qW6xsdeqX9i4THsloWKfBnQUU=; b=Z+4uzXiTomroQ1nlNB9N95hAJBEetx8mNOgZsmlKOFit+5GU0Xmmh7jbEfwN09AQBd 6wsX9zogOJ7k4QCJTfiTno43SFvccp/5E8Y5jOvj960CiQ78wOaeI4W6/p11vWeeQX3L WCOKikzysn3q1pBGdFVGniHHjg+ZcNLBfmffImimL0KdwJ8DC4ELM6FPurzbSNZ9oxTa HpJ8lxXDNPq7Az1jjShgirdgkJy1LcymsptUgFxuuO2Jt928kMBuKiwPmolI4dk2G/3D lhts804hpWbmQjN+wJdYMLohD5joF+rT+G6rlINUrl35JkFu/cXN8qNdBpluRAaodok0 Dtqg== X-Gm-Message-State: AOAM532kHgOMzV116K9zNN1bsKDoTK8TRrgZtrGOS0juDuHT69QLJF/+ gpIFqQlwBV6kNxQozlpzKet86TLTfoo= X-Google-Smtp-Source: ABdhPJzIl5ahmAun9fpg+HMrCrCevt30Ama0z0hsCUbg9EHKqUHFMXeBFijpC987BUsAyzst9CwNLg== X-Received: by 2002:adf:a3d8:: with SMTP id m24mr20690743wrb.418.1602350790833; Sat, 10 Oct 2020 10:26:30 -0700 (PDT) Received: from localhost.localdomain (106.red-83-59-162.dynamicip.rima-tde.net. [83.59.162.106]) by smtp.gmail.com with ESMTPSA id i11sm16786068wre.32.2020.10.10.10.26.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 Oct 2020 10:26:30 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH v2 07/20] target/mips/cp0_timer: Document TIMER_PERIOD origin Date: Sat, 10 Oct 2020 19:26:04 +0200 Message-Id: <20201010172617.3079633-8-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201010172617.3079633-1-f4bug@amsat.org> References: <20201010172617.3079633-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::442; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x442.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Damien Hedde , Huacai Chen , Aleksandar Rikalo , Luc Michel , Paul Burton , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Herv=C3=A9_Poussineau?= , Paolo Bonzini , Huacai Chen , =?utf-8?q?Alex_Benn=C3=A9e?= , Aurelien Jarno , Richard Henderson Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" TIMER_PERIOD value of '10 ns' can be explained looking at commit 6af0bf9c7c3doc, where the CPU frequency is 200 MHz and CP0 default count rate is half the frequency of the CPU. Document that. Signed-off-by: Philippe Mathieu-Daudé --- target/mips/cp0_timer.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/target/mips/cp0_timer.c b/target/mips/cp0_timer.c index 5194c967ae3..6fec5fe0ff7 100644 --- a/target/mips/cp0_timer.c +++ b/target/mips/cp0_timer.c @@ -27,7 +27,17 @@ #include "sysemu/kvm.h" #include "internal.h" -#define TIMER_PERIOD 10 /* 10 ns period for 100 Mhz frequency */ +/* + * Since commit 6af0bf9c7c3 this model assumes a CPU clocked at 200MHz + * and a CP0 timer running at half the clock of the CPU (cp0_count_rate = 2). + * + * TIMER_FREQ_HZ = CPU_FREQ_HZ / CP0_COUNT_RATE = 200 MHz / 2 = 100 MHz + * + * TIMER_PERIOD_NS = 1 / TIMER_FREQ_HZ = 10 ns + */ +#define CPU_FREQ_HZ_DEFAULT 200000000 +#define CP0_COUNT_RATE_DEFAULT 2 +#define TIMER_PERIOD 10 /* 1 / (CPU_FREQ_HZ / CP0_COUNT_RATE) */ /* MIPS R4K timer */ static void cpu_mips_timer_update(CPUMIPSState *env)