Message ID | 20250323173730.3213964-17-richard.henderson@linaro.org |
---|---|
State | New |
Headers | show |
Series | target/avr: Increase page size | expand |
On 3/23/25 10:37, Richard Henderson wrote: > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > hw/avr/atmega.h | 20 ++++++++++++++++++++ > hw/avr/atmega.c | 22 +--------------------- > 2 files changed, 21 insertions(+), 21 deletions(-) > > diff --git a/hw/avr/atmega.h b/hw/avr/atmega.h > index a99ee15c7e..f031e6c10a 100644 > --- a/hw/avr/atmega.h > +++ b/hw/avr/atmega.h > @@ -23,6 +23,10 @@ > #define TYPE_ATMEGA1280_MCU "ATmega1280" > #define TYPE_ATMEGA2560_MCU "ATmega2560" > > +typedef struct AtmegaMcuClass AtmegaMcuClass; > +DECLARE_CLASS_CHECKERS(AtmegaMcuClass, ATMEGA_MCU, > + TYPE_ATMEGA_MCU) > + > typedef struct AtmegaMcuState AtmegaMcuState; > DECLARE_INSTANCE_CHECKER(AtmegaMcuState, ATMEGA_MCU, > TYPE_ATMEGA_MCU) > @@ -32,6 +36,22 @@ DECLARE_INSTANCE_CHECKER(AtmegaMcuState, ATMEGA_MCU, > #define TIMER_MAX 6 > #define GPIO_MAX 12 > > +struct AtmegaMcuClass { > + /*< private >*/ > + SysBusDeviceClass parent_class; > + /*< public >*/ > + const char *uc_name; > + const char *cpu_type; > + size_t flash_size; > + size_t eeprom_size; > + size_t sram_size; > + size_t io_size; > + size_t gpio_count; > + size_t adc_count; > + const uint8_t *irq; > + const struct peripheral_cfg *dev; > +}; > + > struct AtmegaMcuState { > /*< private >*/ > SysBusDevice parent_obj; > diff --git a/hw/avr/atmega.c b/hw/avr/atmega.c > index d4fc9c4aee..96e36743bc 100644 > --- a/hw/avr/atmega.c > +++ b/hw/avr/atmega.c > @@ -36,7 +36,7 @@ enum AtmegaPeripheral { > #define TIMER(n) (n + TIMER0) > #define POWER(n) (n + POWER0) > > -typedef struct { > +typedef struct peripheral_cfg { > uint16_t addr; > enum AtmegaPeripheral power_index; > uint8_t power_bit; > @@ -46,26 +46,6 @@ typedef struct { > bool is_timer16; > } peripheral_cfg; > > -struct AtmegaMcuClass { > - /*< private >*/ > - SysBusDeviceClass parent_class; > - /*< public >*/ > - const char *uc_name; > - const char *cpu_type; > - size_t flash_size; > - size_t eeprom_size; > - size_t sram_size; > - size_t io_size; > - size_t gpio_count; > - size_t adc_count; > - const uint8_t *irq; > - const peripheral_cfg *dev; > -}; > -typedef struct AtmegaMcuClass AtmegaMcuClass; > - > -DECLARE_CLASS_CHECKERS(AtmegaMcuClass, ATMEGA_MCU, > - TYPE_ATMEGA_MCU) > - > static const peripheral_cfg dev168_328[PERIFMAX] = { > [USART0] = { 0xc0, POWER0, 1 }, > [TIMER2] = { 0xb0, POWER0, 6, 0x70, 0x37, false }, Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
diff --git a/hw/avr/atmega.h b/hw/avr/atmega.h index a99ee15c7e..f031e6c10a 100644 --- a/hw/avr/atmega.h +++ b/hw/avr/atmega.h @@ -23,6 +23,10 @@ #define TYPE_ATMEGA1280_MCU "ATmega1280" #define TYPE_ATMEGA2560_MCU "ATmega2560" +typedef struct AtmegaMcuClass AtmegaMcuClass; +DECLARE_CLASS_CHECKERS(AtmegaMcuClass, ATMEGA_MCU, + TYPE_ATMEGA_MCU) + typedef struct AtmegaMcuState AtmegaMcuState; DECLARE_INSTANCE_CHECKER(AtmegaMcuState, ATMEGA_MCU, TYPE_ATMEGA_MCU) @@ -32,6 +36,22 @@ DECLARE_INSTANCE_CHECKER(AtmegaMcuState, ATMEGA_MCU, #define TIMER_MAX 6 #define GPIO_MAX 12 +struct AtmegaMcuClass { + /*< private >*/ + SysBusDeviceClass parent_class; + /*< public >*/ + const char *uc_name; + const char *cpu_type; + size_t flash_size; + size_t eeprom_size; + size_t sram_size; + size_t io_size; + size_t gpio_count; + size_t adc_count; + const uint8_t *irq; + const struct peripheral_cfg *dev; +}; + struct AtmegaMcuState { /*< private >*/ SysBusDevice parent_obj; diff --git a/hw/avr/atmega.c b/hw/avr/atmega.c index d4fc9c4aee..96e36743bc 100644 --- a/hw/avr/atmega.c +++ b/hw/avr/atmega.c @@ -36,7 +36,7 @@ enum AtmegaPeripheral { #define TIMER(n) (n + TIMER0) #define POWER(n) (n + POWER0) -typedef struct { +typedef struct peripheral_cfg { uint16_t addr; enum AtmegaPeripheral power_index; uint8_t power_bit; @@ -46,26 +46,6 @@ typedef struct { bool is_timer16; } peripheral_cfg; -struct AtmegaMcuClass { - /*< private >*/ - SysBusDeviceClass parent_class; - /*< public >*/ - const char *uc_name; - const char *cpu_type; - size_t flash_size; - size_t eeprom_size; - size_t sram_size; - size_t io_size; - size_t gpio_count; - size_t adc_count; - const uint8_t *irq; - const peripheral_cfg *dev; -}; -typedef struct AtmegaMcuClass AtmegaMcuClass; - -DECLARE_CLASS_CHECKERS(AtmegaMcuClass, ATMEGA_MCU, - TYPE_ATMEGA_MCU) - static const peripheral_cfg dev168_328[PERIFMAX] = { [USART0] = { 0xc0, POWER0, 1 }, [TIMER2] = { 0xb0, POWER0, 6, 0x70, 0x37, false },
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- hw/avr/atmega.h | 20 ++++++++++++++++++++ hw/avr/atmega.c | 22 +--------------------- 2 files changed, 21 insertions(+), 21 deletions(-)