From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.67 as permitted sender) client-ip=209.85.221.67; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f67.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.67 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1601313345; cv=none; d=zohomail.com; s=zohoarc; b=gnHQN9K2xmlYHmeEzaSYHGPbghzHGRrduxZ+8ve7MfWkJy1GgYrzDK5tSwW9LLnxJ3LuVUjs7JNHitSdzUIYGSFOEB/kHrUAihuJljGS7WU3zKL9OMi51FW2GWP1QzIumj4z8soDkqxIMhKNC76mVUTL5byIMlO4SuDpT7zDr+Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313345; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=tEiQnyrePNI+SA5QcWB5N9e6IHcTd69FaWZKVkP2uZM=; b=atj3PFtmzAuymnRmQLOUzgy0jC218HYya6lvYkLub331iYPDSOS2JRU69YkvQdkJBgV6cjHUQlydhXtERVi0iTCK65lqV0GUinTiyl0jpJo1dzhM/A6w3aIc5iZyD03Hnn3wLT3fSBB9tMgVdfje3lHuqVDWvR5BDsNcEVJ3zRY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.67 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by mx.zohomail.com with SMTPS id 1601313345171662.5413517892131; Mon, 28 Sep 2020 10:15:45 -0700 (PDT) Received: by mail-wr1-f67.google.com with SMTP id t10so2234377wrv.1 for ; Mon, 28 Sep 2020 10:15:44 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.15.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:15:42 -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=tEiQnyrePNI+SA5QcWB5N9e6IHcTd69FaWZKVkP2uZM=; b=R+Khkhq6C3muXCn8UA/xx8ZuX0GdytX17BoZpEA83SH+ZrjpJ36yP61wvjIYhFA6WE cyHo94UlCKVPD1WuBBXQwhA5N6ez3uzah64J+ncpM8+FSRvnVtGu07dPsU1QyH+JT9FU ddNIgX1bZmAQHoiEFEB8SpYEOoxTuDbfOAKNeek8wUPXzjcaPUtkKVNudNBA2UwOqpz8 nJWRurXXF1DDy5uhrN/K6OAltTuLfsRI/7q+pzCgjTTGHjnDTlfuaqttmXJOhVBWVW3e lWOLe600k6960nqcgAGb+tbY0yVxRRujLMB/U73mG3VjUbL0PueyEpLsv/K1KGiHMwB7 IAlg== 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=tEiQnyrePNI+SA5QcWB5N9e6IHcTd69FaWZKVkP2uZM=; b=J8i8MQTn0kFb7EDwoSY0M8bxpyHLc4gksrziPvHKrtvobT2BsWAAClCzoZuIyXl6PD kXeT8rMtPggvPVg4g3UDhQ7XQ0i3Uj2sOCgc7ULcHV8lmBMQ9mine1BwwwB1oP7solEA QrVsyux7NueJr8EvLfAmt9w9y9hT4hB3rzItG37PZag58Jevu8+kPIZfwHuFKOjjrCbU TPKYk5BBu9Lg7sPhp5e1mZBBfCMgLHsF9XKpEybBySoSOHpi07YS2e6vyHi6xGJ45Y1v Nnz9NDqNWDzxKvv7vcb6bkhkKP+BdtYUY1V/eCtNnq4vnxlDEP8wxxbkxAH9k4v0hKRr 7vXQ== X-Gm-Message-State: AOAM530s1k74RdiNqcn0rHpT0ETyLj5RtfZr7zMDH6Xuh7Hz9mzA6BZs Xli7E5PPwFUGsA7BFcEBS1w= X-Google-Smtp-Source: ABdhPJz8H+WYfCEcF040REWDSx5gl2HXfOX3SOuwGT5J909C4q0wNdhCusE7/uXn0b8x34T4rf0dpg== X-Received: by 2002:adf:d089:: with SMTP id y9mr2705178wrh.234.1601313343215; Mon, 28 Sep 2020 10:15:43 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 01/16] hw/core/cpu: Let CPU object have a clock source Date: Mon, 28 Sep 2020 19:15:24 +0200 Message-Id: <20200928171539.788309-2-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Let CPUState have a clock source (named 'clk') and CPUClass have a clock_update() callback. The clock can be optionally set Using qdev_connect_clock_in() from the Clock API. If the clock changes, the optional clock_update() will be called. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/core/cpu.h | 5 +++++ hw/core/cpu.c | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index 6c34798c8b3..6989d90c193 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -31,6 +31,7 @@ #include "qemu/thread.h" #include "qemu/plugin.h" #include "qom/object.h" +#include "hw/clock.h" =20 typedef int (*WriteCoreDumpFunction)(const void *buf, size_t size, void *opaque); @@ -155,6 +156,7 @@ struct TranslationBlock; * @disas_set_info: Setup architecture specific components of disassembly = info * @adjust_watchpoint_address: Perform a target-specific adjustment to an * address before attempting to match it against watchpoints. + * @clock_update: Callback for input clock changes * * Represents a CPU family or model. */ @@ -176,6 +178,7 @@ struct CPUClass { unsigned size, MMUAccessType access_type, int mmu_idx, MemTxAttrs attrs, MemTxResult response, uintptr_t retaddr); + void (*clock_update)(CPUState *cpu); bool (*virtio_is_big_endian)(CPUState *cpu); int (*memory_rw_debug)(CPUState *cpu, vaddr addr, uint8_t *buf, int len, bool is_write); @@ -316,6 +319,7 @@ struct qemu_work_item; * QOM parent. * @nr_cores: Number of cores within this CPU package. * @nr_threads: Number of threads within this CPU. + * @clock: this CPU source clock (an output clock of another device) * @running: #true if CPU is currently running (lockless). * @has_waiter: #true if a CPU is currently waiting for the cpu_exec_end; * valid under cpu_list_lock. @@ -400,6 +404,7 @@ struct CPUState { int num_ases; AddressSpace *as; MemoryRegion *memory; + Clock *clock; =20 void *env_ptr; /* CPUArchState */ IcountDecr *icount_decr_ptr; diff --git a/hw/core/cpu.c b/hw/core/cpu.c index c55c09f734c..37fcff3ec64 100644 --- a/hw/core/cpu.c +++ b/hw/core/cpu.c @@ -30,6 +30,7 @@ #include "qemu/qemu-print.h" #include "sysemu/tcg.h" #include "hw/boards.h" +#include "hw/qdev-clock.h" #include "hw/qdev-properties.h" #include "trace/trace-root.h" #include "qemu/plugin.h" @@ -247,6 +248,16 @@ void cpu_reset(CPUState *cpu) trace_guest_cpu_reset(cpu); } =20 +static void cpu_clk_update(void *opaque) +{ + CPUState *cpu =3D opaque; + CPUClass *cc =3D CPU_GET_CLASS(cpu); + + if (cc->clock_update) { + cc->clock_update(cpu); + } +} + static void cpu_common_reset(DeviceState *dev) { CPUState *cpu =3D CPU(dev); @@ -367,6 +378,7 @@ static void cpu_common_initfn(Object *obj) /* the default value is changed by qemu_init_vcpu() for softmmu */ cpu->nr_cores =3D 1; cpu->nr_threads =3D 1; + cpu->clock =3D qdev_init_clock_in(DEVICE(obj), "clk", cpu_clk_update, = cpu); =20 qemu_mutex_init(&cpu->work_mutex); QSIMPLEQ_INIT(&cpu->work_list); --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.66 as permitted sender) client-ip=209.85.128.66; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f66.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.66 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601313346; cv=none; d=zohomail.com; s=zohoarc; b=kI+f5jd0wT3idP+6E/+aMrs9pZaNJ158y12+AoxudL5GXAC3T6vi8Ujt1iCg5q8KJaejXdiCuhTCJIhq9hgQ89YUGRsYjejvuH8aZZypwC4Tox61osZtWGW72t9HGqYeyrsJ2gLPrgctFWqbg2zzELSrTDDxDxuhMoAOhCcTGgo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313346; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=cadHRUlJVGDHYwrx6BROjvQUTmmG7r+sEP8we7ujSMo=; b=Vv4I29OnWtL9dA1lU9aW9FanpuBAlxeH8XVbdE5QLdkytu9mUNpakKltggbNw2McDQvZWd4bpztMH4fNDAZZV/hPoSea2rvQBGDcKB626LvLkB30Jxc1GsdKr/mQWmL/AzFWOMnfmajueFAmkIOWBwCC6HSNrials7olcjwgpyo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.66 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by mx.zohomail.com with SMTPS id 160131334684892.50692922507199; Mon, 28 Sep 2020 10:15:46 -0700 (PDT) Received: by mail-wm1-f66.google.com with SMTP id e17so1913785wme.0 for ; Mon, 28 Sep 2020 10:15:46 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.15.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:15:44 -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=cadHRUlJVGDHYwrx6BROjvQUTmmG7r+sEP8we7ujSMo=; b=Q/eW2j5QZCg2uK3jegk7FCFRm3wZiiYIqlXSzxknZOm3R+ZDIKSus01X8zz4qP9Mt9 onhcn4UbePY+I9CxEp74HZViEhImTUuuw1TJy/NEfNyCmHYf0pUzrxu9n0LKqKDe0FN7 xw8n7ABLhVgSm9NxMizLu1azdjj5t5KWBn6qnFbP9OQlBjqkMl3YGIxTkZfblZCdnGfk XPfF4OGeW4FASKIyb5PTtOqAco1epvHaS9m4swVAmBW1cKXqJhv4bPXvjHApckNhNzxO qUnDwS578QMz0nP8X65feHa2HWKYCnZSoAeFZnw//awJ5u8dfujAjqMZmUAwhprdlyX0 Xh1g== 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=cadHRUlJVGDHYwrx6BROjvQUTmmG7r+sEP8we7ujSMo=; b=SvDep6lyNOJwSaiqSOXgXBjwNNPeedfM4hnVlrGFZMV346ZyNZMkexkSlCgCn98mox 2zsbeOykBSD3eHglcmbwKJu/yfEovJPWZcUk8visd4VuATohn8XW2AayoA90OgBS69LS oZHgezcXgdhMNCpSkEVowOgL/QT+i0bnaxVFhTAdLDxyrqoStQarwVbHQjP6QDeURQjg 0UOYbGpGmkYLEB+l9z0D+nUYIjmsSWu7qAA0B4JzXe5JGyLOa1U8ZSFyWtg1pB4/2V4I wMAFycWD78svTOBGcbwB01Zrwzzn0K4/USnl+DfBK/Wpo6WXJgktURpakyFwrcsDLS4o 8kCw== X-Gm-Message-State: AOAM533xMiY3mu+BHKLXDKYkB+Mquvnw67NrXGXY9xswpc7bJOZzz2ca bTXkX4/qgFjpiK41ELhpLqw= X-Google-Smtp-Source: ABdhPJwq1k7VA7Frm1YSsaIupUzH1L9BCyAOLlQ/4LP9+Sh8gMdSeAMqXhljRW7acRgQ1n1DmtlDSg== X-Received: by 2002:a1c:2d94:: with SMTP id t142mr225524wmt.74.1601313344826; Mon, 28 Sep 2020 10:15:44 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 02/16] target/mips: Move cpu_mips_get_random() with CP0 helpers Date: Mon, 28 Sep 2020 19:15:25 +0200 Message-Id: <20200928171539.788309-3-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) The get_random() helper uses the CP0_Wired register, which is unrelated to the CP0_Count register use as timer. Commit e16fe40c872 ("Move the MIPS CPU timer in a separate file") incorrectly moved this get_random() helper with timer specific code. Move it back to generic CP0 helpers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Aleksandar Markovic --- target/mips/internal.h | 2 +- target/mips/cp0_helper.c | 25 +++++++++++++++++++++++++ target/mips/cp0_timer.c | 25 ------------------------- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/target/mips/internal.h b/target/mips/internal.h index 7f159a9230c..087cabaa6d4 100644 --- a/target/mips/internal.h +++ b/target/mips/internal.h @@ -144,6 +144,7 @@ void r4k_helper_tlbr(CPUMIPSState *env); void r4k_helper_tlbinv(CPUMIPSState *env); void r4k_helper_tlbinvf(CPUMIPSState *env); void r4k_invalidate_tlb(CPUMIPSState *env, int idx, int use_extra); +uint32_t cpu_mips_get_random(CPUMIPSState *env); =20 void mips_cpu_do_transaction_failed(CPUState *cs, hwaddr physaddr, vaddr addr, unsigned size, @@ -209,7 +210,6 @@ void cpu_state_reset(CPUMIPSState *s); void cpu_mips_realize_env(CPUMIPSState *env); =20 /* cp0_timer.c */ -uint32_t cpu_mips_get_random(CPUMIPSState *env); uint32_t cpu_mips_get_count(CPUMIPSState *env); void cpu_mips_store_count(CPUMIPSState *env, uint32_t value); void cpu_mips_store_compare(CPUMIPSState *env, uint32_t value); diff --git a/target/mips/cp0_helper.c b/target/mips/cp0_helper.c index de64add038b..12143ac55b9 100644 --- a/target/mips/cp0_helper.c +++ b/target/mips/cp0_helper.c @@ -203,6 +203,31 @@ static void sync_c0_entryhi(CPUMIPSState *cpu, int tc) *tcst |=3D asid; } =20 +/* XXX: do not use a global */ +uint32_t cpu_mips_get_random(CPUMIPSState *env) +{ + static uint32_t seed =3D 1; + static uint32_t prev_idx; + uint32_t idx; + uint32_t nb_rand_tlb =3D env->tlb->nb_tlb - env->CP0_Wired; + + if (nb_rand_tlb =3D=3D 1) { + return env->tlb->nb_tlb - 1; + } + + /* Don't return same value twice, so get another value */ + do { + /* + * Use a simple algorithm of Linear Congruential Generator + * from ISO/IEC 9899 standard. + */ + seed =3D 1103515245 * seed + 12345; + idx =3D (seed >> 16) % nb_rand_tlb + env->CP0_Wired; + } while (idx =3D=3D prev_idx); + prev_idx =3D idx; + return idx; +} + /* CP0 helpers */ target_ulong helper_mfc0_mvpcontrol(CPUMIPSState *env) { diff --git a/target/mips/cp0_timer.c b/target/mips/cp0_timer.c index bd7efb152dd..9c38e9da1c8 100644 --- a/target/mips/cp0_timer.c +++ b/target/mips/cp0_timer.c @@ -29,31 +29,6 @@ =20 #define TIMER_PERIOD 10 /* 10 ns period for 100 Mhz frequency */ =20 -/* XXX: do not use a global */ -uint32_t cpu_mips_get_random(CPUMIPSState *env) -{ - static uint32_t seed =3D 1; - static uint32_t prev_idx =3D 0; - uint32_t idx; - uint32_t nb_rand_tlb =3D env->tlb->nb_tlb - env->CP0_Wired; - - if (nb_rand_tlb =3D=3D 1) { - return env->tlb->nb_tlb - 1; - } - - /* Don't return same value twice, so get another value */ - do { - /* - * Use a simple algorithm of Linear Congruential Generator - * from ISO/IEC 9899 standard. - */ - seed =3D 1103515245 * seed + 12345; - idx =3D (seed >> 16) % nb_rand_tlb + env->CP0_Wired; - } while (idx =3D=3D prev_idx); - prev_idx =3D idx; - return idx; -} - /* MIPS R4K timer */ static void cpu_mips_timer_update(CPUMIPSState *env) { --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) client-ip=209.85.128.65; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f65.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601313348; cv=none; d=zohomail.com; s=zohoarc; b=Uhsxz17Rtq1CZOWi0NPfhCi/U0juB5znVNuKRcWIdCSYuNjuoXaqAF/Zu6phpWokgXPmNIxNz9E2mDG6P3IE7oSUO9ypRKUSjc7hO+nUka65kobRTyo2ZLJKI9E1c29YvsTnIRgM9hwsCZmXEGum8Dnz5it/Tu6lU7buUsMWOt0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313348; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=2cYhkegMVCWJx5AY//3ZiHazS6O2MiBS34TtiHWp2eM=; b=mxPRWLkaNYLW7rJUA4UCkI1eZQ1QaVZhKzpobaqcRq4kSDkwLHsYhswqtBkuSis+TIjip3LQY3tr7n0IMWL3TxWKYlpQWLPY7tbPfCicIZUcES/u7bnEYXhpzeydUiDS/k/p9S7xNpIEafxGY5tzaioRGxDMt6IDmaNbi59heiM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by mx.zohomail.com with SMTPS id 1601313348355416.22726174006357; Mon, 28 Sep 2020 10:15:48 -0700 (PDT) Received: by mail-wm1-f65.google.com with SMTP id y15so1946903wmi.0 for ; Mon, 28 Sep 2020 10:15:47 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.15.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:15:45 -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=2cYhkegMVCWJx5AY//3ZiHazS6O2MiBS34TtiHWp2eM=; b=hBmsFGLPnT0vkfFJZl2x2Cff7H3OCLzyPCG4Smvz+YK5XS9L7yRu33Wq5POaDbIgxY 83LEXlo5uRa7bEIzl7j1Ewej2LIwsVMBVvloWyrL3NjiEdG2NHtn2/b7//ktRGBHLJpQ mnafozIUFh5Fv7OutvCDar1ewUHwlqUehdvpQtilCqImqg/ny5KetLU1umb4xrE+RELI y68PnXq/1YYwJXshLtrZkm26P/Pi/T9lZrNS/nMbvE4XUxoW7wyu2Km4gDC/xrwqlTvb 84vsGbBZ6SO9hPdAi7XaxBbgFqD1NHqJ+i5/mXTqF5tREIcLNf5QxKMQSMYYHt0vuL1t xqZQ== 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=2cYhkegMVCWJx5AY//3ZiHazS6O2MiBS34TtiHWp2eM=; b=qazaOspW8ejSszl8ZpUHIulRpFInku7sCaj8I7yXLSrBYbgd/pq2c5qYWg8ax7a0Mz zuaPxcPUwCF1GxFuq6h27bU8cdTWCKnjmVVK7gwvAINJ5reDr6YS2wpOfWBZxy39MG5D Rr+CULa5H6zOa74J71ezG0BhcPfeh1IJNje/RUlbdfR11GKbuLGDSeBLhVugu/kuTAqA dY9PDkoFBds/tE+WnlYgBtvtQeHvip4Tp5NIOvXPMEOLNCnz0/CojznhIlbvO+2yxu62 jCiV4mqDHqMTfBJBbNK3AmAEBIjpkttGriLJp2jgKxAXbtwJvoSwU7teIau314ySvT4Q PPzA== X-Gm-Message-State: AOAM531wiLc6GodibCAx1h2W2Y4AtJFccq/0TwJXtB1FzvZ5FsqqAVAa jkPGAKqHn+9eFCfxvg+wWxQ= X-Google-Smtp-Source: ABdhPJwcX/2tzK7qBAUthfAlGDnkpGlZz46ahe7sj3kfWDWtu4Q+a+5C4tLuSHzfkdflDHuI/Umhng== X-Received: by 2002:a1c:7911:: with SMTP id l17mr168548wme.179.1601313346516; Mon, 28 Sep 2020 10:15:46 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 03/16] target/mips/cp0_timer: Explicit unit in variable name Date: Mon, 28 Sep 2020 19:15:26 +0200 Message-Id: <20200928171539.788309-4-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Name variables holding nanoseconds with the '_ns' suffix. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Aleksandar Markovic --- target/mips/cp0_timer.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/target/mips/cp0_timer.c b/target/mips/cp0_timer.c index 9c38e9da1c8..5194c967ae3 100644 --- a/target/mips/cp0_timer.c +++ b/target/mips/cp0_timer.c @@ -32,13 +32,14 @@ /* MIPS R4K timer */ static void cpu_mips_timer_update(CPUMIPSState *env) { - uint64_t now, next; + uint64_t now_ns, next_ns; uint32_t wait; =20 - now =3D qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); - wait =3D env->CP0_Compare - env->CP0_Count - (uint32_t)(now / TIMER_PE= RIOD); - next =3D now + (uint64_t)wait * TIMER_PERIOD; - timer_mod(env->timer, next); + now_ns =3D qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); + wait =3D env->CP0_Compare - env->CP0_Count - + (uint32_t)(now_ns / TIMER_PERIOD); + next_ns =3D now_ns + (uint64_t)wait * TIMER_PERIOD; + timer_mod(env->timer, next_ns); } =20 /* Expire the timer. */ @@ -56,16 +57,16 @@ uint32_t cpu_mips_get_count(CPUMIPSState *env) if (env->CP0_Cause & (1 << CP0Ca_DC)) { return env->CP0_Count; } else { - uint64_t now; + uint64_t now_ns; =20 - now =3D qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); + now_ns =3D qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); if (timer_pending(env->timer) - && timer_expired(env->timer, now)) { + && timer_expired(env->timer, now_ns)) { /* The timer has already expired. */ cpu_mips_timer_expire(env); } =20 - return env->CP0_Count + (uint32_t)(now / TIMER_PERIOD); + return env->CP0_Count + (uint32_t)(now_ns / TIMER_PERIOD); } } =20 --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.44 as permitted sender) client-ip=209.85.128.44; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f44.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1601313350; cv=none; d=zohomail.com; s=zohoarc; b=K2J882Nymr609+mPZ6dY53Yodf2q19MqHjILQ9LlqFCp4WWIDo9Nyha4r1snfpX8/uqxGjPDby9ZShhCpFW7Q99xjZNMB6vYb4uCj2NvvfsmSzV2J1NRWilIc++OzwhnW56uS17Zn8X2z5g5TGMS9/fc3fOffqqb5pogeOtPrfI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313350; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=kbD39lA/Bt4aiLOqktVNNjYJqK4efqGmJbNwuoiH4c0=; b=eD7AHgTrQEZeB0EgUErbWwPfMN8pEfypo1mdzwJC99wd4hwDdUa/Q9vukJFaF8wCID5MhAs43B+WGeZJgj25nN72H4dqqQVFSeDdj9xaCjKXr+H/xcYZ4tvwYi6a8LZ2gFVu0Ib2VvGhXizlpZ7Vfl5Cw+7XVZ0IH9XGzv0itgY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) by mx.zohomail.com with SMTPS id 1601313350259840.6867842928185; Mon, 28 Sep 2020 10:15:50 -0700 (PDT) Received: by mail-wm1-f44.google.com with SMTP id e11so4829805wme.0 for ; Mon, 28 Sep 2020 10:15:49 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.15.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:15:47 -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=kbD39lA/Bt4aiLOqktVNNjYJqK4efqGmJbNwuoiH4c0=; b=gl9tzsEg/1a3PWr1gtKO5dRNe5Rwq9b9Bqvyl2OKozX5Y4MQfyZmaATkEhJbnjMbyv /BLBgT9j1FRDffWxIjSsGzjTrvxUlnmG3vSI1VNIsZgxTDMovdpChAYly92RG8OGE2Ix DOzgwkZCyvcoNQfxYw82ug+FjG8MZpw+LN8pJoougEXBr2VxCik/xBO3kJcPO8HzIjFS Wdti+lg0X4lBu2+MsEtoaFpyQ1Fka7Rsb8NdcMm5NKOjrZbyUrpLmRWc4kvG0jUWFoc+ Lh4pBmqzhM4rEeisWgJ+nGJmADnQbEKooCatqpbmIwLWlZr4XFq7+gIGsVy5LFoYrJij znTQ== 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=kbD39lA/Bt4aiLOqktVNNjYJqK4efqGmJbNwuoiH4c0=; b=XywttAtq7jBkH6FLwfopyDnEAu6CwOH63i+b4thfgPGnyxqp40UaohEEgswT/xuaOP 6qQ6DG4og6RC2v/rrEZuByfl4+DIIm0aMTMLBii/HpOsh1ifiH0L5PknXiIOVLBZFFfY zsz3d79IlS3hlE+oH5U+a8fW1KnL7sPpxXXPHTzVPOsNtGNbcVsznASbF6vEu9gI8nRP wTb6PiQHW4+re9tFdnr5SZ11E8PnntU1j7RcD2b2ufcV9Fd8PZJXN9dcssbxUDAqXrvm +zSdnShTWrT5jqasH/KPR98KTzopMAgnZEVvKCuTZnO7ZSy5leFJZEVnlyC/odK2dFVb uk8A== X-Gm-Message-State: AOAM533ZkTFeoueo6pH3BmV2u3pvJ57h9jxy+ONDpZf1ZvRf3/2T1oOZ fNPSReQMrS2yPRFgd5RTJQ4= X-Google-Smtp-Source: ABdhPJzBovmNdBafTTruSAxg4RxwLabXLBhpBzcJwxkvx4ILGpkJHYpJ3UmnL9mhB525W4lzgfFCKg== X-Received: by 2002:a1c:9d42:: with SMTP id g63mr241626wme.20.1601313348296; Mon, 28 Sep 2020 10:15:48 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 04/16] target/mips/cpu: Introduce mips_cpu_properties[] Date: Mon, 28 Sep 2020 19:15:27 +0200 Message-Id: <20200928171539.788309-5-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) To allow objects creating CPU objects to set non-default properties before qdev-realizing() it, add an empty mips_cpu_properties array in MIPSCPUClass. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/cpu.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/target/mips/cpu.c b/target/mips/cpu.c index e86cd065483..c1c0f2e12ba 100644 --- a/target/mips/cpu.c +++ b/target/mips/cpu.c @@ -26,7 +26,7 @@ #include "qemu/module.h" #include "sysemu/kvm.h" #include "exec/exec-all.h" - +#include "hw/qdev-properties.h" =20 static void mips_cpu_set_pc(CPUState *cs, vaddr value) { @@ -181,6 +181,10 @@ static ObjectClass *mips_cpu_class_by_name(const char = *cpu_model) return oc; } =20 +static Property mips_cpu_properties[] =3D { + DEFINE_PROP_END_OF_LIST() +}; + static void mips_cpu_class_init(ObjectClass *c, void *data) { MIPSCPUClass *mcc =3D MIPS_CPU_CLASS(c); @@ -190,6 +194,7 @@ static void mips_cpu_class_init(ObjectClass *c, void *d= ata) device_class_set_parent_realize(dc, mips_cpu_realizefn, &mcc->parent_realize); device_class_set_parent_reset(dc, mips_cpu_reset, &mcc->parent_reset); + device_class_set_props(dc, mips_cpu_properties); =20 cc->class_by_name =3D mips_cpu_class_by_name; cc->has_work =3D mips_cpu_has_work; --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.67 as permitted sender) client-ip=209.85.221.67; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f67.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.67 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601313351; cv=none; d=zohomail.com; s=zohoarc; b=cJkH4PXmkyOHro8yKqHr2aI/z0lXzZy6nyacC9EHRxzlQzpiyE4tl1yRXhsym6rNjMP4VpJ9hREGe4HTnt88tTKe4ixdWDZ2l5eq+zZh5nVrsDrVnaUoubNTSVQ9k1Ausz9B3Wkh26O3CGQar24SNFz8mL7ZMSao6MW5R9F31Ww= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313351; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=foOMmOGF2hVWCsGdHMVh8B2p3MaxLn0e54Hx5DC6ApI=; b=WCU3XM3aM5+oBuyesXHJ1qncx4XbazCjqPwWEiFbi6gD0P8IZMDIiaa/2rqWEEvWFu9zi9+nuodZ0ykVMo0vUR2+1hhRnM+FRUMBYkW7lJxOV6Bgn9c438RU8Y9eTFUrlFJmm0AUN/nqdswZG9OKdJlL168irIsthLkAPDkd480= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.67 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by mx.zohomail.com with SMTPS id 1601313351796921.7363809317296; Mon, 28 Sep 2020 10:15:51 -0700 (PDT) Received: by mail-wr1-f67.google.com with SMTP id m6so2243582wrn.0 for ; Mon, 28 Sep 2020 10:15:51 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.15.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:15:49 -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=foOMmOGF2hVWCsGdHMVh8B2p3MaxLn0e54Hx5DC6ApI=; b=M63J2xafJrN4F7BQ0Ch6ErwIPxgVH+MCf/ISF8eQLt5CfneBPAMvbW1zXk1KTx1xUY Mexy+/0JhnUxnwau4LQnV8qAe9V9TxY1+PkCBGVmaDTVYiHd0d2RmUb4pk8ysrigMpu0 eUMV/vGGxlgBJuNzVsrjoxwwGEPPsLEr62fI5S5jx+v5YOuQJkur3QMMWGXbwg+udjwS taJ67P3zguBxSy495mBHHuUUWlEqsCwIlO6VThq4KGWxelIVpt/7zTZlrLu6W/KdLGg4 YWWWLGoI6In4tNhnJ+F2JoBLdYXf6zAoMBA50Yf+kIFNkvfSdVtrIOu+tGfTpKgZb15Y RRew== 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=foOMmOGF2hVWCsGdHMVh8B2p3MaxLn0e54Hx5DC6ApI=; b=uYTf7nooZ/iRijMjzK7gKqui5D9da1M/OI/AqVgNIhc5RxIEadmlnnBt1CfZFV7lRt RBE/zMY1//6R7x+9yUqfWU/GJB4ZUVVU9KwfY/h0cIcpawbZS4g/oF/GowGrRuyVGRyB q/+QN9mn0ZxXyqZ6Pkx2iJGp8GtwUgW3nNS3ZskDTWWg/OGBbyWottTxhom5aNsN2rwD z36+0Xkhb1VJSDXEw6M+v5WHYza2P7X9dIo4imN08KbPRFkajcOjmvwFRxlM/n8ACWiv pEpWAYnoPMHaNKXSdmc2MIW4Pu9AsgHxnQLD0lPtjqXYr3H0am7UvplWw7bMD31KfQ5C sU9g== X-Gm-Message-State: AOAM533YVXPt0PE0vHNXrzAa55Jm7Vn+eq9/Gy/hhR/SiwXpRp8AL6Sk QSBEPYabAXtthMH71KW91o8= X-Google-Smtp-Source: ABdhPJwRPnOBg+jy892hU3GZRP1sCNeq1bhwT4DzcWn3g+LSs4etgbCYQ+a56mKsOkdCLN5Qn9SF7g== X-Received: by 2002:adf:f6cd:: with SMTP id y13mr2741538wrp.161.1601313349861; Mon, 28 Sep 2020 10:15:49 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 05/16] target/mips/cpu: Set default CPU frequency to 200 MHz Date: Mon, 28 Sep 2020 19:15:28 +0200 Message-Id: <20200928171539.788309-6-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Since the introduction of the 'r4k' machine in commit 6af0bf9c7c3, the MIPS target assumes a CPU running at 200 MHz. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/cpu.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/target/mips/cpu.c b/target/mips/cpu.c index c1c0f2e12ba..8d07a293a2e 100644 --- a/target/mips/cpu.c +++ b/target/mips/cpu.c @@ -141,6 +141,14 @@ static void mips_cpu_realizefn(DeviceState *dev, Error= **errp) MIPSCPUClass *mcc =3D MIPS_CPU_GET_CLASS(dev); Error *local_err =3D NULL; =20 + if (!clock_get(cs->clock)) { + /* + * Initialize the frequency to 200MHz in case + * the clock remains unconnected. + */ + clock_set_hz(cs->clock, 200000000); + } + cpu_exec_realizefn(cs, &local_err); if (local_err !=3D NULL) { error_propagate(errp, local_err); --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.53 as permitted sender) client-ip=209.85.221.53; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f53.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.53 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601313353; cv=none; d=zohomail.com; s=zohoarc; b=D3sksiOD5CWEl9VVX35fHwvG/lwh+BpgagC9Fdw/1PXjIpXq/l/Rs/cUoUKrlb4FnQxapDx+dZmIC80mrCfP1l1j18gj3DTFrX5YfuiXcwp8QAovBCkT3byqhcywoePasPDEgGrbX4wKEouBZS1MZD6cAlHyIZNQYJdiI3OkKsc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313353; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nV1TKIg/u52Ts1S/ZitAGgYmEsezh0Rxsw6P1iX3beg=; b=mYScfbCmC4EEFbb+L6e/cls+9jIL5qKOcdbIoOj7BJMSLAyfCXnAIRJDWtJIulbh8bzjGT2sx8dwv4aVBsbOVgI1z4m57wgvWbPswJ5aOUop8ALNuNZsL04LK4Zd4Q2hS+57EtG32IPVQ8QvoSobSy5hhNuM+PazjO2ekVt2ifA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.53 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) by mx.zohomail.com with SMTPS id 1601313353478153.17649968869546; Mon, 28 Sep 2020 10:15:53 -0700 (PDT) Received: by mail-wr1-f53.google.com with SMTP id t10so2234904wrv.1 for ; Mon, 28 Sep 2020 10:15:52 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.15.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:15:50 -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=nV1TKIg/u52Ts1S/ZitAGgYmEsezh0Rxsw6P1iX3beg=; b=OWHMcctro7BRn0S27C3rvtw5JjfuqgAWWFL79rCa/ApfqceoP6gx7FTasT1meSsidu Lqjl4ZqjqUCNCBtZk8eEjgDZd7XADW9E2vFqxMlreJtNcejwSVLeKu2/nV2wgzFCeK9f 65xfBx+7fbOI3ivuvieusGZ9vYXmFXB3WRhC0CkGY2KKJp2ufx722mlJtKkFrPo83Jc6 wC1PB/RYf0NnLEv7l1v3HzCYr5ckuX366/30vDuFfeOZy9ysi2l+9nwDfEyqXyR37j9y JnR0K5Fcr6VPvFHWJoc835gaLf61N7+qyppCqH+Zh/Z8QtEFR7vk+OlWa3pZYZmRDhc8 d/Lw== 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=nV1TKIg/u52Ts1S/ZitAGgYmEsezh0Rxsw6P1iX3beg=; b=rPywtLl8MZDmhYBaxQmuisTJYi4S6MmYFKGDz6VD3cGu70vGFgjnbKA8nHjskpqWDh PRuQczeSrNdM28zO1xXwCrWbuHWuhZ1ycJvwPGVPUVNiWscMUX/jM9cmT8ymuebuURuF juOs54efHnMF/wgM1KhuFufsXyEKZTfBrk5m0ZHbJLUkbVRE3a3Ew1t7gBT1XFARydy9 XA6AEJGN6ivsLwabhmRW+H5RMh9kg7JevMWsRYxLOAJE1ZWu/JCep42P3ycjd5M1A6MI +k7JP7rHBTZPdHNIJ1/PAP5KCxek7NutAg3AYmOCRAvYL0P8Ihg0WMGZKM+gIhfBsCiI 1k9g== X-Gm-Message-State: AOAM533RiO5F86rsGqtb/W3+GPhhQ5j8wCVFPiKiGFX5Z7CZ0bA3eOGV 5sVGDDAmnmheAXTMrjaqoug= X-Google-Smtp-Source: ABdhPJw1/M1sUi+8nOmvW6mF+8Pc26aSVdgzrLZA4XyhMHJXpCfxq8cXMMZgQv/qd2aySb6Y0nRykQ== X-Received: by 2002:a5d:4c4c:: with SMTP id n12mr2756136wrt.162.1601313351531; Mon, 28 Sep 2020 10:15:51 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 06/16] target/mips: Keep CP0 counter in sync with the CPU frequency Date: Mon, 28 Sep 2020 19:15:29 +0200 Message-Id: <20200928171539.788309-7-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Since commit 6af0bf9c7c3 the CP0 counter is running at half the frequency of a 200 MHz CPU: a static 100 MHz value is used. By using the Clock API we can change the CPU frequency at runtime, so the CP0 counter might run out of sync with the CPU clock. Avoid that by using the recently introduced CPUClass::clock_update() callback. If the CPU clock is dynamically changed, our CP0 counter will be updated correspondingly. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/cpu.h | 9 +++++++++ target/mips/cp0_timer.c | 13 ++++++------- target/mips/cpu.c | 20 ++++++++++++++++++++ 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/target/mips/cpu.h b/target/mips/cpu.h index 7cf7f5239f7..66d6124ae02 100644 --- a/target/mips/cpu.h +++ b/target/mips/cpu.h @@ -1145,6 +1145,7 @@ struct CPUMIPSState { struct MIPSITUState *itu; MemoryRegion *itc_tag; /* ITC Configuration Tags */ target_ulong exception_base; /* ExceptionBase input to the core */ + unsigned cp0_count_ns; /* CP0_Count clock period (in nanoseconds) */ }; =20 /** @@ -1160,6 +1161,14 @@ struct MIPSCPU { =20 CPUNegativeOffsetState neg; CPUMIPSState env; + /* + * The Count register acts as a timer, incrementing at a constant rate, + * whether or not an instruction is executed, retired, or any forward + * progress is made through the pipeline. The rate at which the counter + * increments is implementation dependent, and is a function of the + * pipeline clock of the processor, not the issue width of the process= or. + */ + unsigned cp0_count_rate; }; =20 =20 diff --git a/target/mips/cp0_timer.c b/target/mips/cp0_timer.c index 5194c967ae3..5ec0d6249e9 100644 --- a/target/mips/cp0_timer.c +++ b/target/mips/cp0_timer.c @@ -27,8 +27,6 @@ #include "sysemu/kvm.h" #include "internal.h" =20 -#define TIMER_PERIOD 10 /* 10 ns period for 100 Mhz frequency */ - /* MIPS R4K timer */ static void cpu_mips_timer_update(CPUMIPSState *env) { @@ -37,8 +35,8 @@ static void cpu_mips_timer_update(CPUMIPSState *env) =20 now_ns =3D qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); wait =3D env->CP0_Compare - env->CP0_Count - - (uint32_t)(now_ns / TIMER_PERIOD); - next_ns =3D now_ns + (uint64_t)wait * TIMER_PERIOD; + (uint32_t)(now_ns / env->cp0_count_ns); + next_ns =3D now_ns + (uint64_t)wait * env->cp0_count_ns; timer_mod(env->timer, next_ns); } =20 @@ -66,7 +64,7 @@ uint32_t cpu_mips_get_count(CPUMIPSState *env) cpu_mips_timer_expire(env); } =20 - return env->CP0_Count + (uint32_t)(now_ns / TIMER_PERIOD); + return env->CP0_Count + (uint32_t)(now_ns / env->cp0_count_ns); } } =20 @@ -82,7 +80,8 @@ void cpu_mips_store_count(CPUMIPSState *env, uint32_t cou= nt) } else { /* Store new count register */ env->CP0_Count =3D count - - (uint32_t)(qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) / TIMER_PE= RIOD); + (uint32_t)(qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) / + env->cp0_count_ns); /* Update timer timer */ cpu_mips_timer_update(env); } @@ -109,7 +108,7 @@ void cpu_mips_stop_count(CPUMIPSState *env) { /* Store the current value */ env->CP0_Count +=3D (uint32_t)(qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) / - TIMER_PERIOD); + env->cp0_count_ns); } =20 static void mips_timer_cb(void *opaque) diff --git a/target/mips/cpu.c b/target/mips/cpu.c index 8d07a293a2e..2f75216c324 100644 --- a/target/mips/cpu.c +++ b/target/mips/cpu.c @@ -26,6 +26,7 @@ #include "qemu/module.h" #include "sysemu/kvm.h" #include "exec/exec-all.h" +#include "hw/qdev-clock.h" #include "hw/qdev-properties.h" =20 static void mips_cpu_set_pc(CPUState *cs, vaddr value) @@ -134,6 +135,22 @@ static void mips_cpu_disas_set_info(CPUState *s, disas= semble_info *info) } } =20 +static void mips_cp0_period_set(MIPSCPU *cpu) +{ + CPUMIPSState *env =3D &cpu->env; + + /* Recompute CP0's period on clock change */ + env->cp0_count_ns =3D cpu->cp0_count_rate * clock_get_ns(CPU(cpu)->clo= ck); +} + +static void mips_cpu_clk_update(CPUState *cs) +{ + MIPSCPU *cpu =3D MIPS_CPU(cs); + + /* Recompute CP0's period on clock change */ + mips_cp0_period_set(cpu); +} + static void mips_cpu_realizefn(DeviceState *dev, Error **errp) { CPUState *cs =3D CPU(dev); @@ -148,6 +165,7 @@ static void mips_cpu_realizefn(DeviceState *dev, Error = **errp) */ clock_set_hz(cs->clock, 200000000); } + mips_cpu_clk_update(cs); =20 cpu_exec_realizefn(cs, &local_err); if (local_err !=3D NULL) { @@ -190,6 +208,7 @@ static ObjectClass *mips_cpu_class_by_name(const char *= cpu_model) } =20 static Property mips_cpu_properties[] =3D { + DEFINE_PROP_UINT32("CP0_Count-rate", MIPSCPU, cp0_count_rate, 2), DEFINE_PROP_END_OF_LIST() }; =20 @@ -224,6 +243,7 @@ static void mips_cpu_class_init(ObjectClass *c, void *d= ata) cc->tcg_initialize =3D mips_tcg_init; cc->tlb_fill =3D mips_cpu_tlb_fill; #endif + cc->clock_update =3D mips_cpu_clk_update; =20 cc->gdb_num_core_regs =3D 73; cc->gdb_stop_before_watchpoint =3D true; --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.68 as permitted sender) client-ip=209.85.221.68; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f68.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.68 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601313355; cv=none; d=zohomail.com; s=zohoarc; b=foG1XTi1VVn914kP75W0tP7v0VErgxQivU+GKIhtxr3+CvyN5Q+pv7Dwb/bOC2yfJslxzrT7DkcK9c65R/11AhzPiUd+LrbEQ8KcrnX+1yp1SsfsVTEPcnd3+No6JVNT1uVCCXBzIU7U5W0GR3tdRalu0Ll8Qk3OCHWY6cA8XTE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313355; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=iApW1n40vkvtS8jytEGkpcrFILIgJENgZy4LUSyqrXg=; b=dRLak/HRzsLXw9G8oVjrgPqul0VwzwTVcXYnd+xuHymumffa3MD4zXGqx0ipBxix3Baaa4uL8wvG7WEFh8Je74Xu9mrU7+IWZZr3fGAkm0ND5twGH9d28JA2cATPcRgC6RCqxqWvAuGuKE1IDG8Fy5+/BZUwA/nyvowJm4jRy9Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.68 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by mx.zohomail.com with SMTPS id 160131335502743.680599098256835; Mon, 28 Sep 2020 10:15:55 -0700 (PDT) Received: by mail-wr1-f68.google.com with SMTP id z1so2231424wrt.3 for ; Mon, 28 Sep 2020 10:15:54 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.15.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:15:52 -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=iApW1n40vkvtS8jytEGkpcrFILIgJENgZy4LUSyqrXg=; b=SDLiw8jea2tq89tpy+m/5uMIeYyHeJNsNi5WkTfBFZa0qbCJhSrEaI9EPdu/+rmAJh Yh7JleH3ByWBy7c7Oc/u9k/u0rMhRWBxXlMTAmEKTBNAvKf3R+mapPLKy3RSQdcpVk/+ x0Ro/QpTgsP0wF8ewKZT+NdbZqvAAViPdArTZnC6B1vc/aBDW8uo7MKzgH9Pdp559Ryp nAoe5Z9xLKS5o913aqK3oDRVT7fBSQXkv+r4kZw1HCXoN9qJgaSG9KTebxYb8CdE4Yjf BpcBMFj+geIZscu4Q+u5aqeReX1JX6NQmq9aPLN6aQbHSIwNWKGA4P1I8nnXMUjdngC+ vIVQ== 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=iApW1n40vkvtS8jytEGkpcrFILIgJENgZy4LUSyqrXg=; b=DCgQWsIQfexWDNytZo/LsZM818NSluh2ci+NMlW5g+Q0YuxCNC4Ln2gEvRr0pEoMe6 oAL//VweiN3qlWAvTDr7Rs/BsqGOHtRNy6O/QPYfu+RGu0lb1LhLE8HgIIMVxJr3A7RU OTDVuuASN/1im5P2lMWp3qRfOCgrfqPiLl96jGvzkKauZCA77mCj3TGckbSoxTb0Qcfe 9dpc/yHDa+7L407hE+STfmOkXgbDH69IlWNmwka7t2sgFODojcu/peAZXBzz75Ux2x4o rrh2zot+SfD/7MMuVOZPagvHbuhdr7EfLcEEiT+oDGlnCn+f/s5Ltc602zDKiRkhMvL3 HBEQ== X-Gm-Message-State: AOAM530I4qfWVz9jg2tYkCMdfoGJQDii1XxCk9t781U9Lu7/V4jx03o5 PlmmMeUxL42bTkPeWok6608= X-Google-Smtp-Source: ABdhPJzvuoyMLUgb2PyeoyinD7bUhsOwixvRkE7dsdjKgUYIa04osESiEPwaTHaGtw3bMnRMqELGhg== X-Received: by 2002:a5d:4d01:: with SMTP id z1mr2766829wrt.366.1601313353060; Mon, 28 Sep 2020 10:15:53 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 07/16] hw/mips/r4k: Explicit CPU frequency is 200 MHz Date: Mon, 28 Sep 2020 19:15:30 +0200 Message-Id: <20200928171539.788309-8-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Since its introduction in commit 6af0bf9c7c3, the 'r4k' machine runs at 200 MHz. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/mips/r4k.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/mips/r4k.c b/hw/mips/r4k.c index 3487013a4a1..2aa18203f20 100644 --- a/hw/mips/r4k.c +++ b/hw/mips/r4k.c @@ -37,6 +37,7 @@ #include "sysemu/reset.h" #include "sysemu/runstate.h" #include "qemu/error-report.h" +#include "hw/qdev-clock.h" =20 #define MAX_IDE_BUS 2 =20 @@ -184,6 +185,7 @@ void mips_r4k_init(MachineState *machine) int bios_size; MIPSCPU *cpu; CPUMIPSState *env; + Clock *cpuclk; ResetData *reset_info; int i; qemu_irq *i8259; @@ -193,7 +195,11 @@ void mips_r4k_init(MachineState *machine) int be; =20 /* init CPUs */ - cpu =3D MIPS_CPU(cpu_create(machine->cpu_type)); + cpu =3D MIPS_CPU(object_new(machine->cpu_type)); + cpuclk =3D qdev_init_clock_out(DEVICE(cpu), "cpuclk"); + clock_set_hz(cpuclk, 200000000); /* 200 MHz */ + qdev_connect_clock_in(DEVICE(cpu), "clk", cpuclk); + qdev_realize(DEVICE(cpu), NULL, &error_abort); env =3D &cpu->env; =20 reset_info =3D g_malloc0(sizeof(ResetData)); --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.66 as permitted sender) client-ip=209.85.221.66; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f66.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.66 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601313356; cv=none; d=zohomail.com; s=zohoarc; b=WAt0JNg2Qa1SVHPzP2v9MYsjoVEEblcnH1Nxxk0blkWKxPYebXGhyR6fTRnUxZO++bxt/eATU+2DQS8lYXhZMnloV59NNcNkl3q/HAwcy9b9Mp5y172dnYRMRA8DtaZxaQLRBJn2Q7fQMg5zF2hZgAVdMKdINfY/Lg68UPI32Uc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313356; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=6OmfazZDAU1jqH5hop+ugOyeziIPqUJ/0u91dBdRy2M=; b=FNd+bCFSwwD1cLLVA4J5RFoO7W4l6dWWr8aDw9FXmnjBsTZrQYoxSooFvZ/4RNr0L+9rrg9LPhVxBREbE8uZbz+kLawJGCref92i9ekz/YBtNkNUSmqZaQQXF/Vfxb8tM2oAlvGlC+lO7QN29vTasBwihrh7OihWVzqe2ub8Kho= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.66 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by mx.zohomail.com with SMTPS id 1601313356969507.5689525306242; Mon, 28 Sep 2020 10:15:56 -0700 (PDT) Received: by mail-wr1-f66.google.com with SMTP id k15so2181856wrn.10 for ; Mon, 28 Sep 2020 10:15:56 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.15.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:15:54 -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=6OmfazZDAU1jqH5hop+ugOyeziIPqUJ/0u91dBdRy2M=; b=Cf/Bt2MUD7CUtRp+CGf5HpM/cHjfw2yXNF8cxqD1Jyf2t9Kg9t6K5asVbjOURD4N3G V2lEHwj5x3zR0cmQ4AWLHMbNKmQq+2B73fqHIByAyWZ+BkMRii4BXY30wnagySCXbqfv xhUqnLypLy2i6wlUNstaAAmQLEb7QCieprmncH8NP5LJSEYCk0hHqdL9lgf1YIobSCdY qcZpvkFoKM2s4lulXyzspvobVRABr17fdijAR40B7iJbD2sr3CoYYV1CfLEDBbaeavZM WwuUgXMhr9wyiam3Cr1DcqxV1qbal9QtY6HaTrh4b07shJW3BxQk31OHcKxhIt0xPZcy 1xnQ== 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=6OmfazZDAU1jqH5hop+ugOyeziIPqUJ/0u91dBdRy2M=; b=I7G+hTV8t71YMOwX3XIwd2ClSFoubbD4oM4GGr4J2x67YXOB26vmul939IpuVGBOM/ 6e31n0bA77SeXv2gN/5oXVHXKaXQ/X5cY84N5b3Gbl/X2CuwwKnu9KtiCRFC/MaqBlwb Su+fANZU/Z+J4QncjhIXBwrl2EmgdXbYNr9XYHt43fXroxxs1ge9RfprqPPhG1wm7NYU w1VK73Iq1OnVvOhLxS1tSR7isLWDeV9jbPll4IPQptEfWtV6vsQ8b9pi54/VAmWft36H bBp8yNt5OwCrtwRYXUkZ2QfsZgImaoSXQAFJtzfagCP1sAb095l2uKoMNeVVKlxIBcWP ey2Q== X-Gm-Message-State: AOAM531YokT+mpM52RqJmCqSxPaLN/0bSQWf7QBufesVml9MOK+kGvQy atVpz2ClTA2sf9PC3ADmzTQ= X-Google-Smtp-Source: ABdhPJwPjTlwNwQjNQ/Jh02/STpx11zAFr0lQ+kegjfvIm4+/ONqN9ZG76jyYTg0UsQeJJt6SY/ZaA== X-Received: by 2002:adf:fac8:: with SMTP id a8mr2717046wrs.186.1601313354921; Mon, 28 Sep 2020 10:15:54 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 08/16] hw/mips/fuloong2e: Set CPU frequency to 533 MHz Date: Mon, 28 Sep 2020 19:15:31 +0200 Message-Id: <20200928171539.788309-9-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) The CPU frequency is normally provided by the firmware in the "cpuclock" environment variable. The 2E board can handles up to 660MHz, but be conservative and take the same value used by the Linux kernel: 533 MHz. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/mips/fuloong2e.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index f28609976bf..1a925dcc201 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -28,6 +28,7 @@ #include "hw/isa/superio.h" #include "net/net.h" #include "hw/boards.h" +#include "hw/qdev-clock.h" #include "hw/i2c/smbus_eeprom.h" #include "hw/block/flash.h" #include "hw/mips/mips.h" @@ -300,10 +301,15 @@ static void mips_fuloong2e_init(MachineState *machine) I2CBus *smbus; MIPSCPU *cpu; CPUMIPSState *env; + Clock *cpuclk; DeviceState *dev; =20 /* init CPUs */ - cpu =3D MIPS_CPU(cpu_create(machine->cpu_type)); + cpu =3D MIPS_CPU(object_new(machine->cpu_type)); + cpuclk =3D qdev_init_clock_out(DEVICE(cpu), "cpuclk"); + clock_set_hz(cpuclk, 533080000); /* ~533 MHz */ + qdev_connect_clock_in(DEVICE(cpu), "clk", cpuclk); + qdev_realize(DEVICE(cpu), NULL, &error_abort); env =3D &cpu->env; =20 qemu_register_reset(main_cpu_reset, cpu); --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.67 as permitted sender) client-ip=209.85.128.67; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f67.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.67 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1601313359; cv=none; d=zohomail.com; s=zohoarc; b=LkYY9bx/rubCMVYJfrc0OYzfG80TLuzY1NdqJKqMaE5MvMojllkF6PZNpWWFnwICg4j0KrH/ONvRB2ItGIEMCTYxC3ptXF71cpppJydsvFp66yhPlw4ShWMtJ5N+3W7zWx8X/ZgOk4ZFYegavxt7Vo379qSiMiNWwH0CuSOOtOA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313359; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=r+U9x/gecjwhaxSv786ubx8yYIvjY9xUzlQ4g9WyIPM=; b=gRP5BDfU82F5CWc4T+P7OyL7QRJgrH/79eCRd86Nkgj5UylIDV2io5hrp8XnmnsOfqsWgXnPO97QSw9WVJKRCm2lg+8WLiYrjVda1DIu9yH7BpFRxYU5dRtqYR7Rz+qLhdbKfvj6Ygj0mqWE9bb7Tt373Yy6fSSUdHi21RYIJYg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.67 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by mx.zohomail.com with SMTPS id 160131335934091.95312595261873; Mon, 28 Sep 2020 10:15:59 -0700 (PDT) Received: by mail-wm1-f67.google.com with SMTP id a9so1948244wmm.2 for ; Mon, 28 Sep 2020 10:15:58 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.15.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:15:56 -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=r+U9x/gecjwhaxSv786ubx8yYIvjY9xUzlQ4g9WyIPM=; b=kCeHcv5brC+Qe+whSEartTnY8z08yYclKkNSBAFBXvtFa+9SSJUeElsYYi3PxH6fy8 z+2GE2QjlRMRew7rGf7kSwxefXT3rieVBJZ+xivkMYgRJ+8GGBh70s4qIKzuO7aF66or QG/fLzBh34YjgT0ne2vutiU8pvIAt0WflXDNOyiI1yyUAKeSnbiuWbUsR/5nnIF0lcNp 5ycdCm6gomyD4yNJJy74qB2VcNGRcr38VV5GZUM5tQmh8gbAUm/1cLvVZFOZ2JwbZbTH H6IVSjACTRx8/FeageAa+GG3EdLKFJUjk1EQB9+ATOvmzTl6RU9pC/E3sxog7J8JHP1B tXCQ== 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=r+U9x/gecjwhaxSv786ubx8yYIvjY9xUzlQ4g9WyIPM=; b=YlpdN8BOvGxaOIVGSW5o4Anv0WU6/zqSjQ+pIf/8zHrMXWluvMvBoWb7zPoCEsQrfg zkuqYawuFUthbuLeQ32P4vBZmLACOMiCr3sjmBPGWCZQQorfHfEU4L43hKcYrxHURR3r fRG3pLxRIeWbJKH2/xpf2C4ypAHNdoY3rHpsM0h6p4gAzmL1RdYODgGwxXtXEDw8izHC yHqKP42Skjvga5eZM4kRy+NHgn813nTwyPQUlmlk1UMZWjVgzjRpHgOllqz9+0AV2YFO QB5xvCHvf1Fh2JERA3e9mfa532aXnypHv9Thg8RhVuE9NsD6bdwZJLoKQE2Lk6+HCs+6 eLFg== X-Gm-Message-State: AOAM531PoDbB/gP0ppbkf3oB4ARpHY04IErmG9DLpeD8icbPwqOo/Wqb A0ogzkyvdnzhY88kMZH+17s= X-Google-Smtp-Source: ABdhPJyg65BRW+oZ4tEB50bqugGwYDFWgP5f8A+z27+EORiRJerLRcxX9SwbpEpKvaoh7vUBQmVGaA== X-Received: by 2002:a1c:f008:: with SMTP id a8mr178411wmb.155.1601313357147; Mon, 28 Sep 2020 10:15:57 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 09/16] hw/mips/mipssim: Correct CPU frequency Date: Mon, 28 Sep 2020 19:15:32 +0200 Message-Id: <20200928171539.788309-10-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) The MIPSsim machine CPU frequency is too fast running at 200 MHz, while it should be 12 MHz for the 24K and 6 MHz for the 5K core. Ref: Linux commit c78cbf49c4ed ("Support for MIPSsim, the cycle accurate MIPS simulator.") Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/mips/mipssim.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/hw/mips/mipssim.c b/hw/mips/mipssim.c index 1b3b7622035..6660af19c18 100644 --- a/hw/mips/mipssim.c +++ b/hw/mips/mipssim.c @@ -40,6 +40,7 @@ #include "hw/loader.h" #include "elf.h" #include "hw/sysbus.h" +#include "hw/qdev-clock.h" #include "hw/qdev-properties.h" #include "exec/address-spaces.h" #include "qemu/error-report.h" @@ -152,11 +153,20 @@ mips_mipssim_init(MachineState *machine) MemoryRegion *bios =3D g_new(MemoryRegion, 1); MIPSCPU *cpu; CPUMIPSState *env; + Clock *cpuclk; ResetData *reset_info; int bios_size; =20 /* Init CPUs. */ - cpu =3D MIPS_CPU(cpu_create(machine->cpu_type)); + cpu =3D MIPS_CPU(object_new(machine->cpu_type)); + cpuclk =3D qdev_init_clock_out(DEVICE(cpu), "cpuclk"); +#ifdef TARGET_MIPS64 + clock_set_hz(cpuclk, 6000000); /* 6 MHz */ +#else + clock_set_hz(cpuclk, 12000000); /* 12 MHz */ +#endif + qdev_connect_clock_in(DEVICE(cpu), "clk", cpuclk); + qdev_realize(DEVICE(cpu), NULL, &error_abort); env =3D &cpu->env; =20 reset_info =3D g_malloc0(sizeof(ResetData)); --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) client-ip=209.85.128.65; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f65.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601313360; cv=none; d=zohomail.com; s=zohoarc; b=EqZU58zoI6oL+17G/xzn8naWxU0UvgDVmjJf4q/IXUe7+84bkcria83pOY+8XdL8XKEkf8lzIbtK9jjVdwhoQvUBg/qoU0WZUtxnlLbvn/fjBr875wKkcSTeyFzCgKo6HiRyZiKoAEhhfJ0D2eRVPyBnQKCMB+kZ0iqoDC75OqA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313360; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=uhC23dUUPkQ40iTxJhxCRMNPOJybeztFMaD2OSBjyX4=; b=EM/7mjS19YLfSwyE/gEi+es+hPBzbNnzFAXk0dLws9yqAz7kv4ZqxkialEox6kkUpNqNAYo3tx7VeX+0jPyQ+Dl8sBsp1cdCENy4BPbS8UgtjBqH5IgutH7lCTmcPGa7arus6VL/0Fq16VS4+HPiDjRYPT4uJ9ocewnQgk/HCnE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by mx.zohomail.com with SMTPS id 160131336085627.040462689483206; Mon, 28 Sep 2020 10:16:00 -0700 (PDT) Received: by mail-wm1-f65.google.com with SMTP id y15so1947548wmi.0 for ; Mon, 28 Sep 2020 10:16:00 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.15.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:15:58 -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=uhC23dUUPkQ40iTxJhxCRMNPOJybeztFMaD2OSBjyX4=; b=f/YdCGJM8NPUUFmvb5OuyUZZnIedN0v1eM3D7i4SIYDGqOeHJxdT+YXZReln6Bju2A nJ2ubmNYEDgKpQjvZ7inDY62XgJEZVYG+j9CShf+Gfsa5LXdQvG/sBaPZ5bjBvMpvd1Z He1oWXfHu2XE5Tx401bxB6MBrPeAkN63mqtxJtPzJIzoPLJW4Pw8o3A5gteucoRaNFis lC9sW9XqEIgaVJ5NEqX4qgekGCDFOfglWaJdOycEpcvuUsCOAXiaJ+0SSy3Oj9J/U9/J GQhU2NSB5E3BdeM6dADaI1iZlIIhcIPylU5256J+J12vzxJ9WNaLUiwcwCGnojb2435B qpWA== 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=uhC23dUUPkQ40iTxJhxCRMNPOJybeztFMaD2OSBjyX4=; b=MeiGImx38sn4bQq6ZLAcX4QnOkJz7PRTdNQAZ9hy2OExV1uh2jUweHaBfMW4a7QnUI NLvChcU1EpAx4HIeAo0NCddsVqWBmJ93q9f1eGPrcbeWu3KnhETnterWbOnOznJAPCDY fOJ/SypdA24cUnhFUWteIif366LdfBlmEeOM4/tYZRxQ4Xh35U6GxP7gSoiqX8Yi8uWC CIolI7GZOg2GqeAD4/nPXZ3qCH3rocj5k4TgweOyrhDjvVn4cq146heVB8doi0wkEfvt L+1gfchMivwfs4OYTnNFB9gZlEVlpJdfm8HfK/L50VuvQVyfK704Jz4y+zEqT0TmNDnU ku/g== X-Gm-Message-State: AOAM5333y1OXpm0NWHoo/pSDFZaA2cgXeJG9R+waVh3U9IHmq+V2Sm0h oaZVEZNZf57C5eXB4Ybq4k0= X-Google-Smtp-Source: ABdhPJzdqd/3Wb0bQQFh6lPttthbvdh9Qb4V4OgLT0LlbuKoDPyXoXclmNlZtFh0ZZIGBLMhBIEuGw== X-Received: by 2002:a05:600c:220f:: with SMTP id z15mr184723wml.87.1601313358915; Mon, 28 Sep 2020 10:15:58 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 10/16] hw/mips/jazz: Correct CPU frequencies Date: Mon, 28 Sep 2020 19:15:33 +0200 Message-Id: <20200928171539.788309-11-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) The Magnum 4000PC CPU runs at 100 MHz, and the Acer PICA-61 CPU at ~134 MHz. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/mips/jazz.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/hw/mips/jazz.c b/hw/mips/jazz.c index 47723093b63..eee79d5b47d 100644 --- a/hw/mips/jazz.c +++ b/hw/mips/jazz.c @@ -45,6 +45,7 @@ #include "hw/audio/pcspk.h" #include "hw/input/i8042.h" #include "hw/sysbus.h" +#include "hw/qdev-clock.h" #include "exec/address-spaces.h" #include "sysemu/qtest.h" #include "sysemu/reset.h" @@ -145,6 +146,7 @@ static void mips_jazz_init(MachineState *machine, MIPSCPU *cpu; CPUClass *cc; CPUMIPSState *env; + Clock *cpuclk; qemu_irq *i8259; rc4030_dma *dmas; IOMMUMemoryRegion *rc4030_dma_mr; @@ -163,6 +165,13 @@ static void mips_jazz_init(MachineState *machine, MemoryRegion *bios2 =3D g_new(MemoryRegion, 1); SysBusESPState *sysbus_esp; ESPState *esp; + static const struct { + unsigned freq_hz; + unsigned pll_mult; + } ext_clk[] =3D { + [JAZZ_MAGNUM] =3D {50000000, 2}, + [JAZZ_PICA61] =3D {33333333, 4}, + }; =20 if (machine->ram_size > 256 * MiB) { error_report("RAM size more than 256Mb is not supported"); @@ -170,7 +179,12 @@ static void mips_jazz_init(MachineState *machine, } =20 /* init CPUs */ - cpu =3D MIPS_CPU(cpu_create(machine->cpu_type)); + cpu =3D MIPS_CPU(object_new(machine->cpu_type)); + cpuclk =3D qdev_init_clock_out(DEVICE(cpu), "cpuclk"); + clock_set_hz(cpuclk, + ext_clk[jazz_model].freq_hz * ext_clk[jazz_model].pll_mul= t); + qdev_connect_clock_in(DEVICE(cpu), "clk", cpuclk); + qdev_realize(DEVICE(cpu), NULL, &error_abort); env =3D &cpu->env; qemu_register_reset(main_cpu_reset, cpu); =20 --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) client-ip=209.85.221.51; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f51.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1601313362; cv=none; d=zohomail.com; s=zohoarc; b=AAUmUPUCrofbhlTCYzZZNTcSIHsGPI4BsPVqWnYKPN2KloGqZjRMS8akSsz5WGHU0TR4pPovBWoNThyx7nyOHNtP3KLtWZBTL26B2IIwocFkNJWZfKfbUbnnKaGCs3x6RZ9PeiijxHGwVOkaLP17nS1TgnAOD2dot1an+l9mgtk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313362; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=tcSJN3WRYnSDrhVA+aXirUwwuRtaV2HQ16b4T6e3VA4=; b=n/Mk9zCF13Gf3yvzb35mJum+GO+yBGHd8zQHp+xpFY38BUGWEG5SO82ISclMTaP8wH4HizFmhL8gN920pq+2gpPWMM1l3ceUrlH+wojdFau27MpFN9U7xMxUw8t+G9mQ9NyLmwg4qnv1vkSEbN5t2UGmdpDPcN40O348D9rhdVY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) by mx.zohomail.com with SMTPS id 1601313362337316.36272575893247; Mon, 28 Sep 2020 10:16:02 -0700 (PDT) Received: by mail-wr1-f51.google.com with SMTP id x14so2169938wrl.12 for ; Mon, 28 Sep 2020 10:16:01 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.15.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:15:59 -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=tcSJN3WRYnSDrhVA+aXirUwwuRtaV2HQ16b4T6e3VA4=; b=VA8XH4gzcCGy6krSQUYGLnjBEIn3Nd6c2IYCbasq1dA0TYkriCBzqTkrbRFFDB5GnZ 7kga713mDj0vCOvEyg8DdMjIul70SuAWJJa4kihJ2KN7Xm5E+uus2GXYs5N/RO7DBYkz l8Ne4PqKfdWp4WPkpj3xT+/dxWXHnC5oI4CwHQq0HSYZXgcFAlaVDUb0HTCyBLCE56Nc 5fC90vopOrZRnuppZR4Rc9/upYO2eKYyzKCmB3L6uQTwoGam4QppRJ+nFR22TTqWmc63 oKUIm90PUEJoX+aj74EIZ+7EEkMyF/uXsOzWyQg6xeIwHk0Nidz3WdV9fn+vBPeQqDI4 93HA== 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=tcSJN3WRYnSDrhVA+aXirUwwuRtaV2HQ16b4T6e3VA4=; b=FK9pZoDEYoRjcdYriFVzSMacL3diSGrB+4POcxBi8oIXI2IS6R0UzIeZTCo5OSGF5a vI8hA1IN8hhWB1U7PeIYIQKNcQVgdxyTON+MkqEQLtgGFFyTw7yO1A8TJE5pbwLJm4MR ehJprQge2z7y5Vgcu8wf1ZLVXbmRPWbhMRLUPNmv6qntvrhBJr6CoSHwWUtyC4Fbth1V Coeag+PXoavNZyP3Ysf4TvU7D0D84BVVmRz5H3lgiQpS9EFuoJmfpHhXBZd2/4kOijfh dKQ3RGT/h2EWjj3Z8BXU0z0qEULqw7nX1OovAaWwEJvaiOJ5VMcU1dNJofg9UYUrQOw/ //9A== X-Gm-Message-State: AOAM533A1HRfhT7OF4b6BMd9nUvBhTwIbSbo9+V2E3IGMog8YPqOGUIv 03bvb4iXwJ/YD8JOo0u8wnc= X-Google-Smtp-Source: ABdhPJwsoRmxjxwiWI0SoTYa2jmSKxXTqOsJVrA+5Wjnp5Dq9a19CxjF5oAoL3CFZe70HmilKjW/qQ== X-Received: by 2002:a5d:5307:: with SMTP id e7mr2731852wrv.215.1601313360521; Mon, 28 Sep 2020 10:16:00 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 11/16] hw/mips/cps: Expose input clock and connect it to CPU cores Date: Mon, 28 Sep 2020 19:15:34 +0200 Message-Id: <20200928171539.788309-12-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Expose a qdev input clock named 'clk', and connect it to each core. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/mips/cps.h | 2 ++ hw/mips/cps.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/include/hw/mips/cps.h b/include/hw/mips/cps.h index 9e35a881366..859a8d4a674 100644 --- a/include/hw/mips/cps.h +++ b/include/hw/mips/cps.h @@ -21,6 +21,7 @@ #define MIPS_CPS_H =20 #include "hw/sysbus.h" +#include "hw/clock.h" #include "hw/misc/mips_cmgcr.h" #include "hw/intc/mips_gic.h" #include "hw/misc/mips_cpc.h" @@ -43,6 +44,7 @@ struct MIPSCPSState { MIPSGICState gic; MIPSCPCState cpc; MIPSITUState itu; + Clock *clock; }; =20 qemu_irq get_cps_irq(MIPSCPSState *cps, int pin_number); diff --git a/hw/mips/cps.c b/hw/mips/cps.c index 23c0f87e41a..c332609f7b3 100644 --- a/hw/mips/cps.c +++ b/hw/mips/cps.c @@ -22,6 +22,7 @@ #include "qemu/module.h" #include "hw/mips/cps.h" #include "hw/mips/mips.h" +#include "hw/qdev-clock.h" #include "hw/qdev-properties.h" #include "hw/mips/cpudevs.h" #include "sysemu/kvm.h" @@ -38,6 +39,7 @@ static void mips_cps_init(Object *obj) SysBusDevice *sbd =3D SYS_BUS_DEVICE(obj); MIPSCPSState *s =3D MIPS_CPS(obj); =20 + s->clock =3D qdev_init_clock_in(DEVICE(obj), "clk", NULL, NULL); /* * Cover entire address space as there do not seem to be any * constraints for the base address of CPC and GIC. @@ -80,6 +82,7 @@ static void mips_cps_realize(DeviceState *dev, Error **er= rp) errp)) { return; } + qdev_connect_clock_in(DEVICE(cpu), "clk", s->clock); =20 if (!qdev_realize_and_unref(DEVICE(cpu), NULL, errp)) { return; --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.66 as permitted sender) client-ip=209.85.221.66; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f66.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.66 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601313364; cv=none; d=zohomail.com; s=zohoarc; b=jg+uJmVl8rNV3ToKTAajSDEJQIT2qT/rzfQLDgCDsALScViS6lI4BQm44YuSzM7vHQgsZOpf6R9VHTYadxrs0jdJw2T9trsO2L9RvbVEgnnQyVtJZnA665Wh7VulcA19NmkzHYN7IChDNYawB/ryLQXpma+kCMgsKGhMpdjNcUI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313364; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=N0SJjFbd388FP7VtA2QlAZt9WxWleZmvszMYBtRcFk4=; b=kn450Mo1FzHLPr7TR2MCOp9csEMhfqztuXNB0WAInrEFYAOX72rz6gUG7DDI0YuLKZaqKtmXYMaFIi8gr8BMksxhx7kKVZ5rLWez0cnOaZPecPPHxjyUBuzXcA4qdvi37sQf9lQSXz5Un3wbNCMCYQpyOWMyz571Enw+7sa+P2Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.66 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by mx.zohomail.com with SMTPS id 1601313364105408.2185533471718; Mon, 28 Sep 2020 10:16:04 -0700 (PDT) Received: by mail-wr1-f66.google.com with SMTP id t10so2235558wrv.1 for ; Mon, 28 Sep 2020 10:16:03 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.16.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:16:01 -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=N0SJjFbd388FP7VtA2QlAZt9WxWleZmvszMYBtRcFk4=; b=vEBIzaBJU5zbztWgGW7hJlkht9On6XiGv1j5pQ8NNfJUgnrt/J/kdtwBCv3MM1CouY 169jOeOZqM3TDSjrlIalCqGwKHd0Fl+aqUqGaYFfKSrnGga3sPwV+ILH4nl8gjLoPjdq QcF/8jxOMstjvyo1LEtCOROQmkhUc9tJ14N57GzVGAYvd25d/be9lbLJmU2iid+j3bCE iKFUa4lfl3n4DbxL79FpLYqEtwVURgooKmzFNXn/KeBj7t++01abdfOy5T+wdPUguvmg 9mcnuauwMIUGHfiPTC97ibIXAnBPRNyrgyhc9nr7Jkl4WTKGQPyK2yfThqZ2WFLCXO/g PoCQ== 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=N0SJjFbd388FP7VtA2QlAZt9WxWleZmvszMYBtRcFk4=; b=LJ/kguz2F2kHAOxXsCKD95h8KY+p9/jpc5HrGc/jZTO7pwAT3KdmkfNa8tQyn9X+yL iFUl04nnd4odHQZQKLVjuLtZRM42e8UAd8wopXQi8BSlsdGvKHC4cqGbWok7gS1EFsp+ nxAQWlRTChr6882E+fwn5iLqhd/3oB6Xbgju5NfpEzMVMHaAdCyPZ+cN2Q8t59ttF+aB Qf/jmtv/3pgxRGqF8u2vO5O4fQ7Y09X7opSPdyjH+pUOIwL9NQ42uzLRixl+ShP5SKbr 1ZYVO4UAXhcjWktTzReoqVCLF3LFf92UMoPm2uBXtGqqe5Fm2aursCB+DNL/q2ULj8VE 5u+Q== X-Gm-Message-State: AOAM531tMPkBblnR4ULBi9GluXpt93hiHXc+GvWqKsrOUCgD9IPlP9JQ 1Z1zw983G8XenxTiNvGPFVo= X-Google-Smtp-Source: ABdhPJxSimyIe/fYvcWe0+M3xh7G3U1Ed6BNnVPPG+lCN9LfxqAPtpRiXrb+q7rlT59UmI4nsq/LSw== X-Received: by 2002:adf:f548:: with SMTP id j8mr2927228wrp.114.1601313362209; Mon, 28 Sep 2020 10:16:02 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 12/16] hw/mips/boston: Set CPU frequency to 1 GHz Date: Mon, 28 Sep 2020 19:15:35 +0200 Message-Id: <20200928171539.788309-13-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) The I6400 can run at 1 GHz or more. Create a 'cpuclk' output clock and connect it to the CPU input clock. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/mips/boston.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hw/mips/boston.c b/hw/mips/boston.c index 1b3f69e949c..5c541a0c5ea 100644 --- a/hw/mips/boston.c +++ b/hw/mips/boston.c @@ -30,6 +30,7 @@ #include "hw/mips/cps.h" #include "hw/mips/cpudevs.h" #include "hw/pci-host/xilinx-pcie.h" +#include "hw/qdev-clock.h" #include "hw/qdev-properties.h" #include "qapi/error.h" #include "qemu/error-report.h" @@ -54,6 +55,7 @@ struct BostonState { MachineState *mach; MIPSCPSState cps; SerialMM *uart; + Clock *cpuclk; =20 CharBackend lcd_display; char lcd_content[8]; @@ -251,10 +253,19 @@ static const MemoryRegionOps boston_platreg_ops =3D { .endianness =3D DEVICE_NATIVE_ENDIAN, }; =20 +static void mips_boston_instance_init(Object *obj) +{ + BostonState *s =3D BOSTON(obj); + + s->cpuclk =3D qdev_init_clock_out(DEVICE(obj), "cpuclk"); + clock_set_hz(s->cpuclk, 1000000000); /* 1 GHz */ +} + static const TypeInfo boston_device =3D { .name =3D TYPE_MIPS_BOSTON, .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(BostonState), + .instance_init =3D mips_boston_instance_init, }; =20 static void boston_register_types(void) @@ -462,6 +473,8 @@ static void boston_mach_init(MachineState *machine) &error_fatal); object_property_set_int(OBJECT(&s->cps), "num-vp", machine->smp.cpus, &error_fatal); + qdev_connect_clock_in(DEVICE(&s->cps), "clk", + qdev_get_clock_out(dev, "cpuclk")); sysbus_realize(SYS_BUS_DEVICE(&s->cps), &error_fatal); =20 sysbus_mmio_map_overlap(SYS_BUS_DEVICE(&s->cps), 0, 0, 1); --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) client-ip=209.85.128.65; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f65.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601313365; cv=none; d=zohomail.com; s=zohoarc; b=j50K7id8p67rDukS2c4pIw+0C9kmSOhA3mcSOi7lX07LJNWIwegW5PMTqQMnVlitnsJqcbVqofXmJQoW6nsIjYMfVIzz3xDf7SJ1GOhKt8FYinjFKdiB7uFz/muxC8855aPD4IAdK3nxuhCEBYKXtfBVQIX6qsm26FnSP8mAazo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313365; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=QSBlQ/cHcjkhSqd54ydbqbvmimFAYZ4LEPOfJ36z3ww=; b=N/7SOGBrbVWJIxxKnJfSXew9bhT2qfzqaXsTxaa9Vft6aHhgUzpK44+HB2B0bUStoG5LkPD9G2H0qmRg5MdIcXhx9X7F5hyypiBYFvSv3G3zWj3vnsdtVmj4dOzodCXIwzJy2uRBPK5OV57oQ6ErTooWkHT07tIgPzyIY8uTR/M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by mx.zohomail.com with SMTPS id 1601313365810932.627990831242; Mon, 28 Sep 2020 10:16:05 -0700 (PDT) Received: by mail-wm1-f65.google.com with SMTP id e17so1914765wme.0 for ; Mon, 28 Sep 2020 10:16:05 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.16.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:16:03 -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=QSBlQ/cHcjkhSqd54ydbqbvmimFAYZ4LEPOfJ36z3ww=; b=RCljUExErAWfY1BnCIGs6/HJidmUa6ERmKsHCxDi1ETd91UopsAwWn/4yAcyIfxdOh kZjB9JiWf0bemE5s6aL1jxTi4uddL1dcRbxXhGvdmu2gALEEa2IDyeL5RDgt189mh5MA 9In2Iux8BvHakrT9xzp+XwL3+ajisLuBaGxnroadiTGZ7/Szb+xI7B7DMMg2lJwJiiJr iiu7+ATKqhNZG6goYEfbqEletYqxfNnxmGFrHr6Duhqf6wc5KxpdUQKgCY5TipNFyxVD l2Reg7aKPF0AEOQaguhY9i47GBza4gzfllgQ0pvPVTp4RRWmknayjnaLYSL4wx3USfNu 4jQA== 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=QSBlQ/cHcjkhSqd54ydbqbvmimFAYZ4LEPOfJ36z3ww=; b=PJVXBaEsez6BA4YzRh5cYc290tlF/+gqWaegnsRSYOv4ENZxe1KZnfFtb7e+FQiwOA AiCBBOxYlXqhCl1e1asedAJykPXtb0j4k7fTHRl5QXtxOzY7y6LuwLFXxehAyMApoMS4 oiNKnKHGGYVzAs/B1/bpcUJ3NxLFKYBLWCho7uKka8S+PThaRM+TuulX1z+rPXxWTUXw RHZgpSa3vqxnaB13dP+7aP4nwwT1FP8pieUcFPz1ea9qWXQWC3Z0p0JtZsGWNG/yD8oi gWqCAydsHKUt4o1ehxC/3oR+kEfvprTNEoCv2Lkb79zf9/JFwz3dmkNdZMTjZCEm+Z5S KEPQ== X-Gm-Message-State: AOAM530w+8u2NFP0aqZyB6IioTIOiZMTHw5MxiUEmRZjQipm/BJ6Gzw6 blpmsMYLIoP9mwqj6zgQaAU= X-Google-Smtp-Source: ABdhPJzjWnX4Rsab/ORwPnFbv6kj/haXDTBwuB7ZxHowE9ZkNxeauv2TJGJyaeN6BjfNywCX+z+qlw== X-Received: by 2002:a1c:4943:: with SMTP id w64mr226120wma.62.1601313363847; Mon, 28 Sep 2020 10:16:03 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 13/16] hw/mips/malta: Set CPU frequency to 320 MHz Date: Mon, 28 Sep 2020 19:15:36 +0200 Message-Id: <20200928171539.788309-14-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) The CoreLV card with ID 0x420's CPU clocked at 320 MHz. Create a 'cpuclk' output clock and connect it to the CPU input clock. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/mips/malta.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index 4019c9dc1a8..62ec543a610 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -57,6 +57,7 @@ #include "sysemu/kvm.h" #include "hw/semihosting/semihost.h" #include "hw/mips/cps.h" +#include "hw/qdev-clock.h" =20 #define ENVP_ADDR 0x80002000l #define ENVP_NB_ENTRIES 16 @@ -94,6 +95,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(MaltaState, MIPS_MALTA) struct MaltaState { SysBusDevice parent_obj; =20 + Clock *cpuclk; MIPSCPSState cps; qemu_irq i8259[ISA_NUM_IRQS]; }; @@ -1159,7 +1161,7 @@ static void main_cpu_reset(void *opaque) } } =20 -static void create_cpu_without_cps(MachineState *ms, +static void create_cpu_without_cps(MachineState *ms, MaltaState *s, qemu_irq *cbus_irq, qemu_irq *i8259_irq) { CPUMIPSState *env; @@ -1167,7 +1169,9 @@ static void create_cpu_without_cps(MachineState *ms, int i; =20 for (i =3D 0; i < ms->smp.cpus; i++) { - cpu =3D MIPS_CPU(cpu_create(ms->cpu_type)); + cpu =3D MIPS_CPU(object_new(ms->cpu_type)); + qdev_connect_clock_in(DEVICE(cpu), "clk", s->cpuclk); + qdev_realize(DEVICE(cpu), NULL, &error_abort); =20 /* Init internal devices */ cpu_mips_irq_init_cpu(cpu); @@ -1189,6 +1193,7 @@ static void create_cps(MachineState *ms, MaltaState *= s, &error_fatal); object_property_set_int(OBJECT(&s->cps), "num-vp", ms->smp.cpus, &error_fatal); + qdev_connect_clock_in(DEVICE(&s->cps), "clk", s->cpuclk); sysbus_realize(SYS_BUS_DEVICE(&s->cps), &error_fatal); =20 sysbus_mmio_map_overlap(SYS_BUS_DEVICE(&s->cps), 0, 0, 1); @@ -1203,7 +1208,7 @@ static void mips_create_cpu(MachineState *ms, MaltaSt= ate *s, if ((ms->smp.cpus > 1) && cpu_supports_cps_smp(ms->cpu_type)) { create_cps(ms, s, cbus_irq, i8259_irq); } else { - create_cpu_without_cps(ms, cbus_irq, i8259_irq); + create_cpu_without_cps(ms, s, cbus_irq, i8259_irq); } } =20 @@ -1421,10 +1426,19 @@ void mips_malta_init(MachineState *machine) pci_vga_init(pci_bus); } =20 +static void mips_malta_instance_init(Object *obj) +{ + MaltaState *s =3D MIPS_MALTA(obj); + + s->cpuclk =3D qdev_init_clock_out(DEVICE(obj), "cpuclk"); + clock_set_hz(s->cpuclk, 320000000); /* 320 MHz */ +} + static const TypeInfo mips_malta_device =3D { .name =3D TYPE_MIPS_MALTA, .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(MaltaState), + .instance_init =3D mips_malta_instance_init, }; =20 static void mips_malta_machine_init(MachineClass *mc) --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.66 as permitted sender) client-ip=209.85.128.66; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f66.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.66 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601313367; cv=none; d=zohomail.com; s=zohoarc; b=FDgQVUwtgdpDvtejnMoZPKG/zQDVF8G/tkBtkNBW5NIVxdBxzVrocgHBuBSMw3Nmif9muKaN0jTlFNqQ8FqvkScMoA2Pvya4SPr+53scs4bqKP3/Urivo7SavzdyBKhLmsz8YlhqO2adAaKixCduvIxOAKhAKD+bCAz9Hj7lUjg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313367; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=6214PjQPOVhgozXCT79O8kU552WC0uS2jttLKxOwFYA=; b=S45d4+pnGE8R2xt7gphdMnHR4PNsUyWhqklPaAHFjfHL1OA88DRO161BKPySd8HQGOeF2JyfvkgmLvCkKn/vx3jDQbwkQloUvDMmsbz5WyGx4s5tOxc5zCPWODroLtrNACLHQyx/A9o5lZK3JaVMtvnSwKzQDxIfps973FsmPlM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.66 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by mx.zohomail.com with SMTPS id 1601313367266914.9873967506983; Mon, 28 Sep 2020 10:16:07 -0700 (PDT) Received: by mail-wm1-f66.google.com with SMTP id b79so1929970wmb.4 for ; Mon, 28 Sep 2020 10:16:06 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.16.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:16:04 -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=6214PjQPOVhgozXCT79O8kU552WC0uS2jttLKxOwFYA=; b=BMWjm9mNLjl1PAqlo2EOSO6nxaD7VGlRkMy7ZgvyN6YOTLf0tAcVbHx8hKHDskNlg0 KsaUCCxCVfwwB0lC86bijdwRcNCALocaNggzgqvZ7JFiMlbRnI6zbbfZ/Pyy2dHLcvOj LF5qQVVPmmvd211uWS0uiEGg9a4V1AgJDOVDujewXTJtVDJuUC4uPBU1FYUZ24GyS3I0 c/BghtO7SuRX9ZoEPLRpDZ15N7l2Rx0g7vYp0CdBwoG6XawcuBlkN6tgJ1ZpIGsd4Ciz hIhWp0Tl0Pvpg+D1n8Kkx4//0eTNrmbNsniYXJM2q+fo+i77h5PYb0qiuPh7jilUNbfq vvhQ== 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=6214PjQPOVhgozXCT79O8kU552WC0uS2jttLKxOwFYA=; b=TAhNrv57jNLwL/LytWzFvoeaWA88WjVXRmHuHyV3e4qhlgMRs0b8VlySHwliZASxyJ eDQxIAX85SudevGPOfKAsxPKbRkkRMfv1fcTT5yXusYxch1tdwE9Rki3cJrOkVTqXs19 A4YWVtDNRx0K9iuOal/cdNNtHfCAhWfs13oP1K6hu88P7/hJPgy1WI0cfuo/jU551nuA Gv+l1zO6Xe4jwvuSJpHVByheetp9c2b9nlmMWg9X/y+AU3GVdMwpiCfPOmFWbH6qA983 O/OV8MF02Nei7oKpc3VU3ymaO5+6f+NNS1Atlmt19eQxahnI+1RRdRWikvATtG8v698l IgSA== X-Gm-Message-State: AOAM530dh7NEp1XvMkgmJQT2c2kQnTvcRqV6XNEXD42c6B7wyaUkesb3 0+XZU5+I6EFDY8FY2COH7TQ= X-Google-Smtp-Source: ABdhPJxMDQpmeoeNyk3hJHMB/+kaGSl8h2cum223xqTfMyjapdAJImNwd2JSyC1cMst7MYilnYdRzA== X-Received: by 2002:a05:600c:20c:: with SMTP id 12mr244507wmi.40.1601313365408; Mon, 28 Sep 2020 10:16:05 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno Subject: [PATCH 14/16] hw/mips/cps: Do not allow use without input clock Date: Mon, 28 Sep 2020 19:15:37 +0200 Message-Id: <20200928171539.788309-15-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Now than all QOM users provides the input clock, do not allow using a CPS without input clock connected. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/mips/cps.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/mips/cps.c b/hw/mips/cps.c index c332609f7b3..e4ff173f8c3 100644 --- a/hw/mips/cps.c +++ b/hw/mips/cps.c @@ -74,6 +74,11 @@ static void mips_cps_realize(DeviceState *dev, Error **e= rrp) bool itu_present =3D false; bool saar_present =3D false; =20 + if (!clock_get(s->clock)) { + error_setg(errp, "CPS clock must be connected to a clock source"); + return; + } + for (i =3D 0; i < s->num_vp; i++) { cpu =3D MIPS_CPU(object_new(s->cpu_type)); =20 --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) client-ip=209.85.128.65; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f65.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601313369; cv=none; d=zohomail.com; s=zohoarc; b=aouQVCXaMOeej8qjd/gNmeyFscdYFGubuWi1cpf/n7lo0IlLzLLN4MPqjPVKP4HUOXsVvOusuUYY1ta15R+dwYggh3Kg0/hyuTgRCxU4zntFXL9CLaCDJKYdtzV9EJWJu0F10rgNoZeyEHZAyi4HXst4PIt6MTMLtDcwNfFmDjg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313369; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/nKnDzshEoTJREnnsRFqyXOBxcp33CXKr1VQJgDssSY=; b=dUHXgNBAQyvrRKeUd2qh6Q8d7aIvgM9AEe9nyiaNFwACIT2sHWq2AMcCNdw3P5/JrQj3w5E09+FKIY6mkavHa5TcXTMJZxRv2jPV8C6iktPLwObA9aU8qS419eq3d0UKgJv42SQ6vl1DQe6+i+PAEjmaqSgC9b8Rl6K5sbahWc0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by mx.zohomail.com with SMTPS id 1601313369398995.9737472911693; Mon, 28 Sep 2020 10:16:09 -0700 (PDT) Received: by mail-wm1-f65.google.com with SMTP id y15so1947982wmi.0 for ; Mon, 28 Sep 2020 10:16:08 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.16.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:16:06 -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=/nKnDzshEoTJREnnsRFqyXOBxcp33CXKr1VQJgDssSY=; b=FxJ9Nl4mxaFBxr0+oqnbxDPacEqCgSZ5GqRLsDZB8kT0MNzsBE3ZEKCbNzqW/tw0Yl 7rSwZdUuo3EkY/t4ZsEoJ+OteWp5Adwi8r2cOxewM1alTDWH3NlB0KZX69vwbAbJsDhR qMTrojojLr/qD3Hz1PupHByLtXnuSeoPXbcafTEMUh8Sqto0CFvgiyZ+t9lnKpy8b0xz /vCf5Jb+dfGM4w9VF8AxBpGbszZGio0CQG/4gVtHnaDFkdcDvZ1eNRJY0F2Sm4RhYovv I08kM2dXti2142L00vRWmirjZuodMQZg8WC0bQ4mvGat1c524RM3B5dFQDanNa0rpqaF OAdg== 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=/nKnDzshEoTJREnnsRFqyXOBxcp33CXKr1VQJgDssSY=; b=FeXa9ou2G6ZbdGx5bWNGgRBr4gANiEQHmruYzTtxX2zJDeAluOXqxm/f7o8ovWXYNM s5xwpl66gqjWpDalNP+ZHCirjr00pQ84pzTpYJRH3I7DIcj/k1lunr+9WX27Dj9/JDRb zlCWXNwPd5a1wwuEZrk6380ukpFVHjxuE0FnIu7clXo08KBD8bIwR3zJRco8VNWsaFFP Sx10lq/pFJXaiy/4Pyhk7XDSlhtkUdfrYgLlNeKGD+zs05ccGyXjtGfdP4Ck+NTTch+4 Umjlnu+9rb4Idcz97aR8frLbSjGDGOuOM+ofoQRG+RYNiYcOeaz7H4FUjyxEgvYNHSnZ nprA== X-Gm-Message-State: AOAM530afBzgFTjuDdNJnSdRwFFw1KbG8Nl0DWotKmXH8hjCnDs+srB8 Oun0AKHaTrJuLAy4MPHpoPw= X-Google-Smtp-Source: ABdhPJyYd+aGPilDzcC5zOrQVGFI3sz96+KPN7kO/qIGtX7lyPzOe2M+sNdmoqsHDt4x952YSR8vvw== X-Received: by 2002:a1c:ba84:: with SMTP id k126mr226266wmf.126.1601313367450; Mon, 28 Sep 2020 10:16:07 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno , Igor Mammedov Subject: [PATCH 15/16] target/mips/cpu: Do not allow system-mode use without input clock Date: Mon, 28 Sep 2020 19:15:38 +0200 Message-Id: <20200928171539.788309-16-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Now than all QOM users provides the input clock, do not allow using a CPU core without its input clock connected on system-mode emulation. For user-mode, keep providing a fixed 200 MHz clock, as it used by the RDHWR instruction (see commit cdfcad788394). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- Cc: Igor Mammedov We need the qtest check for tests/qtest/machine-none-test.c which instanciate a CPU with the none machine. Igor, is it better to remove the MIPS targets from the test cpus_map[]? --- target/mips/cpu.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/target/mips/cpu.c b/target/mips/cpu.c index 2f75216c324..cc4ee75af30 100644 --- a/target/mips/cpu.c +++ b/target/mips/cpu.c @@ -25,6 +25,7 @@ #include "kvm_mips.h" #include "qemu/module.h" #include "sysemu/kvm.h" +#include "sysemu/qtest.h" #include "exec/exec-all.h" #include "hw/qdev-clock.h" #include "hw/qdev-properties.h" @@ -159,11 +160,18 @@ static void mips_cpu_realizefn(DeviceState *dev, Erro= r **errp) Error *local_err =3D NULL; =20 if (!clock_get(cs->clock)) { +#ifdef CONFIG_USER_ONLY /* * Initialize the frequency to 200MHz in case * the clock remains unconnected. */ clock_set_hz(cs->clock, 200000000); +#else + if (!qtest_enabled()) { + error_setg(errp, "CPU clock must be connected to a clock sourc= e"); + return; + } +#endif } mips_cpu_clk_update(cs); =20 --=20 2.26.2 From nobody Fri May 17 00:47:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.66 as permitted sender) client-ip=209.85.128.66; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f66.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.66 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601313371; cv=none; d=zohomail.com; s=zohoarc; b=dc+G5+dYRL9IpCs540S02ySAcGPvWpEwVWDapqGmdu2/Rb9GVPvFmTNaPmbRPz4WAHU2PZnZS79gm1H/zPCmTtku8KnhK/hLETm8RWsHPK1WYTfjmbX+4xMZQjLWM8v5MEQTFVcXrRXDeLG60GvtdiDiG+8A/1+EAOb+FhlHQrg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601313371; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ENJHSv8VXYAWPuujTGIt+mHmdRqFl7rTYSd0cE3/B20=; b=OKs/cZQg2LrbKYljTvOlmDRXLpq50tlSbIHqMcHiY6XLjaBC59PqYHMsv/OKEvXrl17xhr1oUarS0oQsLSXC9XtdOdyjsri/esgcHOWOIj9ko3C4drIxmUah/DLEH0yLCTChxYLb0/343ZvT7TnqMM6pGBXNWrg1rZ2HAJdWTIc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.66 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by mx.zohomail.com with SMTPS id 1601313371028841.2320635683898; Mon, 28 Sep 2020 10:16:11 -0700 (PDT) Received: by mail-wm1-f66.google.com with SMTP id k18so1927535wmj.5 for ; Mon, 28 Sep 2020 10:16:10 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id z67sm464787wme.41.2020.09.28.10.16.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Sep 2020 10:16:08 -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=ENJHSv8VXYAWPuujTGIt+mHmdRqFl7rTYSd0cE3/B20=; b=lmpq7tj11VTVov7XY2zxHgbglGaDDqre9rTLWCLMAcGynyRVby1Frcud0cHGSoT8kp nnnYWbqrBq9X0+g0q/X8N04RrodY4dl1qptM4OcASSb4mSVWZ7Q+rowQDL/p3ymXvLjJ A+T07p29DpvdMPg6ZwtBc5o1efKT8cZBwnjHYof+WHPAOVD1NZillGUB5X7eBzCPjfEP l9EAKC6T0NnjZVahUwJfdQOG9jKLMsJu74OFC95AYCqnEXJITIZ0Dw536Q1nfjpkEWQy J7nb6AjjIiOyRlLNI7nKOW/GDKlRzQALc17Fmk4s1t7YLhgUO3NAljpMGatr9GBeh4ND tsrQ== 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=ENJHSv8VXYAWPuujTGIt+mHmdRqFl7rTYSd0cE3/B20=; b=WaA7F8zROch+8RQPA/xHFX9kwsOfK/aV/fIDLVrQ/Y7M2Rrleem0FYbrXPKnqL5jbz wOpotSNCjhtP9mep/S0K/Vbe9ruaJC/bt8SgTrZM7a4ZARXhZewQsa7PurcjvCstYmVP kQypgOHAej3VtaIKeldxKn/jqBay54GRoS6TxijCY+Ul79okz3T9fFv6HFPntGMrEjHn T/lG37MHUl0sT1r0fXfyrp/++z5K7Dzh757siIn8a4tsFJcTILhJwJo8YGRnTsNfqxvI 7rCkqNr1um10TEgWa61mYvPw47UKEEYdr3nTnozvxWKmqoTRjk0KulujwNRqgiYLGbHn AQKw== X-Gm-Message-State: AOAM531JgpsfiIf55DoVyOVc8CMJZiO77YrS/o5CT4NwTHbFAzfqbZwo Iin0fOs/YS3IK28/v/9JRC0= X-Google-Smtp-Source: ABdhPJyos6VUzX1cU5nl3QJKAOfuagC+XEbjQ4PzP9e5ZpQ7iJte/XbXKONMX9qryaucJ7zsJj/xIA== X-Received: by 2002:a1c:7911:: with SMTP id l17mr170102wme.179.1601313369081; Mon, 28 Sep 2020 10:16:09 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Markovic , Wainer dos Santos Moschetta , Richard Henderson , Paul Burton , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Damien Hedde , Jiaxun Yang , Huacai Chen , Cleber Rosa , Marcel Apfelbaum , Huacai Chen , Eduardo Habkost , "Edgar E . Iglesias" , Aurelien Jarno , Thomas Huth Subject: [PATCH 16/16] tests/acceptance: Test the MIPSsim machine Date: Mon, 28 Sep 2020 19:15:39 +0200 Message-Id: <20200928171539.788309-17-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200928171539.788309-1-f4bug@amsat.org> References: <20200928171539.788309-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Add a test for the mipssim machine, based on the recommended test setup from Thomas Huth: https://www.mail-archive.com/qemu-devel@nongnu.org/msg606846.html The test is quick and can be run as: $ avocado --show=3Dconsole run -t machine:mipssim tests/acceptance/ (1/1) tests/acceptance/machine_mips_mipssim.py:MipsSimMachine.test_mipss= im_linux_console: console: Linux version 3.6.11 (root@711bb8ba16a7) (gcc version 4.8.3 (Bui= ldroot 2014.11) ) #2 Sun Sep 27 13:39:35 UTC 2020 console: Setting default memory size 0x02000000 console: bootconsole [early0] enabled console: CPU revision is: 00019300 (MIPS 24Kc) console: FPU revision is: 00739300 ... console: CPU frequency 12.00 MHz console: Calibrating delay loop... 950.27 BogoMIPS (lpj=3D4751360) ... console: MIPSNet Ethernet driver. Version: 2007-11-17. (c)2005 MIPS Techn= ologies, Inc. ... console: Welcome to Buildroot console: buildroot login: root console: # root console: -sh: root: not found console: # ping -c 3 10.0.2.2 console: PING 10.0.2.2 (10.0.2.2): 56 data bytes console: 64 bytes from 10.0.2.2: seq=3D0 ttl=3D255 time=3D48.231 ms console: 64 bytes from 10.0.2.2: seq=3D1 ttl=3D255 time=3D9.407 ms console: 64 bytes from 10.0.2.2: seq=3D2 ttl=3D255 time=3D2.298 ms console: --- 10.0.2.2 ping statistics --- console: 3 packets transmitted, 3 packets received, 0% packet loss PASS (7.99 s) Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Willian Rampazzo (willianr@redhat.com) --- Cc: Thomas Huth --- MAINTAINERS | 1 + tests/acceptance/machine_mips_mipssim.py | 56 ++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 tests/acceptance/machine_mips_mipssim.py diff --git a/MAINTAINERS b/MAINTAINERS index 5eed1e692b4..17d8a012b0e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -240,6 +240,7 @@ F: include/hw/misc/mips_* F: include/hw/timer/mips_gictimer.h F: tests/acceptance/linux_ssh_mips_malta.py F: tests/acceptance/machine_mips_malta.py +F: tests/acceptance/machine_mips_mipssim.py F: tests/tcg/mips/ K: ^Subject:.*(?i)mips =20 diff --git a/tests/acceptance/machine_mips_mipssim.py b/tests/acceptance/ma= chine_mips_mipssim.py new file mode 100644 index 00000000000..b2749917b08 --- /dev/null +++ b/tests/acceptance/machine_mips_mipssim.py @@ -0,0 +1,56 @@ +# Functional tests for the MIPS simulator (MIPSsim machine) +# +# Copyright (c) 2020 Philippe Mathieu-Daud=C3=A9 +# +# This work is licensed under the terms of the GNU GPL, version 2 or later. +# See the COPYING file in the top-level directory. +# +# SPDX-License-Identifier: GPL-2.0-or-later + +import os +import logging +import time + +from avocado import skipUnless +from avocado_qemu import Test +from avocado_qemu import exec_command_and_wait_for_pattern +from avocado_qemu import interrupt_interactive_console_until_pattern +from avocado_qemu import wait_for_console_pattern + +class MipsSimMachine(Test): + + timeout =3D 30 + KERNEL_COMMON_COMMAND_LINE =3D 'printk.time=3D0 ' + + @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code= ') + def test_mipssim_linux_console(self): + """ + Boots the Linux kernel and checks that the console is operational + :avocado: tags=3Darch:mipsel + :avocado: tags=3Dmachine:mipssim + :avocado: tags=3Ddevice:mipsnet + """ + kernel_url =3D ('https://github.com/philmd/qemu-testing-blob/raw/' + '32ea5764e1de8fffa0d59366c44822cd06d7c8e0/' + 'mips/mipssim/mipsel/vmlinux') + kernel_hash =3D '0f9aeca3a2e25b5b0cc4999571f39a7ad58cdc43' + kernel_path =3D self.fetch_asset(kernel_url, asset_hash=3Dkernel_h= ash) + + initrd_url =3D ('https://github.com/philmd/qemu-testing-blob/raw/' + '32ea5764e1de8fffa0d59366c44822cd06d7c8e0/' + 'mips/mipssim/mipsel/rootfs.cpio') + initrd_hash =3D 'b20359bdfae66387e5a17d6692686d59c189417b' + initrd_path =3D self.fetch_asset(initrd_url, asset_hash=3Dinitrd_h= ash) + + self.vm.set_console() + self.vm.add_args('-kernel', kernel_path, + '-initrd', initrd_path, + '-append', self.KERNEL_COMMON_COMMAND_LINE) + self.vm.launch() + + wait_for_console_pattern(self, 'Welcome to Buildroot') + interrupt_interactive_console_until_pattern(self, + interrupt_string=3D'ro= ot\r', + success_message=3D'#') + pattern =3D '3 packets transmitted, 3 packets received, 0% packet = loss' + exec_command_and_wait_for_pattern(self, 'ping -c 3 10.0.2.2', patt= ern) --=20 2.26.2