static void xtensa_lx60_init(ram_addr_t ram_size, const char *boot_device, const char *kernel_filename, const char *kernel_cmdline, const char *initrd_filename, const char *cpu_model) { static const LxBoardDesc lx60_board = { .flash_size = 0x400000, .flash_sector_size = 0x10000, .sram_size = 0x20000, }; lx_init(&lx60_board, ram_size, boot_device, kernel_filename, kernel_cmdline, initrd_filename, cpu_model); } static void xtensa_lx200_init(ram_addr_t ram_size, const char *boot_device, const char *kernel_filename, const char *kernel_cmdline, const char *initrd_filename, const char *cpu_model) { static const LxBoardDesc lx200_board = { .flash_size = 0x1000000, .flash_sector_size = 0x20000, .sram_size = 0x2000000, }; lx_init(&lx200_board, ram_size, boot_device, kernel_filename, kernel_cmdline, initrd_filename, cpu_model); } static QEMUMachine xtensa_lx60_machine = { .name = "lx60", .desc = "lx60 EVB (dc232b)", .init = xtensa_lx60_init, .max_cpus = 4, }; static QEMUMachine xtensa_lx200_machine = { .name = "lx200", .desc = "lx200 EVB (dc232b)", .init = xtensa_lx200_init, .max_cpus = 4, }; static void xtensa_lx_machines_init(void) { qemu_register_machine(&xtensa_lx60_machine); qemu_register_machine(&xtensa_lx200_machine); } machine_init(xtensa_lx_machines_init);
static void xtensa_lx60_init(MachineState *machine) { static const LxBoardDesc lx60_board = { .flash_base = 0x08000000, .flash_size = 0x00400000, .flash_sector_size = 0x10000, .sram_size = 0x20000, }; lx_init(&lx60_board, machine); } static void xtensa_lx200_init(MachineState *machine) { static const LxBoardDesc lx200_board = { .flash_base = 0x08000000, .flash_size = 0x01000000, .flash_sector_size = 0x20000, .sram_size = 0x2000000, }; lx_init(&lx200_board, machine); } static void xtensa_ml605_init(MachineState *machine) { static const LxBoardDesc ml605_board = { .flash_base = 0x08000000, .flash_size = 0x01000000, .flash_sector_size = 0x20000, .sram_size = 0x2000000, }; lx_init(&ml605_board, machine); } static void xtensa_kc705_init(MachineState *machine) { static const LxBoardDesc kc705_board = { .flash_base = 0x00000000, .flash_size = 0x08000000, .flash_boot_base = 0x06000000, .flash_sector_size = 0x20000, .sram_size = 0x2000000, }; lx_init(&kc705_board, machine); } static void xtensa_lx60_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "lx60 EVB (" XTENSA_DEFAULT_CPU_MODEL ")"; mc->init = xtensa_lx60_init; mc->max_cpus = 4; } static const TypeInfo xtensa_lx60_type = { .name = MACHINE_TYPE_NAME("lx60"), .parent = TYPE_MACHINE, .class_init = xtensa_lx60_class_init, }; static void xtensa_lx200_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "lx200 EVB (" XTENSA_DEFAULT_CPU_MODEL ")"; mc->init = xtensa_lx200_init; mc->max_cpus = 4; } static const TypeInfo xtensa_lx200_type = { .name = MACHINE_TYPE_NAME("lx200"), .parent = TYPE_MACHINE, .class_init = xtensa_lx200_class_init, }; static void xtensa_ml605_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "ml605 EVB (" XTENSA_DEFAULT_CPU_MODEL ")"; mc->init = xtensa_ml605_init; mc->max_cpus = 4; } static const TypeInfo xtensa_ml605_type = { .name = MACHINE_TYPE_NAME("ml605"), .parent = TYPE_MACHINE, .class_init = xtensa_ml605_class_init, }; static void xtensa_kc705_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "kc705 EVB (" XTENSA_DEFAULT_CPU_MODEL ")"; mc->init = xtensa_kc705_init; mc->max_cpus = 4; } static const TypeInfo xtensa_kc705_type = { .name = MACHINE_TYPE_NAME("kc705"), .parent = TYPE_MACHINE, .class_init = xtensa_kc705_class_init, }; static void xtensa_lx_machines_init(void) { type_register_static(&xtensa_lx60_type); type_register_static(&xtensa_lx200_type); type_register_static(&xtensa_ml605_type); type_register_static(&xtensa_kc705_type); } machine_init(xtensa_lx_machines_init)
static void xtensa_lx60_init(MachineState *machine) { static const LxBoardDesc lx60_board = { .flash_base = 0xf8000000, .flash_size = 0x00400000, .flash_sector_size = 0x10000, .sram_size = 0x20000, }; lx_init(&lx60_board, machine); } static void xtensa_lx200_init(MachineState *machine) { static const LxBoardDesc lx200_board = { .flash_base = 0xf8000000, .flash_size = 0x01000000, .flash_sector_size = 0x20000, .sram_size = 0x2000000, }; lx_init(&lx200_board, machine); } static void xtensa_ml605_init(MachineState *machine) { static const LxBoardDesc ml605_board = { .flash_base = 0xf8000000, .flash_size = 0x02000000, .flash_sector_size = 0x20000, .sram_size = 0x2000000, }; lx_init(&ml605_board, machine); } static void xtensa_kc705_init(MachineState *machine) { static const LxBoardDesc kc705_board = { .flash_base = 0xf0000000, .flash_size = 0x08000000, .flash_boot_base = 0x06000000, .flash_sector_size = 0x20000, .sram_size = 0x2000000, }; lx_init(&kc705_board, machine); } static QEMUMachine xtensa_lx60_machine = { .name = "lx60", .desc = "lx60 EVB (" XTENSA_DEFAULT_CPU_MODEL ")", .init = xtensa_lx60_init, .max_cpus = 4, }; static QEMUMachine xtensa_lx200_machine = { .name = "lx200", .desc = "lx200 EVB (" XTENSA_DEFAULT_CPU_MODEL ")", .init = xtensa_lx200_init, .max_cpus = 4, }; static QEMUMachine xtensa_ml605_machine = { .name = "ml605", .desc = "ml605 EVB (" XTENSA_DEFAULT_CPU_MODEL ")", .init = xtensa_ml605_init, .max_cpus = 4, }; static QEMUMachine xtensa_kc705_machine = { .name = "kc705", .desc = "kc705 EVB (" XTENSA_DEFAULT_CPU_MODEL ")", .init = xtensa_kc705_init, .max_cpus = 4, }; static void xtensa_lx_machines_init(void) { qemu_register_machine(&xtensa_lx60_machine); qemu_register_machine(&xtensa_lx200_machine); qemu_register_machine(&xtensa_ml605_machine); qemu_register_machine(&xtensa_kc705_machine); } machine_init(xtensa_lx_machines_init);