]> git.proxmox.com Git - qemu.git/blame - hw/boards.h
Support default block interfaces per QEMUMachine
[qemu.git] / 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
2d0d2837 6#include "blockdev.h"
b6b61144
GH
7#include "qdev.h"
8
5f072e1f
EH
9typedef 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;
17
18typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
87ecb68b 19
be522029
DG
20typedef void QEMUMachineResetFunc(void);
21
87ecb68b
PB
22typedef struct QEMUMachine {
23 const char *name;
3f6599e6 24 const char *alias;
87ecb68b
PB
25 const char *desc;
26 QEMUMachineInitFunc *init;
be522029 27 QEMUMachineResetFunc *reset;
2d0d2837 28 BlockInterfaceType block_default_type;
b2097003 29 int max_cpus;
2fe0ee97 30 unsigned int no_serial:1,
986c5f78
GH
31 no_parallel:1,
32 use_virtcon:1,
ac33f8fa
GH
33 no_floppy:1,
34 no_cdrom:1,
35 no_sdcard:1;
0c257437 36 int is_default;
67b724e6 37 const char *default_machine_opts;
458fb679 38 GlobalProperty *compat_props;
87ecb68b 39 struct QEMUMachine *next;
93bfef4c 40 const char *hw_version;
87ecb68b
PB
41} QEMUMachine;
42
43int qemu_register_machine(QEMUMachine *m);
2c8cffa5 44QEMUMachine *find_default_machine(void);
87ecb68b 45
6f338c34
AL
46extern QEMUMachine *current_machine;
47
87ecb68b 48#endif