mirror of
https://github.com/qemu/qemu.git
synced 2024-11-24 19:33:39 +08:00
Replace -no-virtio-balloon by -balloon
We want to do (at least) two things to the virtio-balloon device: suppress it, and control its PCI address. Option -no-virtio-balloon lets us do only the former. To get the latter, replace -no-virtio-balloon with -balloon none disable balloon device -balloon virtio[,addr=str] enable virtio balloon device (default) Syntax suggested by Anthony Liguori. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
74efd61a75
commit
7d4c3d535c
5
hw/pc.c
5
hw/pc.c
@ -1408,8 +1408,9 @@ static void pc_init1(ram_addr_t ram_size,
|
||||
}
|
||||
|
||||
/* Add virtio balloon device */
|
||||
if (pci_enabled && !no_virtio_balloon) {
|
||||
pci_create_simple(pci_bus, -1, "virtio-balloon-pci");
|
||||
if (pci_enabled && virtio_balloon) {
|
||||
pci_dev = pci_create("virtio-balloon-pci", virtio_balloon_devaddr);
|
||||
qdev_init(&pci_dev->qdev);
|
||||
}
|
||||
|
||||
/* Add virtio console devices */
|
||||
|
@ -684,12 +684,17 @@ Disable HPET support.
|
||||
ETEXI
|
||||
|
||||
#ifdef TARGET_I386
|
||||
DEF("no-virtio-balloon", 0, QEMU_OPTION_no_virtio_balloon,
|
||||
"-no-virtio-balloon disable virtio balloon device\n")
|
||||
DEF("balloon", HAS_ARG, QEMU_OPTION_balloon,
|
||||
"-balloon none disable balloon device\n"
|
||||
"-balloon virtio[,addr=str]\n"
|
||||
" enable virtio balloon device (default)\n")
|
||||
#endif
|
||||
STEXI
|
||||
@item -no-virtio-balloon
|
||||
Disable virtio-balloon device.
|
||||
@item -balloon none
|
||||
Disable balloon device.
|
||||
@item -balloon virtio[,addr=@var{addr}]
|
||||
Enable virtio balloon device (default), optionally with PCI address
|
||||
@var{addr}.
|
||||
ETEXI
|
||||
|
||||
#ifdef TARGET_I386
|
||||
|
3
sysemu.h
3
sysemu.h
@ -116,7 +116,8 @@ extern int win2k_install_hack;
|
||||
extern int rtc_td_hack;
|
||||
extern int alt_grab;
|
||||
extern int usb_enabled;
|
||||
extern int no_virtio_balloon;
|
||||
extern int virtio_balloon;
|
||||
extern const char *virtio_balloon_devaddr;
|
||||
extern int smp_cpus;
|
||||
extern int cursor_hide;
|
||||
extern int graphic_rotate;
|
||||
|
33
vl.c
33
vl.c
@ -242,7 +242,8 @@ int smp_cpus = 1;
|
||||
const char *vnc_display;
|
||||
int acpi_enabled = 1;
|
||||
int no_hpet = 0;
|
||||
int no_virtio_balloon = 0;
|
||||
int virtio_balloon = 1;
|
||||
const char *virtio_balloon_devaddr;
|
||||
int fd_bootchk = 1;
|
||||
int no_reboot = 0;
|
||||
int no_shutdown = 0;
|
||||
@ -4762,6 +4763,29 @@ static void select_vgahw (const char *p)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef TARGET_I386
|
||||
static int balloon_parse(const char *arg)
|
||||
{
|
||||
char buf[128];
|
||||
const char *p;
|
||||
|
||||
if (!strcmp(arg, "none")) {
|
||||
virtio_balloon = 0;
|
||||
} else if (!strncmp(arg, "virtio", 6)) {
|
||||
virtio_balloon = 1;
|
||||
if (arg[6] == ',') {
|
||||
p = arg + 7;
|
||||
if (get_param_value(buf, sizeof(buf), "addr", p)) {
|
||||
virtio_balloon_devaddr = strdup(buf);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
static BOOL WINAPI qemu_ctrl_handler(DWORD type)
|
||||
{
|
||||
@ -5578,8 +5602,11 @@ int main(int argc, char **argv, char **envp)
|
||||
case QEMU_OPTION_no_hpet:
|
||||
no_hpet = 1;
|
||||
break;
|
||||
case QEMU_OPTION_no_virtio_balloon:
|
||||
no_virtio_balloon = 1;
|
||||
case QEMU_OPTION_balloon:
|
||||
if (balloon_parse(optarg) < 0) {
|
||||
fprintf(stderr, "Unknown -balloon argument %s\n", optarg);
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case QEMU_OPTION_no_reboot:
|
||||
|
Loading…
Reference in New Issue
Block a user