#
3161906d |
| 08-Dec-2017 |
John Snow <jsnow@redhat.com> |
hw/ide: Remove duplicated definitions from ahci_internal.h
The same definitions can also be found in include/hw/ide/ahci.h so let's remove these #defines from ahci_internal.h.
Signed-off-by: Thomas
hw/ide: Remove duplicated definitions from ahci_internal.h
The same definitions can also be found in include/hw/ide/ahci.h so let's remove these #defines from ahci_internal.h.
Signed-off-by: Thomas Huth <thuth@redhat.com> Message-id: 1512457825-3847-1-git-send-email-thuth@redhat.com [Maintainer edit: publicize object names, privatize object macros.] Signed-off-by: John Snow <jsnow@redhat.com>
show more ...
|
#
70e23370 |
| 18-Jul-2017 |
John Snow <jsnow@redhat.com> |
ahci: split public and private interface
Complete the split by renaming ahci_public.h --> ahci.h and moving the current ahci.h to hw/ide/ahci_internal.h.
Adjust ahci_internal.h to now load ahci.h i
ahci: split public and private interface
Complete the split by renaming ahci_public.h --> ahci.h and moving the current ahci.h to hw/ide/ahci_internal.h.
Adjust ahci_internal.h to now load ahci.h instead of ahci_public.h.
Finalize the split by switching external users to the new header.
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-id: 20170623220926.11479-4-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
show more ...
|
#
5402fda5 |
| 18-Jul-2017 |
John Snow <jsnow@redhat.com> |
ahci: Isolate public AHCI interface
Begin separating the public/private interface by removing the minimum set of information used by code outside of hw/ide/ and calling this a new ahci_public.h file
ahci: Isolate public AHCI interface
Begin separating the public/private interface by removing the minimum set of information used by code outside of hw/ide/ and calling this a new ahci_public.h file, which will be renamed to ahci.h in a future patch.
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-id: 20170623220926.11479-3-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
show more ...
|
#
bbe3179a |
| 18-Jul-2017 |
John Snow <jsnow@redhat.com> |
ahci: add ahci_get_num_ports
Instead of reaching into the PCI state, allow the AHCIDevice to respond with how many ports it has.
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Philippe Ma
ahci: add ahci_get_num_ports
Instead of reaching into the PCI state, allow the AHCIDevice to respond with how many ports it has.
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-id: 20170623220926.11479-2-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
show more ...
|
#
a9c94277 |
| 22-Jun-2016 |
Markus Armbruster <armbru@redhat.com> |
Use #include "..." for our own headers, <...> for others
Tracked down with an ugly, brittle and probably buggy Perl script.
Also move includes converted to <...> up so they get included before ours
Use #include "..." for our own headers, <...> for others
Tracked down with an ugly, brittle and probably buggy Perl script.
Also move includes converted to <...> up so they get included before ours where that's obviously okay.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Tested-by: Eric Blake <eblake@redhat.com> Reviewed-by: Richard Henderson <rth@twiddle.net>
show more ...
|
#
e8ad4d16 |
| 22-Jun-2016 |
Efimov Vasily <real@ispras.ru> |
ide: move headers to include folder
The patch moves "hw/ide/achi.h", "hw/ide/pci.h" and "hw/ide/internal.h" headers to corresponding folders inside "include" folder alike other Qemu headers.
Signed
ide: move headers to include folder
The patch moves "hw/ide/achi.h", "hw/ide/pci.h" and "hw/ide/internal.h" headers to corresponding folders inside "include" folder alike other Qemu headers.
Signed-off-by: Efimov Vasily <real@ispras.ru> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
377e2145 |
| 06-Nov-2015 |
Peter Crosthwaite <crosthwaitepeter@gmail.com> |
ahci: Add allwinner AHCI
Add a Sysbus AHCI subclass for the Allwinner AHCI. It has a few extra vendor specific registers which are used for phy and power init.
Signed-off-by: Peter Crosthwaite <cro
ahci: Add allwinner AHCI
Add a Sysbus AHCI subclass for the Allwinner AHCI. It has a few extra vendor specific registers which are used for phy and power init.
Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> Reviewed-by: John Snow <jsnow@redhat.com> Message-id: 833b5b05ed5ade38bf69656679b0a7575e79492b.1445917756.git.crosthwaite.peter@gmail.com [resolved patch context on pull --js] Signed-off-by: John Snow <jsnow@redhat.com>
show more ...
|
#
0487eea4 |
| 06-Nov-2015 |
Peter Crosthwaite <crosthwaitepeter@gmail.com> |
ahci: split realize and init
Do the init level tasks asap and the realize later (mainly when num_ports is available). This allows sub-class realize routines to work with the device post-init.
Signe
ahci: split realize and init
Do the init level tasks asap and the realize later (mainly when num_ports is available). This allows sub-class realize routines to work with the device post-init.
Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> Reviewed-by: John Snow <jsnow@redhat.com> Message-id: 1a7c7b2b32e5ccf49373a5065da5ece89730d3ac.1445917756.git.crosthwaite.peter@gmail.com Signed-off-by: John Snow <jsnow@redhat.com>
show more ...
|
#
bb639f82 |
| 08-Sep-2015 |
Alistair Francis <alistair.francis@xilinx.com> |
ahci.c: Don't assume AHCIState's parent is AHCIPCIState
The AHCIState struct can either have AHCIPCIState or SysbusAHCIState as a parent. The ahci_irq_lower() and ahci_irq_raise() functions assume t
ahci.c: Don't assume AHCIState's parent is AHCIPCIState
The AHCIState struct can either have AHCIPCIState or SysbusAHCIState as a parent. The ahci_irq_lower() and ahci_irq_raise() functions assume that it is always AHCIPCIState, which is not always the case, which causes a seg fault. Verify what the container of AHCIState is before setting the PCIDevice struct.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Acked-by: John Snow <jsnow@redhat.com> Reviewed-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
5ea8b9c5 |
| 08-Sep-2015 |
Alistair Francis <alistair.francis@xilinx.com> |
ahci: Separate the AHCI state structure into the header
Pull the AHCI state structure out into the header. This allows other containers to access the struct. This is required to add the device to mo
ahci: Separate the AHCI state structure into the header
Pull the AHCI state structure out into the header. This allows other containers to access the struct. This is required to add the device to modern SoC containers.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Reviewed-by: Sai Pavan Boddu <saipava@xilinx.com> Reviewed-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
91ced514 |
| 21-Jul-2015 |
John Snow <jsnow@redhat.com> |
ahci: fix ICC mask definition
There are likely others that could be updated, but we'll go with a light touch for 2.4 for now.
Without the Unsigned specifier, this shifts bits into the signed bit, w
ahci: fix ICC mask definition
There are likely others that could be updated, but we'll go with a light touch for 2.4 for now.
Without the Unsigned specifier, this shifts bits into the signed bit, which makes clang unhappy and could cause unwanted behavior.
Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: John Snow <jsnow@redhat.com> Message-id: 1437501721-24495-1-git-send-email-jsnow@redhat.com
show more ...
|
#
702c8c8b |
| 06-Jul-2015 |
Hannes Reinecke <hare@suse.de> |
ahci: Fix CD-ROM signature
The CD-ROM signature is 0xeb140101, not 0xeb140000. Without this change OVMF/Duet runs into a timeout trying to detect a SATA cdrom.
Signed-off-by: Hannes Reinecke <hare@
ahci: Fix CD-ROM signature
The CD-ROM signature is 0xeb140101, not 0xeb140000. Without this change OVMF/Duet runs into a timeout trying to detect a SATA cdrom.
Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Message-id: 1436219392-31915-2-git-send-email-jsnow@redhat.com
show more ...
|
#
c82bd3c8 |
| 04-Jul-2015 |
John Snow <jsnow@redhat.com> |
ahci: add cmd header to ncq transfer state
While the rest of the AHCI device can rely on a single bookmarked pointer for the AHCI Command Header currently being processed, NCQ is asynchronous and ma
ahci: add cmd header to ncq transfer state
While the rest of the AHCI device can rely on a single bookmarked pointer for the AHCI Command Header currently being processed, NCQ is asynchronous and may have many commands in flight simultaneously.
Add a cmdh pointer to the ncq_tfs object and make the sglist prepare function take an AHCICmdHeader pointer so we can be explicit about where we'd like to build SGlists from.
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1435767578-32743-11-git-send-email-jsnow@redhat.com
show more ...
|
#
e08a9835 |
| 04-Jul-2015 |
John Snow <jsnow@redhat.com> |
ahci: correct ncq sector count
uint16_t isn't enough to hold the real sector count, since a value of zero implies a full 64K sectors, so we need a uint32_t here.
We *could* cheat and pretend that t
ahci: correct ncq sector count
uint16_t isn't enough to hold the real sector count, since a value of zero implies a full 64K sectors, so we need a uint32_t here.
We *could* cheat and pretend that this value is 0-based and fit it in a uint16_t, but I'd rather waste 2 bytes instead of a future dev's 10 minutes when they forget to +1/-1 accordingly somewhere.
See SATA 3.2, section 13.6.4.1 "READ FPDMA QUEUED".
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1435767578-32743-9-git-send-email-jsnow@redhat.com
show more ...
|
#
9364384d |
| 04-Jul-2015 |
John Snow <jsnow@redhat.com> |
ahci: correct types in NCQTransferState
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1435767578-32743-8-git-send-email-jsnow@redhat.com
|
#
7c03a691 |
| 04-Jul-2015 |
John Snow <jsnow@redhat.com> |
ahci: add rwerror=stop support for ncq
Handle NCQ failures for cases where we want to halt the VM on IO errors. Upon a VM state change, retry the halted NCQ commands.
Signed-off-by: John Snow <jsno
ahci: add rwerror=stop support for ncq
Handle NCQ failures for cases where we want to halt the VM on IO errors. Upon a VM state change, retry the halted NCQ commands.
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1435767578-32743-7-git-send-email-jsnow@redhat.com
show more ...
|
#
4614619e |
| 04-Jul-2015 |
John Snow <jsnow@redhat.com> |
ahci: stash ncq command
For migration and werror=stop/rerror=stop resume purposes, it will be convenient to have the command handy inside of ncq_tfs.
Eventually, we'd like to avoid reading from the
ahci: stash ncq command
For migration and werror=stop/rerror=stop resume purposes, it will be convenient to have the command handy inside of ncq_tfs.
Eventually, we'd like to avoid reading from the FIS entirely after the initial read, so this is a byte (hah!) sized step in that direction.
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1435767578-32743-3-git-send-email-jsnow@redhat.com
show more ...
|
#
d56f4d69 |
| 04-Jul-2015 |
John Snow <jsnow@redhat.com> |
ahci: separate prdtl from opts
There's no real reason to have it bundled together, and this way is a little nicer to follow if you have the AHCI spec pulled up.
Signed-off-by: John Snow <jsnow@redh
ahci: separate prdtl from opts
There's no real reason to have it bundled together, and this way is a little nicer to follow if you have the AHCI spec pulled up.
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1435016308-6150-6-git-send-email-jsnow@redhat.com
show more ...
|
#
7763ed15 |
| 04-Jul-2015 |
John Snow <jsnow@redhat.com> |
ahci: Rename NCQFIS structure fields
Several fields of the NCQFIS structure are ambiguously named. This patch clarifies the intended (if unsupported) usage of the NCQ fields to aid in creating more
ahci: Rename NCQFIS structure fields
Several fields of the NCQFIS structure are ambiguously named. This patch clarifies the intended (if unsupported) usage of the NCQ fields to aid in creating more meaningful debug messages through the NCQ codepaths.
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1435016308-6150-2-git-send-email-jsnow@redhat.com
show more ...
|
#
fc3d8e11 |
| 27-Mar-2015 |
John Snow <jsnow@redhat.com> |
AHCI: Protect cmd register
Many bits in the CMD register are supposed to be strictly read-only. We should not be deleting them on every write.
As a side-effect: pay explicit attention to when a gue
AHCI: Protect cmd register
Many bits in the CMD register are supposed to be strictly read-only. We should not be deleting them on every write.
As a side-effect: pay explicit attention to when a guest marks off the FIS Receive or Start bits, and disable the status bits ourselves, instead of letting them implicitly fall off.
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1426283454-15590-3-git-send-email-jsnow@redhat.com
show more ...
|
#
17fcb74a |
| 13-Nov-2014 |
Stefan Hajnoczi <stefanha@redhat.com> |
ahci: replace SATA FIS type magic numbers with constants
SATA 3.0 "10.3.1 FIS Type values" defines the constants used to differentiate between FIS types.
Signed-off-by: Stefan Hajnoczi <stefanha@re
ahci: replace SATA FIS type magic numbers with constants
SATA 3.0 "10.3.1 FIS Type values" defines the constants used to differentiate between FIS types.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com> Message-id: 1415874281-7371-3-git-send-email-stefanha@redhat.com Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
72a065db |
| 03-Nov-2014 |
John Snow <jsnow@redhat.com> |
ahci: add is_ncq predicate helper
A small helper to determine which S/ATA commands are destined to be routed to the NCQ pathways.
This references SATA 3.2 section 13.6, Native Command Queueing. See
ahci: add is_ncq predicate helper
A small helper to determine which S/ATA commands are destined to be routed to the NCQ pathways.
This references SATA 3.2 section 13.6, Native Command Queueing. See sections 13.6.4, 13.6.5, 13.6.6, 13.6.7 and 13.6.8 for all SATA commands considered to be part of the NCQ feature set. This is summarized in a small list in section 13.6.3.1 and again in 13.6.3.2.
Not all of these NCQ commands are currently supported, so the error pathways are adjusted slightly to be more informative in the case they are encountered.
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1415058979-16604-2-git-send-email-jsnow@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
54a7f8f3 |
| 01-Oct-2014 |
John Snow <jsnow@redhat.com> |
ahci: Fix SDB FIS Construction
The SDB FIS creation was mangled; We were writing the error byte to byte 0, and omitting the SDB FIS magic byte.
Though the SDB packet layout states that: byte 0: Mus
ahci: Fix SDB FIS Construction
The SDB FIS creation was mangled; We were writing the error byte to byte 0, and omitting the SDB FIS magic byte.
Though the SDB packet layout states that: byte 0: Must be 0xA1 to indicate SDB FIS. byte 1: Port multiplier select & other flags byte 2: status byte. byte 3: error byte.
This patch adds an SDB FIS structure with human-readable names, and ensures that we are filling the structure appropriately.
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Tested-by: Michael S. Tsirkin <mst@redhat.com> Message-id: 1412204151-18117-7-git-send-email-jsnow@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
7c84b1b8 |
| 07-Oct-2014 |
Markus Armbruster <armbru@redhat.com> |
block: Rename BlockDriverAIOCB* to BlockAIOCB*
I'll use BlockDriverAIOCB with block backends shortly, and the name is going to fit badly there. It's a block layer thing anyway, not just a block dri
block: Rename BlockDriverAIOCB* to BlockAIOCB*
I'll use BlockDriverAIOCB with block backends shortly, and the name is going to fit badly there. It's a block layer thing anyway, not just a block driver thing.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
show more ...
|
#
d93162e1 |
| 01-Oct-2014 |
John Snow <jsnow@redhat.com> |
q35/ahci: Pick up -cdrom and -hda options
This patch implements the backend for the Q35 board for us to be able to pick up and use drives defined by the -cdrom, -hda, or -drive if=ide shorthand opti
q35/ahci: Pick up -cdrom and -hda options
This patch implements the backend for the Q35 board for us to be able to pick up and use drives defined by the -cdrom, -hda, or -drive if=ide shorthand options.
Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Message-id: 1412187569-23452-7-git-send-email-jsnow@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|