Aspeed machines will be moved into split C files for better
modularization and future maintenance.
To allow all machine implementations to reuse the same
AspeedMachineState structure, the struct definition is moved
from aspeed.c to the shared header aspeed.h.
This change centralizes the common state structure used across
all Aspeed machine models, reduces redundancy, and simplifies
future refactoring work for new machines.
No functional changes.
Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20251104031325.146374-2-jamin_lin@aspeedtech.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
.board_id = -1, /* device-tree-only board */
};
-struct AspeedMachineState {
- /* Private */
- MachineState parent_obj;
- /* Public */
-
- AspeedSoCState *soc;
- MemoryRegion boot_rom;
- bool mmio_exec;
- uint32_t uart_chosen;
- char *fmc_model;
- char *spi_model;
- uint32_t hw_strap1;
-};
-
/* On 32-bit hosts, lower RAM to 1G because of the 2047 MB limit */
#if HOST_LONG_BITS == 32
#define ASPEED_RAM_SIZE(sz) MIN((sz), 1 * GiB)
#include "hw/boards.h"
#include "qom/object.h"
+#include "hw/arm/aspeed_soc.h"
typedef struct AspeedMachineState AspeedMachineState;
#define ASPEED_MAC2_ON (1 << 2)
#define ASPEED_MAC3_ON (1 << 3)
+struct AspeedMachineState {
+ MachineState parent_obj;
+
+ AspeedSoCState *soc;
+ MemoryRegion boot_rom;
+ bool mmio_exec;
+ uint32_t uart_chosen;
+ char *fmc_model;
+ char *spi_model;
+ uint32_t hw_strap1;
+};
struct AspeedMachineClass {
MachineClass parent_obj;