135a129a1c
Targets like ppc64 support different types of KVM, one which use hypervisor mode and the other which doesn't. Add a new machine option kvm-type that helps in selecting the respective ones We also add a new QEMUMachine callback get_vm_type that helps in mapping the string representation of kvm type specified. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> [agraf: spelling fixes, use error_report(), use qemumachine.h] Signed-off-by: Alexander Graf <agraf@suse.de>
59 lines
1.4 KiB
C
59 lines
1.4 KiB
C
/* Declarations for use by board files for creating devices. */
|
|
|
|
#ifndef HW_BOARDS_H
|
|
#define HW_BOARDS_H
|
|
|
|
#include "sysemu/blockdev.h"
|
|
#include "sysemu/qemumachine.h"
|
|
#include "hw/qdev.h"
|
|
|
|
typedef struct QEMUMachineInitArgs {
|
|
const QEMUMachine *machine;
|
|
ram_addr_t ram_size;
|
|
const char *boot_order;
|
|
const char *kernel_filename;
|
|
const char *kernel_cmdline;
|
|
const char *initrd_filename;
|
|
const char *cpu_model;
|
|
} QEMUMachineInitArgs;
|
|
|
|
typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
|
|
|
|
typedef void QEMUMachineResetFunc(void);
|
|
|
|
typedef void QEMUMachineHotAddCPUFunc(const int64_t id, Error **errp);
|
|
|
|
typedef int QEMUMachineGetKvmtypeFunc(const char *arg);
|
|
|
|
struct QEMUMachine {
|
|
const char *name;
|
|
const char *alias;
|
|
const char *desc;
|
|
QEMUMachineInitFunc *init;
|
|
QEMUMachineResetFunc *reset;
|
|
QEMUMachineHotAddCPUFunc *hot_add_cpu;
|
|
QEMUMachineGetKvmtypeFunc *kvm_type;
|
|
BlockInterfaceType block_default_type;
|
|
int max_cpus;
|
|
unsigned int no_serial:1,
|
|
no_parallel:1,
|
|
use_virtcon:1,
|
|
use_sclp:1,
|
|
no_floppy:1,
|
|
no_cdrom:1,
|
|
no_sdcard:1;
|
|
int is_default;
|
|
const char *default_machine_opts;
|
|
const char *default_boot_order;
|
|
GlobalProperty *compat_props;
|
|
struct QEMUMachine *next;
|
|
const char *hw_version;
|
|
};
|
|
|
|
int qemu_register_machine(QEMUMachine *m);
|
|
QEMUMachine *find_default_machine(void);
|
|
|
|
extern QEMUMachine *current_machine;
|
|
|
|
#endif
|