qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] d05bac: mos6522: add defines for IFR bit flag


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] d05bac: mos6522: add defines for IFR bit flags
Date: Thu, 10 Mar 2022 05:17:05 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: d05bacbf7607937954f2e07c68d4c1ffb10abc16
      
https://github.com/qemu/qemu/commit/d05bacbf7607937954f2e07c68d4c1ffb10abc16
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M include/hw/misc/mos6522.h

  Log Message:
  -----------
  mos6522: add defines for IFR bit flags

These are intended to make it easier to see how the physical control lines
are wired for each instance.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220305150957.5053-2-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: 61a608cd79bff815cb0248dd5b1d2c36369daa5f
      
https://github.com/qemu/qemu/commit/61a608cd79bff815cb0248dd5b1d2c36369daa5f
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M include/hw/misc/mac_via.h

  Log Message:
  -----------
  mac_via: use IFR bit flag constants for VIA1 IRQs

This allows us to easily see how the physical control lines are mapped to the
IFR bit flags.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305150957.5053-3-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: e787221ebfd4ff43b97fbbd1e9f8e0c4df7ff0c7
      
https://github.com/qemu/qemu/commit/e787221ebfd4ff43b97fbbd1e9f8e0c4df7ff0c7
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M include/hw/misc/mac_via.h

  Log Message:
  -----------
  mac_via: use IFR bit flag constants for VIA2 IRQs

This allows us to easily see how the physical control lines are mapped to the
IFR bit flags.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220305150957.5053-4-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: ebe5bca2ef10eb4f239a2e6e6a6f8ec748af1952
      
https://github.com/qemu/qemu/commit/ebe5bca2ef10eb4f239a2e6e6a6f8ec748af1952
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/misc/mac_via.c
    M hw/misc/macio/cuda.c
    M hw/misc/macio/pmu.c
    M hw/misc/mos6522.c
    M include/hw/misc/mac_via.h
    M include/hw/misc/mos6522.h

  Log Message:
  -----------
  mos6522: switch over to use qdev gpios for IRQs

For historical reasons each mos6522 instance implements its own setting and
update of the IFR flag bits using methods exposed by MOS6522DeviceClass. As
of today this is no longer required, and it is now possible to implement
the mos6522 IRQs as standard qdev gpios.

Switch over to use qdev gpios for the mos6522 device and update all instances
accordingly.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305150957.5053-5-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: 9d9f4eac2c8fd7a623d7b91e21d08d34ce50315d
      
https://github.com/qemu/qemu/commit/9d9f4eac2c8fd7a623d7b91e21d08d34ce50315d
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/misc/mos6522.c
    M include/hw/misc/mos6522.h

  Log Message:
  -----------
  mos6522: remove update_irq() and set_sr_int() methods from MOS6522DeviceClass

Now that the mos6522 IRQs are managed using standard qdev gpios these methods
are no longer required.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305150957.5053-6-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: c697fc80a8e7ee0594afbbf0758fcf889f47d31e
      
https://github.com/qemu/qemu/commit/c697fc80a8e7ee0594afbbf0758fcf889f47d31e
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/misc/mac_via.c
    M hw/misc/macio/cuda.c
    M hw/misc/macio/pmu.c
    M hw/misc/mos6522.c

  Log Message:
  -----------
  mos6522: use device_class_set_parent_reset() to propagate reset to parent

Switch from using a legacy approach to the more formal approach for propagating
device reset to the parent.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305150957.5053-7-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: 6c7266987297cf12e1474c2d634575194096e3c8
      
https://github.com/qemu/qemu/commit/6c7266987297cf12e1474c2d634575194096e3c8
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/misc/mos6522.c
    M hw/misc/trace-events
    M include/hw/misc/mos6522.h

  Log Message:
  -----------
  mos6522: add register names to register read/write trace events

This helps to follow how the guest is programming the mos6522 when debugging.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220305150957.5053-8-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: 409e9f7131e55e74eb09e65535779e311df5ebf5
      
https://github.com/qemu/qemu/commit/409e9f7131e55e74eb09e65535779e311df5ebf5
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hmp-commands-info.hx
    M hw/misc/mos6522.c
    M include/hw/misc/mos6522.h
    M include/monitor/hmp-target.h

  Log Message:
  -----------
  mos6522: add "info via" HMP command for debugging

This displays detailed information about the device registers and timers to aid
debugging problems with timers and interrupts.

Currently the QAPI generators for HumanReadableText don't work correctly if
used in qapi/target-misc.json when a non-specified target is built, so for
now manually add a hmp_info_via() wrapper until direct support for per-device
HMP/QMP commands is implemented.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305150957.5053-9-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: d4454e41d74b85c92fbca06a30622a18545aad81
      
https://github.com/qemu/qemu/commit/d4454e41d74b85c92fbca06a30622a18545aad81
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/misc/mos6522.c
    M include/hw/misc/mos6522.h

  Log Message:
  -----------
  mos6522: record last_irq_levels in mos6522_set_irq()

To detect edge-triggered IRQs it is necessary to store the last state of each
IRQ in a last_irq_levels bitmap.

Note: this is a migration break for machines which use mos6522 instances which
are g3beige/mac99 (PPC) and q800 (m68k).

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305150957.5053-10-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: 677a4725b1c49b139b00d8eaa932676ed8620931
      
https://github.com/qemu/qemu/commit/677a4725b1c49b139b00d8eaa932676ed8620931
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/misc/mac_via.c

  Log Message:
  -----------
  mac_via: make SCSI_DATA (DRQ) bit live rather than latched

The VIA2 on the Q800 machine is not a separate chip as in older Macs but instead
is integrated into the on-board logic. From analysing the SCSI routines in the
MacOS toolbox ROM (and to a lesser extent NetBSD and Linux) the expectation 
seems
to be that the SCSI_DATA (DRQ) bit is live on the Q800 and not latched.

Fortunately we can use the recently introduced mos6522 last_irq_levels variable
which tracks the edge-triggered state to return the SCSI_DATA (DRQ) bit live to
the guest OS.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220305150957.5053-11-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: b793b4ef8c862891c716cd163aaa7e4af0d697da
      
https://github.com/qemu/qemu/commit/b793b4ef8c862891c716cd163aaa7e4af0d697da
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/m68k/q800.c
    M hw/misc/mac_via.c
    M hw/misc/mos6522.c
    M include/hw/misc/mos6522.h

  Log Message:
  -----------
  mos6522: implement edge-triggering for CA1/2 and CB1/2 control line IRQs

The mos6522 datasheet describes how the control lines IRQs are edge-triggered
according to the configuration in the PCR register. Implement the logic 
according
to the datasheet so that the interrupt bits in IFR are latched when the edge is
detected, and cleared when reading portA/portB or writing to IFR as necessary.

To maintain bisectibility this change also updates the SCSI, SCSI data, Nubus
and VIA2 60Hz/1Hz clocks in the q800 machine to be negative edge-triggered as
confirmed by the PCR programming in all of Linux, NetBSD and MacOS.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305150957.5053-12-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: a4c7be3736b2bcfe6c716651c744bbcaf7ae15d9
      
https://github.com/qemu/qemu/commit/a4c7be3736b2bcfe6c716651c744bbcaf7ae15d9
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/misc/macio/pmu.c
    M include/hw/misc/macio/pmu.h

  Log Message:
  -----------
  macio/pmu.c: remove redundant code

Now that the logic related to edge-triggered interrupts is all contained within
the mos6522 device the redundant implementation for the mac99 PMU device can
be removed.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305150957.5053-13-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: 580399c2775717ef8329f63ca1bdf26047147609
      
https://github.com/qemu/qemu/commit/580399c2775717ef8329f63ca1bdf26047147609
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/display/macfb.c

  Log Message:
  -----------
  macfb: add VMStateDescription for MacfbNubusState and MacfbSysBusState

Currently when QEMU tries to migrate the macfb framebuffer it crashes randomly
because the opaque provided by the DeviceClass vmsd property for both devices
is set to MacfbState rather than MacfbNubusState or MacfbSysBusState as
appropriate.

Resolve the issue by adding new VMStateDescriptions for MacfbNubusState and
MacfbSysBusState which embed the existing vmstate_macfb VMStateDescription
within them using VMSTATE_STRUCT.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305155530.9265-2-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: 4718125192875085e6b1104e8286dbda7d4db682
      
https://github.com/qemu/qemu/commit/4718125192875085e6b1104e8286dbda7d4db682
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/display/macfb.c
    M include/hw/display/macfb.h

  Log Message:
  -----------
  macfb: don't use special irq_state and irq_mask variables in MacfbState

The current IRQ state and IRQ mask are handled exactly the same as standard
register accesses, so store these values directly in the regs array rather
than having separate variables for them.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305155530.9265-3-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: dd2a56ab6f4743d77f3586749eb6934983944f1f
      
https://github.com/qemu/qemu/commit/dd2a56ab6f4743d77f3586749eb6934983944f1f
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/display/macfb.c
    M include/hw/display/macfb.h

  Log Message:
  -----------
  macfb: increase number of registers saved in MacfbState

The MacOS toolbox ROM accesses a number of addresses between 0x0 and 0x200 
during
initialisation and resolution changes. Whilst the function of many of these
registers is unknown, it is worth the minimal cost of saving these extra values 
as
part of migration to help future-proof the migration stream for the q800 machine
as it starts to stabilise.

Note this is a migration break, but since there are upcoming incompatible 
changes
for the q800 machine (and migration does not even succeed without these patches)
then this is not an issue.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305155530.9265-4-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: aba7432bde5667baf99bbecfcff0e77426d1b68e
      
https://github.com/qemu/qemu/commit/aba7432bde5667baf99bbecfcff0e77426d1b68e
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/display/macfb.c

  Log Message:
  -----------
  macfb: add VMStateDescription fields for display type and VBL timer

These fields are required in the migration stream to restore macfb state
correctly.

Note this is a migration break, but since there are upcoming incompatible 
changes
for the q800 machine (and migration does not even succeed without these patches)
then this is not an issue.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305155530.9265-5-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: e20d0b84a8278cbe9761cfd429e10c5e06d06d01
      
https://github.com/qemu/qemu/commit/e20d0b84a8278cbe9761cfd429e10c5e06d06d01
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/display/macfb.c

  Log Message:
  -----------
  macfb: set initial value of mode control registers in macfb_common_realize()

If booting Linux directly in the q800 machine using -kernel rather than using a
MacOS toolbox ROM, the mode control registers are never initialised,
causing macfb_mode_write() to fail to determine the current resolution after
migration. Resolve this by always setting the initial values of the mode control
registers based upon the initial macfb properties during realize.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305155530.9265-6-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: 1e794c51c429c16ba60b30354fd85adee93b4f1e
      
https://github.com/qemu/qemu/commit/1e794c51c429c16ba60b30354fd85adee93b4f1e
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/scsi/esp.c

  Log Message:
  -----------
  esp: introduce esp_set_pdma_cb() function

This function is to be used to set the current PDMA callback rather than
accessing the ESPState pdma_cb function pointer directly.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305155530.9265-7-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: d0243b094b681ef38c1d277f519eb21f336fd214
      
https://github.com/qemu/qemu/commit/d0243b094b681ef38c1d277f519eb21f336fd214
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/scsi/esp.c

  Log Message:
  -----------
  esp: introduce esp_pdma_cb() function

This function is to be used to execute the current PDMA callback rather than
dereferencing the ESPState pdma_cb function pointer directly.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305155530.9265-8-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: 77987ef5a3458c24211d2766164acffc160bfc33
      
https://github.com/qemu/qemu/commit/77987ef5a3458c24211d2766164acffc160bfc33
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/scsi/esp.c
    M include/hw/scsi/esp.h

  Log Message:
  -----------
  esp: convert ESPState pdma_cb from a function pointer to an integer

This prepares for the inclusion of the current PDMA callback in the migration
stream since the callback is referenced by an integer instead of a function
pointer.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305155530.9265-9-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: eda59b392d63bf9a766dedcae54ee160e8ce1b57
      
https://github.com/qemu/qemu/commit/eda59b392d63bf9a766dedcae54ee160e8ce1b57
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/scsi/esp.c

  Log Message:
  -----------
  esp: include the current PDMA callback in the migration stream

This involves (re)adding a PDMA-specific subsection to hold the reference to the
current PDMA callback.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305155530.9265-10-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: a7a2208862bee2bc4fe55adfd947dc4a15ad0216
      
https://github.com/qemu/qemu/commit/a7a2208862bee2bc4fe55adfd947dc4a15ad0216
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2022-03-09 (Wed, 09 Mar 2022)

  Changed paths:
    M hw/scsi/esp.c

  Log Message:
  -----------
  esp: recreate ESPState current_req after migration

Since PDMA reads/writes are driven by the guest, it is possible that migration
can occur whilst a SCSIRequest is still active. Fortunately active SCSIRequests
are already included in the migration stream and restarted post migration but
this still leaves the reference in ESPState uninitialised.

Implement the SCSIBusInfo .load_request callback to obtain a reference to the
currently active SCSIRequest and use it to recreate ESPState current_req
after migration.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305155530.9265-11-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


  Commit: 1416688c53be6535be755b44c15fb2eb9defd20f
      
https://github.com/qemu/qemu/commit/1416688c53be6535be755b44c15fb2eb9defd20f
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2022-03-10 (Thu, 10 Mar 2022)

  Changed paths:
    M hmp-commands-info.hx
    M hw/display/macfb.c
    M hw/m68k/q800.c
    M hw/misc/mac_via.c
    M hw/misc/macio/cuda.c
    M hw/misc/macio/pmu.c
    M hw/misc/mos6522.c
    M hw/misc/trace-events
    M hw/scsi/esp.c
    M include/hw/display/macfb.h
    M include/hw/misc/mac_via.h
    M include/hw/misc/macio/pmu.h
    M include/hw/misc/mos6522.h
    M include/hw/scsi/esp.h
    M include/monitor/hmp-target.h

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/mcayland/tags/q800-updates-for-7.0-20220309' into staging

q800-updates-for-7.0 queue

# gpg: Signature made Wed 09 Mar 2022 10:57:07 GMT
# gpg:                using RSA key CC621AB98E82200D915CC9C45BC2C56FAE0F321F
# gpg:                issuer "mark.cave-ayland@ilande.co.uk"
# gpg: Good signature from "Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>" 
[full]
# Primary key fingerprint: CC62 1AB9 8E82 200D 915C  C9C4 5BC2 C56F AE0F 321F

* remotes/mcayland/tags/q800-updates-for-7.0-20220309: (22 commits)
  esp: recreate ESPState current_req after migration
  esp: include the current PDMA callback in the migration stream
  esp: convert ESPState pdma_cb from a function pointer to an integer
  esp: introduce esp_pdma_cb() function
  esp: introduce esp_set_pdma_cb() function
  macfb: set initial value of mode control registers in macfb_common_realize()
  macfb: add VMStateDescription fields for display type and VBL timer
  macfb: increase number of registers saved in MacfbState
  macfb: don't use special irq_state and irq_mask variables in MacfbState
  macfb: add VMStateDescription for MacfbNubusState and MacfbSysBusState
  macio/pmu.c: remove redundant code
  mos6522: implement edge-triggering for CA1/2 and CB1/2 control line IRQs
  mac_via: make SCSI_DATA (DRQ) bit live rather than latched
  mos6522: record last_irq_levels in mos6522_set_irq()
  mos6522: add "info via" HMP command for debugging
  mos6522: add register names to register read/write trace events
  mos6522: use device_class_set_parent_reset() to propagate reset to parent
  mos6522: remove update_irq() and set_sr_int() methods from MOS6522DeviceClass
  mos6522: switch over to use qdev gpios for IRQs
  mac_via: use IFR bit flag constants for VIA2 IRQs
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/31ecfe09e2fd...1416688c53be



reply via email to

[Prev in Thread] Current Thread [Next in Thread]