From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53267) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YnEss-00062G-WA for qemu-devel@nongnu.org; Tue, 28 Apr 2015 19:25:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YnEsq-00035g-KE for qemu-devel@nongnu.org; Tue, 28 Apr 2015 19:25:46 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53987) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YnEsq-00035Y-Br for qemu-devel@nongnu.org; Tue, 28 Apr 2015 19:25:44 -0400 From: John Snow Date: Tue, 28 Apr 2015 19:25:31 -0400 Message-Id: <1430263537-7786-5-git-send-email-jsnow@redhat.com> In-Reply-To: <1430263537-7786-1-git-send-email-jsnow@redhat.com> References: <1430263537-7786-1-git-send-email-jsnow@redhat.com> Subject: [Qemu-devel] [PULL 04/10] qtest/ahci: Add simple flush test List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, jsnow@redhat.com Signed-off-by: John Snow Message-id: 1426018503-821-2-git-send-email-jsnow@redhat.com --- tests/ahci-test.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/ahci-test.c b/tests/ahci-test.c index 6686242..4a5c788 100644 --- a/tests/ahci-test.c +++ b/tests/ahci-test.c @@ -797,6 +797,29 @@ static void ahci_test_io_rw_simple(AHCIQState *ahci, unsigned bufsize, g_free(rx); } +static void ahci_test_nondata(AHCIQState *ahci, uint8_t ide_cmd) +{ + uint8_t px; + AHCICommand *cmd; + + /* Sanitize */ + px = ahci_port_select(ahci); + ahci_port_clear(ahci, px); + + /* Issue Command */ + cmd = ahci_command_create(ide_cmd); + ahci_command_commit(ahci, cmd, px); + ahci_command_issue(ahci, cmd); + ahci_command_verify(ahci, cmd); + ahci_command_free(cmd); +} + +static void ahci_test_flush(AHCIQState *ahci) +{ + ahci_test_nondata(ahci, CMD_FLUSH_CACHE); +} + + /******************************************************************************/ /* Test Interfaces */ /******************************************************************************/ @@ -931,6 +954,15 @@ static void test_dma_fragmented(void) g_free(tx); } +static void test_flush(void) +{ + AHCIQState *ahci; + + ahci = ahci_boot_and_enable(); + ahci_test_flush(ahci); + ahci_shutdown(ahci); +} + /******************************************************************************/ /* AHCI I/O Test Matrix Definitions */ @@ -1171,6 +1203,8 @@ int main(int argc, char **argv) qtest_add_func("/ahci/io/dma/lba28/fragmented", test_dma_fragmented); + qtest_add_func("/ahci/flush/simple", test_flush); + ret = g_test_run(); /* Cleanup */ -- 2.1.0