blob: 11acb89fce39273abad02ae5a6761887f723c870 [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;
17 const char *desc;
18 QEMUMachineInitFunc *init;
blueswir1c9b1ae22008-09-28 18:55:17 +000019 int use_scsi;
aliguorib2097002008-10-07 20:39:39 +000020 int max_cpus;
Anthony Liguori0c257432009-05-21 20:41:01 -050021 int is_default;
Gerd Hoffmannb6b61142009-07-15 13:48:21 +020022 CompatProperty *compat_props;
pbrook87ecb682007-11-17 17:14:51 +000023 struct QEMUMachine *next;
24} QEMUMachine;
25
26int qemu_register_machine(QEMUMachine *m);
27
aliguori6f338c32009-02-11 15:21:54 +000028extern QEMUMachine *current_machine;
29
pbrook87ecb682007-11-17 17:14:51 +000030#endif