blob: 667177d76dfd8468d522a1b8185bebce9796183f [file] [log] [blame]
pbrook87ecb682007-11-17 17:14:51 +00001/* Declarations for use by board files for creating devices. */
2
3#ifndef HW_BOARDS_H
4#define HW_BOARDS_H
5
Gerd Hoffmannb6b61142009-07-15 13:48:21 +02006#include "qdev.h"
7
Anthony Liguoric227f092009-10-01 16:12:16 -05008typedef void QEMUMachineInitFunc(ram_addr_t ram_size,
aliguori3023f332009-01-16 19:04:14 +00009 const char *boot_device,
blueswir1b881c2c2007-11-18 08:46:58 +000010 const char *kernel_filename,
11 const char *kernel_cmdline,
12 const char *initrd_filename,
13 const char *cpu_model);
pbrook87ecb682007-11-17 17:14:51 +000014
15typedef struct QEMUMachine {
16 const char *name;
Mark McLoughlin3f6599e2009-07-22 10:02:50 +010017 const char *alias;
pbrook87ecb682007-11-17 17:14:51 +000018 const char *desc;
19 QEMUMachineInitFunc *init;
blueswir1c9b1ae22008-09-28 18:55:17 +000020 int use_scsi;
aliguorib2097002008-10-07 20:39:39 +000021 int max_cpus;
Blue Swirl2fe0ee92009-12-25 16:12:26 +000022 unsigned int no_serial:1,
Gerd Hoffmann986c5f72009-12-08 13:11:54 +010023 no_parallel:1,
24 use_virtcon:1,
Gerd Hoffmannac33f8f2009-12-16 14:25:39 +010025 no_floppy:1,
26 no_cdrom:1,
27 no_sdcard:1;
Anthony Liguori0c257432009-05-21 20:41:01 -050028 int is_default;
Anthony PERARD67b724e2010-11-22 15:44:15 +000029 const char *default_machine_opts;
Gerd Hoffmann458fb672009-12-08 13:11:33 +010030 GlobalProperty *compat_props;
pbrook87ecb682007-11-17 17:14:51 +000031 struct QEMUMachine *next;
32} QEMUMachine;
33
34int qemu_register_machine(QEMUMachine *m);
Jordan Justen2c8cffa2012-02-21 23:18:50 -080035QEMUMachine *find_default_machine(void);
pbrook87ecb682007-11-17 17:14:51 +000036
aliguori6f338c32009-02-11 15:21:54 +000037extern QEMUMachine *current_machine;
38
pbrook87ecb682007-11-17 17:14:51 +000039#endif