]> git.proxmox.com Git - mirror_qemu.git/blame - include/hw/boards.h
kvm: Add a new machine option kvm-type
[mirror_qemu.git] / include / hw / boards.h
CommitLineData
87ecb68b
PB
1/* Declarations for use by board files for creating devices. */
2
3#ifndef HW_BOARDS_H
4#define HW_BOARDS_H
5
9c17d615 6#include "sysemu/blockdev.h"
9c06a1f7 7#include "sysemu/qemumachine.h"
83c9f4ca 8#include "hw/qdev.h"
b6b61144 9
5f072e1f 10typedef struct QEMUMachineInitArgs {
e689f7c6 11 const QEMUMachine *machine;
5f072e1f 12 ram_addr_t ram_size;
c1654732 13 const char *boot_order;
5f072e1f
EH
14 const char *kernel_filename;
15 const char *kernel_cmdline;
16 const char *initrd_filename;
17 const char *cpu_model;
18} QEMUMachineInitArgs;
19
20typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
87ecb68b 21
be522029
DG
22typedef void QEMUMachineResetFunc(void);
23
b4fc7b43
IM
24typedef void QEMUMachineHotAddCPUFunc(const int64_t id, Error **errp);
25
135a129a
AK
26typedef int QEMUMachineGetKvmtypeFunc(const char *arg);
27
e689f7c6 28struct QEMUMachine {
87ecb68b 29 const char *name;
3f6599e6 30 const char *alias;
87ecb68b
PB
31 const char *desc;
32 QEMUMachineInitFunc *init;
be522029 33 QEMUMachineResetFunc *reset;
b4fc7b43 34 QEMUMachineHotAddCPUFunc *hot_add_cpu;
135a129a 35 QEMUMachineGetKvmtypeFunc *kvm_type;
2d0d2837 36 BlockInterfaceType block_default_type;
b2097003 37 int max_cpus;
2fe0ee97 38 unsigned int no_serial:1,
986c5f78
GH
39 no_parallel:1,
40 use_virtcon:1,
3ef669e1 41 use_sclp:1,
ac33f8fa
GH
42 no_floppy:1,
43 no_cdrom:1,
44 no_sdcard:1;
0c257437 45 int is_default;
67b724e6 46 const char *default_machine_opts;
c1654732 47 const char *default_boot_order;
458fb679 48 GlobalProperty *compat_props;
87ecb68b 49 struct QEMUMachine *next;
93bfef4c 50 const char *hw_version;
e689f7c6 51};
87ecb68b
PB
52
53int qemu_register_machine(QEMUMachine *m);
2c8cffa5 54QEMUMachine *find_default_machine(void);
87ecb68b 55
6f338c34
AL
56extern QEMUMachine *current_machine;
57
87ecb68b 58#endif