Merge branch 's390-reorg' of git://repo.or.cz/qemu/rth
[qemu/agraf.git] / hw / boards.h
blob4540e952f7b9e98fd95a0fb2a8896c035c485582
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 "qdev.h"
9 typedef struct QEMUMachineInitArgs {
10 ram_addr_t ram_size;
11 const char *boot_device;
12 const char *kernel_filename;
13 const char *kernel_cmdline;
14 const char *initrd_filename;
15 const char *cpu_model;
16 } QEMUMachineInitArgs;
18 typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
20 typedef void QEMUMachineResetFunc(void);
22 typedef struct QEMUMachine {
23 const char *name;
24 const char *alias;
25 const char *desc;
26 QEMUMachineInitFunc *init;
27 QEMUMachineResetFunc *reset;
28 BlockInterfaceType block_default_type;
29 int max_cpus;
30 unsigned int no_serial:1,
31 no_parallel:1,
32 use_virtcon:1,
33 no_floppy:1,
34 no_cdrom:1,
35 no_sdcard:1;
36 int is_default;
37 const char *default_machine_opts;
38 GlobalProperty *compat_props;
39 struct QEMUMachine *next;
40 const char *hw_version;
41 } QEMUMachine;
43 int qemu_register_machine(QEMUMachine *m);
44 QEMUMachine *find_default_machine(void);
46 extern QEMUMachine *current_machine;
48 #endif