From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: "Edgar E . Iglesias" <edgar.iglesias@gmail.com>, qemu-devel@nongnu.org
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
"Laurent Vivier" <laurent@vivier.eu>,
"Riku Voipio" <riku.voipio@iki.fi>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Thomas Huth" <thuth@redhat.com>,
devel@lists.libvirt.org,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: [PATCH v2 07/15] hw/intc: Remove TYPE_ETRAX_FS_PIC device
Date: Wed, 4 Sep 2024 16:35:55 +0200 [thread overview]
Message-ID: <20240904143603.52934-8-philmd@linaro.org> (raw)
In-Reply-To: <20240904143603.52934-1-philmd@linaro.org>
We just removed the single machine using it (axis-dev88).
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/intc/etraxfs_pic.c | 172 ------------------------------------------
hw/intc/meson.build | 1 -
2 files changed, 173 deletions(-)
delete mode 100644 hw/intc/etraxfs_pic.c
diff --git a/hw/intc/etraxfs_pic.c b/hw/intc/etraxfs_pic.c
deleted file mode 100644
index bd37d1cca0..0000000000
--- a/hw/intc/etraxfs_pic.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * QEMU ETRAX Interrupt Controller.
- *
- * Copyright (c) 2008 Edgar E. Iglesias, Axis Communications AB.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#include "qemu/osdep.h"
-#include "hw/sysbus.h"
-#include "qemu/module.h"
-#include "hw/irq.h"
-#include "hw/qdev-properties.h"
-#include "qom/object.h"
-
-#define D(x)
-
-#define R_RW_MASK 0
-#define R_R_VECT 1
-#define R_R_MASKED_VECT 2
-#define R_R_NMI 3
-#define R_R_GURU 4
-#define R_MAX 5
-
-#define TYPE_ETRAX_FS_PIC "etraxfs-pic"
-DECLARE_INSTANCE_CHECKER(struct etrax_pic, ETRAX_FS_PIC,
- TYPE_ETRAX_FS_PIC)
-
-struct etrax_pic
-{
- SysBusDevice parent_obj;
-
- MemoryRegion mmio;
- qemu_irq parent_irq;
- qemu_irq parent_nmi;
- uint32_t regs[R_MAX];
-};
-
-static void pic_update(struct etrax_pic *fs)
-{
- uint32_t vector = 0;
- int i;
-
- fs->regs[R_R_MASKED_VECT] = fs->regs[R_R_VECT] & fs->regs[R_RW_MASK];
-
- /* The ETRAX interrupt controller signals interrupts to the core
- through an interrupt request wire and an irq vector bus. If
- multiple interrupts are simultaneously active it chooses vector
- 0x30 and lets the sw choose the priorities. */
- if (fs->regs[R_R_MASKED_VECT]) {
- uint32_t mv = fs->regs[R_R_MASKED_VECT];
- for (i = 0; i < 31; i++) {
- if (mv & 1) {
- vector = 0x31 + i;
- /* Check for multiple interrupts. */
- if (mv > 1)
- vector = 0x30;
- break;
- }
- mv >>= 1;
- }
- }
-
- qemu_set_irq(fs->parent_irq, vector);
-}
-
-static uint64_t
-pic_read(void *opaque, hwaddr addr, unsigned int size)
-{
- struct etrax_pic *fs = opaque;
- uint32_t rval;
-
- rval = fs->regs[addr >> 2];
- D(printf("%s %x=%x\n", __func__, addr, rval));
- return rval;
-}
-
-static void pic_write(void *opaque, hwaddr addr,
- uint64_t value, unsigned int size)
-{
- struct etrax_pic *fs = opaque;
- D(printf("%s addr=%x val=%x\n", __func__, addr, value));
-
- if (addr == R_RW_MASK) {
- fs->regs[R_RW_MASK] = value;
- pic_update(fs);
- }
-}
-
-static const MemoryRegionOps pic_ops = {
- .read = pic_read,
- .write = pic_write,
- .endianness = DEVICE_NATIVE_ENDIAN,
- .valid = {
- .min_access_size = 4,
- .max_access_size = 4
- }
-};
-
-static void nmi_handler(void *opaque, int irq, int level)
-{
- struct etrax_pic *fs = (void *)opaque;
- uint32_t mask;
-
- mask = 1 << irq;
- if (level)
- fs->regs[R_R_NMI] |= mask;
- else
- fs->regs[R_R_NMI] &= ~mask;
-
- qemu_set_irq(fs->parent_nmi, !!fs->regs[R_R_NMI]);
-}
-
-static void irq_handler(void *opaque, int irq, int level)
-{
- struct etrax_pic *fs = (void *)opaque;
-
- if (irq >= 30) {
- nmi_handler(opaque, irq, level);
- return;
- }
-
- irq -= 1;
- fs->regs[R_R_VECT] &= ~(1 << irq);
- fs->regs[R_R_VECT] |= (!!level << irq);
- pic_update(fs);
-}
-
-static void etraxfs_pic_init(Object *obj)
-{
- DeviceState *dev = DEVICE(obj);
- struct etrax_pic *s = ETRAX_FS_PIC(obj);
- SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
-
- qdev_init_gpio_in(dev, irq_handler, 32);
- sysbus_init_irq(sbd, &s->parent_irq);
- sysbus_init_irq(sbd, &s->parent_nmi);
-
- memory_region_init_io(&s->mmio, obj, &pic_ops, s,
- "etraxfs-pic", R_MAX * 4);
- sysbus_init_mmio(sbd, &s->mmio);
-}
-
-static const TypeInfo etraxfs_pic_info = {
- .name = TYPE_ETRAX_FS_PIC,
- .parent = TYPE_SYS_BUS_DEVICE,
- .instance_size = sizeof(struct etrax_pic),
- .instance_init = etraxfs_pic_init,
-};
-
-static void etraxfs_pic_register_types(void)
-{
- type_register_static(&etraxfs_pic_info);
-}
-
-type_init(etraxfs_pic_register_types)
diff --git a/hw/intc/meson.build b/hw/intc/meson.build
index f4d81eb8e4..6bfdc4eb33 100644
--- a/hw/intc/meson.build
+++ b/hw/intc/meson.build
@@ -15,7 +15,6 @@ system_ss.add(when: 'CONFIG_ARM_GICV3_TCG', if_true: files(
system_ss.add(when: 'CONFIG_ALLWINNER_A10_PIC', if_true: files('allwinner-a10-pic.c'))
system_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_vic.c'))
system_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files('aspeed_intc.c'))
-system_ss.add(when: 'CONFIG_ETRAXFS', if_true: files('etraxfs_pic.c'))
system_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_gic.c', 'exynos4210_combiner.c'))
system_ss.add(when: 'CONFIG_GOLDFISH_PIC', if_true: files('goldfish_pic.c'))
system_ss.add(when: 'CONFIG_HEATHROW_PIC', if_true: files('heathrow_pic.c'))
--
2.45.2
next prev parent reply other threads:[~2024-09-04 14:37 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-04 14:35 [PATCH v2 00/15] target/cris: Remove the deprecated CRIS target Philippe Mathieu-Daudé
2024-09-04 14:35 ` [PATCH v2 01/15] tests/tcg: Remove CRIS libc test files Philippe Mathieu-Daudé
2024-09-04 14:47 ` Thomas Huth
2024-09-04 14:35 ` [PATCH v2 02/15] tests/tcg: Remove CRIS bare " Philippe Mathieu-Daudé
2024-09-04 14:41 ` Thomas Huth
2024-09-04 14:35 ` [PATCH v2 03/15] buildsys: Remove CRIS cross container Philippe Mathieu-Daudé
2024-09-04 14:43 ` Thomas Huth
2024-09-04 14:35 ` [PATCH v2 04/15] linux-user: Remove support for CRIS target Philippe Mathieu-Daudé
2024-09-04 14:45 ` Thomas Huth
2024-09-04 14:35 ` [PATCH v2 05/15] hw/cris: Remove the axis-dev88 machine Philippe Mathieu-Daudé
2024-09-04 15:26 ` Thomas Huth
2024-09-04 14:35 ` [PATCH v2 06/15] hw/cris: Remove image loader helper Philippe Mathieu-Daudé
2024-09-04 15:28 ` Thomas Huth
2024-09-04 14:35 ` Philippe Mathieu-Daudé [this message]
2024-09-04 15:31 ` [PATCH v2 07/15] hw/intc: Remove TYPE_ETRAX_FS_PIC device Thomas Huth
2024-09-04 14:35 ` [PATCH v2 08/15] hw/char: Remove TYPE_ETRAX_FS_SERIAL device Philippe Mathieu-Daudé
2024-09-04 15:45 ` Thomas Huth
2024-09-04 14:35 ` [PATCH v2 09/15] hw/net: Remove TYPE_ETRAX_FS_ETH device Philippe Mathieu-Daudé
2024-09-04 16:04 ` Thomas Huth
2024-09-04 14:35 ` [PATCH v2 10/15] hw/dma: Remove ETRAX_FS DMA device Philippe Mathieu-Daudé
2024-09-04 16:05 ` Thomas Huth
2024-09-04 14:35 ` [PATCH v2 11/15] hw/timer: Remove TYPE_ETRAX_FS_TIMER device Philippe Mathieu-Daudé
2024-09-04 16:07 ` Thomas Huth
2024-09-04 14:36 ` [PATCH v2 12/15] system: Remove support for CRIS target Philippe Mathieu-Daudé
2024-09-04 16:08 ` Thomas Huth
2024-09-04 14:36 ` [PATCH v2 13/15] target/cris: Remove the deprecated " Philippe Mathieu-Daudé
2024-09-04 16:13 ` Thomas Huth
2024-09-04 14:36 ` [PATCH v2 14/15] disas: Remove CRIS disassembler Philippe Mathieu-Daudé
2024-09-04 16:15 ` Thomas Huth
2024-09-05 1:30 ` Richard Henderson
2024-09-05 10:42 ` Philippe Mathieu-Daudé
2024-09-04 14:36 ` [PATCH v2 15/15] seccomp: Remove check for CRIS host Philippe Mathieu-Daudé
2024-09-04 16:18 ` Thomas Huth
2024-09-05 7:48 ` Paolo Bonzini
2024-09-05 10:43 ` Philippe Mathieu-Daudé
2024-09-05 1:31 ` [PATCH v2 00/15] target/cris: Remove the deprecated CRIS target Richard Henderson
2024-09-09 13:24 ` Philippe Mathieu-Daudé
2024-09-09 13:59 ` Edgar E. Iglesias
2024-09-09 14:14 ` Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240904143603.52934-8-philmd@linaro.org \
--to=philmd@linaro.org \
--cc=alex.bennee@linaro.org \
--cc=devel@lists.libvirt.org \
--cc=edgar.iglesias@gmail.com \
--cc=laurent@vivier.eu \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=riku.voipio@iki.fi \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).