hw/timer: add allwinner a10 timer
[qemu.git] / include / hw / boards.h
blob2151460f9ec4be85391104c972f313054574568e
1 /* Declarations for use by board files for creating devices. */
3 #ifndef HW_BOARDS_H
4 #define HW_BOARDS_H
6 #include "sysemu/blockdev.h"
7 #include "hw/qdev.h"
9 typedef struct QEMUMachine QEMUMachine;
11 typedef struct QEMUMachineInitArgs {
12 const QEMUMachine *machine;
13 ram_addr_t ram_size;
14 const char *boot_order;
15 const char *kernel_filename;
16 const char *kernel_cmdline;
17 const char *initrd_filename;
18 const char *cpu_model;
19 } QEMUMachineInitArgs;
21 typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
23 typedef void QEMUMachineResetFunc(void);
25 typedef void QEMUMachineHotAddCPUFunc(const int64_t id, Error **errp);
27 struct QEMUMachine {
28 const char *name;
29 const char *alias;
30 const char *desc;
31 QEMUMachineInitFunc *init;
32 QEMUMachineResetFunc *reset;
33 QEMUMachineHotAddCPUFunc *hot_add_cpu;
34 BlockInterfaceType block_default_type;
35 int max_cpus;
36 unsigned int no_serial:1,
37 no_parallel:1,
38 use_virtcon:1,
39 use_sclp:1,
40 no_floppy:1,
41 no_cdrom:1,
42 no_sdcard:1;
43 int is_default;
44 const char *default_machine_opts;
45 const char *default_boot_order;
46 GlobalProperty *compat_props;
47 struct QEMUMachine *next;
48 const char *hw_version;
51 int qemu_register_machine(QEMUMachine *m);
52 QEMUMachine *find_default_machine(void);
54 extern QEMUMachine *current_machine;
56 #endif