qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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



  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).