Add pvscsi boot support

Testing was done on windows images (win 2008/2012) taken from esx with vmware
tools installed and boot disk configured to use pvscsi.
Also I've used linux (ubuntu 12.04) where pvscsi drivers are installed by
default and booted it using qemu cmd similar to this:

./x86_64-softmmu/qemu-system-x86_64 -snapshot -device pvscsi,id=pvscsi0 \
-device scsi-disk,bus=pvscsi0.0,drive=drive0 \
-drive id=drive0,if=none,file=ubuntu-12.04.qcow2 \
-bios roms/seabios/out/bios.bin

Signed-off-by: Evgeny Budilovsky <evgeny.budilovsky@ravellosystems.com>
vgahooks: add SM720 VGA BIOS hooks for WIN Enterprises MB-60470

Add vgahooks to support the SMI SM720 VGA BIOS used on the
WIN Enterprises MB-60470.  The response from smi_157f14() is necessary
for the CRT output to turn on.  The response from smi_157f02() is used
to configure which connector(s) output is routed to.

As I lack hardware to test LCD panel output, I've selected CRT-only
output on the MB-60470 as this prevents the CRT output from being scaled
to the resolution of the LCD panel.

Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
ACPI DSDT: Make control method `IQCR` serialized

The ASL Optimizing Compiler version 20130823-32 [Sep 11 2013] issues the
following warning.

        $ make
        […]
          Compiling IASL out/src/fw/acpi-dsdt.hex
        out/src/fw/acpi-dsdt.dsl.i    360:         Method(IQCR, 1, NotSerialized) {
        Remark   2120 -                                     ^ Control Method should be made Serialized (due to creation of named objects within)
        […]
        ASL Input:     out/src/fw/acpi-dsdt.dsl.i - 475 lines, 19181 bytes, 316 keywords
        AML Output:    out/src/fw/acpi-dsdt.aml - 4407 bytes, 159 named objects, 157 executable opcodes
        Listing File:  out/src/fw/acpi-dsdt.lst - 143715 bytes
        Hex Dump:      out/src/fw/acpi-dsdt.hex - 41661 bytes

        Compilation complete. 0 Errors, 0 Warnings, 1 Remarks, 246 Optimizations
        […]

After changing the parameter from `NotSerialized` to `Serialized`, the
remark is indeed gone and there is no size change.

The remark was added in ACPICA version 20130517 [1] and gives the
following explanation.

        If a thread blocks within the method for any reason, and another thread
        enters the method, the method will fail because an attempt will be
        made to create the same (named) object twice.

        In this case, issue a remark that the method should be marked
        serialized. ACPICA BZ 909.

[1] https://github.com/acpica/acpica/commit/ba84d0fc18ba910a47a3f71c68a43543c06e6831

Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
hw/usb-xhci.c: Code refactoring to not override initializers in `speed_from_xhci[16]`

Using Debian clang version 3.4-1 (trunk) (based on LLVM 3.4) to build
SeaBIOS, the switch `-Winitializer-overrides` results in the following
warnings.

        $ CC=clang make
        […]
          Compile checking out/src/hw/usb-xhci.o
        clang: warning: argument unused during compilation: '-mpreferred-stack-boundary=2'
        clang: warning: argument unused during compilation: '-minline-all-stringops'
        clang: warning: argument unused during compilation: '-fno-delete-null-pointer-checks'
        src/hw/usb-xhci.c:281:13: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
            [ 1 ] = USB_FULLSPEED,
                    ^~~~~~~~~~~~~
        src/hw/usb.h:68:24: note: expanded from macro 'USB_FULLSPEED'
                               ^
        src/hw/usb-xhci.c:280:20: note: previous initialization is here
            [ 0 ... 15 ] = -1,
                           ^~
        src/hw/usb-xhci.c:282:13: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
            [ 2 ] = USB_LOWSPEED,
                    ^~~~~~~~~~~~
        src/hw/usb.h:69:24: note: expanded from macro 'USB_LOWSPEED'
                               ^
        src/hw/usb-xhci.c:280:20: note: previous initialization is here
            [ 0 ... 15 ] = -1,
                           ^~
        src/hw/usb-xhci.c:283:13: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
            [ 3 ] = USB_HIGHSPEED,
                    ^~~~~~~~~~~~~
        src/hw/usb.h:70:24: note: expanded from macro 'USB_HIGHSPEED'
                               ^
        src/hw/usb-xhci.c:280:20: note: previous initialization is here
            [ 0 ... 15 ] = -1,
                           ^~
        src/hw/usb-xhci.c:284:13: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
            [ 4 ] = USB_SUPERSPEED,
                    ^~~~~~~~~~~~~~
        src/hw/usb.h:71:24: note: expanded from macro 'USB_SUPERSPEED'
                               ^
        src/hw/usb-xhci.c:280:20: note: previous initialization is here
            [ 0 ... 15 ] = -1,
                           ^~

Refactor the code a little to get rid of the warnings.

Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>