* [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine
@ 2024-09-03 15:39 Philippe Mathieu-Daudé
2024-09-03 15:39 ` [PATCH 1/3] " Philippe Mathieu-Daudé
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-09-03 15:39 UTC (permalink / raw)
To: Samuel Tardieu, qemu-devel
Cc: devel, Magnus Damm, qemu-block, Yoshinori Sato,
Philippe Mathieu-Daudé
Remove the deprecated SH4 SHIX machine, along
with the TC58128 NAND EEPROM.
Philippe Mathieu-Daudé (3):
hw/sh4: Remove the deprecated SHIX machine
hw/block: Remove TC58128 NAND EEPROM
hw/sh4: Remove sh7750_register_io_device() helper
MAINTAINERS | 11 --
docs/about/deprecated.rst | 6 -
docs/about/removed-features.rst | 5 +
configs/devices/sh4-softmmu/default.mak | 1 -
include/hw/sh4/sh.h | 19 ---
hw/block/tc58128.c | 211 ------------------------
hw/sh4/sh7750.c | 57 +------
hw/sh4/shix.c | 86 ----------
hw/block/Kconfig | 3 -
hw/block/meson.build | 1 -
hw/sh4/Kconfig | 7 -
hw/sh4/meson.build | 1 -
12 files changed, 7 insertions(+), 401 deletions(-)
delete mode 100644 hw/block/tc58128.c
delete mode 100644 hw/sh4/shix.c
--
2.45.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] hw/sh4: Remove the deprecated SHIX machine
2024-09-03 15:39 [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine Philippe Mathieu-Daudé
@ 2024-09-03 15:39 ` Philippe Mathieu-Daudé
2024-09-03 15:39 ` [PATCH 2/3] hw/block: Remove TC58128 NAND EEPROM Philippe Mathieu-Daudé
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-09-03 15:39 UTC (permalink / raw)
To: Samuel Tardieu, qemu-devel
Cc: devel, Magnus Damm, qemu-block, Yoshinori Sato,
Philippe Mathieu-Daudé
The SHIX machine is deprecated since v9.0 (commit
322b038c94 "target/sh4: Deprecate the shix machine").
Time to remove it.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
MAINTAINERS | 7 +-
docs/about/deprecated.rst | 6 --
docs/about/removed-features.rst | 5 ++
configs/devices/sh4-softmmu/default.mak | 1 -
hw/sh4/shix.c | 86 -------------------------
hw/sh4/Kconfig | 7 --
hw/sh4/meson.build | 1 -
7 files changed, 6 insertions(+), 107 deletions(-)
delete mode 100644 hw/sh4/shix.c
diff --git a/MAINTAINERS b/MAINTAINERS
index 3584d6a6c6..c8e4e3329c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1676,16 +1676,11 @@ F: hw/timer/sh_timer.c
F: include/hw/sh4/sh_intc.h
F: include/hw/timer/tmu012.h
-Shix
+TC58128 NAND EEPROM
R: Yoshinori Sato <ysato@users.sourceforge.jp>
R: Magnus Damm <magnus.damm@gmail.com>
S: Odd Fixes
F: hw/block/tc58128.c
-F: hw/char/sh_serial.c
-F: hw/sh4/shix.c
-F: hw/intc/sh_intc.c
-F: hw/timer/sh_timer.c
-F: include/hw/sh4/sh_intc.h
SPARC Machines
--------------
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 88f0f03786..2020542a6b 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -232,12 +232,6 @@ These old machine types are quite neglected nowadays and thus might have
various pitfalls with regards to live migration. Use a newer machine type
instead.
-``shix`` (since 9.0)
-''''''''''''''''''''
-
-The machine is no longer in existence and has been long unmaintained
-in QEMU. This also holds for the TC51828 16MiB flash that it uses.
-
``pseries-2.1`` up to ``pseries-2.12`` (since 9.0)
''''''''''''''''''''''''''''''''''''''''''''''''''
diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst
index fc7b28e637..9eaf864004 100644
--- a/docs/about/removed-features.rst
+++ b/docs/about/removed-features.rst
@@ -978,6 +978,11 @@ Nios II ``10m50-ghrd`` and ``nios2-generic-nommu`` machines (removed in 9.1)
The Nios II architecture was orphan.
+``shix`` (removed in 9.2)
+'''''''''''''''''''''''''
+
+The machine was unmaintained.
+
linux-user mode CPUs
--------------------
diff --git a/configs/devices/sh4-softmmu/default.mak b/configs/devices/sh4-softmmu/default.mak
index c06a427053..aa821e4b60 100644
--- a/configs/devices/sh4-softmmu/default.mak
+++ b/configs/devices/sh4-softmmu/default.mak
@@ -7,4 +7,3 @@
# Boards are selected by default, uncomment to keep out of the build.
# CONFIG_R2D=n
-# CONFIG_SHIX=n
diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c
deleted file mode 100644
index eb3150b5bc..0000000000
--- a/hw/sh4/shix.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * SHIX 2.0 board description
- *
- * Copyright (c) 2005 Samuel Tardieu
- *
- * 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.
- */
-/*
- * Shix 2.0 board by Alexis Polti, described at
- * https://web.archive.org/web/20070917001736/perso.enst.fr/~polti/realisations/shix20
- *
- * More information in target/sh4/README.sh4
- */
-#include "qemu/osdep.h"
-#include "qapi/error.h"
-#include "cpu.h"
-#include "hw/sh4/sh.h"
-#include "sysemu/qtest.h"
-#include "hw/boards.h"
-#include "hw/loader.h"
-#include "qemu/error-report.h"
-
-#define BIOS_FILENAME "shix_bios.bin"
-#define BIOS_ADDRESS 0xA0000000
-
-static void shix_init(MachineState *machine)
-{
- int ret;
- SuperHCPU *cpu;
- struct SH7750State *s;
- MemoryRegion *sysmem = get_system_memory();
- MemoryRegion *rom = g_new(MemoryRegion, 1);
- MemoryRegion *sdram = g_new(MemoryRegion, 2);
- const char *bios_name = machine->firmware ?: BIOS_FILENAME;
-
- cpu = SUPERH_CPU(cpu_create(machine->cpu_type));
-
- /* Allocate memory space */
- memory_region_init_rom(rom, NULL, "shix.rom", 0x4000, &error_fatal);
- memory_region_add_subregion(sysmem, 0x00000000, rom);
- memory_region_init_ram(&sdram[0], NULL, "shix.sdram1", 0x01000000,
- &error_fatal);
- memory_region_add_subregion(sysmem, 0x08000000, &sdram[0]);
- memory_region_init_ram(&sdram[1], NULL, "shix.sdram2", 0x01000000,
- &error_fatal);
- memory_region_add_subregion(sysmem, 0x0c000000, &sdram[1]);
-
- /* Load BIOS in 0 (and access it through P2, 0xA0000000) */
- ret = load_image_targphys(bios_name, 0, 0x4000);
- if (ret < 0 && !qtest_enabled()) {
- error_report("Could not load SHIX bios '%s'", bios_name);
- exit(1);
- }
-
- /* Register peripherals */
- s = sh7750_init(cpu, sysmem);
- /* XXXXX Check success */
- tc58128_init(s, "shix_linux_nand.bin", NULL);
-}
-
-static void shix_machine_init(MachineClass *mc)
-{
- mc->desc = "shix card";
- mc->init = shix_init;
- mc->is_default = true;
- mc->default_cpu_type = TYPE_SH7750R_CPU;
- mc->deprecation_reason = "old and unmaintained";
-}
-
-DEFINE_MACHINE("shix", shix_machine_init)
diff --git a/hw/sh4/Kconfig b/hw/sh4/Kconfig
index 99a76a94c3..1660d292d5 100644
--- a/hw/sh4/Kconfig
+++ b/hw/sh4/Kconfig
@@ -13,13 +13,6 @@ config R2D
select SH7750
select SH_PCI
-config SHIX
- bool
- default y
- depends on SH4
- select SH7750
- select TC58128
-
config SH7750
bool
select SH_INTC
diff --git a/hw/sh4/meson.build b/hw/sh4/meson.build
index 70e814c3a2..7d27839fee 100644
--- a/hw/sh4/meson.build
+++ b/hw/sh4/meson.build
@@ -4,6 +4,5 @@ sh4_ss.add(when: 'CONFIG_SH7750', if_true: files(
'sh7750_regnames.c',
))
sh4_ss.add(when: 'CONFIG_R2D', if_true: files('r2d.c'))
-sh4_ss.add(when: 'CONFIG_SHIX', if_true: files('shix.c'))
hw_arch += {'sh4': sh4_ss}
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] hw/block: Remove TC58128 NAND EEPROM
2024-09-03 15:39 [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine Philippe Mathieu-Daudé
2024-09-03 15:39 ` [PATCH 1/3] " Philippe Mathieu-Daudé
@ 2024-09-03 15:39 ` Philippe Mathieu-Daudé
2024-09-03 15:39 ` [PATCH 3/3] hw/sh4: Remove sh7750_register_io_device() helper Philippe Mathieu-Daudé
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-09-03 15:39 UTC (permalink / raw)
To: Samuel Tardieu, qemu-devel
Cc: devel, Magnus Damm, qemu-block, Yoshinori Sato,
Philippe Mathieu-Daudé
The TC58128 NAND EEPROM is not user creatable and
needs to be instanciated in the code via tc58128_init().
Only the SHIX machine was using it, and it was removed
in the previous commit. Since the TC58128 has no more
users, remove it too.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
MAINTAINERS | 6 --
include/hw/sh4/sh.h | 3 -
hw/block/tc58128.c | 211 -------------------------------------------
hw/block/Kconfig | 3 -
hw/block/meson.build | 1 -
5 files changed, 224 deletions(-)
delete mode 100644 hw/block/tc58128.c
diff --git a/MAINTAINERS b/MAINTAINERS
index c8e4e3329c..55f41ecbc4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1676,12 +1676,6 @@ F: hw/timer/sh_timer.c
F: include/hw/sh4/sh_intc.h
F: include/hw/timer/tmu012.h
-TC58128 NAND EEPROM
-R: Yoshinori Sato <ysato@users.sourceforge.jp>
-R: Magnus Damm <magnus.damm@gmail.com>
-S: Odd Fixes
-F: hw/block/tc58128.c
-
SPARC Machines
--------------
Sun4m
diff --git a/include/hw/sh4/sh.h b/include/hw/sh4/sh.h
index ec716cdd45..b726b987cc 100644
--- a/include/hw/sh4/sh.h
+++ b/include/hw/sh4/sh.h
@@ -60,7 +60,4 @@ int sh7750_register_io_device(struct SH7750State *s,
/* sh7750.c */
qemu_irq sh7750_irl(struct SH7750State *s);
-/* tc58128.c */
-int tc58128_init(struct SH7750State *s, const char *zone1, const char *zone2);
-
#endif
diff --git a/hw/block/tc58128.c b/hw/block/tc58128.c
deleted file mode 100644
index 0984e37417..0000000000
--- a/hw/block/tc58128.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * TC58128 NAND EEPROM emulation
- *
- * Copyright (c) 2005 Samuel Tardieu
- *
- * 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 (including the next
- * paragraph) 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.
- *
- * SPDX-License-Identifier: MIT
- */
-#include "qemu/osdep.h"
-#include "qemu/units.h"
-#include "hw/sh4/sh.h"
-#include "hw/loader.h"
-#include "sysemu/qtest.h"
-#include "qemu/error-report.h"
-
-#define CE1 0x0100
-#define CE2 0x0200
-#define RE 0x0400
-#define WE 0x0800
-#define ALE 0x1000
-#define CLE 0x2000
-#define RDY1 0x4000
-#define RDY2 0x8000
-#define RDY(n) ((n) == 0 ? RDY1 : RDY2)
-
-typedef enum { WAIT, READ1, READ2, READ3 } state_t;
-
-typedef struct {
- uint8_t *flash_contents;
- state_t state;
- uint32_t address;
- uint8_t address_cycle;
-} tc58128_dev;
-
-static tc58128_dev tc58128_devs[2];
-
-#define FLASH_SIZE (16 * MiB)
-
-static void init_dev(tc58128_dev * dev, const char *filename)
-{
- int ret, blocks;
-
- dev->state = WAIT;
- dev->flash_contents = g_malloc(FLASH_SIZE);
- memset(dev->flash_contents, 0xff, FLASH_SIZE);
- if (filename) {
- /* Load flash image skipping the first block */
- ret = load_image_size(filename, dev->flash_contents + 528 * 32,
- FLASH_SIZE - 528 * 32);
- if (ret < 0) {
- if (!qtest_enabled()) {
- error_report("Could not load flash image %s", filename);
- exit(1);
- }
- } else {
- /* Build first block with number of blocks */
- blocks = DIV_ROUND_UP(ret, 528 * 32);
- dev->flash_contents[0] = blocks & 0xff;
- dev->flash_contents[1] = (blocks >> 8) & 0xff;
- dev->flash_contents[2] = (blocks >> 16) & 0xff;
- dev->flash_contents[3] = (blocks >> 24) & 0xff;
- fprintf(stderr, "loaded %d bytes for %s into flash\n", ret,
- filename);
- }
- }
-}
-
-static void handle_command(tc58128_dev * dev, uint8_t command)
-{
- switch (command) {
- case 0xff:
- fprintf(stderr, "reset flash device\n");
- dev->state = WAIT;
- break;
- case 0x00:
- fprintf(stderr, "read mode 1\n");
- dev->state = READ1;
- dev->address_cycle = 0;
- break;
- case 0x01:
- fprintf(stderr, "read mode 2\n");
- dev->state = READ2;
- dev->address_cycle = 0;
- break;
- case 0x50:
- fprintf(stderr, "read mode 3\n");
- dev->state = READ3;
- dev->address_cycle = 0;
- break;
- default:
- fprintf(stderr, "unknown flash command 0x%02x\n", command);
- abort();
- }
-}
-
-static void handle_address(tc58128_dev * dev, uint8_t data)
-{
- switch (dev->state) {
- case READ1:
- case READ2:
- case READ3:
- switch (dev->address_cycle) {
- case 0:
- dev->address = data;
- if (dev->state == READ2)
- dev->address |= 0x100;
- else if (dev->state == READ3)
- dev->address |= 0x200;
- break;
- case 1:
- dev->address += data * 528 * 0x100;
- break;
- case 2:
- dev->address += data * 528;
- fprintf(stderr, "address pointer in flash: 0x%08x\n",
- dev->address);
- break;
- default:
- /* Invalid data */
- abort();
- }
- dev->address_cycle++;
- break;
- default:
- abort();
- }
-}
-
-static uint8_t handle_read(tc58128_dev * dev)
-{
-#if 0
- if (dev->address % 0x100000 == 0)
- fprintf(stderr, "reading flash at address 0x%08x\n", dev->address);
-#endif
- return dev->flash_contents[dev->address++];
-}
-
-/* We never mark the device as busy, so interrupts cannot be triggered
- XXXXX */
-
-static int tc58128_cb(uint16_t porta, uint16_t portb,
- uint16_t * periph_pdtra, uint16_t * periph_portadir,
- uint16_t * periph_pdtrb, uint16_t * periph_portbdir)
-{
- int dev;
-
- if ((porta & CE1) == 0)
- dev = 0;
- else if ((porta & CE2) == 0)
- dev = 1;
- else
- return 0; /* No device selected */
-
- if ((porta & RE) && (porta & WE)) {
- /* Nothing to do, assert ready and return to input state */
- *periph_portadir &= 0xff00;
- *periph_portadir |= RDY(dev);
- *periph_pdtra |= RDY(dev);
- return 1;
- }
-
- if (porta & CLE) {
- /* Command */
- assert((porta & WE) == 0);
- handle_command(&tc58128_devs[dev], porta & 0x00ff);
- } else if (porta & ALE) {
- assert((porta & WE) == 0);
- handle_address(&tc58128_devs[dev], porta & 0x00ff);
- } else if ((porta & RE) == 0) {
- *periph_portadir |= 0x00ff;
- *periph_pdtra &= 0xff00;
- *periph_pdtra |= handle_read(&tc58128_devs[dev]);
- } else {
- abort();
- }
- return 1;
-}
-
-static sh7750_io_device tc58128 = {
- RE | WE, /* Port A triggers */
- 0, /* Port B triggers */
- tc58128_cb /* Callback */
-};
-
-int tc58128_init(struct SH7750State *s, const char *zone1, const char *zone2)
-{
- if (!qtest_enabled()) {
- warn_report_once("The TC58128 flash device is deprecated");
- }
- init_dev(&tc58128_devs[0], zone1);
- init_dev(&tc58128_devs[1], zone2);
- return sh7750_register_io_device(s, &tc58128);
-}
diff --git a/hw/block/Kconfig b/hw/block/Kconfig
index 9e8f28f982..ef6709b106 100644
--- a/hw/block/Kconfig
+++ b/hw/block/Kconfig
@@ -28,9 +28,6 @@ config ECC
config ONENAND
bool
-config TC58128
- bool
-
config VIRTIO_BLK
bool
default y
diff --git a/hw/block/meson.build b/hw/block/meson.build
index 8aa4dc3893..0fb0f41f42 100644
--- a/hw/block/meson.build
+++ b/hw/block/meson.build
@@ -15,7 +15,6 @@ system_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('m25p80.c'))
system_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('m25p80_sfdp.c'))
system_ss.add(when: 'CONFIG_SWIM', if_true: files('swim.c'))
system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
-system_ss.add(when: 'CONFIG_TC58128', if_true: files('tc58128.c'))
specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c', 'virtio-blk-common.c'))
specific_ss.add(when: 'CONFIG_VHOST_USER_BLK', if_true: files('vhost-user-blk.c', 'virtio-blk-common.c'))
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] hw/sh4: Remove sh7750_register_io_device() helper
2024-09-03 15:39 [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine Philippe Mathieu-Daudé
2024-09-03 15:39 ` [PATCH 1/3] " Philippe Mathieu-Daudé
2024-09-03 15:39 ` [PATCH 2/3] hw/block: Remove TC58128 NAND EEPROM Philippe Mathieu-Daudé
@ 2024-09-03 15:39 ` Philippe Mathieu-Daudé
2024-09-03 16:29 ` [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine Peter Maydell
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-09-03 15:39 UTC (permalink / raw)
To: Samuel Tardieu, qemu-devel
Cc: devel, Magnus Damm, qemu-block, Yoshinori Sato,
Philippe Mathieu-Daudé
sh7750_register_io_device() was only used by the TC58128
NAND EEPROM which has been removed in the previous commit.
Remove it as unused code.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
include/hw/sh4/sh.h | 16 -------------
hw/sh4/sh7750.c | 57 ++-------------------------------------------
2 files changed, 2 insertions(+), 71 deletions(-)
diff --git a/include/hw/sh4/sh.h b/include/hw/sh4/sh.h
index b726b987cc..c82feef8d0 100644
--- a/include/hw/sh4/sh.h
+++ b/include/hw/sh4/sh.h
@@ -38,22 +38,6 @@ struct SH7750State;
struct SH7750State *sh7750_init(SuperHCPU *cpu, MemoryRegion *sysmem);
-typedef struct {
- /* The callback will be triggered if any of the designated lines change */
- uint16_t portamask_trigger;
- uint16_t portbmask_trigger;
- /* Return 0 if no action was taken */
- int (*port_change_cb) (uint16_t porta, uint16_t portb,
- uint16_t *periph_pdtra,
- uint16_t *periph_portdira,
- uint16_t *periph_pdtrb,
- uint16_t *periph_portdirb);
-} sh7750_io_device;
-
-int sh7750_register_io_device(struct SH7750State *s,
- sh7750_io_device *device);
-
-/* sh_serial.c */
#define TYPE_SH_SERIAL "sh-serial"
#define SH_SERIAL_FEAT_SCIF (1 << 0)
diff --git a/hw/sh4/sh7750.c b/hw/sh4/sh7750.c
index ebe0fd96d9..8041b3b651 100644
--- a/hw/sh4/sh7750.c
+++ b/hw/sh4/sh7750.c
@@ -38,8 +38,6 @@
#include "exec/exec-all.h"
#include "trace.h"
-#define NB_DEVICES 4
-
typedef struct SH7750State {
MemoryRegion iomem;
MemoryRegion iomem_1f0;
@@ -75,7 +73,6 @@ typedef struct SH7750State {
uint16_t periph_portdira; /* Direction seen from the peripherals */
uint16_t periph_pdtrb; /* Imposed by the peripherals */
uint16_t periph_portdirb; /* Direction seen from the peripherals */
- sh7750_io_device *devices[NB_DEVICES]; /* External peripherals */
/* Cache */
uint32_t ccr;
@@ -92,19 +89,6 @@ static inline int has_bcr3_and_bcr4(SH7750State *s)
* I/O ports
*/
-int sh7750_register_io_device(SH7750State *s, sh7750_io_device *device)
-{
- int i;
-
- for (i = 0; i < NB_DEVICES; i++) {
- if (s->devices[i] == NULL) {
- s->devices[i] = device;
- return 0;
- }
- }
- return -1;
-}
-
static uint16_t portdir(uint32_t v)
{
#define EVENPORTMASK(n) ((v & (1 << ((n) << 1))) >> (n))
@@ -142,63 +126,26 @@ static uint16_t portb_lines(SH7750State *s)
(~(s->portdirb | s->periph_portdirb) & s->portpullupb); /* Pullups */
}
-static void gen_port_interrupts(SH7750State *s)
-{
- /* XXXXX interrupts not generated */
-}
-
static void porta_changed(SH7750State *s, uint16_t prev)
{
- uint16_t currenta, changes;
- int i, r = 0;
+ uint16_t currenta;
currenta = porta_lines(s);
if (currenta == prev) {
return;
}
trace_sh7750_porta(prev, currenta, s->pdtra, s->pctra);
- changes = currenta ^ prev;
-
- for (i = 0; i < NB_DEVICES; i++) {
- if (s->devices[i] && (s->devices[i]->portamask_trigger & changes)) {
- r |= s->devices[i]->port_change_cb(currenta, portb_lines(s),
- &s->periph_pdtra,
- &s->periph_portdira,
- &s->periph_pdtrb,
- &s->periph_portdirb);
- }
- }
-
- if (r) {
- gen_port_interrupts(s);
- }
}
static void portb_changed(SH7750State *s, uint16_t prev)
{
- uint16_t currentb, changes;
- int i, r = 0;
+ uint16_t currentb;
currentb = portb_lines(s);
if (currentb == prev) {
return;
}
trace_sh7750_portb(prev, currentb, s->pdtrb, s->pctrb);
- changes = currentb ^ prev;
-
- for (i = 0; i < NB_DEVICES; i++) {
- if (s->devices[i] && (s->devices[i]->portbmask_trigger & changes)) {
- r |= s->devices[i]->port_change_cb(portb_lines(s), currentb,
- &s->periph_pdtra,
- &s->periph_portdira,
- &s->periph_pdtrb,
- &s->periph_portdirb);
- }
- }
-
- if (r) {
- gen_port_interrupts(s);
- }
}
/*
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine
2024-09-03 15:39 [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine Philippe Mathieu-Daudé
` (2 preceding siblings ...)
2024-09-03 15:39 ` [PATCH 3/3] hw/sh4: Remove sh7750_register_io_device() helper Philippe Mathieu-Daudé
@ 2024-09-03 16:29 ` Peter Maydell
2024-09-06 9:31 ` Yoshinori Sato
2024-09-06 11:40 ` Philippe Mathieu-Daudé
5 siblings, 0 replies; 7+ messages in thread
From: Peter Maydell @ 2024-09-03 16:29 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Samuel Tardieu, qemu-devel, devel, Magnus Damm, qemu-block,
Yoshinori Sato
On Tue, 3 Sept 2024 at 16:40, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> Remove the deprecated SH4 SHIX machine, along
> with the TC58128 NAND EEPROM.
>
> Philippe Mathieu-Daudé (3):
> hw/sh4: Remove the deprecated SHIX machine
> hw/block: Remove TC58128 NAND EEPROM
> hw/sh4: Remove sh7750_register_io_device() helper
Whole series:
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
thanks
-- PMM
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine
2024-09-03 15:39 [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine Philippe Mathieu-Daudé
` (3 preceding siblings ...)
2024-09-03 16:29 ` [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine Peter Maydell
@ 2024-09-06 9:31 ` Yoshinori Sato
2024-09-06 11:40 ` Philippe Mathieu-Daudé
5 siblings, 0 replies; 7+ messages in thread
From: Yoshinori Sato @ 2024-09-06 9:31 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Samuel Tardieu, qemu-devel, devel, Magnus Damm, qemu-block
On Wed, 04 Sep 2024 00:39:56 +0900,
Philippe Mathieu-Daudé wrote:
>
> Remove the deprecated SH4 SHIX machine, along
> with the TC58128 NAND EEPROM.
>
> Philippe Mathieu-Daudé (3):
> hw/sh4: Remove the deprecated SHIX machine
> hw/block: Remove TC58128 NAND EEPROM
> hw/sh4: Remove sh7750_register_io_device() helper
>
> MAINTAINERS | 11 --
> docs/about/deprecated.rst | 6 -
> docs/about/removed-features.rst | 5 +
> configs/devices/sh4-softmmu/default.mak | 1 -
> include/hw/sh4/sh.h | 19 ---
> hw/block/tc58128.c | 211 ------------------------
> hw/sh4/sh7750.c | 57 +------
> hw/sh4/shix.c | 86 ----------
> hw/block/Kconfig | 3 -
> hw/block/meson.build | 1 -
> hw/sh4/Kconfig | 7 -
> hw/sh4/meson.build | 1 -
> 12 files changed, 7 insertions(+), 401 deletions(-)
> delete mode 100644 hw/block/tc58128.c
> delete mode 100644 hw/sh4/shix.c
>
> --
> 2.45.2
>
for hw/sh4
Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp>
--
Yosinori Sato
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine
2024-09-03 15:39 [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine Philippe Mathieu-Daudé
` (4 preceding siblings ...)
2024-09-06 9:31 ` Yoshinori Sato
@ 2024-09-06 11:40 ` Philippe Mathieu-Daudé
5 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-09-06 11:40 UTC (permalink / raw)
To: Samuel Tardieu, qemu-devel; +Cc: devel, Magnus Damm, qemu-block, Yoshinori Sato
On 3/9/24 17:39, Philippe Mathieu-Daudé wrote:
> Remove the deprecated SH4 SHIX machine, along
> with the TC58128 NAND EEPROM.
>
> Philippe Mathieu-Daudé (3):
> hw/sh4: Remove the deprecated SHIX machine
> hw/block: Remove TC58128 NAND EEPROM
> hw/sh4: Remove sh7750_register_io_device() helper
Series queued, thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-09-06 11:42 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-03 15:39 [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine Philippe Mathieu-Daudé
2024-09-03 15:39 ` [PATCH 1/3] " Philippe Mathieu-Daudé
2024-09-03 15:39 ` [PATCH 2/3] hw/block: Remove TC58128 NAND EEPROM Philippe Mathieu-Daudé
2024-09-03 15:39 ` [PATCH 3/3] hw/sh4: Remove sh7750_register_io_device() helper Philippe Mathieu-Daudé
2024-09-03 16:29 ` [PATCH 0/3] hw/sh4: Remove the deprecated SHIX machine Peter Maydell
2024-09-06 9:31 ` Yoshinori Sato
2024-09-06 11:40 ` Philippe Mathieu-Daudé
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).