Statistics
| Branch: | Revision:

root / hw / ide / ahci.c @ 1f56e32a

History | View | Annotate | Download (31.4 kB)

# Date Author Comment
4d29b50a 05/18/2011 03:38 pm Jan Kiszka

ahci: Fix crashes on duplicate BH registration

If ahci_dma_set_inactive is called a while there is still a pending BH
from a previous run, we will crash on the second run of
ahci_check_cmd_bh as it overwrites AHCIDevice::check_bh. Avoid this
broken and redundant duplicate registration....

667bb59d 04/07/2011 01:56 pm Avi Kivity

ich/ahci: convert to pci_register_bar_simple()

Signed-off-by: Avi Kivity <>
Signed-off-by: Michael S. Tsirkin <>

2c4b9d0e 02/07/2011 12:40 pm Alexander Graf

ahci: make number of ports runtime determined

Different AHCI controllers have a different number of ports, so the core
shouldn't care about the amount of ports available.

This patch makes the number of ports available to the AHCI core runtime
configurable, allowing us to have multiple different AHCI implementations...

760c3e44 02/07/2011 12:38 pm Alexander Graf

ahci: Implement HBA reset

The ahci code was missing its soft reset functionality. This wasn't really an
issue for Linux guests, but Windows gets confused when the controller doesn't
reset when it tells it so.

Using this patch I can now successfully boot Windows 7 from AHCI using AHCI...

87e62065 02/07/2011 12:38 pm Alexander Graf

ahci: send init d2h fis on fis enable

The drive sends a d2h init fis on initialization. Usually, the guest doesn't
receive fises yet at that point though, so the delivery is deferred.

Let's reflect that by sending the init fis on fis receive enablement....

7fb6577b 02/07/2011 12:37 pm Alexander Graf

ahci: split ICH and AHCI even more

Sebastian's patch already did a pretty good job at splitting up ICH-9
AHCI code and the AHCI core. We need some more though. Copyright was missing,
the lspci dump belongs to ICH-9, we don't need the AHCI core to have its...

03c7a6a8 02/07/2011 12:14 pm Sebastian Herbszt

ahci: split ICH9 from core

There are multiple ahci devices out there. The currently implemented ich-9
is only one of the many. So let's split that one out into a separate file
to stress the difference.

Signed-off-by: Sebastian Herbszt <>
Signed-off-by: Alexander Graf <>...

27d6bf40 01/31/2011 11:42 am Markus Armbruster

blockdev: Fix regression in -drive if=scsi,index=N

Before commit 622b520f, index=12 meant bus=1,unit=5.

Since the commit, it means bus=0,unit=12. The drive is created, but
not the guest device. That's because the controllers we use with
if=scsi drives (lsi53c895a and esp) support only 7 units, and...

fe6ceac8 01/31/2011 11:03 am Stefan Hajnoczi

ahci: Fix cpu_physical_memory_unmap() argument ordering

The len and is_write arguments to cpu_physical_memory_unmap() were
swapped. This patch changes calls to use the correct argument ordering.

Signed-off-by: Stefan Hajnoczi <>...

cdfe17df 12/19/2010 12:43 pm Blue Swirl

ahci: delete write-only variables (v2)

Avoid these warnings with GCC 4.6.0:
/src/qemu/hw/ide/ahci.c: In function 'ahci_reset_port':
/src/qemu/hw/ide/ahci.c:810:14: error: variable 'tfd' set but not used [-Werror=unused-but-set-variable]
/src/qemu/hw/ide/ahci.c: In function 'handle_cmd':...

38a08f05 12/17/2010 05:11 pm Sebastian Herbszt

ahci: set SATA Mode Select

Set SATA Mode Select to AHCI in the Address Map Register.

Signed-off-by: Sebastian Herbszt <>
Signed-off-by: Kevin Wolf <>

f6ad2e32 12/17/2010 05:11 pm Alexander Graf

ahci: add ahci emulation

This patch adds an emulation layer for an ICH-9 AHCI controller. For now
this controller does not do IDE legacy emulation. It is a pure AHCI controller.

Signed-off-by: Alexander Graf <>
Signed-off-by: Kevin Wolf <>