]> xenbits.xensource.com Git - seabios.git/log
seabios.git
11 years agoxhci: Verify PAGESIZE register before initializing driver.
Kevin O'Connor [Fri, 27 Dec 2013 23:30:02 +0000 (18:30 -0500)]
xhci: Verify PAGESIZE register before initializing driver.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoxhci: Set the interval parameter on interrupt pipes.
Kevin O'Connor [Fri, 27 Dec 2013 18:37:11 +0000 (13:37 -0500)]
xhci: Set the interval parameter on interrupt pipes.

Be sure to set the interval parameter when creating an interrupt based
pipe.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoxhci: Fix incorrect direction setting on status transmissions.
Kevin O'Connor [Fri, 27 Dec 2013 18:41:28 +0000 (13:41 -0500)]
xhci: Fix incorrect direction setting on status transmissions.

The status part of a control message was likely to have an incorrect
direction set.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoxhci: Use 64bit writes to ERDP register.
Kevin O'Connor [Fri, 27 Dec 2013 18:34:55 +0000 (13:34 -0500)]
xhci: Use 64bit writes to ERDP register.

At least some real-world XHCI controllers expect a 64bit write to the
ERDP register.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoxhci: allocate scratch pad buffers
Gerd Hoffmann [Fri, 6 Dec 2013 15:08:01 +0000 (16:08 +0100)]
xhci: allocate scratch pad buffers

Untested.  Anyone who tried to get xhci run on real hardware
is welcome to test whenever this patch improves things.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agopci: improve io address space allocation
Gerd Hoffmann [Thu, 23 Jan 2014 14:48:19 +0000 (15:48 +0100)]
pci: improve io address space allocation

This patch improves the io address space allocation.  It adds a check
that the region above 0xc000 which is traditionally used for pci io
is actually big enougth.  If it isn't it tries the larger window at
0x1000.  If that is to small too it errors out.

When creating guests with multiple pci-pci bridges (and devices with
io regions behind them) the 0xc000 -> 0xffff region quickly becomes
too small.

While being at it document the io address space layout used by
qemu/seabios.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agodebug: Unify the SeaBIOS debug version banner.
Kevin O'Connor [Wed, 15 Jan 2014 18:52:14 +0000 (13:52 -0500)]
debug: Unify the SeaBIOS debug version banner.

Introduce debug_banner() and use it in all the places SeaBIOS version
is displayed for debugging purposes.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agodebug: Only call serial_debug_preinit() at startup.
Kevin O'Connor [Wed, 15 Jan 2014 18:42:50 +0000 (13:42 -0500)]
debug: Only call serial_debug_preinit() at startup.

The serial_debug_preinit() function disables serial interrupts so that
the OS doesn't get confused by "transmit buffer empty" interrupts
caused when seabios writes to the serial port.  It's unnecessary
paranoia to keep rechecking that interrupts are disabled.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agodebug: Add runtime option to not report the debug serial port to the OS.
Kevin O'Connor [Wed, 15 Jan 2014 18:34:19 +0000 (13:34 -0500)]
debug: Add runtime option to not report the debug serial port to the OS.

DOS resets the serial ports reported by the BIOS.  This can mess up
debugging and timing when the serial baud rate changes on the debug
port.  The new "etc/advertise-serial-debug-port" option allows one to
suppress the debug serial port from the normal list of serial ports
the BIOS reports to DOS.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agocoreboot: Support alternative locations for CBFS.
Kevin O'Connor [Sat, 18 Jan 2014 01:21:20 +0000 (20:21 -0500)]
coreboot: Support alternative locations for CBFS.

The Google builds of SeaBIOS place the CBFS data in a non-standard
location.  Add a config parameter to support non-standard locations.
This is based on a patch from Stefan Reinauer <reinauer@chromium.org>
in the Chromium seabios repo (commit 60534ec785).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoscripts: Allow encodeint.py to take integers in hex notation.
Kevin O'Connor [Sat, 18 Jan 2014 06:42:07 +0000 (01:42 -0500)]
scripts: Allow encodeint.py to take integers in hex notation.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agobuild: Update kconfig to version in Linux 3.13.
Kevin O'Connor [Mon, 20 Jan 2014 16:53:12 +0000 (11:53 -0500)]
build: Update kconfig to version in Linux 3.13.

Update kconfig (from Linux v3.11-rc6) to the latest version (Linux
v3.13).

This copyies kconfig from Linux with only the changes necessary to
work with the SeaBIOS build (the equivalent of the earlier SeaBIOS
0da7bfdf commit) and the changes necessary to always emit symbols
(SeaBIOS b623e7c5 commit).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agosmbios: catch zero-length strings
Gerd Hoffmann [Mon, 20 Jan 2014 13:32:54 +0000 (14:32 +0100)]
smbios: catch zero-length strings

qemu may pass us zero-length strings for smbios fields, when starting
qemu this way  ...

qemu -smbios type=1,version=,serial=test

... for example.

Today we don't specifically handle them and simply append them to the
string list.  Therefore we get two string-terminating zeros in a row.
Result is that we by accident create a end-of-entry marker in the middle
of the entry.

Fix this by handling zero-length strings like non-present strings.

Cc: armbru@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agobuild: Be careful with unicode and byte strings for python3 compatibility.
Johannes Krampf [Sun, 19 Jan 2014 15:03:49 +0000 (16:03 +0100)]
build: Be careful with unicode and byte strings for python3 compatibility.

Signed-off-by: Johannes Krampf <johannes.krampf@googlemail.com>
11 years agobuild: Avoid sort() on unordered classes for python3 compatibility.
Johannes Krampf [Sun, 12 Jan 2014 16:39:57 +0000 (11:39 -0500)]
build: Avoid sort() on unordered classes for python3 compatibility.

Signed-off-by: Johannes Krampf <johannes.krampf@googlemail.com>
11 years agobuild: Be explicit that we want integers when dividing for python3 compat.
Johannes Krampf [Sun, 12 Jan 2014 16:19:22 +0000 (11:19 -0500)]
build: Be explicit that we want integers when dividing for python3 compat.

Signed-off-by: Johannes Krampf <johannes.krampf@googlemail.com>
11 years agobuild: Make print statements in scripts python3 compatible.
Johannes Krampf [Sun, 12 Jan 2014 16:14:54 +0000 (11:14 -0500)]
build: Make print statements in scripts python3 compatible.

Signed-off-by: Johannes Krampf <johannes.krampf@googlemail.com>
11 years agobuild: Remove unneccesary semicolons from acpi_extract scripts.
Johannes Krampf [Sun, 12 Jan 2014 15:54:22 +0000 (10:54 -0500)]
build: Remove unneccesary semicolons from acpi_extract scripts.

Signed-off-by: Johannes Krampf <johannes.krampf@googlemail.com>
11 years agoehci: memset the qTD structures in ehci_alloc_intr_pipe
Kevin O'Connor [Fri, 17 Jan 2014 23:43:10 +0000 (18:43 -0500)]
ehci: memset the qTD structures in ehci_alloc_intr_pipe

The qTD structures were not being cleared in ehci_alloc_intr_pipe()
and it was possible that garbage could have been in some of the
fields.  Also, memset the data array for sanity purposes.

A similar fix is in the Chromium seabios repo (3e711dc261).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoinit_virtio_scsi(): reset the HBA before freeing its virtio ring
Laszlo Ersek [Wed, 15 Jan 2014 01:48:40 +0000 (02:48 +0100)]
init_virtio_scsi(): reset the HBA before freeing its virtio ring

When init_virtio_scsi() finds no SCSI targets connected to the HBA, it
frees the virtio ring. Other code in SeaBIOS proceeds to overwrite the
area. However, the ring is in use by qemu at that point -- not only did we
report the (ACK|DRIVER|DRIVER_OK) status earlier, we even communicated
over the ring.

Of course SeaBIOS doesn't "kick" the HBA ever again, hence qemu has no
reason to look at the ring. However, when qemu uses KVM acceleration, and
ioeventfd is enabled for the HBA, then a vmstate change to "running"
(including stop->cont monitor commands and incoming migration) "forces" a
kick (see qemu commit 25db9ebe). Qemu then tries to interpret whatever
unrelated guest data is in the HBA's original ring area, as virtio
protocol. Qemu exits upon seeing the garbage.

init_virtio_scsi() should reset the HBA before allowing the virtio ring
memory to be reused. Device reset causes the hypervisor to drop its
references.

This change is justified / underpinned by pure virtio-spec compliance as
well.

Related RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1013418

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
11 years agoMinor - fix misspelling in romfile.c comment.
Kevin O'Connor [Wed, 15 Jan 2014 18:33:48 +0000 (13:33 -0500)]
Minor - fix misspelling in romfile.c comment.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoMinor - pciinit.c - order header files and use static on local functions.
Kevin O'Connor [Wed, 15 Jan 2014 16:08:22 +0000 (11:08 -0500)]
Minor - pciinit.c - order header files and use static on local functions.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoresume: restore piix pm config registers after resume
Marcel Apfelbaum [Wed, 15 Jan 2014 12:20:06 +0000 (14:20 +0200)]
resume: restore piix pm config registers after resume

On resume, the OS queries the power management event that
caused it. In order to complete this task, it executes some
reads to the piix pm io space. This all happens before the
OS has a chance to restore the PCI config space for devices,
so it is bios's responsibility to make sure the pm IO space
is configured correctly. (During suspend, the piix pm
configuration space is lost).

Note: For 'ordinary' pci devices the config space is
saved by the OS on sleep and restored on resume.

Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
11 years agoPrevent build failure by not splitting line in the middle of arguments to checkrom...
Sander Eikelenboom [Thu, 9 Jan 2014 19:18:43 +0000 (20:18 +0100)]
Prevent build failure by not splitting line in the middle of arguments to checkrom.py script

File "./scripts/checkrom.py", line 24, in main
    objinfo, finalsize, rawfile, outfile = sys.argv[1:]
ValueError: need more than 3 values to unpack

Signed-off-by: Sander Eikelenboom <linux@eikelenboom.it>
11 years agousb: Replace EHCI to UHCI/OHCI synchronization with new scheme.
Kevin O'Connor [Thu, 5 Dec 2013 23:43:20 +0000 (18:43 -0500)]
usb: Replace EHCI to UHCI/OHCI synchronization with new scheme.

The previous code attempts to correlate which UHCI and OHCI
controllers correlate with which EHCI controllers so that it can
ensure high speed devices are handled by the EHCI code while low/full
speed devices are handled by the UHCI/OHCI code.  Replace this logic
by initializing all EHCI controllers first, and then initializing all
UHCI and OHCI controllers.  This simplifies the code and improves
support for some hardware devices that don't follow the OHCI/UHCI to
EHCI correlation standard.

Also, remove the unused usb->busid field.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agopvscsi: Remove use of LOWFLAT and GLOBALFLAT macros.
Kevin O'Connor [Fri, 27 Dec 2013 17:08:50 +0000 (12:08 -0500)]
pvscsi: Remove use of LOWFLAT and GLOBALFLAT macros.

Now that pvscsi runs entirely in 32bit mode, there is no need to use
the memory segment access macros.

This also fixes up an incorrect memcpy and memset call.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agopvscsi: Always run entirely in 32bit mode.
Kevin O'Connor [Tue, 24 Dec 2013 05:46:15 +0000 (00:46 -0500)]
pvscsi: Always run entirely in 32bit mode.

Instead of jumping into 32bit mode to access the PCI config space, run
the entire driver in 32bit mode.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agopvscsi: Don't store reference to struct pci_device.
Kevin O'Connor [Tue, 24 Dec 2013 05:37:12 +0000 (00:37 -0500)]
pvscsi: Don't store reference to struct pci_device.

The pci_device reference isn't used by pvscsi, and it's confusing to
keep a long held reference to a short lived object.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoAlways perform thread cleanup on MainThread stack.
Kevin O'Connor [Mon, 23 Dec 2013 03:44:08 +0000 (22:44 -0500)]
Always perform thread cleanup on MainThread stack.

The thread cleanup was being performed on whatever thread stack was
next in the list.  However, with high debugging this causes spurious
_free() debug messages to show up in random threads which can be
confusing when analyzing the debug output.  So, always run
__end_thread() on the MainThread stack to prevent this confusion.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoRemove unnecesary updates of the disk op->count field.
Kevin O'Connor [Tue, 17 Dec 2013 23:15:46 +0000 (18:15 -0500)]
Remove unnecesary updates of the disk op->count field.

Now that the op->count field is cleared in a global location on simple
errors, remove various local clears done in individual drivers.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoClear the total block transfer count on error.
Kevin O'Connor [Tue, 17 Dec 2013 22:57:48 +0000 (17:57 -0500)]
Clear the total block transfer count on error.

The total number of blocks transferred is part of the return status of
the BIOS API.  This is normally the total number of blocks requested.
However, in an error it is possible for this count to be less.  Add a
global check to ensure that on an error event the block count is
updated - if it hasn't been updated, assume that no blocks have been
transferred successfully (the common case).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoRemove the pmm handle argument from _malloc().
Kevin O'Connor [Sat, 14 Dec 2013 18:14:02 +0000 (13:14 -0500)]
Remove the pmm handle argument from _malloc().

The PMM handle argument will almost always be 0xffffffff.  Use
separate code for the few rare cases where it may not be the default
value.  Gcc produces better code if _malloc() only requires three
parameters.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agobuild: Don't trash the .config file when src/Kconfig changes.
Kevin O'Connor [Mon, 23 Dec 2013 18:44:59 +0000 (13:44 -0500)]
build: Don't trash the .config file when src/Kconfig changes.

Revision 5325e91e introduced a change to force the rebuild of the
.config file when the src/Kconfig (or vgasrc/Kconfig) file changes.
However, this was causing a complete rebuild of the user's .config
file which would throw away the user's current settings.

On a rebuild, use the kbuild olddefconfig rule instead of defconfig to
attempt to keep the user's current settings.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agocoreboot: Make sure to print the SeaBIOS version in cbmem debug output. rel-1.7.4
Kevin O'Connor [Sun, 22 Dec 2013 15:42:26 +0000 (10:42 -0500)]
coreboot: Make sure to print the SeaBIOS version in cbmem debug output.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoFix CBMEM console overflow
Kyösti Mälkki [Sat, 21 Dec 2013 17:19:15 +0000 (19:19 +0200)]
Fix CBMEM console overflow

In CBMEM console, cursor increments past the buffer size to
indicate the number of characters missing from log output.

Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
11 years agofloppy: Implement cylinder seeking when accessing a different cylinder.
Kevin O'Connor [Thu, 12 Dec 2013 00:38:15 +0000 (19:38 -0500)]
floppy: Implement cylinder seeking when accessing a different cylinder.

It appears that on real hardware, floppies require a seek command to
move the floppy head between cylinders.  So, track what cylinder is
active and issue a seek command whenever a new cylinder is requested.

This also breaks up the floppy_cmd() code so that the low-level
command functions can pass the desired cylinder directly to the
seeking code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoOn disk format request, verify cylinders and pass to driver.
Kevin O'Connor [Thu, 12 Dec 2013 00:15:45 +0000 (19:15 -0500)]
On disk format request, verify cylinders and pass to driver.

The regs->ch field contains the cylinder to format on a disk_1305
call.  Verify that parameter and pass to the low-level driver code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agofloppy: Encode command and flags into single value in floppy pio code.
Kevin O'Connor [Wed, 11 Dec 2013 23:32:12 +0000 (18:32 -0500)]
floppy: Encode command and flags into single value in floppy pio code.

Eliminate struct floppy_pio_s and change floppy_pio() to take the
command type and parameters in a single encoded value.  This makes the
code similar to the ps2port.c pio code.  It also reduces some of the
boilerplate code in the callers of floppy_pio().

Also, collapse pairs of floppy_select_drive() and floppy_pio() calls
into new call floppy_drive_pio().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agochange boot order load log level
Gerd Hoffmann [Fri, 6 Dec 2013 09:29:09 +0000 (10:29 +0100)]
change boot order load log level

Having loadBootOrder and find_prio print at different log levels (3 + 1)
doesn't make that much sense, to trouble-shoot bootorder issues it is
very useful to have both.  Lets use loglevel 1.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agorun qemu_cfg_e820 only for CONFIG_QEMU=y
Gerd Hoffmann [Fri, 6 Dec 2013 12:27:09 +0000 (13:27 +0100)]
run qemu_cfg_e820 only for CONFIG_QEMU=y

Otherwise we'll clobber the e820 table from coreboot.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agoSmall improvements to irqentry_extrastack assembler.
Kevin O'Connor [Tue, 10 Dec 2013 01:30:30 +0000 (20:30 -0500)]
Small improvements to irqentry_extrastack assembler.

Simplify the entry assembler slightly.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agovgabios: Avoid memory references via %esp register in vgabios.
Kevin O'Connor [Mon, 9 Dec 2013 22:27:54 +0000 (17:27 -0500)]
vgabios: Avoid memory references via %esp register in vgabios.

Win7 interprets the vgabios and it does not properly handle memory
references relative to the %esp register.  Commit 4a8b58cb introduced
some of these %esp references - rework that assembler to avoid these
instructions and make win7 happy.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agofloppy: Fix accesses to DOR register.
Kevin O'Connor [Sat, 7 Dec 2013 17:48:11 +0000 (12:48 -0500)]
floppy: Fix accesses to DOR register.

The DOR register is a write-only register (even though QEMU and at
least some real hardware permit read/write acess).  So, do not read
from the DOR port.  Introduce a VARLOW variable (FloppyDOR) to store
the current state.

When resetting the controller, make sure to enable both the controller
and interrupts.  Also, make sure the controller is really reset (by
writing a 0 to DOR first) to ensure an IRQ is received on reset.

Also, add some additional dprintf statements to the floppy init path.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agofloppy: Fix incorrect LBA to CHS translation.
Kevin O'Connor [Sat, 7 Dec 2013 16:46:37 +0000 (11:46 -0500)]
floppy: Fix incorrect LBA to CHS translation.

The floppy LBA to CHS translation was incorrect for the last sector of
a given cylinder.  This wasn't a problem under QEMU as it came to the
same results anyway, but it causes errors of real floppy controllers.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoSeparate out sec32init sections even when not doing code relocation.
Kevin O'Connor [Fri, 6 Dec 2013 18:52:16 +0000 (13:52 -0500)]
Separate out sec32init sections even when not doing code relocation.

The current code does not boot on QEMU with 256K roms when code
relocation is disabled, because QEMU only maps the last 128K of the
rom to low memory.  The seabios make_bios_writable() call copies the
full rom to low memory.

This patch separates out the init sections even if code relocations
are disabled.  This effectively ensures that make_bios_writable() code
is in the last 128K of the rom.

This also introduces a new build symbol (final_readonly_start) which
stores the address of where the final runtime read-only memory begins.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoMinor - move sgdt/lgdt macros from stacks.c to x86.h.
Kevin O'Connor [Wed, 4 Dec 2013 16:48:05 +0000 (11:48 -0500)]
Minor - move sgdt/lgdt macros from stacks.c to x86.h.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoadd hw/serialio.c to SRC32SEG
Gerd Hoffmann [Thu, 5 Dec 2013 12:30:49 +0000 (13:30 +0100)]
add hw/serialio.c to SRC32SEG

Fixes build failure for CONFIG_COREBOOT=y.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agofloppy: Minor - add warnings if timeouts occur.
Kevin O'Connor [Wed, 4 Dec 2013 15:31:51 +0000 (10:31 -0500)]
floppy: Minor - add warnings if timeouts occur.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agovgabios: Move initialization code to new file vgainit.c.
Kevin O'Connor [Tue, 3 Dec 2013 16:50:49 +0000 (11:50 -0500)]
vgabios: Move initialization code to new file vgainit.c.

Move the initialization code out of vgabios.c to a new file to reduce
the size of the vgabios.c file.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agovgabios: Support allocating an extra stack for vgabios calls and default on.
Kevin O'Connor [Sun, 1 Dec 2013 00:16:15 +0000 (19:16 -0500)]
vgabios: Support allocating an extra stack for vgabios calls and default on.

Add code to allocate an extra stack for the main vgabios int 0x10
entry point.  The allocation is done via the PMM spec and uses a PCI
v3 permanent low memory region request.  This request will work with
SeaBIOS - it is unknown how many other main BIOS implementations
support this PMM call.

The extra stack is useful for old DOS programs that call the VGABIOS
and expect it to work with very small amounts of stack space.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoMinor - update file comment on bootsplash.c.
Kevin O'Connor [Sat, 30 Nov 2013 18:04:45 +0000 (13:04 -0500)]
Minor - update file comment on bootsplash.c.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agovgabios: Work around lack of support for "calll" in x86emu emulation.
Kevin O'Connor [Sat, 30 Nov 2013 17:52:44 +0000 (12:52 -0500)]
vgabios: Work around lack of support for "calll" in x86emu emulation.

Replace 32 bit call instructions with 16 bit call instructions in the
vgabios to workaround problems in old versions of x86emu.  This change
allows fc13 and fc14 to boot.  (Other x86emu emulation bugs still
prevent fc11 and fc12 from booting.)

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agovgabios: Avoid possible divide by zero in bochsvga_set_displaystart.
Kevin O'Connor [Sat, 30 Nov 2013 16:45:46 +0000 (11:45 -0500)]
vgabios: Avoid possible divide by zero in bochsvga_set_displaystart.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agovgabios: Add bochsvga "HDTV" resolutions.
Kevin O'Connor [Sat, 30 Nov 2013 16:04:09 +0000 (11:04 -0500)]
vgabios: Add bochsvga "HDTV" resolutions.

The same set of video modes were added to the "lgpl vgabios" in
release 0.7a.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agovgabios: Support custom fonts in vga framebuffer text writing.
Kevin O'Connor [Sat, 30 Nov 2013 15:52:45 +0000 (10:52 -0500)]
vgabios: Support custom fonts in vga framebuffer text writing.

Obtain the font data from int 0x43 and int 0x1f, and obtain the font
height from the BDA.  This enables application overrides for the font
data.

This patch also unifies the variable naming between the
planar/CGA/linear character writing functions and uses the same names
that the screen scrolling functions use.

This patch also optimizes the inner loop of the CGA font writing to
reduce overall stack usage.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agovgabios: Load the DAC palette in "packed" modes on Cirrus and BochsVGA.
Kevin O'Connor [Fri, 29 Nov 2013 23:43:35 +0000 (18:43 -0500)]
vgabios: Load the DAC palette in "packed" modes on Cirrus and BochsVGA.

This is a port of a patch applied to the "lgpl vgabios" tree (that was
released in its v0.7a release).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoMove low-level hardware writing from output.c to new file hw/serialio.c.
Kevin O'Connor [Fri, 29 Nov 2013 17:14:34 +0000 (12:14 -0500)]
Move low-level hardware writing from output.c to new file hw/serialio.c.

Avoid hardware specific code in output.c.  This will reduce the amount
of change needed to output.c as support for more serial hardware is
added.

This patch also renames some functions to improve the naming scheme.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoahci: alloc structs in high memory
Gerd Hoffmann [Tue, 26 Nov 2013 13:10:25 +0000 (14:10 +0100)]
ahci: alloc structs in high memory

With ahci running in 32bit mode we can also allocate the
(ahci private) data structures in high memory.  This
reduces the real mode memory footprint as we only need
to move struct ahci_port_s (which contains struct drive_s)
to fseg in case the port probe was successful.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agoahci: remote some parentheses
Gerd Hoffmann [Tue, 26 Nov 2013 13:02:54 +0000 (14:02 +0100)]
ahci: remote some parentheses

Minor cleanups.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agoahci: zap real mode macros
Gerd Hoffmann [Tue, 26 Nov 2013 13:01:20 +0000 (14:01 +0100)]
ahci: zap real mode macros

Not needed any more now that ahci runs in 32bit mode
all the time.  Script-based search & replace.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agopci: map 64-bit BARs at location provided by emulator
Gerd Hoffmann [Tue, 26 Nov 2013 11:48:20 +0000 (12:48 +0100)]
pci: map 64-bit BARs at location provided by emulator

Currently 64-bit PCI BARs are unconditionally mapped by BIOS right
over 4G + RamSizeOver4G location, which doesn't allow to reserve
extra space before 64-bit PCI window. For memory hotplug an extra
RAM space might be reserved after present 64-bit RAM end and BIOS
should map 64-bit PCI BARs after it.

Introduce "etc/reserved-memory-end" romfile to provide BIOS a hint
where it should start mapping of 64-bit PCI BARs. If romfile is
missing, BIOS reverts to legacy behavior and starts mapping after
high memory.

Based-on-patch-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-By: Igor Mammedov <imammedo@redhat.com>
11 years agopci: log pci windows
Gerd Hoffmann [Tue, 26 Nov 2013 11:51:30 +0000 (12:51 +0100)]
pci: log pci windows

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agopci: tweak + comment minimum allocations
Gerd Hoffmann [Tue, 26 Nov 2013 12:12:04 +0000 (13:12 +0100)]
pci: tweak + comment minimum allocations

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agopci: align 64bit pci regions to 1G
Gerd Hoffmann [Tue, 26 Nov 2013 10:08:17 +0000 (11:08 +0100)]
pci: align 64bit pci regions to 1G

So they are hugepage aligned.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agopci: don't map usb host adapters above 4G
Gerd Hoffmann [Tue, 26 Nov 2013 11:57:19 +0000 (12:57 +0100)]
pci: don't map usb host adapters above 4G

Otherwise our xhci driver has trouble accessing the mmio registers.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agopci: don't reorder entries when moving to 64bit list
Gerd Hoffmann [Tue, 26 Nov 2013 10:21:23 +0000 (11:21 +0100)]
pci: don't reorder entries when moving to 64bit list

Otherwise the 64bit bars are not mapped in largest
first order, thereby messing up the alignment.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agoacpi: strip compiler info in built-in DSDT if any
Michael S. Tsirkin [Thu, 3 Oct 2013 13:06:24 +0000 (16:06 +0300)]
acpi: strip compiler info in built-in DSDT if any

IASL stores it's revision in each table header it generates.
That's a problem since guests see a change each time
they move between hypervisors.
We generally fill our own info for tables,
but we forgot to do this for the built-in DSDT.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
11 years agoAdd support for etc/e820 fw_cfg file
Gerd Hoffmann [Fri, 18 Oct 2013 10:22:36 +0000 (12:22 +0200)]
Add support for etc/e820 fw_cfg file

The new fw_cfg is simliar to the QEMU_CFG_E820_TABLE entry,
but carries both reservations and RAM regions, so we can use
it instead of the cmos for RAM detection.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agoAdd qemu_cfg_e820 function.
Gerd Hoffmann [Fri, 18 Oct 2013 10:18:19 +0000 (12:18 +0200)]
Add qemu_cfg_e820 function.

Move all ram detection and e820 setup to the new function, except for
lowmem detection which must remain in preinit so we can initialize our
memory allocator properly.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agoacpi: load and link tables through romfile loader
Michael S. Tsirkin [Thu, 3 Oct 2013 13:30:41 +0000 (16:30 +0300)]
acpi: load and link tables through romfile loader

Load files through romfile loader and use for acpi tables.
We need the RSDP pointer to hang the rest of the tables off it,
to detect that we simply scan all memory in FSEG.

Add an option to disable this feature (useful for old QEMU versions).
This saves about 1Kbytes.

enabled:
Total size: 134932  Fixed: 61571  Free: 127212 (used 51.5% of 256KiB rom)

disabled:
Total size: 133836  Fixed: 61563  Free: 128308 (used 51.1% of 256KiB rom)

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agoromfile_loader: utility to patch in-memory ROM files
Michael S. Tsirkin [Thu, 3 Oct 2013 13:30:37 +0000 (16:30 +0300)]
romfile_loader: utility to patch in-memory ROM files

Add ability for a ROM file to point to
it's image in memory. When file is in memory,
add utility that can patch it, storing
pointers to one file within another file.

This is not a lot of code: together with the follow-up patch to load
ACPI tables from ROM, it's about 1K extra.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agobiostables: support looking up RSDP
Michael S. Tsirkin [Thu, 3 Oct 2013 13:30:35 +0000 (16:30 +0300)]
biostables: support looking up RSDP

Will be used when it's loaded from QEMU.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agoMinor - eliminate the SET_GLOBAL macro.
Kevin O'Connor [Sat, 26 Oct 2013 15:56:24 +0000 (11:56 -0400)]
Minor - eliminate the SET_GLOBAL macro.

Remove the SET_GLOBAL macro - it is no longer used and since it was
only available in "32bit flat" mode it does not have much use.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agomegasas: Don't attempt to access 'struct pci_device' at runtime.
Kevin O'Connor [Sat, 26 Oct 2013 15:53:38 +0000 (11:53 -0400)]
megasas: Don't attempt to access 'struct pci_device' at runtime.

The PCI device structures are only available during the POST phase.
Don't attempt to access them from the runtime disk driver code.

This patch has not been tested, but the old code is definitely
incorrect.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoConvert op->drive_g from a 16bit pointer to a 32 bit "GLOBALFLAT" pointer.
Kevin O'Connor [Sat, 26 Oct 2013 15:48:06 +0000 (11:48 -0400)]
Convert op->drive_g from a 16bit pointer to a 32 bit "GLOBALFLAT" pointer.

The "drive" structure is always malloc'ed and therefore always starts
off described as a 32-bit "flat" pointer.  Instead of switching
to/from 16bit pointers, make all the code use the 32bit pointer.  This
eliminates the confusing 16/32 bit pointer switches.

This patch also removes the "_g" suffixes on local variables in
functions that are always called in 32bit mode.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agohw/usb-xhci.c: Code refactoring to not override initializers in `speed_from_xhci...
Paul Menzel [Thu, 3 Oct 2013 09:55:48 +0000 (11:55 +0200)]
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>
11 years agoACPI DSDT: Make control method `IQCR` serialized
Paul Menzel [Thu, 3 Oct 2013 09:30:52 +0000 (11:30 +0200)]
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>
11 years agovgahooks: add SM720 VGA BIOS hooks for WIN Enterprises MB-60470
Jonathan A. Kollasch [Sun, 20 Oct 2013 17:48:56 +0000 (12:48 -0500)]
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>
11 years agoAdd pvscsi boot support
Evgeny Budilovsky [Mon, 14 Oct 2013 15:03:36 +0000 (18:03 +0300)]
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>
11 years agoBuild different final files for QEMU, coreboot, and CSM.
Kevin O'Connor [Tue, 15 Oct 2013 01:52:28 +0000 (21:52 -0400)]
Build different final files for QEMU, coreboot, and CSM.

Build out/bios.bin on QEMU, out/bios.bin.elf on coreboot, and
out/Csm16.bin for CSM.  This reduces the chance that one accidentally
builds for an incorrect target.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoRun ahci code entirely in 32bit mode.
Kevin O'Connor [Thu, 3 Oct 2013 01:28:08 +0000 (21:28 -0400)]
Run ahci code entirely in 32bit mode.

The ahci driver needs to jump into 32bit mode in order to access
portions of the ahci controllers PCI config space.  Instead of jumping
into 32bit mode just to toggle the ahci registers, jump into 32bit
mode for all of the driver interactions.  This shrinks the size of the
overall code and can lead to further cleanups.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoSupport call16() calls after entering 32bit mode from call32().
Kevin O'Connor [Thu, 3 Oct 2013 00:20:03 +0000 (20:20 -0400)]
Support call16() calls after entering 32bit mode from call32().

When transitioning to 32bit via call32() track the stack segment
register and support restoring it on call16() requests.  This permits
call16() to work properly.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoUpdate _farcall16() to pass segment of callregs explicitly.
Kevin O'Connor [Mon, 30 Sep 2013 00:21:40 +0000 (20:21 -0400)]
Update _farcall16() to pass segment of callregs explicitly.

Don't use implicit passing of %es for the segment of the callregs pointer.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoMake __call16 use C calling convention and support two passed parameters.
Kevin O'Connor [Sun, 29 Sep 2013 23:58:09 +0000 (19:58 -0400)]
Make __call16 use C calling convention and support two passed parameters.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoMinor - move call16 assembler in romlayout.S.
Kevin O'Connor [Sun, 29 Sep 2013 23:25:44 +0000 (19:25 -0400)]
Minor - move call16 assembler in romlayout.S.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoRearrange stack_hop_back() call in wait_irq, check_irqs, and _farcall16.
Kevin O'Connor [Sun, 29 Sep 2013 14:48:24 +0000 (10:48 -0400)]
Rearrange stack_hop_back() call in wait_irq, check_irqs, and _farcall16.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoRename fields of 'struct chs_s' and use in floppy lba2chs().
Kevin O'Connor [Sun, 29 Sep 2013 03:34:49 +0000 (23:34 -0400)]
Rename fields of 'struct chs_s' and use in floppy lba2chs().

Rename the fields of 'struct chs_s' so that it can be used both to
describe a drive and to describe a particular sector on a drive.

Update floppy.c:lba2chs() to return a 'struct chs_s' instead of
passing the results via pointers.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agobuild: explicitly set ROM size
Gerd Hoffmann [Tue, 24 Sep 2013 08:06:16 +0000 (10:06 +0200)]
build: explicitly set ROM size

Add a config option to specify the rom size wanted.  Default is zero,
which will automatically figure the needed size.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agobuild: create output dirs in do-kconfig
Gerd Hoffmann [Wed, 25 Sep 2013 07:40:50 +0000 (09:40 +0200)]
build: create output dirs in do-kconfig

Unbreaks parallel builds.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agoMinor - update file comments in src/malloc.c.
Kevin O'Connor [Sun, 29 Sep 2013 02:00:49 +0000 (22:00 -0400)]
Minor - update file comments in src/malloc.c.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoRemove ioport.h; disperse its contents to other header files.
Kevin O'Connor [Thu, 19 Sep 2013 01:41:48 +0000 (21:41 -0400)]
Remove ioport.h; disperse its contents to other header files.

Move the inb(), insb(), etc. code from ioport.h to x86.h.  Move the
PORT_* definitions to their appropriate hardware files.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoMove dma code to new file hw/dma.c.
Kevin O'Connor [Thu, 19 Sep 2013 01:04:03 +0000 (21:04 -0400)]
Move dma code to new file hw/dma.c.

Move the DMA controller code in resume.c and hw/floppy.c to a new file
hw/dma.c.  This centralizes the DMA controller code into one place.

Also, don't unmask the floppy DRQ during floppy setup - there is no
reason to unmask the DRQ prior to a command being programmed into the
DMA controller.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoRename hw/cmos.h to hw/rtc.h and copy RTC code from clock.c to hw/rtc.c.
Kevin O'Connor [Sun, 15 Sep 2013 06:29:06 +0000 (02:29 -0400)]
Rename hw/cmos.h to hw/rtc.h and copy RTC code from clock.c to hw/rtc.c.

Group the Real Time Clock code into hw/rtc.[ch].

Also, use rtc_read/write/mask function naming (instead of
inb/outb_cmos) to be more consistent with other register accessors.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agoMove PIT setup from clock.c to hw/timer.c.
Kevin O'Connor [Sun, 15 Sep 2013 05:50:00 +0000 (01:50 -0400)]
Move PIT setup from clock.c to hw/timer.c.

Move the hardware setup to the hw/timer.c code.  This eliminates the
need for a separate hw/pit.h file with definitions.

Also, move the IRQ counting code (which is dependent on the BDA) from
hw/timer.c to clock.c.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
11 years agobuild: simplify cross builds
Gerd Hoffmann [Fri, 20 Sep 2013 11:29:01 +0000 (13:29 +0200)]
build: simplify cross builds

This patch simplifies seabios cross-builds on !x86 platforms.
It adds a CROSS_PREFIX variable which is used to set CC, LD &
friends to the cross build binaries.  It also moves the common
command definitions up in the Makefile to make sure CC is set
correctly when probing compiler flags using $(call cc-option ...)

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agofix buildversion.sh
Gerd Hoffmann [Fri, 13 Sep 2013 12:12:23 +0000 (14:12 +0200)]
fix buildversion.sh

Recent git versions place the submodule git repos into the
.git/modules directory of the toplevel repo.  In that case
.git of the seabios tree isn't a directory, but a regular
file, saying where the gitdir is.

Extent the git check to also allow .git being a regular file,
so buildversion.sh works correctly when called within the qemu
submodule.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agousb: add xhci support
Gerd Hoffmann [Mon, 3 Jun 2013 14:30:18 +0000 (16:30 +0200)]
usb: add xhci support

$subject says all.  Support for usb3 streams is not implemented yet,
otherwise it is fully functional.  Tested all usb devices supported
by qemu (keyboard, storage, usb hubs), except for usb attached scsi
in usb3 mode (which needs streams).

Tested on qemu only, tagged with QEMU_HARDWARE because of that.
Testing with physical hardware to be done.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agousb: add usb_update_pipe()
Gerd Hoffmann [Wed, 21 Aug 2013 11:59:21 +0000 (13:59 +0200)]
usb: add usb_update_pipe()

Preparation for better xhci support: allows to notify host controllers
instead of going through a free+alloc cycle.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agouas: add (temporary) superspeed stopgap
Gerd Hoffmann [Thu, 13 Jun 2013 12:23:08 +0000 (14:23 +0200)]
uas: add (temporary) superspeed stopgap

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
11 years agoAdd qemu detection to csm
Gerd Hoffmann [Tue, 3 Sep 2013 09:52:13 +0000 (11:52 +0200)]
Add qemu detection to csm

Add a qemu_preinit() call to csm initialization,
so PF_QEMU gets set when running on qemu.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>