From nobody Wed May 15 16:39:31 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) client-ip=209.85.128.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1600660382; cv=none; d=zohomail.com; s=zohoarc; b=KV+zboKGNiSUDolzmav6WC4eHLPD5RgmbZyX9BRlN81F4pxdm9Cf42gYzbuhZnV4ej3ZOT49i3HJsuBJv6O5Syu7rhT8OW4tJeVhLb+e95bQS1ioH0w7Qz5tCthbzyTIntfeJlh1pRamZMUNYjzXECgZ6AHtLbd/VXBg9SMPJpU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600660382; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dcCXq9EmDF/ND5OQIcbMSYGFUbh9qfqOjQv8VK2LW0A=; b=jt9p0YnsT5Gfy0cq57RNGFdE9tIZyEv6xuey0bzwpMKdBaeNff+7PBp13AFrRcgckXdDadgF5cyzlbOZSYAyClTcP5Zo+Xvow7aYUsb73KQxA500YIFuRTw8ulaXcJDtzDE6ZHD7YwHF99wola15Uhk6BiGMj1VT7yaB2JAl5gw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mx.zohomail.com with SMTPS id 1600660382910493.0100544284594; Sun, 20 Sep 2020 20:53:02 -0700 (PDT) Received: by mail-wm1-f49.google.com with SMTP id e17so10698113wme.0 for ; Sun, 20 Sep 2020 20:53:02 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (65.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.65]) by smtp.gmail.com with ESMTPSA id a17sm19633754wra.24.2020.09.20.20.52.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Sep 2020 20:53:00 -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=dcCXq9EmDF/ND5OQIcbMSYGFUbh9qfqOjQv8VK2LW0A=; b=ZXz6++ulUuofMXLwMdkIFvVYbVfptOwYGMHDECsZA2fVY/cXk4fKyoqg8+K8RGdTVV WMFFpIPcfH3iP4DO1Gzeo3RY1gpQrkwrzpUc27+vRG03RExbSU/QWPUpwpu5N+pnYky5 dchThiTyq1ovWX4xeYh6Qz0Sc30T09qD49SAUacGFsqaMHY7HBrMMc1UpPUGoA1Nq7Mt d8FhUvZcyF3qojmnUC6gTXJypfbIi1m2iuWi5p5AEKIp6lAan2FV0G3668A3Tkrr+0ZK jPvp0qaYollresdg8LSy2rxK5IGt/3Rn66drq2WT5eXUre5vkSj7zS8qtSzGwEPFI9i1 galg== 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=dcCXq9EmDF/ND5OQIcbMSYGFUbh9qfqOjQv8VK2LW0A=; b=m1H5BFBts352GImewM4Vf2Wi/wxJ0blVSiweRHOrBTxZLkM/+FtON4wVnkxTOJGFob 3akFjRPWKzcjCbd+rM8Jr1AkIHL08RzF6yuyHqCLdeWmcN7tFGYgmvVAdkpAHR34ide3 CUh9yFcNl9fsXkK084pSSEqD0YMCqRWa0UBK3PqxfGZ5LCydhBP4a2PMGqSbGdvvJD2P iw02JPRs4JM4ZP5dAVXUg1/+Accx3B9f0n0LPqdwuLNBGZfkIneU3id7g6Ic0cl1+CZU CsvNhiQ7gUH88PH/rOdE5s1wtGk7QbZjoXpiK5w95+bsliqYq+NtBh/8xOQF/inubjP/ 34Aw== X-Gm-Message-State: AOAM533r6adJbkdKIyx3z+02rIUkhhMRmGb5I2PjyAUUcsmboZswvfC2 oNohHVG7uxjvVyylIxB10o4= X-Google-Smtp-Source: ABdhPJwRl3Z5WIikTR6gR38co3WDSTZo81ph0bORf7hpIY/ds2mvi4K2+q+lEmrWAxcDsY8qPqIWYA== X-Received: by 2002:a1c:7e15:: with SMTP id z21mr27599378wmc.21.1600660381007; Sun, 20 Sep 2020 20:53:01 -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: Andrew Baumann , Luc Michel , qemu-arm@nongnu.org, Peter Maydell , Niek Linnenbank , Paul Zimmerman , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 1/5] hw/intc/bcm2835_ic: Trace GPU/CPU IRQ handlers Date: Mon, 21 Sep 2020 05:52:53 +0200 Message-Id: <20200921035257.434532-2-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200921035257.434532-1-f4bug@amsat.org> References: <20200921035257.434532-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 trace events for GPU and CPU IRQs. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Luc Michel --- hw/intc/bcm2835_ic.c | 4 +++- hw/intc/trace-events | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/intc/bcm2835_ic.c b/hw/intc/bcm2835_ic.c index 53ab8f58810..9000d995e81 100644 --- a/hw/intc/bcm2835_ic.c +++ b/hw/intc/bcm2835_ic.c @@ -18,6 +18,7 @@ #include "migration/vmstate.h" #include "qemu/log.h" #include "qemu/module.h" +#include "trace.h" =20 #define GPU_IRQS 64 #define ARM_IRQS 8 @@ -51,7 +52,6 @@ static void bcm2835_ic_update(BCM2835ICState *s) set =3D (s->gpu_irq_level & s->gpu_irq_enable) || (s->arm_irq_level & s->arm_irq_enable); qemu_set_irq(s->irq, set); - } =20 static void bcm2835_ic_set_gpu_irq(void *opaque, int irq, int level) @@ -59,6 +59,7 @@ static void bcm2835_ic_set_gpu_irq(void *opaque, int irq,= int level) BCM2835ICState *s =3D opaque; =20 assert(irq >=3D 0 && irq < 64); + trace_bcm2835_ic_set_gpu_irq(irq, level); s->gpu_irq_level =3D deposit64(s->gpu_irq_level, irq, 1, level !=3D 0); bcm2835_ic_update(s); } @@ -68,6 +69,7 @@ static void bcm2835_ic_set_arm_irq(void *opaque, int irq,= int level) BCM2835ICState *s =3D opaque; =20 assert(irq >=3D 0 && irq < 8); + trace_bcm2835_ic_set_cpu_irq(irq, level); s->arm_irq_level =3D deposit32(s->arm_irq_level, irq, 1, level !=3D 0); bcm2835_ic_update(s); } diff --git a/hw/intc/trace-events b/hw/intc/trace-events index 527c3f76cae..22782b3f089 100644 --- a/hw/intc/trace-events +++ b/hw/intc/trace-events @@ -199,3 +199,7 @@ nvic_sysreg_write(uint64_t addr, uint32_t value, unsign= ed size) "NVIC sysreg wri heathrow_write(uint64_t addr, unsigned int n, uint64_t value) "0x%"PRIx64"= %u: 0x%"PRIx64 heathrow_read(uint64_t addr, unsigned int n, uint64_t value) "0x%"PRIx64" = %u: 0x%"PRIx64 heathrow_set_irq(int num, int level) "set_irq: num=3D0x%02x level=3D%d" + +# bcm2835_ic.c +bcm2835_ic_set_gpu_irq(int irq, int level) "GPU irq #%d level %d" +bcm2835_ic_set_cpu_irq(int irq, int level) "CPU irq #%d level %d" --=20 2.26.2 From nobody Wed May 15 16:39:31 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; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1600660384; cv=none; d=zohomail.com; s=zohoarc; b=I1pZORLhs2WgyjIXIbgvEJjSrBVFrJpyriI1x9i1DzLW/IffAxcGG/jAj5LYrF5ReBEXIsJT1+BijOaQqiLWqiL138sZP/Gq6v47hsF15uiQJ11Xy4yXvf7Ow4oogfV/L8vK3I9hJCfPLnNpUkJwy41ijVEZGBrgmaSHxi9+JiY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600660384; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3AjXG5w656FN23Be/Hsok/QAzJiXXjNLyOG7YnfgnNo=; b=m0XwoBNm47wqRvuJ7mEHdUXY9zFwO+J7sn2sJ9+XNSW49FeYlKYjwYZRpaQKkWfUf1+5SRXAbXSC9OpgjkvsJVDMTqdgA7Br8fVejg/exNdN8/YPhjAnDvjA229Nkfxd7RdYeqVJRbxx5nY+QP7cpRAmfJI38Xu+qMj1/UNxMFQ= 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; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by mx.zohomail.com with SMTPS id 160066038412311.690715662199523; Sun, 20 Sep 2020 20:53:04 -0700 (PDT) Received: by mail-wm1-f65.google.com with SMTP id x23so10680746wmi.3 for ; Sun, 20 Sep 2020 20:53:03 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (65.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.65]) by smtp.gmail.com with ESMTPSA id a17sm19633754wra.24.2020.09.20.20.53.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Sep 2020 20:53: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=3AjXG5w656FN23Be/Hsok/QAzJiXXjNLyOG7YnfgnNo=; b=h9H0UvxpYdAmTGw6vkfHy7CmkRryqCaWAqDtjFWiieXT0tTd8zXqbgazKrzULUMSxk Bf0BEGMwtchgO/GB2VcMHDEh31tQYb/lWClxzjmpXW+VKvyyYK5CvYrM0CRgvneHfOoy Ga3am9DlOn/aHP2HFatMIULVg8tSBMHwldtR4KjlqEHjvsxo72oZNlULzVhM+6lO9YZg qi1ZKCd1gSHwK6oL2SqVv4kZdKVe7qWr0XW3o4oVoFpjLDNDhUmba8pCNlDHUBHitYau EMwQ6wJqGxQJJ/PQFVZiyxuCrHFfd8fN2KAx4RNEJDIDpIAMCUfKifZbV1EtGYVfwKWV 9zag== 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=3AjXG5w656FN23Be/Hsok/QAzJiXXjNLyOG7YnfgnNo=; b=oyy4NeZHnTqlSbOPOGLx3x01fgyUoVZOKnrVo3OULIEHqKRsnZeMd1w3VRhwic6tXg EJ2/1e91Y8y47zXBkohJYjOs84kzsjNJrClUV6mEs1FeM+zoK+VJq8FBYkgaiJ23pu/8 WDKlVwAACE+8re5SSkT/D39EywOLrz9Oa5zrvRCJRLlSTzKMyiEhjgI2kyeLEhe0FWcg +9gsWU5BtpE3Lk1PejTe5QEXbHcuZAJLw7EzPyFVXEY5HbGjnfYGzSUNV92UiDjtdQhf zecr636K3gFuttCbvBuLWxBMcllAv8GbZ1/LqFnQ6bTf8viNCBt4puYWIUpUx3f4GdVA 4YDQ== X-Gm-Message-State: AOAM533HgvAOxo0m/jQlzYOTpjaRU9GS2j2oCXxT1sfynm78fNDrfPec MUuvDj4bXSzHfGd8HD+mrGk= X-Google-Smtp-Source: ABdhPJwUmv0Zim/84lID1wmhTMas5abQoKCPogiScrn4qGrqI3NqShPh9tuOcE8ERtoXqNeqWKuDMQ== X-Received: by 2002:a7b:c8c9:: with SMTP id f9mr28700692wml.67.1600660382318; Sun, 20 Sep 2020 20:53: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: Andrew Baumann , Luc Michel , qemu-arm@nongnu.org, Peter Maydell , Niek Linnenbank , Paul Zimmerman , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 2/5] hw/timer/bcm2835: Introduce BCM2835_SYSTIMER_COUNT definition Date: Mon, 21 Sep 2020 05:52:54 +0200 Message-Id: <20200921035257.434532-3-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200921035257.434532-1-f4bug@amsat.org> References: <20200921035257.434532-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) Use the BCM2835_SYSTIMER_COUNT definition instead of the magic '4' value. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Luc Michel --- include/hw/timer/bcm2835_systmr.h | 4 +++- hw/timer/bcm2835_systmr.c | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/include/hw/timer/bcm2835_systmr.h b/include/hw/timer/bcm2835_s= ystmr.h index 64166bd7120..11272837a6b 100644 --- a/include/hw/timer/bcm2835_systmr.h +++ b/include/hw/timer/bcm2835_systmr.h @@ -18,6 +18,8 @@ typedef struct BCM2835SystemTimerState BCM2835SystemTimer= State; DECLARE_INSTANCE_CHECKER(BCM2835SystemTimerState, BCM2835_SYSTIMER, TYPE_BCM2835_SYSTIMER) =20 +#define BCM2835_SYSTIMER_COUNT 4 + struct BCM2835SystemTimerState { /*< private >*/ SysBusDevice parent_obj; @@ -28,7 +30,7 @@ struct BCM2835SystemTimerState { =20 struct { uint32_t status; - uint32_t compare[4]; + uint32_t compare[BCM2835_SYSTIMER_COUNT]; } reg; }; =20 diff --git a/hw/timer/bcm2835_systmr.c b/hw/timer/bcm2835_systmr.c index 3387a6214a2..ff8c5536610 100644 --- a/hw/timer/bcm2835_systmr.c +++ b/hw/timer/bcm2835_systmr.c @@ -134,7 +134,8 @@ static const VMStateDescription bcm2835_systmr_vmstate = =3D { .minimum_version_id =3D 1, .fields =3D (VMStateField[]) { VMSTATE_UINT32(reg.status, BCM2835SystemTimerState), - VMSTATE_UINT32_ARRAY(reg.compare, BCM2835SystemTimerState, 4), + VMSTATE_UINT32_ARRAY(reg.compare, BCM2835SystemTimerState, + BCM2835_SYSTIMER_COUNT), VMSTATE_END_OF_LIST() } }; --=20 2.26.2 From nobody Wed May 15 16:39:31 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=1600660385; cv=none; d=zohomail.com; s=zohoarc; b=f6opA+Gi41VJ9TfW52c+gMEjs1leLAG+g/H3+mGLwkC3Crf/gw+xObe3+BsSAjvfVXR2iwizG10vdv6+NrBiB6ih+71X7bz0SCqDlemcQDeucb3VAEv65lX6kUQtWthr2WzBWoSMt+3CjodJQV/iuYB+TBNDJmiShJk0j5HYq8w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600660385; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ru9JeznwCHjcxiZ+MKIheuMQIUXnKfc2N76bXeVgo8I=; b=mFq3MfDPFYOYV5VrJXw3wsqeNbAJOJ5PGxvOPX1OXzmLNNFDxg8lsdbwdINAg3sqDmh6K9PLfR+c7vG+D26+YQvWI0PtBVJmFkBxpWWFlXKUr6fvqit5CQEcDCLax/Ax3BE50aDvCvfe/vkPR6MaEatbKS9WECi9q5m/GVg9+p4= 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 1600660385545828.0330353492982; Sun, 20 Sep 2020 20:53:05 -0700 (PDT) Received: by mail-wr1-f68.google.com with SMTP id t10so11169946wrv.1 for ; Sun, 20 Sep 2020 20:53:04 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (65.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.65]) by smtp.gmail.com with ESMTPSA id a17sm19633754wra.24.2020.09.20.20.53.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Sep 2020 20:53:02 -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=ru9JeznwCHjcxiZ+MKIheuMQIUXnKfc2N76bXeVgo8I=; b=j4EPgoACtbawzAMU0zuW5i3OqBG0cvFkbOQ9n3J8ucxO5GbxBi/HaymyxL3AG8Qekx FQIAj//lkghxK5lH1iDFtCHAB+YWbQ3hd3I9yphiyENJvPiZYGoCxLzNm/fl9kZquuCA uIqfZmdVOvedIukuwn/HaIbGwaWA1M6F6y/dnCHYfLs2MKX3Z7GWcGvVmSQT63OM/4zN 4r2aluZNKP5J1CKBMAZvJvn8GBYUu4lOrd6Tx1Vhqo6s1vR77Xudv2whByt9jUbOXQzE mN44gIU/o+303RUOS1PMW35VVpiB47cBwtlCL3YgPU6HdccetMTBnIEm1PMSCq8MRptU FZCA== 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=ru9JeznwCHjcxiZ+MKIheuMQIUXnKfc2N76bXeVgo8I=; b=aCYNYMKyHV/iOLYzEsJfE0PRAeN+JRcHlvcuwaUt7ebYnwURwdYwFmOMRNXftx0iu7 Ms8t5JwWw5Q82NnaXg875lZOP5kJe30xVoz7havlD9ZEN0nC8XYtvvBs4c97WZqbS14Z Lf7/62Do6Hw87PhebBwlYvVndfTTbmT+QlvNpRE0WPWZ3n5GqnWkYiXdHPcTxwZxwZqv ipwX/9XoTYAbEMPkT990+JUYB/BsiDHmDka1YQBaxN8hIfqVvB0c6XtR88JeZtDvdQk+ G+u+F3vBLiisRUnT7mUdikqHZJonfZIh2GDup0Y8UTrIx5sOxgytLeVYO4Ja04CtygTI norw== X-Gm-Message-State: AOAM5312vMXID3riRrLGWWmDTI63RKkuKKQzGxYB7QF04waNxx1zZfM2 Vk5MfvbSp6JHKZk77KyASCaeEDR/u2E= X-Google-Smtp-Source: ABdhPJyVIWrp7r8mU64GTnfYsu5n3D8mz+YO90QF6G19xfiFEcA5/4JagQ/cWpbzrcOjI//VllREDw== X-Received: by 2002:adf:eb04:: with SMTP id s4mr53790580wrn.81.1600660383647; Sun, 20 Sep 2020 20:53: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: Andrew Baumann , Luc Michel , qemu-arm@nongnu.org, Peter Maydell , Niek Linnenbank , Paul Zimmerman , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 3/5] hw/timer/bcm2835: Rename variable holding CTRL_STATUS register Date: Mon, 21 Sep 2020 05:52:55 +0200 Message-Id: <20200921035257.434532-4-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200921035257.434532-1-f4bug@amsat.org> References: <20200921035257.434532-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 variable holding the CTRL_STATUS register is misnamed 'status'. Rename it 'ctrl_status' to make it more obvious this register is also used to control the peripheral. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Luc Michel --- include/hw/timer/bcm2835_systmr.h | 2 +- hw/timer/bcm2835_systmr.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/hw/timer/bcm2835_systmr.h b/include/hw/timer/bcm2835_s= ystmr.h index 11272837a6b..e0db9e9e12b 100644 --- a/include/hw/timer/bcm2835_systmr.h +++ b/include/hw/timer/bcm2835_systmr.h @@ -29,7 +29,7 @@ struct BCM2835SystemTimerState { qemu_irq irq; =20 struct { - uint32_t status; + uint32_t ctrl_status; uint32_t compare[BCM2835_SYSTIMER_COUNT]; } reg; }; diff --git a/hw/timer/bcm2835_systmr.c b/hw/timer/bcm2835_systmr.c index ff8c5536610..b234e83824f 100644 --- a/hw/timer/bcm2835_systmr.c +++ b/hw/timer/bcm2835_systmr.c @@ -30,7 +30,7 @@ REG32(COMPARE3, 0x18) =20 static void bcm2835_systmr_update_irq(BCM2835SystemTimerState *s) { - bool enable =3D !!s->reg.status; + bool enable =3D !!s->reg.ctrl_status; =20 trace_bcm2835_systmr_irq(enable); qemu_set_irq(s->irq, enable); @@ -52,7 +52,7 @@ static uint64_t bcm2835_systmr_read(void *opaque, hwaddr = offset, =20 switch (offset) { case A_CTRL_STATUS: - r =3D s->reg.status; + r =3D s->reg.ctrl_status; break; case A_COMPARE0 ... A_COMPARE3: r =3D s->reg.compare[(offset - A_COMPARE0) >> 2]; @@ -82,7 +82,7 @@ static void bcm2835_systmr_write(void *opaque, hwaddr off= set, trace_bcm2835_systmr_write(offset, value); switch (offset) { case A_CTRL_STATUS: - s->reg.status &=3D ~value; /* Ack */ + s->reg.ctrl_status &=3D ~value; /* Ack */ bcm2835_systmr_update_irq(s); break; case A_COMPARE0 ... A_COMPARE3: @@ -133,7 +133,7 @@ static const VMStateDescription bcm2835_systmr_vmstate = =3D { .version_id =3D 1, .minimum_version_id =3D 1, .fields =3D (VMStateField[]) { - VMSTATE_UINT32(reg.status, BCM2835SystemTimerState), + VMSTATE_UINT32(reg.ctrl_status, BCM2835SystemTimerState), VMSTATE_UINT32_ARRAY(reg.compare, BCM2835SystemTimerState, BCM2835_SYSTIMER_COUNT), VMSTATE_END_OF_LIST() --=20 2.26.2 From nobody Wed May 15 16:39:31 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; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1600660387; cv=none; d=zohomail.com; s=zohoarc; b=RP9tBWhHzchWhkOrTHoLeg6nSWsoGPR5SmJ9PaK58DPpO9cjfB0AmEgQQbumd6sU48CsFQuDwAluGlZ/YcFGBbGaGak4k+bCFZFeFEILkJVEiuVLWwi0suAWxdikPE24TIHgQi1QPczOd8qbKygOToa0oU2RrIrYC4/QEIs5F5o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600660387; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ZsGklvGCCEfAG2C9pvK94uYRWIB54oFE2Bd5BK/jcb8=; b=Ps8THPQan47fCc4NBBRMEcTWNBl6nHVK6/5G1Hk1iH1K9I5war15Yy4oZjq7VY+O3w1VOduvpsZFyCvqnIzEmAES6g8TwaULWdKFzD2wCayuDIWecKu/OkcTT1LJdI+2BOHazmDOiF/kMtRotc8J7inlm3y+V5ibezCCSVDSmiY= 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; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by mx.zohomail.com with SMTPS id 1600660387013597.4951768318507; Sun, 20 Sep 2020 20:53:07 -0700 (PDT) Received: by mail-wm1-f66.google.com with SMTP id w2so10699422wmi.1 for ; Sun, 20 Sep 2020 20:53:06 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (65.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.65]) by smtp.gmail.com with ESMTPSA id a17sm19633754wra.24.2020.09.20.20.53.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Sep 2020 20:53: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=ZsGklvGCCEfAG2C9pvK94uYRWIB54oFE2Bd5BK/jcb8=; b=FbkhTWmtCJg8yfGQc4petf4ZKQBnoVsqmNvO9ZB5vRJYAQv0Tr+K+WmS4B5z1qXtgs 9pq0DSZlksXJuTFkLid9kiCyjcfP1V2EbxAPTnYgie2XpR561+kQMTZuy2xsSuUjWvcc zpW6VfT5wwSK0RrlwaVG2rmKAyHw8xdRIdFrnC8sk/9HFkA0EqH/AIcG5P7/PQdqITE1 M3w5biIumFAHd4GxbOegbooJRsF2TyO7UBI9JIiFD7l1XyZq4TYT9OxdUEKYbwoqBe4V hFN2T9/z0Nzc/SgJTFeHNDRRx3+t6F2piJVgXDC/fK4mAaps0Ec7FU4MDfCybXHDUrs9 5guQ== 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=ZsGklvGCCEfAG2C9pvK94uYRWIB54oFE2Bd5BK/jcb8=; b=ksAe1s/vI1bMEjNx78rajjvGisvMwjqw5hhOMXEz0+YvduR8qGIjH0zurOsgAohL+8 sF0oYn9SR2yahUY+/qVvltSNXoChqsKuZ+QOk5bTuytQVCrqObKXQtfEmDRqtJ9a7s1G 52KpCLY9c8xRbqpq+M6Bq+1EPz35el6CyRzTHv0zEjcd870DbLHpPePft8gowsI31pTc 1lNXXpbwa9Hmqgn25z4M3qjqu/U+wwdq+UaaSM1jaAnQgufGiXEYWQrljHJYUiO+6zSp 8RD+Hxgo9X+y/lE+GDOlM7r52mWy98UDBzD37VxfP1l7oUOaAgVm9Ue05nkIzCcGSIgd vwhA== X-Gm-Message-State: AOAM532oAtuEMFmNxpxKMx3aftMHJNr0rVYo6gjqN/2nfwK37R3O8VXB 7tsApqktlD877gZIksfczbU= X-Google-Smtp-Source: ABdhPJynD9YGr28bXrQV6LHe8RPXPRetUqQ69s0fyyJ5Us2LFlObveqgtuzM3c2HWxoL/snWbsBDEw== X-Received: by 2002:a1c:2905:: with SMTP id p5mr19905535wmp.187.1600660385027; Sun, 20 Sep 2020 20:53: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: Andrew Baumann , Luc Michel , qemu-arm@nongnu.org, Peter Maydell , Niek Linnenbank , Paul Zimmerman , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 4/5] hw/timer/bcm2835: Support the timer COMPARE registers Date: Mon, 21 Sep 2020 05:52:56 +0200 Message-Id: <20200921035257.434532-5-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200921035257.434532-1-f4bug@amsat.org> References: <20200921035257.434532-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) This peripheral has 1 free-running timer and 4 compare registers. Only the free-running timer is implemented. Add support the COMPARE registers (each register is wired to an IRQ). Reference: "BCM2835 ARM Peripherals" datasheet [*] chapter 12 "System Timer": The System Timer peripheral provides four 32-bit timer channels and a single 64-bit free running counter. Each channel has an output compare register, which is compared against the 32 least significant bits of the free running counter values. When the two values match, the system timer peripheral generates a signal to indicate a match for the appropriate channel. The match signal is then fed into the interrupt controller. This peripheral is used since Linux 3.7, commit ee4af5696720 ("ARM: bcm2835: add system timer"). [*] https://www.raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals= .pdf Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/timer/bcm2835_systmr.h | 11 +++++++-- hw/timer/bcm2835_systmr.c | 41 +++++++++++++++++++------------ hw/timer/trace-events | 4 ++- 3 files changed, 37 insertions(+), 19 deletions(-) diff --git a/include/hw/timer/bcm2835_systmr.h b/include/hw/timer/bcm2835_s= ystmr.h index e0db9e9e12b..17fdd9d67b2 100644 --- a/include/hw/timer/bcm2835_systmr.h +++ b/include/hw/timer/bcm2835_systmr.h @@ -11,6 +11,7 @@ =20 #include "hw/sysbus.h" #include "hw/irq.h" +#include "qemu/timer.h" #include "qom/object.h" =20 #define TYPE_BCM2835_SYSTIMER "bcm2835-sys-timer" @@ -20,18 +21,24 @@ DECLARE_INSTANCE_CHECKER(BCM2835SystemTimerState, BCM28= 35_SYSTIMER, =20 #define BCM2835_SYSTIMER_COUNT 4 =20 +typedef struct { + unsigned id; + QEMUTimer timer; + qemu_irq irq; + BCM2835SystemTimerState *state; +} BCM2835SystemTimerCompare; + struct BCM2835SystemTimerState { /*< private >*/ SysBusDevice parent_obj; =20 /*< public >*/ MemoryRegion iomem; - qemu_irq irq; - struct { uint32_t ctrl_status; uint32_t compare[BCM2835_SYSTIMER_COUNT]; } reg; + BCM2835SystemTimerCompare tmr[BCM2835_SYSTIMER_COUNT]; }; =20 #endif diff --git a/hw/timer/bcm2835_systmr.c b/hw/timer/bcm2835_systmr.c index b234e83824f..43e644f5e45 100644 --- a/hw/timer/bcm2835_systmr.c +++ b/hw/timer/bcm2835_systmr.c @@ -28,20 +28,13 @@ REG32(COMPARE1, 0x10) REG32(COMPARE2, 0x14) REG32(COMPARE3, 0x18) =20 -static void bcm2835_systmr_update_irq(BCM2835SystemTimerState *s) +static void bcm2835_systmr_timer_expire(void *opaque) { - bool enable =3D !!s->reg.ctrl_status; + BCM2835SystemTimerCompare *tmr =3D opaque; =20 - trace_bcm2835_systmr_irq(enable); - qemu_set_irq(s->irq, enable); -} - -static void bcm2835_systmr_update_compare(BCM2835SystemTimerState *s, - unsigned timer_index) -{ - /* TODO fow now, since neither Linux nor U-boot use these timers. */ - qemu_log_mask(LOG_UNIMP, "COMPARE register %u not implemented\n", - timer_index); + trace_bcm2835_systmr_timer_expired(tmr->id); + tmr->state->reg.ctrl_status |=3D 1 << tmr->id; + qemu_set_irq(tmr->irq, 1); } =20 static uint64_t bcm2835_systmr_read(void *opaque, hwaddr offset, @@ -78,16 +71,25 @@ static void bcm2835_systmr_write(void *opaque, hwaddr o= ffset, uint64_t value, unsigned size) { BCM2835SystemTimerState *s =3D BCM2835_SYSTIMER(opaque); + int index; =20 trace_bcm2835_systmr_write(offset, value); switch (offset) { case A_CTRL_STATUS: s->reg.ctrl_status &=3D ~value; /* Ack */ - bcm2835_systmr_update_irq(s); + for (index =3D 0; index < ARRAY_SIZE(s->tmr); index++) { + if (extract32(value, index, 1)) { + trace_bcm2835_systmr_irq_ack(index); + qemu_set_irq(s->tmr[index].irq, 0); + } + } break; case A_COMPARE0 ... A_COMPARE3: - s->reg.compare[(offset - A_COMPARE0) >> 2] =3D value; - bcm2835_systmr_update_compare(s, (offset - A_COMPARE0) >> 2); + index =3D (offset - A_COMPARE0) >> 2; + s->reg.compare[index] =3D value; + timer_mod(&s->tmr[index].timer, value); + trace_bcm2835_systmr_run(index, + value - qemu_clock_get_us(QEMU_CLOCK_VIRT= UAL)); break; case A_COUNTER_LOW: case A_COUNTER_HIGH: @@ -125,7 +127,14 @@ static void bcm2835_systmr_realize(DeviceState *dev, E= rror **errp) memory_region_init_io(&s->iomem, OBJECT(dev), &bcm2835_systmr_ops, s, "bcm2835-sys-timer", 0x20); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem); - sysbus_init_irq(SYS_BUS_DEVICE(dev), &s->irq); + + for (size_t i =3D 0; i < ARRAY_SIZE(s->tmr); i++) { + s->tmr[i].id =3D i; + s->tmr[i].state =3D s; + sysbus_init_irq(SYS_BUS_DEVICE(dev), &s->tmr[i].irq); + timer_init_us(&s->tmr[i].timer, QEMU_CLOCK_VIRTUAL, + bcm2835_systmr_timer_expire, &s->tmr[i]); + } } =20 static const VMStateDescription bcm2835_systmr_vmstate =3D { diff --git a/hw/timer/trace-events b/hw/timer/trace-events index b996d992000..f4ca31d4951 100644 --- a/hw/timer/trace-events +++ b/hw/timer/trace-events @@ -77,9 +77,11 @@ nrf51_timer_write(uint8_t timer_id, uint64_t addr, uint3= 2_t value, unsigned size nrf51_timer_set_count(uint8_t timer_id, uint8_t counter_id, uint32_t value= ) "timer %u counter %u count 0x%" PRIx32 =20 # bcm2835_systmr.c -bcm2835_systmr_irq(bool enable) "timer irq state %u" +bcm2835_systmr_timer_expired(unsigned id) "timer #%u expired" +bcm2835_systmr_irq_ack(unsigned id) "timer #%u acked" bcm2835_systmr_read(uint64_t offset, uint64_t data) "timer read: offset 0x= %" PRIx64 " data 0x%" PRIx64 bcm2835_systmr_write(uint64_t offset, uint64_t data) "timer write: offset = 0x%" PRIx64 " data 0x%" PRIx64 +bcm2835_systmr_run(unsigned id, uint64_t delay_us) "timer #%u expiring in = %"PRIu64" us" =20 # avr_timer16.c avr_timer16_read(uint8_t addr, uint8_t value) "timer16 read addr:%u value:= %u" --=20 2.26.2 From nobody Wed May 15 16:39:31 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=1600660387; cv=none; d=zohomail.com; s=zohoarc; b=d1pdme+c74ViOAvqOdopK5cBPysCo0fv96MBfI0kwo2rOY+KEr/YcYxqhGmKUrhFMTq6/zCIG1SifIJsWYRYhbjB/4WVIn/OGjy10yPyTrZfB9DzTrTtFbHUmEajWD18/qZWNgm5MRAeUSD8ZAckh5vpl8danY7Al0VakBRSxO0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600660387; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Pkq0sHrTv5/xZaj/954kaRSp726GwaYvD8ODlxKHlR0=; b=RfJkr09Weimyf+FPBrpf1Ucrx0potoyq9vxGv1dms+qrhRBvVI0p6RcITWaEd4avAmmyf437IrC63tK20tXKF/g86o0prjUKPiLLWU6stdKZE7WkiREVF+i1vWdHty5ZARBzlO+wJ67nfzRpRX5eQKviDpVnEd+iMn1vqQByRgE= 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 1600660387954858.0936984348567; Sun, 20 Sep 2020 20:53:07 -0700 (PDT) Received: by mail-wm1-f65.google.com with SMTP id y15so11042467wmi.0 for ; Sun, 20 Sep 2020 20:53:07 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (65.red-83-57-170.dynamicip.rima-tde.net. [83.57.170.65]) by smtp.gmail.com with ESMTPSA id a17sm19633754wra.24.2020.09.20.20.53.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Sep 2020 20:53:05 -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=Pkq0sHrTv5/xZaj/954kaRSp726GwaYvD8ODlxKHlR0=; b=Go1ncPH9NLXvTxnZqohu+W7MLcTROVQi7HIKJkmLom6YO3MuX9HIJL0Wuai1L2ym5s BlV/C0iVBI6uJxXn0ua4CKeV3mXBJKlG0R5cLsfkGW7r3Sak3uJiRfWzxGrRhmNcoSTZ XUtCC0T/8L2TvErqS+tFcy+cI1KjA/ePGKwwmBtvDxwGz5iY++ftoK/WHvQEu2+GR1R9 CVwZKG/8vnlTnFu36Ra0xb4nLuA1ApLKY/qq4KZDmzu13FFTys6be0M53HHWiyvw/qYl I+MXP++AOOA5cG8BXW2jWEmTq8sqX1LG1NsMZZFBvHEUDGvv7sPTv7x82Bl4DaRsEqkJ OGoA== 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=Pkq0sHrTv5/xZaj/954kaRSp726GwaYvD8ODlxKHlR0=; b=IUhBD6p1Xh+osihypFvX2WVIk+8ijB4Vid4kKMO37149SOUADh7Z2zhB8oEFxrWPkn t2AY+pqijeoogX77fWOflHkCrvLMG/dwVGHlgLap7ocuXxAO7PhmaQcGDi/I5KL0Uh6m towU1iL889Jv5D01LpV3SzicuXIulMndaYbXJBMTD+XKnuBPKO62JPzwbdr9M8mGB7Wb K9PTZUFFYILUbM8AXNpZwh5zAmUyVCKJO1wCp4YwDrO+gmLXev0n4XAqNpILcWz8FjhP o3I9y+6wRI2kmND4VMVkT9dzp+ONxC1xX/HaiEm/E0uUJ4tJWhsxRBSVp9YsZI8FyJEt MHGg== X-Gm-Message-State: AOAM533IyWUrZFBeUZUU1DBXKQjaHTLu8NqJkJvvnqvUhBW4FTgwGxdA cmuZCe5fI1CqrqnzoMnzfk8= X-Google-Smtp-Source: ABdhPJwcgXuVOaOuuO2VfzfWjyr5YfxIrtxfuIFAtSTjOnFZH52u/dx0jkbB/nFFlMU1jcX8I0Ei0A== X-Received: by 2002:a1c:9885:: with SMTP id a127mr27720249wme.8.1600660386222; Sun, 20 Sep 2020 20:53:06 -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: Andrew Baumann , Luc Michel , qemu-arm@nongnu.org, Peter Maydell , Niek Linnenbank , Paul Zimmerman , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 5/5] hw/arm/bcm2835_peripherals: Correctly wire the SYS_timer IRQs Date: Mon, 21 Sep 2020 05:52:57 +0200 Message-Id: <20200921035257.434532-6-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200921035257.434532-1-f4bug@amsat.org> References: <20200921035257.434532-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 SYS_timer is not directly wired to the ARM core, but to the SoC (peripheral) interrupt controller. Fixes: 0e5bbd74064 ("hw/arm/bcm2835_peripherals: Use the SYS_timer") Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Luc Michel --- hw/arm/bcm2835_peripherals.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index 15c5c72e465..48909a43c32 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -171,8 +171,17 @@ static void bcm2835_peripherals_realize(DeviceState *d= ev, Error **errp) memory_region_add_subregion(&s->peri_mr, ST_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->systmr), 0)); sysbus_connect_irq(SYS_BUS_DEVICE(&s->systmr), 0, - qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_ARM_IRQ, - INTERRUPT_ARM_TIMER)); + qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_GPU_IRQ, + INTERRUPT_TIMER0)); + sysbus_connect_irq(SYS_BUS_DEVICE(&s->systmr), 1, + qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_GPU_IRQ, + INTERRUPT_TIMER1)); + sysbus_connect_irq(SYS_BUS_DEVICE(&s->systmr), 2, + qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_GPU_IRQ, + INTERRUPT_TIMER2)); + sysbus_connect_irq(SYS_BUS_DEVICE(&s->systmr), 3, + qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_GPU_IRQ, + INTERRUPT_TIMER3)); =20 /* UART0 */ qdev_prop_set_chr(DEVICE(&s->uart0), "chardev", serial_hd(0)); --=20 2.26.2