|
@@ -796,11 +796,13 @@ static void cdrom_pio_impl(int nblocks)
|
|
int i, j;
|
|
int i, j;
|
|
uint8_t data;
|
|
uint8_t data;
|
|
uint16_t limit;
|
|
uint16_t limit;
|
|
|
|
+ size_t ret;
|
|
|
|
|
|
/* Prepopulate the CDROM with an interesting pattern */
|
|
/* Prepopulate the CDROM with an interesting pattern */
|
|
generate_pattern(pattern, patt_len, ATAPI_BLOCK_SIZE);
|
|
generate_pattern(pattern, patt_len, ATAPI_BLOCK_SIZE);
|
|
fh = fopen(tmp_path, "w+");
|
|
fh = fopen(tmp_path, "w+");
|
|
- fwrite(pattern, ATAPI_BLOCK_SIZE, patt_blocks, fh);
|
|
|
|
|
|
+ ret = fwrite(pattern, ATAPI_BLOCK_SIZE, patt_blocks, fh);
|
|
|
|
+ g_assert_cmpint(ret, ==, patt_blocks);
|
|
fclose(fh);
|
|
fclose(fh);
|
|
|
|
|
|
ide_test_start("-drive if=none,file=%s,media=cdrom,format=raw,id=sr0,index=0 "
|
|
ide_test_start("-drive if=none,file=%s,media=cdrom,format=raw,id=sr0,index=0 "
|
|
@@ -880,6 +882,7 @@ static void test_cdrom_pio_large(void)
|
|
static void test_cdrom_dma(void)
|
|
static void test_cdrom_dma(void)
|
|
{
|
|
{
|
|
static const size_t len = ATAPI_BLOCK_SIZE;
|
|
static const size_t len = ATAPI_BLOCK_SIZE;
|
|
|
|
+ size_t ret;
|
|
char *pattern = g_malloc(ATAPI_BLOCK_SIZE * 16);
|
|
char *pattern = g_malloc(ATAPI_BLOCK_SIZE * 16);
|
|
char *rx = g_malloc0(len);
|
|
char *rx = g_malloc0(len);
|
|
uintptr_t guest_buf;
|
|
uintptr_t guest_buf;
|
|
@@ -896,7 +899,8 @@ static void test_cdrom_dma(void)
|
|
|
|
|
|
generate_pattern(pattern, ATAPI_BLOCK_SIZE * 16, ATAPI_BLOCK_SIZE);
|
|
generate_pattern(pattern, ATAPI_BLOCK_SIZE * 16, ATAPI_BLOCK_SIZE);
|
|
fh = fopen(tmp_path, "w+");
|
|
fh = fopen(tmp_path, "w+");
|
|
- fwrite(pattern, ATAPI_BLOCK_SIZE, 16, fh);
|
|
|
|
|
|
+ ret = fwrite(pattern, ATAPI_BLOCK_SIZE, 16, fh);
|
|
|
|
+ g_assert_cmpint(ret, ==, 16);
|
|
fclose(fh);
|
|
fclose(fh);
|
|
|
|
|
|
send_dma_request(CMD_PACKET, 0, 1, prdt, 1, send_scsi_cdb_read10);
|
|
send_dma_request(CMD_PACKET, 0, 1, prdt, 1, send_scsi_cdb_read10);
|