boards.h 1.2 KB

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