This function is used to set the current SCSI bus phase in the ESP_RSTAT
register
without affecting any of flag bits.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-15-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mar
Currently only the DATA IN and DATA OUT phases are supported.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-41-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.
Since esp_dma_done() is called in both cases, and ti_size cannot be zero
(otherwise esp_command_complete() would have been called instead), replace
the conditional logic with a single call to esp_dma_done().
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message
The internal state of the ESP sequencer is not affected when raising an
interrupt
to indicate the end of a DMA transfer.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-19-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mar
This can now be handled by the existing do_dma_pdma_cb() function.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-37-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c
Now that the accumulation of the CDB is handled by SCSI phase, there is no need
for a separate variable to control it.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-46-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mar
This is so that PDMA transfers can be performend by esp_do_dma() as well as
do_dma_pdma_cb().
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-34-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi
The do_cmd variable is only set for the MESSAGE OUT and COMMAND phases i.e.
those which involve transfers from the host to the SCSI bus, and so the unused
case can be removed.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425
Since the DREQ value depends upon the result of the selection process, add a
workaround to each esp_select() to manually assert DREQ durring the MESSAGE OUT
and COMMAND phases.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.51442
No change to the condition itself, other than to clarify that esp_dma_done()
must be called when TC is zero.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-21-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-
Currently only the DATA IN and DATA OUT phases are supported.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-39-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.
This makes it clearer that ATN is asserted until the end of the next TI command
in the MESSAGE OUT phase.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-48-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
-
The FIFO contents should not be affected if the target selection fails.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-2-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 3 ---
1 file c
This makes it clearer that ATN is asserted until the end of the next TI command
in the MESSAGE OUT phase.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-47-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
-
The special logic in satn_pdma_cb() is now no longer required since esp_do_dma()
can be used as a direct replacement.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-50-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mar
This allows the removal of duplicate logic shared between the two
implementations.
Note that we restrict esp_raise_drq() to PDMA to help reduce the log verbosity
for normal DMA.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514
() rather than having some of
it within esp_run_cmd().
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-70-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 7 +++
1 file changed, 3 inse
asserted beforehand then the esp_lower_irq() would have no effect.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-71-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 2 +-
1 file chan
rrupt can confuse the host.
In particular this is needed to prevent the MacOS Disk Utility from failing
when switching non-DMA transfers to use esp_do_nodma().
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-65-mark.
The special logic in write_response_pdma_cb() is now no longer required since
esp_do_dma() can be used as a direct replacement.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-55-mark.cave-ayl...@ilande.co.uk>
Signed-
This allows the removal of duplicate logic shared between the two
implementations.
Note that we restrict esp_raise_drq() to PDMA to help reduce the log verbosity
for normal DMA.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514
This variable can be replaced by the existing len variable.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-82-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 8 +++-
1 file chan
, remove the unneeded
ti_cmd field and access the ESP_CMD register directly instead. Bump the
vmstate_esp version to indicate that the ti_cmd field is no longer included.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425
This can now be done using the existing logic in esp_do_dma() and
do_dma_pdma_cb().
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-52-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.
This field is currently used to handle deferred interrupts for the DATA IN phase
but the code will soon be updated to do the same for the DATA OUT phase.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-58-mark.cave-
This series has involved rewriting and/or updating a considerable part of the
ESP
emulation so update the copyright in esp.c to reflect this.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-89-mark.cave-ayl...@ilande.co
Now that the esp_do_nodma() state machine correctly handles incoming FIFO
data, all remaining users of get_cmd() can be replaced with esp_do_nodma()
and the get_cmd() function removed completely.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id
This brings esp_do_nodma() in line with esp_do_dma().
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-84-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.
Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-72-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index 604f
This allows the removal of duplicate logic shared between the two
implementations.
Note that we restrict esp_raise_drq() to PDMA to help reduce the log verbosity
for normal DMA.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514
part of the incoming SCSI
data as it is copied into memory.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-85-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.
There is now only a single implementation contained within esp_do_dma() so
call it directly.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-56-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi
The existing check for TC == 0 is only valid during a TI command.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-51-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.
.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-78-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 21 +++--
1 file changed, 15 insertions(+), 6 deletions(-)
diff --gi
The handling of the INTR_FC and INTR_BS bits is different depending upon the
last command executed by the ESP. Note that currently INTR_FC is managed
elsewhere, but that will change soon.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id
Whilst the FIFO is used a storage buffer for both DMA and non-DMA requests, the
loading and unloading is managed directly issuing commands to the ESP. As a
result there is no need to manually invoke the non-DMA command handler.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by
Aurelien's
debian_etch_sparc_small.qcow2 test image.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-77-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 21 +++--
1 f
remainder of the CDB
using the ESP TI command.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-75-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 10 ++
1 file changed, 10 inse
.
Note that handling the premature SCSI bus phase change in the case of TC
underflow fixes booting EMILE on m68k once again.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-73-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mar
This is to allow the logic to be moved during the next commit.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-66-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.
Note that this is a migration break for the q800 machine because the extra PDMA
information is no longer included.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-57-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-
The IRQ represented by irq_data is actually the DRQ (DMA request) line so rename
it accordingly.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-86-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
h
mmand completes.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-76-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --gi
The handling of the INTR_FC and INTR_BS bits is different depending upon the
last command executed by the ESP. Note that currently INTR_FC is managed
elsewhere, but that will change soon.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id
This allows the removal of duplicate logic shared between the two
implementations.
Note that we restrict esp_raise_drq() to PDMA to help reduce the log verbosity
for normal DMA.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514
Now that the DMA logic is identical between do_dma_pdma_cb() and esp_do_dma()
we can replace do_dma_pdma_cb() with esp_do_dma().
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-54-mark.cave-ayl...@ilande.co.uk>
Signed-
version number has already been increased earlier in the series, there is
no need to repeat it again here. The DRQ IRQ is (currently) only used for
PDMA transfers which already have a migration break in this series so
there are no problems setting its value post-load.
Signed-off-by: Mark Cave-Ayland
This moves the remaining non-DMA STATUS and MESSAGE IN phase logic from
write_response() to esp_do_nodma(). Note that we can also now drop the extra
fifo_reset() which is no longer required.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id
On 13/02/2024 13:03, Philippe Mathieu-Daudé wrote:
By passing a DeviceState context to a QDev IRQ handler,
we can simplify and use qdev_init_gpio_in_named() instead
of qdev_init_gpio_in_named_with_opaque().
Suggested-by: Mark Cave-Ayland
Signed-off-by: Philippe Mathieu-Daudé
---
hw/sparc
qdev_init_gpio_in_named() in the commit message above instead.
Signed-off-by: Philippe Mathieu-Daudé
Reviewed-by: Peter Maydell
Reviewed-by: Mark Cave-Ayland
---
hw/sparc/leon3.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/hw/sparc/leon3.c b/hw/sparc/leon3.c
index d2be900988
The use of the DEFINE_TYPES() macro will soon be recommended over the use of
calling type_init() directly.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Reviewed-by: Philippe Mathieu-Daudé
Message-Id: <20240112125420.514425-88-mark.cave-ayl...@ilande.co
The special logic in satn_stop_pdma_cb() is now no longer required since
esp_do_dma() can be used as a direct replacement.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-53-mark.cave-ayl...@ilande.co.uk>
Signed-off-by
byte.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-67-mark.cave-ayl...@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 121 +++---
1 file changed, 86 inse
manually manipulate
the FIFO during a DMA transfer.
Remove the restriction on FIFO read access when DMA memory routines are defined
which also allows the NeXTCube machine to pass its self-test.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id
This brings DATA OUT transfers in line with DATA IN transfers by ensuring that
the guest visible function complete interrupt is only set once the SCSI layer
has returned.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425
This is the behaviour documented in the datasheet and allows the state machine
to correctly process multiple consecutive TI commands.
Signed-off-by: Mark Cave-Ayland
Tested-by: Helge Deller
Tested-by: Thomas Huth
Message-Id: <20240112125420.514425-63-mark.cave-ayl...@ilande.co.uk>
Sign
On 15/02/2024 14:46, Philippe Mathieu-Daudé wrote:
By passing a DeviceState context to a QDev IRQ handler,
we can simplify and use qdev_init_gpio_in_named() instead
of qdev_init_gpio_in_named_with_opaque().
Suggested-by: Mark Cave-Ayland
Signed-off-by: Philippe Mathieu-Daudé
---
hw/sparc
qdev_init_gpio_in_named(DEVICE(cpu), leon3_start_cpu, "start_cpu", 1);
qdev_connect_gpio_out_named(irqmpdev, "grlib-start-cpu", i,
qdev_get_gpio_in_named(DEVICE(cpu),
This new function sets the DRQ line correctly according to the current transfer
mode, direction and FIFO contents. Update esp_fifo_push_buf() and
esp_fifo_pop_buf()
to use it so that DRQ is always set correctly when reading/writing multiple
bytes
to/from the FIFO.
Signed-off-by: Mark Cave
Now the esp_update_drq() is called for all reads/writes to the FIFO, there is
no need to manually raise and lower the DRQ signal.
Signed-off-by: Mark Cave-Ayland
Fixes: https://gitlab.com/qemu-project/qemu/-/issues/611
Fixes: https://gitlab.com/qemu-project/qemu/-/issues/1831
---
hw/scsi/esp.c
This ensures that the DRQ line is always set correctly when reading/writing
single bytes to/from the FIFO.
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 14 ++
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index ca0fa5098d
Now that all users of esp_fifo_push() operate on the main FIFO there is no need
to pass the FIFO explicitly.
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index 7a24515bb9
The aim is to restrict the esp_fifo_*() functions so that they only operate on
the hardware FIFO. When reading from cmdfifo in do_command_phase() use the
underlying Fifo8 functions directly.
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions
The aim is to restrict the esp_fifo_*() functions so that they only operate on
the hardware FIFO. When reading from cmdfifo in do_message_phase() use the
underlying Fifo8 functions directly.
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 7 ++-
1 file changed, 6 insertions(+), 1
There are still a few places that use fifo8_push() instead of esp_fifo_push() in
order to push a value into the FIFO. Update those places to use esp_fifo_push()
instead.
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a
Instead of pushing data into the FIFO directly with fifo8_push_all(), add a new
esp_fifo_push_buf() function and use it accordingly.
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 11 ---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
This ensures that esp_update_drq() is called via esp_fifo_push() whenever the
host uses PDMA to transfer data to a SCSI device.
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 10 --
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index
nce the DRQ signal is now updated correctly upon each FIFO read/write access.
Signed-off-by: Mark Cave-Ayland
Mark Cave-Ayland (13):
esp.c: replace cmdfifo use of esp_fifo_pop_buf() in do_command_phase()
esp.c: replace cmdfifo use of esp_fifo_pop_buf() in do_message_phase()
esp.c: replace cm
Now that all users of esp_fifo_pop() operate on the main FIFO there is no need
to pass the FIFO explicitly.
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index b898e43e2b..0e42ff50e7
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index 100560244b..7a24515bb9 100644
--- a/hw/scsi/esp.c
+++ b/hw/scsi/esp.c
@@ -312,7 +312,8 @@ static void do_message_phase(ESPState *s
This allows these functions to be used earlier in the file without needing a
separate forward declaration.
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 36 ++--
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
Now that all users of esp_fifo_pop_buf() operate on the main FIFO there is no
need to pass the FIFO explicitly.
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 28 ++--
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
On 19/02/2024 12:00, BALATON Zoltan wrote:
On Mon, 19 Feb 2024, Philippe Mathieu-Daudé wrote:
On 19/2/24 12:27, BALATON Zoltan wrote:
On Mon, 19 Feb 2024, Philippe Mathieu-Daudé wrote:
On 16/2/24 20:54, Philippe Mathieu-Daudé wrote:
On 16/2/24 18:14, BALATON Zoltan wrote:
On Fri, 16 Feb 202
On 19/02/2024 13:05, Peter Maydell wrote:
On Mon, 19 Feb 2024 at 12:49, Mark Cave-Ayland
wrote:
On 19/02/2024 12:00, BALATON Zoltan wrote:
For new people trying to contribute to QEMU QDev is overwhelming so having some
way
to need less of it to do simple things would help them to get
37c669-superio.c'))
system_ss.add(when: 'CONFIG_VT82C686', if_true: files('vt82c686.c'))
diff --git a/hw/isa/trace-events b/hw/isa/trace-events
index 1816e8307a..bb5d9f1078 100644
--- a/hw/isa/trace-events
+++ b/hw/isa/trace-events
@@ -10,6 +10,10 @@ superio_create_ide(int id, uint16_t base, unsigned int irq)
"id=%d, base 0x%03x,
pc87312_io_read(uint32_t addr, uint32_t val) "read addr=0x%x val=0x%x"
pc87312_io_write(uint32_t addr, uint32_t val) "write addr=0x%x val=0x%x"
+# port92.c
+port92_read(uint8_t val) "port92: read 0x%02x"
+port92_write(uint8_t val) "port92: write 0x%02x"
+
# apm.c
apm_io_read(uint8_t addr, uint8_t val) "read addr=0x%x val=0x%02x"
apm_io_write(uint8_t addr, uint8_t val) "write addr=0x%x val=0x%02x"
Reviewed-by: Mark Cave-Ayland
ATB,
Mark.
On 20/02/2024 19:26, Philippe Mathieu-Daudé wrote:
Hi,
cpu_interrupt() doesn't scale well with heterogenous machines
because its mask is target specific (defined in target/ARCH/cpu.h).
While it is (often...) used by target-specific hw to notify cpu,
there is no restriction to use such target-s
On 19/02/2024 13:35, Peter Maydell wrote:
On Mon, 19 Feb 2024 at 13:33, Mark Cave-Ayland
wrote:
On 19/02/2024 13:05, Peter Maydell wrote:
On Mon, 19 Feb 2024 at 12:49, Mark Cave-Ayland
wrote:
On 19/02/2024 12:00, BALATON Zoltan wrote:
For new people trying to contribute to QEMU QDev is
2', if_true: files('pc87312.c'))
system_ss.add(when: 'CONFIG_PIIX', if_true: files('piix.c'))
-system_ss.add(when: 'CONFIG_FDC37M81X', if_true: files('fdc37m81x-superio.c'))
system_ss.add(when: 'CONFIG_SMC37C669', if_true: files('smc37c669-superio.c'))
system_ss.add(when: 'CONFIG_VT82C686', if_true: files('vt82c686.c'))
Reviewed-by: Mark Cave-Ayland
ATB,
Mark.
On 20/02/2024 16:06, Peter Maydell wrote:
This patchset is an incremental improvement to our reset handling that
tries to roll out the "three-phase-reset" design we have for devices
to a wider scope.
At the moment devices and buses have a three-phase reset system, with
separate 'enter', 'hold'
On 18/02/2024 13:16, Bernhard Beschow wrote:
Port 92 is an integral part of the PIIX and ICH south bridges, so instantiate it
there. The isapc machine now needs to instantiate it explicitly, analoguous to
the RTC.
Note that due to migration compatibility, port92 is optional in the south
bridges
ooks like a good tidy-up to me so:
Acked-by: Mark Cave-Ayland
ATB,
Mark.
On 22/02/2024 09:57, Thomas Huth wrote:
On 15/01/2024 11.16, Daniel Palmer wrote:
From the 68010 a word with the frame format and exception vector
are placed on the stack before the PC and SR.
M68K_FEATURE_QUAD_MULDIV is currently checked to workout if to do
this or not for the configured CPU
On 22/02/2024 13:37, Peter Maydell wrote:
On Thu, 22 Feb 2024 at 13:34, Mark Cave-Ayland
wrote:
This is also:
Fixes: https://gitlab.com/qemu-project/qemu/-/issues/2164
"Resolves:" for gitlab bug URLs; "Fixes:" is for git commits.
I think GitLab will happily accept eit
lize;
-k->reset = adb_bus_reset;
+rc->phases.hold = adb_bus_reset_hold;
}
static const TypeInfo adb_bus_type_info = {
Reviewed-by: Mark Cave-Ayland
ATB,
Mark.
d1b66 100644
--- a/target/sparc/translate.c
+++ b/target/sparc/translate.c
@@ -5406,8 +5406,7 @@ void sparc_restore_state_to_opc(CPUState *cs,
const TranslationBlock *tb,
const uint64_t *data)
{
- SPARCCPU *cpu = SPARC_CPU(cs);
-CPUSPARCState *env = &cpu->env;
+CPUSPARCState *env = cpu_env(cs);
target_ulong pc = data[0];
target_ulong npc = data[1];
Reviewed-by: Mark Cave-Ayland
ATB,
Mark.
On 28/01/2024 06:49, Richard Henderson wrote:
On 11/4/23 03:38, Richard Henderson wrote:
Major changes:
(1) Get rid of the env->qt[01] temporaries and use TCGv_i128 for float128.
(2) Perform ieee exception check within the helpers, before any writeback
to the floating point registers.
(3)
rence,
https://gitlab.com/rth7680/qemu/-/commits/tgt-sparc-fp
r~
I've tested the above branch on my SPARC32 and SPARC64 images, and whilst I don't
think they particularly exercise FP instructions, I don't see any regressions so:
Tested-by: Mark Cave-Ayland
Acked-by: Mark Cav
On 01/02/2024 10:46, Paolo Bonzini wrote:
On Fri, Jan 12, 2024 at 1:55 PM Mark Cave-Ayland
wrote:
Invert the logic so that the end of DMA transfer check becomes one that checks
for TC == 0 in the from device path in do_dma_pdma_cb().
Signed-off-by: Mark Cave-Ayland
---
hw/scsi/esp.c | 24
On 01/02/2024 11:36, Paolo Bonzini wrote:
Il gio 1 feb 2024, 12:25 Mark Cave-Ayland <mailto:mark.cave-ayl...@ilande.co.uk>> ha scritto:
On 01/02/2024 10:46, Paolo Bonzini wrote:
> On Fri, Jan 12, 2024 at 1:55 PM Mark Cave-Ayland
> mailto:mark.cave-ayl...@ilande
us(i82378_dev, "isa.0"));
Reviewed-by: Mark Cave-Ayland
ATB,
Mark.
On 08/02/2024 18:11, Paolo Bonzini wrote:
On Thu, Feb 8, 2024 at 10:46 AM Mark Cave-Ayland
wrote:
On 01/02/2024 11:36, Paolo Bonzini wrote:
Il gio 1 feb 2024, 12:25 Mark Cave-Ayland mailto:mark.cave-ayl...@ilande.co.uk>> ha scritto:
On 01/02/2024 10:46, Paolo Bonzini
d_realize(PCIDevice *d, Error **errp)
I see that Zoltan has already commented about checking the success of qdev_realise()
before wiring the sysbus IRQs, so with that fixed:
Reviewed-by: Mark Cave-Ayland
ATB,
Mark.
_unref(SYS_BUS_DEVICE(dma), &error_fatal);
+
+sysbus_connect_irq(SYS_BUS_DEVICE(espdma), 0, espdma_irq);
+
+sysbus_connect_irq(SYS_BUS_DEVICE(ledma), 0, ledma_irq);
+
sysbus_mmio_map(SYS_BUS_DEVICE(dma), 0, dma_base);
sysbus_mmio_map(SYS_BUS_DEVICE(esp), 0, esp_base);
Reviewed-by: Mark Cave-Ayland
ATB,
Mark.
ntry(apb_pnp, LEON3_IRQMP_OFFSET, 0xFFF,
Reviewed-by: Mark Cave-Ayland
ATB,
Mark.
sysbus_mmio_map(SYS_BUS_DEVICE(irqmpdev), 0, LEON3_IRQMP_OFFSET);
qdev_connect_gpio_out_named(irqmpdev, "grlib-irq", 0,
Reviewed-by: Mark Cave-Ayland
ATB,
Mark.
ject_new(cpu_type));
qdev_init_gpio_in_named(DEVICE(cpu), sparc64_cpu_set_ivec_irq,
"ivec-irq", IVEC_MAX);
+qdev_realize(DEVICE(cpu), NULL, &error_fatal);
env = &cpu->env;
env->tick = cpu_timer_create("tick", cpu, tick_irq,
Reviewed-by: Mark Cave-Ayland
ATB,
Mark.
On 09/02/2024 11:34, Peter Maydell wrote:
On Thu, 8 Feb 2024 at 18:14, Philippe Mathieu-Daudé wrote:
Inline cpu_create() in order to call
qdev_init_gpio_in_named_with_opaque()
before the CPU is realized.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/sparc64/sparc64.c | 4 +++-
1 file chan
On 09/02/2024 11:37, Peter Maydell wrote:
On Thu, 8 Feb 2024 at 18:14, Philippe Mathieu-Daudé wrote:
We should not wire IRQs on unrealized device.
Signed-off-by: Philippe Mathieu-Daudé
---
hw/sparc/sun4m.c | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/hw/spar
Now that all users of esp_fifo_push() operate on the main FIFO there is no need
to pass the FIFO explicitly.
Signed-off-by: Mark Cave-Ayland
Reviewed-by: Philippe Mathieu-Daudé
---
hw/scsi/esp.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/hw/scsi/esp.c b/hw
ly patch 17 removes all manual calls to esp_raise_drq() and esp_lower_drq()
since the DRQ signal is now updated correctly upon each FIFO read/write access.
Signed-off-by: Mark Cave-Ayland
v3:
- Rebase onto master
- Add patch 1 to move the internals of esp_fifo_pop_buf() to a new
esp_fifo8_pop_b
801 - 900 of 5751 matches
Mail list logo