qemu/include/hw/boards.h
<<
>>
Prefs
   1/* Declarations for use by board files for creating devices.  */
   2
   3#ifndef HW_BOARDS_H
   4#define HW_BOARDS_H
   5
   6#include "sysemu/blockdev.h"
   7#include "hw/qdev.h"
   8
   9#define DEFAULT_MACHINE_OPTIONS \
  10    .boot_order = "cad"
  11
  12typedef struct QEMUMachineInitArgs {
  13    ram_addr_t ram_size;
  14    const char *boot_device;
  15    const char *kernel_filename;
  16    const char *kernel_cmdline;
  17    const char *initrd_filename;
  18    const char *cpu_model;
  19} QEMUMachineInitArgs;
  20
  21typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
  22
  23typedef void QEMUMachineResetFunc(void);
  24
  25typedef void QEMUMachineHotAddCPUFunc(const int64_t id, Error **errp);
  26
  27typedef struct QEMUMachine {
  28    const char *name;
  29    const char *alias;
  30    const char *desc;
  31    QEMUMachineInitFunc *init;
  32    QEMUMachineResetFunc *reset;
  33    QEMUMachineHotAddCPUFunc *hot_add_cpu;
  34    BlockInterfaceType block_default_type;
  35    int max_cpus;
  36    unsigned int no_serial:1,
  37        no_parallel:1,
  38        use_virtcon:1,
  39        use_sclp:1,
  40        no_floppy:1,
  41        no_cdrom:1,
  42        no_sdcard:1;
  43    int is_default;
  44    const char *default_machine_opts;
  45    const char *boot_order;
  46    GlobalProperty *compat_props;
  47    struct QEMUMachine *next;
  48    const char *hw_version;
  49} QEMUMachine;
  50
  51int qemu_register_machine(QEMUMachine *m);
  52QEMUMachine *find_default_machine(void);
  53
  54extern QEMUMachine *current_machine;
  55
  56#endif
  57