Commit 90c5d39c authored by Peter Maydell's avatar Peter Maydell
Browse files

Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into staging



PowerPC queue for 2.0

* Fixes for -device VGA

# gpg: Signature made Thu 13 Mar 2014 19:57:12 GMT using RSA key ID 3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@suse.de>"
# gpg:                 aka "Andreas Färber <afaerber@suse.com>"

* remotes/afaerber/tags/ppc-for-2.0:
  spapr: Fix return value of vga initialization
  Fix vga_interface_type for command line argument '-device VGA'

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parents 8bf09759 7effdaa3
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -781,13 +781,15 @@ static int spapr_vga_init(PCIBus *pci_bus)
{
    switch (vga_interface_type) {
    case VGA_NONE:
        return false;
    case VGA_DEVICE:
        return true;
    case VGA_STD:
        return pci_vga_init(pci_bus) != NULL;
    default:
        fprintf(stderr, "This vga model is not supported,"
                "currently it only supports -vga std\n");
        exit(0);
        break;
    }
}

+1 −1
Original line number Diff line number Diff line
@@ -104,7 +104,7 @@ extern int autostart;

typedef enum {
    VGA_NONE, VGA_STD, VGA_CIRRUS, VGA_VMWARE, VGA_XENFB, VGA_QXL,
    VGA_TCX, VGA_CG3,
    VGA_TCX, VGA_CG3, VGA_DEVICE
} VGAInterfaceType;

extern int vga_interface_type;
+24 −21
Original line number Diff line number Diff line
@@ -213,6 +213,7 @@ uint32_t xen_domid;
enum xen_mode xen_mode = XEN_EMULATE;
static int tcg_tb_size;

static int has_defaults = 1;
static int default_serial = 1;
static int default_parallel = 1;
static int default_virtcon = 1;
@@ -973,7 +974,8 @@ static void parse_name(QemuOpts *opts)

bool usb_enabled(bool default_usb)
{
    return qemu_opt_get_bool(qemu_get_machine_opts(), "usb", default_usb);
    return qemu_opt_get_bool(qemu_get_machine_opts(), "usb",
                             has_defaults && default_usb);
}

#ifndef _WIN32
@@ -2122,7 +2124,7 @@ static void select_vgahw (const char *p)
{
    const char *opts;

    vga_interface_type = VGA_NONE;
    assert(vga_interface_type == VGA_NONE);
    if (strstart(p, "std", &opts)) {
        if (vga_available()) {
            vga_interface_type = VGA_STD;
@@ -2912,7 +2914,7 @@ int main(int argc, char **argv, char **envp)
    MachineClass *machine_class;
    QEMUMachine *machine;
    const char *cpu_model;
    const char *vga_model = "none";
    const char *vga_model = NULL;
    const char *qtest_chrdev = NULL;
    const char *qtest_log = NULL;
    const char *pid_file = NULL;
@@ -3762,16 +3764,7 @@ int main(int argc, char **argv, char **envp)
                runstate_set(RUN_STATE_INMIGRATE);
                break;
            case QEMU_OPTION_nodefaults:
                default_serial = 0;
                default_parallel = 0;
                default_virtcon = 0;
                default_sclp = 0;
                default_monitor = 0;
                default_net = 0;
                default_floppy = 0;
                default_cdrom = 0;
                default_sdcard = 0;
                default_vga = 0;
                has_defaults = 0;
                break;
            case QEMU_OPTION_xen_domid:
                if (!(xen_available())) {
@@ -4004,27 +3997,35 @@ int main(int argc, char **argv, char **envp)
    qemu_opts_foreach(qemu_find_opts("device"), default_driver_check, NULL, 0);
    qemu_opts_foreach(qemu_find_opts("global"), default_driver_check, NULL, 0);

    if (machine->no_serial) {
    if (!vga_model && !default_vga) {
        vga_interface_type = VGA_DEVICE;
    }
    if (!has_defaults || machine->no_serial) {
        default_serial = 0;
    }
    if (machine->no_parallel) {
    if (!has_defaults || machine->no_parallel) {
        default_parallel = 0;
    }
    if (!machine->use_virtcon) {
    if (!has_defaults || !machine->use_virtcon) {
        default_virtcon = 0;
    }
    if (!machine->use_sclp) {
    if (!has_defaults || !machine->use_sclp) {
        default_sclp = 0;
    }
    if (machine->no_floppy) {
    if (!has_defaults || machine->no_floppy) {
        default_floppy = 0;
    }
    if (machine->no_cdrom) {
    if (!has_defaults || machine->no_cdrom) {
        default_cdrom = 0;
    }
    if (machine->no_sdcard) {
    if (!has_defaults || machine->no_sdcard) {
        default_sdcard = 0;
    }
    if (!has_defaults) {
        default_monitor = 0;
        default_net = 0;
        default_vga = 0;
    }

    if (is_daemonized()) {
        /* According to documentation and historically, -nographic redirects
@@ -4329,7 +4330,9 @@ int main(int argc, char **argv, char **envp)
            vga_model = "std";
        }
    }
    if (vga_model) {
        select_vgahw(vga_model);
    }

    if (watchdog) {
        i = select_watchdog(watchdog);