mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
hw, target: Add ResetType argument to hold and exit phase methods
We pass a ResetType argument to the Resettable class enter
phase method, but we don't pass it to hold and exit, even though
the callsites have it readily available. This means that if
a device cared about the ResetType it would need to record it
in the enter phase method to use later on. Pass the type to
all three of the phase methods to avoid having to do that.
Commit created with
for dir in hw target include; do \
spatch --macro-file scripts/cocci-macro-file.h \
--sp-file scripts/coccinelle/reset-type.cocci \
--keep-comments --smpl-spacing --in-place \
--include-headers --dir $dir; done
and no manual edits.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Luc Michel <luc.michel@amd.com>
Message-id: 20240412160809.1260625-5-peter.maydell@linaro.org
This commit is contained in:
@@ -218,7 +218,7 @@ static void npcm7xx_adc_enter_reset(Object *obj, ResetType type)
|
||||
npcm7xx_adc_reset(s);
|
||||
}
|
||||
|
||||
static void npcm7xx_adc_hold_reset(Object *obj)
|
||||
static void npcm7xx_adc_hold_reset(Object *obj, ResetType type)
|
||||
{
|
||||
NPCM7xxADCState *s = NPCM7XX_ADC(obj);
|
||||
|
||||
|
||||
+1
-1
@@ -272,7 +272,7 @@ static int pxa2xx_pic_post_load(void *opaque, int version_id)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void pxa2xx_pic_reset_hold(Object *obj)
|
||||
static void pxa2xx_pic_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
PXA2xxPICState *s = PXA2XX_PIC(obj);
|
||||
|
||||
|
||||
@@ -682,7 +682,7 @@ static void smmu_base_realize(DeviceState *dev, Error **errp)
|
||||
}
|
||||
}
|
||||
|
||||
static void smmu_base_reset_hold(Object *obj)
|
||||
static void smmu_base_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
SMMUState *s = ARM_SMMU(obj);
|
||||
|
||||
|
||||
+2
-2
@@ -1727,13 +1727,13 @@ static void smmu_init_irq(SMMUv3State *s, SysBusDevice *dev)
|
||||
}
|
||||
}
|
||||
|
||||
static void smmu_reset_hold(Object *obj)
|
||||
static void smmu_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
SMMUv3State *s = ARM_SMMUV3(obj);
|
||||
SMMUv3Class *c = ARM_SMMUV3_GET_CLASS(s);
|
||||
|
||||
if (c->parent_phases.hold) {
|
||||
c->parent_phases.hold(obj);
|
||||
c->parent_phases.hold(obj, type);
|
||||
}
|
||||
|
||||
smmuv3_init_regs(s);
|
||||
|
||||
+5
-5
@@ -394,7 +394,7 @@ static void stellaris_sys_reset_enter(Object *obj, ResetType type)
|
||||
s->dcgc[0] = 1;
|
||||
}
|
||||
|
||||
static void stellaris_sys_reset_hold(Object *obj)
|
||||
static void stellaris_sys_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
ssys_state *s = STELLARIS_SYS(obj);
|
||||
|
||||
@@ -402,7 +402,7 @@ static void stellaris_sys_reset_hold(Object *obj)
|
||||
ssys_calculate_system_clock(s, true);
|
||||
}
|
||||
|
||||
static void stellaris_sys_reset_exit(Object *obj)
|
||||
static void stellaris_sys_reset_exit(Object *obj, ResetType type)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -618,7 +618,7 @@ static void stellaris_i2c_reset_enter(Object *obj, ResetType type)
|
||||
i2c_end_transfer(s->bus);
|
||||
}
|
||||
|
||||
static void stellaris_i2c_reset_hold(Object *obj)
|
||||
static void stellaris_i2c_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
stellaris_i2c_state *s = STELLARIS_I2C(obj);
|
||||
|
||||
@@ -631,7 +631,7 @@ static void stellaris_i2c_reset_hold(Object *obj)
|
||||
s->mcr = 0;
|
||||
}
|
||||
|
||||
static void stellaris_i2c_reset_exit(Object *obj)
|
||||
static void stellaris_i2c_reset_exit(Object *obj, ResetType type)
|
||||
{
|
||||
stellaris_i2c_state *s = STELLARIS_I2C(obj);
|
||||
|
||||
@@ -787,7 +787,7 @@ static void stellaris_adc_trigger(void *opaque, int irq, int level)
|
||||
}
|
||||
}
|
||||
|
||||
static void stellaris_adc_reset_hold(Object *obj)
|
||||
static void stellaris_adc_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
StellarisADCState *s = STELLARIS_ADC(obj);
|
||||
int n;
|
||||
|
||||
+1
-1
@@ -610,7 +610,7 @@ static void asc_fifo_init(ASCFIFOState *fs, int index)
|
||||
g_free(name);
|
||||
}
|
||||
|
||||
static void asc_reset_hold(Object *obj)
|
||||
static void asc_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
ASCState *s = ASC(obj);
|
||||
|
||||
|
||||
@@ -525,7 +525,7 @@ static void cadence_uart_reset_init(Object *obj, ResetType type)
|
||||
s->r[R_TTRIG] = 0x00000020;
|
||||
}
|
||||
|
||||
static void cadence_uart_reset_hold(Object *obj)
|
||||
static void cadence_uart_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
CadenceUARTState *s = CADENCE_UART(obj);
|
||||
|
||||
|
||||
@@ -214,7 +214,7 @@ static void sifive_uart_reset_enter(Object *obj, ResetType type)
|
||||
s->rx_fifo_len = 0;
|
||||
}
|
||||
|
||||
static void sifive_uart_reset_hold(Object *obj)
|
||||
static void sifive_uart_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
SiFiveUARTState *s = SIFIVE_UART(obj);
|
||||
qemu_irq_lower(s->irq);
|
||||
|
||||
@@ -113,7 +113,7 @@ void cpu_reset(CPUState *cpu)
|
||||
trace_cpu_reset(cpu->cpu_index);
|
||||
}
|
||||
|
||||
static void cpu_common_reset_hold(Object *obj)
|
||||
static void cpu_common_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
CPUState *cpu = CPU(obj);
|
||||
CPUClass *cc = CPU_GET_CLASS(cpu);
|
||||
|
||||
+2
-2
@@ -760,10 +760,10 @@ static void device_phases_reset(DeviceState *dev)
|
||||
rc->phases.enter(OBJECT(dev), RESET_TYPE_COLD);
|
||||
}
|
||||
if (rc->phases.hold) {
|
||||
rc->phases.hold(OBJECT(dev));
|
||||
rc->phases.hold(OBJECT(dev), RESET_TYPE_COLD);
|
||||
}
|
||||
if (rc->phases.exit) {
|
||||
rc->phases.exit(OBJECT(dev));
|
||||
rc->phases.exit(OBJECT(dev), RESET_TYPE_COLD);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -73,7 +73,7 @@ static ResettableState *legacy_reset_get_state(Object *obj)
|
||||
return &lr->reset_state;
|
||||
}
|
||||
|
||||
static void legacy_reset_hold(Object *obj)
|
||||
static void legacy_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
LegacyReset *lr = LEGACY_RESET(obj);
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ static void resettable_phase_hold(Object *obj, void *opaque, ResetType type)
|
||||
trace_resettable_transitional_function(obj, obj_typename);
|
||||
tr_func(obj);
|
||||
} else if (rc->phases.hold) {
|
||||
rc->phases.hold(obj);
|
||||
rc->phases.hold(obj, type);
|
||||
}
|
||||
}
|
||||
trace_resettable_phase_hold_end(obj, obj_typename, s->count);
|
||||
@@ -204,7 +204,7 @@ static void resettable_phase_exit(Object *obj, void *opaque, ResetType type)
|
||||
if (--s->count == 0) {
|
||||
trace_resettable_phase_exit_exec(obj, obj_typename, !!rc->phases.exit);
|
||||
if (rc->phases.exit && !resettable_get_tr_func(rc, obj)) {
|
||||
rc->phases.exit(obj);
|
||||
rc->phases.exit(obj, type);
|
||||
}
|
||||
}
|
||||
s->exit_phase_in_progress = false;
|
||||
|
||||
@@ -180,14 +180,14 @@ static void virtio_vga_base_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
|
||||
}
|
||||
}
|
||||
|
||||
static void virtio_vga_base_reset_hold(Object *obj)
|
||||
static void virtio_vga_base_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
VirtIOVGABaseClass *klass = VIRTIO_VGA_BASE_GET_CLASS(obj);
|
||||
VirtIOVGABase *vvga = VIRTIO_VGA_BASE(obj);
|
||||
|
||||
/* reset virtio-gpu */
|
||||
if (klass->parent_phases.hold) {
|
||||
klass->parent_phases.hold(obj);
|
||||
klass->parent_phases.hold(obj, type);
|
||||
}
|
||||
|
||||
/* reset vga */
|
||||
|
||||
@@ -352,7 +352,7 @@ static void npcm7xx_gpio_enter_reset(Object *obj, ResetType type)
|
||||
s->regs[NPCM7XX_GPIO_ODSC] = s->reset_odsc;
|
||||
}
|
||||
|
||||
static void npcm7xx_gpio_hold_reset(Object *obj)
|
||||
static void npcm7xx_gpio_hold_reset(Object *obj, ResetType type)
|
||||
{
|
||||
NPCM7xxGPIOState *s = NPCM7XX_GPIO(obj);
|
||||
|
||||
|
||||
+1
-1
@@ -484,7 +484,7 @@ static void pl061_enter_reset(Object *obj, ResetType type)
|
||||
s->amsel = 0;
|
||||
}
|
||||
|
||||
static void pl061_hold_reset(Object *obj)
|
||||
static void pl061_hold_reset(Object *obj, ResetType type)
|
||||
{
|
||||
PL061State *s = PL061(obj);
|
||||
int i, level;
|
||||
|
||||
@@ -70,7 +70,7 @@ static bool is_push_pull(Stm32l4x5GpioState *s, unsigned pin)
|
||||
return extract32(s->otyper, pin, 1) == 0;
|
||||
}
|
||||
|
||||
static void stm32l4x5_gpio_reset_hold(Object *obj)
|
||||
static void stm32l4x5_gpio_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
Stm32l4x5GpioState *s = STM32L4X5_GPIO(obj);
|
||||
|
||||
|
||||
+1
-1
@@ -2453,7 +2453,7 @@ static void vmbus_unrealize(BusState *bus)
|
||||
qemu_mutex_destroy(&vmbus->rx_queue_lock);
|
||||
}
|
||||
|
||||
static void vmbus_reset_hold(Object *obj)
|
||||
static void vmbus_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
vmbus_deinit(VMBUS(obj));
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ static inline bool allwinner_i2c_interrupt_is_enabled(AWI2CState *s)
|
||||
return s->cntr & TWI_CNTR_INT_EN;
|
||||
}
|
||||
|
||||
static void allwinner_i2c_reset_hold(Object *obj)
|
||||
static void allwinner_i2c_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
AWI2CState *s = AW_I2C(obj);
|
||||
|
||||
|
||||
@@ -1022,7 +1022,7 @@ static void npcm7xx_smbus_enter_reset(Object *obj, ResetType type)
|
||||
s->rx_cur = 0;
|
||||
}
|
||||
|
||||
static void npcm7xx_smbus_hold_reset(Object *obj)
|
||||
static void npcm7xx_smbus_hold_reset(Object *obj, ResetType type)
|
||||
{
|
||||
NPCM7xxSMBusState *s = NPCM7XX_SMBUS(obj);
|
||||
|
||||
|
||||
+1
-1
@@ -231,7 +231,7 @@ static const VMStateDescription vmstate_adb_bus = {
|
||||
}
|
||||
};
|
||||
|
||||
static void adb_bus_reset_hold(Object *obj)
|
||||
static void adb_bus_reset_hold(Object *obj, ResetType type)
|
||||
{
|
||||
ADBBusState *adb_bus = ADB_BUS(obj);
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user