[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 16/17] hw/avr: Move AtmegaMcuClass to atmega.h
From: |
Richard Henderson |
Subject: |
[PATCH 16/17] hw/avr: Move AtmegaMcuClass to atmega.h |
Date: |
Sun, 23 Mar 2025 10:37:28 -0700 |
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 },
--
2.43.0
- Re: [PATCH 13/17] target/avr: Handle offset_io in avr_cpu_realizefn, (continued)