mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
qtest/ahci: add ahci_write_fis
Similar to ahci_set_command_header, add a helper that takes an in-memory representation of a command FIS and writes it to guest memory, handling endianness as-needed. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1423158090-25580-11-git-send-email-jsnow@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
36e367261c
commit
52515766f1
3 changed files with 17 additions and 2 deletions
|
@ -464,6 +464,20 @@ void ahci_destroy_command(AHCIQState *ahci, uint8_t port, uint8_t slot)
|
|||
ahci->port[port].prdtl[slot] = 0;
|
||||
}
|
||||
|
||||
void ahci_write_fis(AHCIQState *ahci, RegH2DFIS *fis, uint64_t addr)
|
||||
{
|
||||
RegH2DFIS tmp = *fis;
|
||||
|
||||
/* The auxiliary FIS fields are defined per-command and are not
|
||||
* currently implemented in libqos/ahci.o, but may or may not need
|
||||
* to be flipped. */
|
||||
|
||||
/* All other FIS fields are 8 bit and do not need to be flipped. */
|
||||
tmp.count = cpu_to_le16(tmp.count);
|
||||
|
||||
memwrite(addr, &tmp, sizeof(tmp));
|
||||
}
|
||||
|
||||
unsigned ahci_pick_cmd(AHCIQState *ahci, uint8_t port)
|
||||
{
|
||||
unsigned i;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue