qemu-arm
[Top][All Lists]
Advanced

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

Re: [PATCH 00/40] PS2 device QOMification - part 2


From: Helge Deller
Subject: Re: [PATCH 00/40] PS2 device QOMification - part 2
Date: Fri, 1 Jul 2022 21:37:06 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0

Hi Mark,

On 6/29/22 14:39, Mark Cave-Ayland wrote:
> Here is the follow-on series from part 1 which completes the work to remove
> the legacy global device init functions for PS2 devices. Now that part 1 has
> been applied, the hard part to remove the PS2 function callback and argument
> has been completed and all that remains is to improve the PS2 device
> QOMification to allow the legacy PS2 functions to be removed.
>
> Patches 1-11 update the pl050 device to remove the use of ps2_kbd_init() and
> ps2_mouse_init(), whilst patches 12-34 make some more involved changes to
> the lasips2 device (in particular completing the LASIPS2Port abstraction)
> before doing the same.
>
> Finally patches 35-40 complete the process for the pckbd (I8042 and I8042_MMIO
> devices) before removing the now unused ps2_kbd_init(), ps2_mouse_init() and
> i8042_mm_init() functions.
>
> Note that this series is a migration break for the HPPA B160L and MIPS magnum
> machines: I've had agreement from both Helge and Hervé that this is worth
> doing to allow the use of the DeviceClass vmsd property to set the
> VMStateDescription rather than manually calling vmstate_register().
>
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>

I did tested this patch series successfully with hppa Linux and HP-UX guests.
PS/2 mouse and keyboard works as expected.
Thanks for this nice cleanup work!

You may add either or both of:
Tested-by: Helge Deller <deller@gmx.de>
Acked-by: Helge Deller <deller@gmx.de>

Helge


>
> Mark Cave-Ayland (40):
>   pl050: move PL050State from pl050.c to new pl050.h header file
>   pl050: rename pl050_keyboard_init() to pl050_kbd_init()
>   pl050: change PL050State dev pointer from void to PS2State
>   pl050: introduce new PL050_KBD_DEVICE QOM type
>   pl050: introduce new PL050_MOUSE_DEVICE QOM type
>   pl050: move logic from pl050_realize() to pl050_init()
>   pl050: introduce PL050DeviceClass for the PL050 device
>   pl050: introduce pl050_kbd_class_init() and pl050_kbd_realize()
>   pl050: introduce pl050_mouse_class_init() and pl050_mouse_realize()
>   pl050: don't use legacy ps2_kbd_init() function
>   pl050: don't use legacy ps2_mouse_init() function
>   lasips2: don't use vmstate_register() in lasips2_realize()
>   lasips2: remove the qdev base property and the lasips2_properties
>     array
>   lasips2: remove legacy lasips2_initfn() function
>   lasips2: change LASIPS2State dev pointer from void to PS2State
>   lasips2: QOMify LASIPS2Port
>   lasips2: introduce new LASIPS2_KBD_PORT QOM type
>   lasips2: introduce new LASIPS2_MOUSE_PORT QOM type
>   lasips2: move keyboard port initialisation to new
>     lasips2_kbd_port_init() function
>   lasips2: move mouse port initialisation to new
>     lasips2_mouse_port_init() function
>   lasips2: introduce lasips2_kbd_port_class_init() and
>     lasips2_kbd_port_realize()
>   lasips2: introduce lasips2_mouse_port_class_init() and
>     lasips2_mouse_port_realize()
>   lasips2: rename LASIPS2Port irq field to birq
>   lasips2: introduce port IRQ and new lasips2_port_init() function
>   lasips2: introduce LASIPS2PortDeviceClass for the LASIPS2_PORT device
>   lasips2: add named input gpio to port for downstream PS2 device IRQ
>   lasips2: add named input gpio to handle incoming port IRQs
>   lasips2: switch to using port-based IRQs
>   lasips2: rename LASIPS2Port parent pointer to lasips2
>   lasips2: standardise on lp name for LASIPS2Port variables
>   lasips2: switch register memory region to DEVICE_BIG_ENDIAN
>   lasips2: don't use legacy ps2_kbd_init() function
>   lasips2: don't use legacy ps2_mouse_init() function
>   lasips2: update VMStateDescription for LASIPS2 device
>   pckbd: introduce new vmstate_kbd_mmio VMStateDescription for the
>     I8042_MMIO device
>   pckbd: don't use legacy ps2_kbd_init() function
>   ps2: remove unused legacy ps2_kbd_init() function
>   pckbd: don't use legacy ps2_mouse_init() function
>   ps2: remove unused legacy ps2_mouse_init() function
>   pckbd: remove legacy i8042_mm_init() function
>
>  hw/hppa/machine.c          |   7 +-
>  hw/input/lasips2.c         | 320 ++++++++++++++++++++++++++-----------
>  hw/input/pckbd.c           |  82 ++++++----
>  hw/input/pl050.c           | 112 ++++++++-----
>  hw/input/ps2.c             |  26 ---
>  hw/input/trace-events      |   2 -
>  hw/mips/jazz.c             |  13 +-
>  include/hw/input/i8042.h   |   7 +-
>  include/hw/input/lasips2.h |  57 +++++--
>  include/hw/input/pl050.h   |  59 +++++++
>  include/hw/input/ps2.h     |   2 -
>  11 files changed, 466 insertions(+), 221 deletions(-)
>  create mode 100644 include/hw/input/pl050.h
>




reply via email to

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