mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
hw/char/mchp_pfsoc_mmuart: QOM'ify PolarFire MMUART
- Embed SerialMM in MchpPfSoCMMUartState and QOM-initialize it - Alias SERIAL_MM 'chardev' property on MCHP_PFSOC_UART - Forward SerialMM sysbus IRQ in mchp_pfsoc_mmuart_realize() - Add DeviceReset() method - Add vmstate structure for migration - Register device in 'input' category - Keep mchp_pfsoc_mmuart_create() behavior Note, serial_mm_init() calls qdev_set_legacy_instance_id(). This call is only needed for backwards-compatibility of incoming migration data with old versions of QEMU which implemented migration of devices with hand-rolled code. Since this device didn't previously handle migration at all, then it doesn't need to set the legacy instance ID. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Bin Meng <bin.meng@windriver.com> Tested-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-id: 20210925133407.1259392-4-f4bug@amsat.org Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
24ce762df7
commit
31ca70b5ff
2 changed files with 97 additions and 20 deletions
|
@ -28,17 +28,23 @@
|
|||
#ifndef HW_MCHP_PFSOC_MMUART_H
|
||||
#define HW_MCHP_PFSOC_MMUART_H
|
||||
|
||||
#include "hw/sysbus.h"
|
||||
#include "hw/char/serial.h"
|
||||
|
||||
#define MCHP_PFSOC_MMUART_REG_COUNT 13
|
||||
|
||||
#define TYPE_MCHP_PFSOC_UART "mchp.pfsoc.uart"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(MchpPfSoCMMUartState, MCHP_PFSOC_UART)
|
||||
|
||||
typedef struct MchpPfSoCMMUartState {
|
||||
/*< private >*/
|
||||
SysBusDevice parent_obj;
|
||||
|
||||
/*< public >*/
|
||||
MemoryRegion container;
|
||||
MemoryRegion iomem;
|
||||
hwaddr base;
|
||||
qemu_irq irq;
|
||||
|
||||
SerialMM *serial;
|
||||
SerialMM serial_mm;
|
||||
|
||||
uint32_t reg[MCHP_PFSOC_MMUART_REG_COUNT];
|
||||
} MchpPfSoCMMUartState;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue