blob: d8893413d42536e072e63931b5ea3bb9e916e2b0 [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
Paul Brookfbe1b592009-05-13 17:56:25 +01008typedef 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;
Anthony Liguori0c257432009-05-21 20:41:01 -050022 int is_default;
Gerd Hoffmannb6b61142009-07-15 13:48:21 +020023 CompatProperty *compat_props;
pbrook87ecb682007-11-17 17:14:51 +000024 struct QEMUMachine *next;
25} QEMUMachine;
26
27int qemu_register_machine(QEMUMachine *m);
28
aliguori6f338c32009-02-11 15:21:54 +000029extern QEMUMachine *current_machine;
30
pbrook87ecb682007-11-17 17:14:51 +000031#endif