mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
tests: Don't assume structure of PCI IO base in ahci-test
In a couple of places ahci-test makes assumptions about how the tokens returned from qpci_iomap() are formatted in ways it probably shouldn't. First in verify_state() it uses a non-NULL token to indicate that the AHCI device has been enabled (part of enabling is to iomap()). This changes it to use an explicit 'enabled' flag instead. Second, it uses the fact that the token contains a PCI address, stored when the BAR is mapped during initialization to check that the BAR has the same value after a migration. This changes it to explicitly read the BAR register before and after the migration and compare. Together, these changes will make the test more robust against changes to the internals of the libqos PCI layer. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: John Snow <jsnow@redhat.com> Reviewed-by: Greg Kurz <groug@kaod.org>
This commit is contained in:
parent
204e54b86d
commit
e7c8526b2a
3 changed files with 9 additions and 6 deletions
|
@ -351,6 +351,7 @@ void ahci_hba_enable(AHCIQState *ahci)
|
|||
reg = ahci_rreg(ahci, AHCI_GHC);
|
||||
ASSERT_BIT_SET(reg, AHCI_GHC_IE);
|
||||
|
||||
ahci->enabled = true;
|
||||
/* TODO: The device should now be idling and waiting for commands.
|
||||
* In the future, a small test-case to inspect the Register D2H FIS
|
||||
* and clear the initial interrupts might be good. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue