mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 11:39:53 +00:00
spapr: Rename 'dprintf' to 'DPRINTF'
'dprintf' is the name of a POSIX standard function so we should not be stealing it for our debug macro. Rename to 'DPRINTF' (in line with a number of other source files.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Andreas Färber <afaerber@suse.de> Reviewed-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> Acked-by: Richard Henderson <rth@twiddle.net> Acked-by: Kevin Wolf <kwolf@redhat.com> Message-id: 1375100199-13934-5-git-send-email-peter.maydell@linaro.org Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
da56ff9198
commit
f6bda9cb99
@ -38,9 +38,9 @@
|
|||||||
/*#define DEBUG*/
|
/*#define DEBUG*/
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#define dprintf(fmt...) do { fprintf(stderr, fmt); } while (0)
|
#define DPRINTF(fmt...) do { fprintf(stderr, fmt); } while (0)
|
||||||
#else
|
#else
|
||||||
#define dprintf(fmt...)
|
#define DPRINTF(fmt...)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -105,7 +105,7 @@ static ssize_t spapr_vlan_receive(NetClientState *nc, const uint8_t *buf,
|
|||||||
uint64_t handle;
|
uint64_t handle;
|
||||||
uint8_t control;
|
uint8_t control;
|
||||||
|
|
||||||
dprintf("spapr_vlan_receive() [%s] rx_bufs=%d\n", sdev->qdev.id,
|
DPRINTF("spapr_vlan_receive() [%s] rx_bufs=%d\n", sdev->qdev.id,
|
||||||
dev->rx_bufs);
|
dev->rx_bufs);
|
||||||
|
|
||||||
if (!dev->isopen) {
|
if (!dev->isopen) {
|
||||||
@ -123,7 +123,7 @@ static ssize_t spapr_vlan_receive(NetClientState *nc, const uint8_t *buf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
bd = vio_ldq(sdev, dev->buf_list + buf_ptr);
|
bd = vio_ldq(sdev, dev->buf_list + buf_ptr);
|
||||||
dprintf("use_buf_ptr=%d bd=0x%016llx\n",
|
DPRINTF("use_buf_ptr=%d bd=0x%016llx\n",
|
||||||
buf_ptr, (unsigned long long)bd);
|
buf_ptr, (unsigned long long)bd);
|
||||||
} while ((!(bd & VLAN_BD_VALID) || (VLAN_BD_LEN(bd) < (size + 8)))
|
} while ((!(bd & VLAN_BD_VALID) || (VLAN_BD_LEN(bd) < (size + 8)))
|
||||||
&& (buf_ptr != dev->use_buf_ptr));
|
&& (buf_ptr != dev->use_buf_ptr));
|
||||||
@ -138,14 +138,14 @@ static ssize_t spapr_vlan_receive(NetClientState *nc, const uint8_t *buf,
|
|||||||
dev->use_buf_ptr = buf_ptr;
|
dev->use_buf_ptr = buf_ptr;
|
||||||
vio_stq(sdev, dev->buf_list + dev->use_buf_ptr, 0);
|
vio_stq(sdev, dev->buf_list + dev->use_buf_ptr, 0);
|
||||||
|
|
||||||
dprintf("Found buffer: ptr=%d num=%d\n", dev->use_buf_ptr, dev->rx_bufs);
|
DPRINTF("Found buffer: ptr=%d num=%d\n", dev->use_buf_ptr, dev->rx_bufs);
|
||||||
|
|
||||||
/* Transfer the packet data */
|
/* Transfer the packet data */
|
||||||
if (spapr_vio_dma_write(sdev, VLAN_BD_ADDR(bd) + 8, buf, size) < 0) {
|
if (spapr_vio_dma_write(sdev, VLAN_BD_ADDR(bd) + 8, buf, size) < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
dprintf("spapr_vlan_receive: DMA write completed\n");
|
DPRINTF("spapr_vlan_receive: DMA write completed\n");
|
||||||
|
|
||||||
/* Update the receive queue */
|
/* Update the receive queue */
|
||||||
control = VLAN_RXQC_TOGGLE | VLAN_RXQC_VALID;
|
control = VLAN_RXQC_TOGGLE | VLAN_RXQC_VALID;
|
||||||
@ -159,7 +159,7 @@ static ssize_t spapr_vlan_receive(NetClientState *nc, const uint8_t *buf,
|
|||||||
vio_sth(sdev, VLAN_BD_ADDR(rxq_bd) + dev->rxq_ptr + 2, 8);
|
vio_sth(sdev, VLAN_BD_ADDR(rxq_bd) + dev->rxq_ptr + 2, 8);
|
||||||
vio_stb(sdev, VLAN_BD_ADDR(rxq_bd) + dev->rxq_ptr, control);
|
vio_stb(sdev, VLAN_BD_ADDR(rxq_bd) + dev->rxq_ptr, control);
|
||||||
|
|
||||||
dprintf("wrote rxq entry (ptr=0x%llx): 0x%016llx 0x%016llx\n",
|
DPRINTF("wrote rxq entry (ptr=0x%llx): 0x%016llx 0x%016llx\n",
|
||||||
(unsigned long long)dev->rxq_ptr,
|
(unsigned long long)dev->rxq_ptr,
|
||||||
(unsigned long long)vio_ldq(sdev, VLAN_BD_ADDR(rxq_bd) +
|
(unsigned long long)vio_ldq(sdev, VLAN_BD_ADDR(rxq_bd) +
|
||||||
dev->rxq_ptr),
|
dev->rxq_ptr),
|
||||||
@ -374,7 +374,7 @@ static target_ulong h_add_logical_lan_buffer(PowerPCCPU *cpu,
|
|||||||
VIOsPAPRVLANDevice *dev = VIO_SPAPR_VLAN_DEVICE(sdev);
|
VIOsPAPRVLANDevice *dev = VIO_SPAPR_VLAN_DEVICE(sdev);
|
||||||
vlan_bd_t bd;
|
vlan_bd_t bd;
|
||||||
|
|
||||||
dprintf("H_ADD_LOGICAL_LAN_BUFFER(0x" TARGET_FMT_lx
|
DPRINTF("H_ADD_LOGICAL_LAN_BUFFER(0x" TARGET_FMT_lx
|
||||||
", 0x" TARGET_FMT_lx ")\n", reg, buf);
|
", 0x" TARGET_FMT_lx ")\n", reg, buf);
|
||||||
|
|
||||||
if (!sdev) {
|
if (!sdev) {
|
||||||
@ -405,7 +405,7 @@ static target_ulong h_add_logical_lan_buffer(PowerPCCPU *cpu,
|
|||||||
|
|
||||||
dev->rx_bufs++;
|
dev->rx_bufs++;
|
||||||
|
|
||||||
dprintf("h_add_logical_lan_buffer(): Added buf ptr=%d rx_bufs=%d"
|
DPRINTF("h_add_logical_lan_buffer(): Added buf ptr=%d rx_bufs=%d"
|
||||||
" bd=0x%016llx\n", dev->add_buf_ptr, dev->rx_bufs,
|
" bd=0x%016llx\n", dev->add_buf_ptr, dev->rx_bufs,
|
||||||
(unsigned long long)buf);
|
(unsigned long long)buf);
|
||||||
|
|
||||||
@ -425,14 +425,14 @@ static target_ulong h_send_logical_lan(PowerPCCPU *cpu, sPAPREnvironment *spapr,
|
|||||||
int i, nbufs;
|
int i, nbufs;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
dprintf("H_SEND_LOGICAL_LAN(0x" TARGET_FMT_lx ", <bufs>, 0x"
|
DPRINTF("H_SEND_LOGICAL_LAN(0x" TARGET_FMT_lx ", <bufs>, 0x"
|
||||||
TARGET_FMT_lx ")\n", reg, continue_token);
|
TARGET_FMT_lx ")\n", reg, continue_token);
|
||||||
|
|
||||||
if (!sdev) {
|
if (!sdev) {
|
||||||
return H_PARAMETER;
|
return H_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
dprintf("rxbufs = %d\n", dev->rx_bufs);
|
DPRINTF("rxbufs = %d\n", dev->rx_bufs);
|
||||||
|
|
||||||
if (!dev->isopen) {
|
if (!dev->isopen) {
|
||||||
return H_DROPPED;
|
return H_DROPPED;
|
||||||
@ -444,7 +444,7 @@ static target_ulong h_send_logical_lan(PowerPCCPU *cpu, sPAPREnvironment *spapr,
|
|||||||
|
|
||||||
total_len = 0;
|
total_len = 0;
|
||||||
for (i = 0; i < 6; i++) {
|
for (i = 0; i < 6; i++) {
|
||||||
dprintf(" buf desc: 0x" TARGET_FMT_lx "\n", bufs[i]);
|
DPRINTF(" buf desc: 0x" TARGET_FMT_lx "\n", bufs[i]);
|
||||||
if (!(bufs[i] & VLAN_BD_VALID)) {
|
if (!(bufs[i] & VLAN_BD_VALID)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -452,7 +452,7 @@ static target_ulong h_send_logical_lan(PowerPCCPU *cpu, sPAPREnvironment *spapr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
nbufs = i;
|
nbufs = i;
|
||||||
dprintf("h_send_logical_lan() %d buffers, total length 0x%x\n",
|
DPRINTF("h_send_logical_lan() %d buffers, total length 0x%x\n",
|
||||||
nbufs, total_len);
|
nbufs, total_len);
|
||||||
|
|
||||||
if (total_len == 0) {
|
if (total_len == 0) {
|
||||||
|
@ -39,10 +39,10 @@
|
|||||||
/* #define DEBUG_SPAPR */
|
/* #define DEBUG_SPAPR */
|
||||||
|
|
||||||
#ifdef DEBUG_SPAPR
|
#ifdef DEBUG_SPAPR
|
||||||
#define dprintf(fmt, ...) \
|
#define DPRINTF(fmt, ...) \
|
||||||
do { fprintf(stderr, fmt, ## __VA_ARGS__); } while (0)
|
do { fprintf(stderr, fmt, ## __VA_ARGS__); } while (0)
|
||||||
#else
|
#else
|
||||||
#define dprintf(fmt, ...) \
|
#define DPRINTF(fmt, ...) \
|
||||||
do { } while (0)
|
do { } while (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -201,7 +201,7 @@ static target_ulong h_reg_crq(PowerPCCPU *cpu, sPAPREnvironment *spapr,
|
|||||||
dev->crq.qsize = queue_len;
|
dev->crq.qsize = queue_len;
|
||||||
dev->crq.qnext = 0;
|
dev->crq.qnext = 0;
|
||||||
|
|
||||||
dprintf("CRQ for dev 0x" TARGET_FMT_lx " registered at 0x"
|
DPRINTF("CRQ for dev 0x" TARGET_FMT_lx " registered at 0x"
|
||||||
TARGET_FMT_lx "/0x" TARGET_FMT_lx "\n",
|
TARGET_FMT_lx "/0x" TARGET_FMT_lx "\n",
|
||||||
reg, queue_addr, queue_len);
|
reg, queue_addr, queue_len);
|
||||||
return H_SUCCESS;
|
return H_SUCCESS;
|
||||||
@ -213,7 +213,7 @@ static target_ulong free_crq(VIOsPAPRDevice *dev)
|
|||||||
dev->crq.qsize = 0;
|
dev->crq.qsize = 0;
|
||||||
dev->crq.qnext = 0;
|
dev->crq.qnext = 0;
|
||||||
|
|
||||||
dprintf("CRQ for dev 0x%" PRIx32 " freed\n", dev->reg);
|
DPRINTF("CRQ for dev 0x%" PRIx32 " freed\n", dev->reg);
|
||||||
|
|
||||||
return H_SUCCESS;
|
return H_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -45,10 +45,10 @@
|
|||||||
/*#define DEBUG_VSCSI*/
|
/*#define DEBUG_VSCSI*/
|
||||||
|
|
||||||
#ifdef DEBUG_VSCSI
|
#ifdef DEBUG_VSCSI
|
||||||
#define dprintf(fmt, ...) \
|
#define DPRINTF(fmt, ...) \
|
||||||
do { fprintf(stderr, fmt, ## __VA_ARGS__); } while (0)
|
do { fprintf(stderr, fmt, ## __VA_ARGS__); } while (0)
|
||||||
#else
|
#else
|
||||||
#define dprintf(fmt, ...) \
|
#define DPRINTF(fmt, ...) \
|
||||||
do { } while (0)
|
do { } while (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -218,7 +218,7 @@ static int vscsi_send_rsp(VSCSIState *s, vscsi_req *req,
|
|||||||
int total_len = sizeof(iu->srp.rsp);
|
int total_len = sizeof(iu->srp.rsp);
|
||||||
uint8_t sol_not = iu->srp.cmd.sol_not;
|
uint8_t sol_not = iu->srp.cmd.sol_not;
|
||||||
|
|
||||||
dprintf("VSCSI: Sending resp status: 0x%x, "
|
DPRINTF("VSCSI: Sending resp status: 0x%x, "
|
||||||
"res_in: %d, res_out: %d\n", status, res_in, res_out);
|
"res_in: %d, res_out: %d\n", status, res_in, res_out);
|
||||||
|
|
||||||
memset(iu, 0, sizeof(struct srp_rsp));
|
memset(iu, 0, sizeof(struct srp_rsp));
|
||||||
@ -279,13 +279,13 @@ static int vscsi_fetch_desc(VSCSIState *s, struct vscsi_req *req,
|
|||||||
|
|
||||||
switch (req->dma_fmt) {
|
switch (req->dma_fmt) {
|
||||||
case SRP_NO_DATA_DESC: {
|
case SRP_NO_DATA_DESC: {
|
||||||
dprintf("VSCSI: no data descriptor\n");
|
DPRINTF("VSCSI: no data descriptor\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
case SRP_DATA_DESC_DIRECT: {
|
case SRP_DATA_DESC_DIRECT: {
|
||||||
memcpy(ret, cmd->add_data + req->cdb_offset, sizeof(*ret));
|
memcpy(ret, cmd->add_data + req->cdb_offset, sizeof(*ret));
|
||||||
assert(req->cur_desc_num == 0);
|
assert(req->cur_desc_num == 0);
|
||||||
dprintf("VSCSI: direct segment\n");
|
DPRINTF("VSCSI: direct segment\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SRP_DATA_DESC_INDIRECT: {
|
case SRP_DATA_DESC_INDIRECT: {
|
||||||
@ -293,7 +293,7 @@ static int vscsi_fetch_desc(VSCSIState *s, struct vscsi_req *req,
|
|||||||
(cmd->add_data + req->cdb_offset);
|
(cmd->add_data + req->cdb_offset);
|
||||||
if (n < req->local_desc) {
|
if (n < req->local_desc) {
|
||||||
*ret = tmp->desc_list[n];
|
*ret = tmp->desc_list[n];
|
||||||
dprintf("VSCSI: indirect segment local tag=0x%x desc#%d/%d\n",
|
DPRINTF("VSCSI: indirect segment local tag=0x%x desc#%d/%d\n",
|
||||||
req->qtag, n, req->local_desc);
|
req->qtag, n, req->local_desc);
|
||||||
|
|
||||||
} else if (n < req->total_desc) {
|
} else if (n < req->total_desc) {
|
||||||
@ -302,21 +302,21 @@ static int vscsi_fetch_desc(VSCSIState *s, struct vscsi_req *req,
|
|||||||
unsigned desc_offset = n * sizeof(struct srp_direct_buf);
|
unsigned desc_offset = n * sizeof(struct srp_direct_buf);
|
||||||
|
|
||||||
if (desc_offset >= tbl_desc.len) {
|
if (desc_offset >= tbl_desc.len) {
|
||||||
dprintf("VSCSI: #%d is ouf of range (%d bytes)\n",
|
DPRINTF("VSCSI: #%d is ouf of range (%d bytes)\n",
|
||||||
n, desc_offset);
|
n, desc_offset);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
rc = spapr_vio_dma_read(&s->vdev, tbl_desc.va + desc_offset,
|
rc = spapr_vio_dma_read(&s->vdev, tbl_desc.va + desc_offset,
|
||||||
ret, sizeof(struct srp_direct_buf));
|
ret, sizeof(struct srp_direct_buf));
|
||||||
if (rc) {
|
if (rc) {
|
||||||
dprintf("VSCSI: spapr_vio_dma_read -> %d reading ext_desc\n",
|
DPRINTF("VSCSI: spapr_vio_dma_read -> %d reading ext_desc\n",
|
||||||
rc);
|
rc);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
dprintf("VSCSI: indirect segment ext. tag=0x%x desc#%d/%d { va=%"PRIx64" len=%x }\n",
|
DPRINTF("VSCSI: indirect segment ext. tag=0x%x desc#%d/%d { va=%"PRIx64" len=%x }\n",
|
||||||
req->qtag, n, req->total_desc, tbl_desc.va, tbl_desc.len);
|
req->qtag, n, req->total_desc, tbl_desc.va, tbl_desc.len);
|
||||||
} else {
|
} else {
|
||||||
dprintf("VSCSI: Out of descriptors !\n");
|
DPRINTF("VSCSI: Out of descriptors !\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -328,14 +328,14 @@ static int vscsi_fetch_desc(VSCSIState *s, struct vscsi_req *req,
|
|||||||
|
|
||||||
*ret = vscsi_swap_desc(*ret);
|
*ret = vscsi_swap_desc(*ret);
|
||||||
if (buf_offset > ret->len) {
|
if (buf_offset > ret->len) {
|
||||||
dprintf(" offset=%x is out of a descriptor #%d boundary=%x\n",
|
DPRINTF(" offset=%x is out of a descriptor #%d boundary=%x\n",
|
||||||
buf_offset, req->cur_desc_num, ret->len);
|
buf_offset, req->cur_desc_num, ret->len);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
ret->va += buf_offset;
|
ret->va += buf_offset;
|
||||||
ret->len -= buf_offset;
|
ret->len -= buf_offset;
|
||||||
|
|
||||||
dprintf(" cur=%d offs=%x ret { va=%"PRIx64" len=%x }\n",
|
DPRINTF(" cur=%d offs=%x ret { va=%"PRIx64" len=%x }\n",
|
||||||
req->cur_desc_num, req->cur_desc_offset, ret->va, ret->len);
|
req->cur_desc_num, req->cur_desc_offset, ret->va, ret->len);
|
||||||
|
|
||||||
return ret->len ? 1 : 0;
|
return ret->len ? 1 : 0;
|
||||||
@ -379,7 +379,7 @@ static int vscsi_srp_indirect_data(VSCSIState *s, vscsi_req *req,
|
|||||||
int rc = 0;
|
int rc = 0;
|
||||||
uint32_t llen, total = 0;
|
uint32_t llen, total = 0;
|
||||||
|
|
||||||
dprintf("VSCSI: indirect segment 0x%x bytes\n", len);
|
DPRINTF("VSCSI: indirect segment 0x%x bytes\n", len);
|
||||||
|
|
||||||
/* While we have data ... */
|
/* While we have data ... */
|
||||||
while (len) {
|
while (len) {
|
||||||
@ -398,10 +398,10 @@ static int vscsi_srp_indirect_data(VSCSIState *s, vscsi_req *req,
|
|||||||
rc = spapr_vio_dma_write(&s->vdev, md.va, buf, llen);
|
rc = spapr_vio_dma_write(&s->vdev, md.va, buf, llen);
|
||||||
}
|
}
|
||||||
if (rc) {
|
if (rc) {
|
||||||
dprintf("VSCSI: spapr_vio_dma_r/w(%d) -> %d\n", req->writing, rc);
|
DPRINTF("VSCSI: spapr_vio_dma_r/w(%d) -> %d\n", req->writing, rc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
dprintf("VSCSI: data: %02x %02x %02x %02x...\n",
|
DPRINTF("VSCSI: data: %02x %02x %02x %02x...\n",
|
||||||
buf[0], buf[1], buf[2], buf[3]);
|
buf[0], buf[1], buf[2], buf[3]);
|
||||||
|
|
||||||
len -= llen;
|
len -= llen;
|
||||||
@ -428,7 +428,7 @@ static int vscsi_srp_transfer_data(VSCSIState *s, vscsi_req *req,
|
|||||||
|
|
||||||
switch (req->dma_fmt) {
|
switch (req->dma_fmt) {
|
||||||
case SRP_NO_DATA_DESC:
|
case SRP_NO_DATA_DESC:
|
||||||
dprintf("VSCSI: no data desc transfer, skipping 0x%x bytes\n", len);
|
DPRINTF("VSCSI: no data desc transfer, skipping 0x%x bytes\n", len);
|
||||||
break;
|
break;
|
||||||
case SRP_DATA_DESC_DIRECT:
|
case SRP_DATA_DESC_DIRECT:
|
||||||
err = vscsi_srp_direct_data(s, req, buf, len);
|
err = vscsi_srp_direct_data(s, req, buf, len);
|
||||||
@ -508,7 +508,7 @@ static void vscsi_transfer_data(SCSIRequest *sreq, uint32_t len)
|
|||||||
uint8_t *buf;
|
uint8_t *buf;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
dprintf("VSCSI: SCSI xfer complete tag=0x%x len=0x%x, req=%p\n",
|
DPRINTF("VSCSI: SCSI xfer complete tag=0x%x len=0x%x, req=%p\n",
|
||||||
sreq->tag, len, req);
|
sreq->tag, len, req);
|
||||||
if (req == NULL) {
|
if (req == NULL) {
|
||||||
fprintf(stderr, "VSCSI: Can't find request for tag 0x%x\n", sreq->tag);
|
fprintf(stderr, "VSCSI: Can't find request for tag 0x%x\n", sreq->tag);
|
||||||
@ -538,7 +538,7 @@ static void vscsi_command_complete(SCSIRequest *sreq, uint32_t status, size_t re
|
|||||||
vscsi_req *req = sreq->hba_private;
|
vscsi_req *req = sreq->hba_private;
|
||||||
int32_t res_in = 0, res_out = 0;
|
int32_t res_in = 0, res_out = 0;
|
||||||
|
|
||||||
dprintf("VSCSI: SCSI cmd complete, tag=0x%x status=0x%x, req=%p\n",
|
DPRINTF("VSCSI: SCSI cmd complete, tag=0x%x status=0x%x, req=%p\n",
|
||||||
sreq->tag, status, req);
|
sreq->tag, status, req);
|
||||||
if (req == NULL) {
|
if (req == NULL) {
|
||||||
fprintf(stderr, "VSCSI: Can't find request for tag 0x%x\n", sreq->tag);
|
fprintf(stderr, "VSCSI: Can't find request for tag 0x%x\n", sreq->tag);
|
||||||
@ -548,16 +548,16 @@ static void vscsi_command_complete(SCSIRequest *sreq, uint32_t status, size_t re
|
|||||||
if (status == CHECK_CONDITION) {
|
if (status == CHECK_CONDITION) {
|
||||||
req->senselen = scsi_req_get_sense(req->sreq, req->sense,
|
req->senselen = scsi_req_get_sense(req->sreq, req->sense,
|
||||||
sizeof(req->sense));
|
sizeof(req->sense));
|
||||||
dprintf("VSCSI: Sense data, %d bytes:\n", req->senselen);
|
DPRINTF("VSCSI: Sense data, %d bytes:\n", req->senselen);
|
||||||
dprintf(" %02x %02x %02x %02x %02x %02x %02x %02x\n",
|
DPRINTF(" %02x %02x %02x %02x %02x %02x %02x %02x\n",
|
||||||
req->sense[0], req->sense[1], req->sense[2], req->sense[3],
|
req->sense[0], req->sense[1], req->sense[2], req->sense[3],
|
||||||
req->sense[4], req->sense[5], req->sense[6], req->sense[7]);
|
req->sense[4], req->sense[5], req->sense[6], req->sense[7]);
|
||||||
dprintf(" %02x %02x %02x %02x %02x %02x %02x %02x\n",
|
DPRINTF(" %02x %02x %02x %02x %02x %02x %02x %02x\n",
|
||||||
req->sense[8], req->sense[9], req->sense[10], req->sense[11],
|
req->sense[8], req->sense[9], req->sense[10], req->sense[11],
|
||||||
req->sense[12], req->sense[13], req->sense[14], req->sense[15]);
|
req->sense[12], req->sense[13], req->sense[14], req->sense[15]);
|
||||||
}
|
}
|
||||||
|
|
||||||
dprintf("VSCSI: Command complete err=%d\n", status);
|
DPRINTF("VSCSI: Command complete err=%d\n", status);
|
||||||
if (status == 0) {
|
if (status == 0) {
|
||||||
/* We handle overflows, not underflows for normal commands,
|
/* We handle overflows, not underflows for normal commands,
|
||||||
* but hopefully nobody cares
|
* but hopefully nobody cares
|
||||||
@ -611,7 +611,7 @@ static void vscsi_save_request(QEMUFile *f, SCSIRequest *sreq)
|
|||||||
|
|
||||||
vmstate_save_state(f, &vmstate_spapr_vscsi_req, req);
|
vmstate_save_state(f, &vmstate_spapr_vscsi_req, req);
|
||||||
|
|
||||||
dprintf("VSCSI: saving tag=%u, current desc#%d, offset=%x\n",
|
DPRINTF("VSCSI: saving tag=%u, current desc#%d, offset=%x\n",
|
||||||
req->qtag, req->cur_desc_num, req->cur_desc_offset);
|
req->qtag, req->cur_desc_num, req->cur_desc_offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -636,7 +636,7 @@ static void *vscsi_load_request(QEMUFile *f, SCSIRequest *sreq)
|
|||||||
|
|
||||||
req->sreq = scsi_req_ref(sreq);
|
req->sreq = scsi_req_ref(sreq);
|
||||||
|
|
||||||
dprintf("VSCSI: restoring tag=%u, current desc#%d, offset=%x\n",
|
DPRINTF("VSCSI: restoring tag=%u, current desc#%d, offset=%x\n",
|
||||||
req->qtag, req->cur_desc_num, req->cur_desc_offset);
|
req->qtag, req->cur_desc_num, req->cur_desc_offset);
|
||||||
|
|
||||||
return req;
|
return req;
|
||||||
@ -648,7 +648,7 @@ static void vscsi_process_login(VSCSIState *s, vscsi_req *req)
|
|||||||
struct srp_login_rsp *rsp = &iu->srp.login_rsp;
|
struct srp_login_rsp *rsp = &iu->srp.login_rsp;
|
||||||
uint64_t tag = iu->srp.rsp.tag;
|
uint64_t tag = iu->srp.rsp.tag;
|
||||||
|
|
||||||
dprintf("VSCSI: Got login, sendin response !\n");
|
DPRINTF("VSCSI: Got login, sendin response !\n");
|
||||||
|
|
||||||
/* TODO handle case that requested size is wrong and
|
/* TODO handle case that requested size is wrong and
|
||||||
* buffer format is wrong
|
* buffer format is wrong
|
||||||
@ -714,7 +714,8 @@ static int vscsi_queue_cmd(VSCSIState *s, vscsi_req *req)
|
|||||||
|
|
||||||
sdev = vscsi_device_find(&s->bus, be64_to_cpu(srp->cmd.lun), &lun);
|
sdev = vscsi_device_find(&s->bus, be64_to_cpu(srp->cmd.lun), &lun);
|
||||||
if (!sdev) {
|
if (!sdev) {
|
||||||
dprintf("VSCSI: Command for lun %08" PRIx64 " with no drive\n", be64_to_cpu(srp->cmd.lun));
|
DPRINTF("VSCSI: Command for lun %08" PRIx64 " with no drive\n",
|
||||||
|
be64_to_cpu(srp->cmd.lun));
|
||||||
if (srp->cmd.cdb[0] == INQUIRY) {
|
if (srp->cmd.cdb[0] == INQUIRY) {
|
||||||
vscsi_inquiry_no_target(s, req);
|
vscsi_inquiry_no_target(s, req);
|
||||||
} else {
|
} else {
|
||||||
@ -726,7 +727,7 @@ static int vscsi_queue_cmd(VSCSIState *s, vscsi_req *req)
|
|||||||
req->sreq = scsi_req_new(sdev, req->qtag, lun, srp->cmd.cdb, req);
|
req->sreq = scsi_req_new(sdev, req->qtag, lun, srp->cmd.cdb, req);
|
||||||
n = scsi_req_enqueue(req->sreq);
|
n = scsi_req_enqueue(req->sreq);
|
||||||
|
|
||||||
dprintf("VSCSI: Queued command tag 0x%x CMD 0x%x LUN %d ret: %d\n",
|
DPRINTF("VSCSI: Queued command tag 0x%x CMD 0x%x LUN %d ret: %d\n",
|
||||||
req->qtag, srp->cmd.cdb[0], lun, n);
|
req->qtag, srp->cmd.cdb[0], lun, n);
|
||||||
|
|
||||||
if (n) {
|
if (n) {
|
||||||
@ -939,7 +940,7 @@ static int vscsi_do_crq(struct VIOsPAPRDevice *dev, uint8_t *crq_data)
|
|||||||
crq.s.IU_length = be16_to_cpu(crq.s.IU_length);
|
crq.s.IU_length = be16_to_cpu(crq.s.IU_length);
|
||||||
crq.s.IU_data_ptr = be64_to_cpu(crq.s.IU_data_ptr);
|
crq.s.IU_data_ptr = be64_to_cpu(crq.s.IU_data_ptr);
|
||||||
|
|
||||||
dprintf("VSCSI: do_crq %02x %02x ...\n", crq.raw[0], crq.raw[1]);
|
DPRINTF("VSCSI: do_crq %02x %02x ...\n", crq.raw[0], crq.raw[1]);
|
||||||
|
|
||||||
switch (crq.s.valid) {
|
switch (crq.s.valid) {
|
||||||
case 0xc0: /* Init command/response */
|
case 0xc0: /* Init command/response */
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit c02c219cd79299a0a153ecf862f0e301a057f2cb
|
Subproject commit d4f7d90f47462b4e8836899adc5060fbde5253e9
|
Loading…
Reference in New Issue
Block a user