Skip to content

Commit af0a6f5

Browse files
committed
Disable USB MSD logging
1 parent ded7473 commit af0a6f5

File tree

2 files changed

+51
-15
lines changed

2 files changed

+51
-15
lines changed

src/usb/usb_msd.c

Lines changed: 50 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
/*
2+
* 86Box A hypervisor and IBM PC system emulator that specializes in
3+
* running old operating systems and software designed for IBM
4+
* PC systems and compatibles from 1981 through fairly recent
5+
* system designs based on the PCI bus.
6+
*
7+
* This file is part of the 86Box distribution.
8+
*
9+
* USB mass storage emulation, ported from Bochs and somewhat rewritten.
10+
*
11+
* Authors: Cacodemon345
12+
* Paul Brook
13+
*
14+
* Copyright 2006 CodeSourcery
15+
* Copyright 2024 Cacodemon345
16+
*
17+
*/
18+
119
#include <stdarg.h>
220
#include <stdio.h>
321
#include <stdint.h>
@@ -144,6 +162,24 @@ typedef struct usb_device_msd
144162
uint32_t force_stall;
145163
} usb_device_msd;
146164

165+
#ifdef ENABLE_USB_MSD_LOG
166+
int usb_msd_do_log = ENABLE_USB_MSD_LOG;
167+
168+
static void
169+
usb_msd_log(const char *fmt, ...)
170+
{
171+
va_list ap;
172+
173+
if (usb_msd_do_log) {
174+
va_start(ap, fmt);
175+
pclog_ex(fmt, ap);
176+
va_end(ap);
177+
}
178+
}
179+
#else
180+
# define usb_msd_log(fmt, ...)
181+
#endif
182+
147183
int
148184
usb_device_msd_handle_control(usb_device_c *device, int request, int value, int index, int length, uint8_t *data)
149185
{
@@ -214,7 +250,7 @@ usb_device_msd_handle_control(usb_device_c *device, int request, int value, int
214250

215251

216252
if (ret < 0)
217-
pclog("request = 0x%04X, value = 0x%04X, index = 0x%04X, length = %d\n", request, value, index, length);
253+
usb_msd_log("request = 0x%04X, value = 0x%04X, index = 0x%04X, length = %d\n", request, value, index, length);
218254

219255
return ret;
220256
}
@@ -250,7 +286,7 @@ usb_device_msd_handle_data(usb_device_c *device, USBPacket *p)
250286

251287
if (usb_msd->phase != USB_MSDM_CBW && usb_msd->phase != USB_MSDM_CSW && usb_msd->current_cbw.dCBWDataTransferLength < scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].buffer_length)
252288
{
253-
pclog("Phase error\n");
289+
usb_msd_log("Phase error\n");
254290
usb_msd->phase = USB_MSDM_CSW;
255291
usb_msd->current_csw.bCSWStatus = 0x02;
256292
goto fail;
@@ -267,12 +303,12 @@ usb_device_msd_handle_data(usb_device_c *device, USBPacket *p)
267303
{
268304
usb_msd_cbw* cbw = (usb_msd_cbw*)p->data;
269305
if (len != 31) {
270-
pclog("len != 31\n");
306+
usb_msd_log("len != 31\n");
271307
goto fail;
272308
}
273309

274310
if (cbw->dCBWSignature != 0x43425355) {
275-
pclog("Mismatched signature\n");
311+
usb_msd_log("Mismatched signature\n");
276312
goto fail;
277313
}
278314

@@ -297,7 +333,7 @@ usb_device_msd_handle_data(usb_device_c *device, USBPacket *p)
297333

298334

299335
ret = len;
300-
pclog("CBWCB { 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X }\n", cbw->CBWCB[0],
336+
usb_msd_log("CBWCB { 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X, 0x%02X }\n", cbw->CBWCB[0],
301337
cbw->CBWCB[1],
302338
cbw->CBWCB[2],
303339
cbw->CBWCB[3],
@@ -333,15 +369,15 @@ usb_device_msd_handle_data(usb_device_c *device, USBPacket *p)
333369
case USB_MSDM_DATAOUT:
334370
{
335371
if (scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].status == SCSI_STATUS_CHECK_CONDITION) {
336-
pclog("Command failed\n");
372+
usb_msd_log("Command failed\n");
337373
usb_msd->phase = USB_MSDM_CSW;
338374
usb_msd->current_csw.bCSWStatus = 0x01;
339375
usb_msd->current_csw.dCSWDataResidue = 0x0;
340376
scsi_device_command_stop(&scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun]);
341377
goto fail;
342378
}
343379
if (scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].phase != SCSI_PHASE_DATA_OUT) {
344-
pclog("Phase error (not data out)\n");
380+
usb_msd_log("Phase error (not data out, phase 0x%02X)\n", scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].phase);
345381
usb_msd->phase = USB_MSDM_CSW;
346382
usb_msd->current_csw.bCSWStatus = 0x02;
347383
scsi_device_command_stop(&scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun]);
@@ -353,7 +389,7 @@ usb_device_msd_handle_data(usb_device_c *device, USBPacket *p)
353389
usb_msd->expected_len -= MIN(usb_msd->expected_len, p->len);
354390
if (usb_msd->expected_len == 0 || p->len < 64)
355391
{
356-
pclog("Transfer finished (data out)\n");
392+
usb_msd_log("Transfer finished (data out)\n");
357393
int residue = usb_msd->current_cbw.dCBWDataTransferLength - scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].buffer_length;
358394
if (usb_msd->temp_index < scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].buffer_length)
359395
{
@@ -392,7 +428,7 @@ usb_device_msd_handle_data(usb_device_c *device, USBPacket *p)
392428

393429
if (usb_msd->phase != USB_MSDM_CBW && usb_msd->phase != USB_MSDM_CSW && usb_msd->current_cbw.dCBWDataTransferLength < scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].buffer_length)
394430
{
395-
pclog("Phase error\n");
431+
usb_msd_log("Phase error\n");
396432
usb_msd->phase = USB_MSDM_CSW;
397433
usb_msd->current_csw.bCSWStatus = 0x02;
398434
usb_msd->force_stall = 0;
@@ -408,7 +444,7 @@ usb_device_msd_handle_data(usb_device_c *device, USBPacket *p)
408444
{
409445
case USB_MSDM_DATAOUT:
410446
{
411-
pclog("Data out error (not data in)\n");
447+
usb_msd_log("Data out error (not data in)\n");
412448
usb_msd->phase = USB_MSDM_CSW;
413449
usb_msd->current_csw.bCSWStatus = 0x02;
414450
scsi_device_command_stop(&scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun]);
@@ -418,15 +454,15 @@ usb_device_msd_handle_data(usb_device_c *device, USBPacket *p)
418454
{
419455
uint32_t len = p->len;
420456
if (scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].status == SCSI_STATUS_CHECK_CONDITION) {
421-
pclog("Command failed (data in)\n");
457+
usb_msd_log("Command failed (data in)\n");
422458
usb_msd->phase = USB_MSDM_CSW;
423459
usb_msd->current_csw.bCSWStatus = 0x01;
424460
usb_msd->current_csw.dCSWDataResidue = 0x0;
425461
scsi_device_command_stop(&scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun]);
426462
goto fail;
427463
}
428464
if (scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].phase != SCSI_PHASE_DATA_IN) {
429-
pclog("Phase error (not data in, phase 0x%02X)\n", scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].phase);
465+
usb_msd_log("Phase error (not data in, phase 0x%02X)\n", scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].phase);
430466
usb_msd->phase = USB_MSDM_CSW;
431467
usb_msd->current_csw.bCSWStatus = 0x02;
432468
scsi_device_command_stop(&scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun]);
@@ -440,7 +476,7 @@ usb_device_msd_handle_data(usb_device_c *device, USBPacket *p)
440476
ret = len;
441477
if (usb_msd->data_in_len == 0)
442478
{
443-
pclog("Transfer finished (data in)\n");
479+
usb_msd_log("Transfer finished (data in)\n");
444480
usb_msd->current_csw.dCSWDataResidue = usb_msd->current_cbw.dCBWDataTransferLength - scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].buffer_length;
445481
scsi_device_command_phase1(&scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun]);
446482
if (usb_msd->current_cbw.dCBWDataTransferLength < scsi_devices[usb_msd->scsi_bus][usb_msd->current_lun].buffer_length)
@@ -462,7 +498,7 @@ usb_device_msd_handle_data(usb_device_c *device, USBPacket *p)
462498
memcpy(p->data, (void*)&usb_msd->current_csw, MIN(p->len, 13));
463499
ret = MIN(p->len, 13);
464500
usb_msd->phase = USB_MSDM_CBW;
465-
pclog("CSW: 0x%08X, 0x%08X, 0x%08X, 0x%02X\n", usb_msd->current_csw.dCSWSignature, usb_msd->current_csw.dCSWTag, usb_msd->current_csw.dCSWDataResidue, usb_msd->current_csw.bCSWStatus);
501+
usb_msd_log("CSW: 0x%08X, 0x%08X, 0x%08X, 0x%02X\n", usb_msd->current_csw.dCSWSignature, usb_msd->current_csw.dCSWTag, usb_msd->current_csw.dCSWDataResidue, usb_msd->current_csw.bCSWStatus);
466502
break;
467503
}
468504
}

src/usb/usb_ohci_bochs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ ohci_log(const char *fmt, ...)
319319

320320
if (ohci_do_log) {
321321
va_start(ap, fmt);
322-
ohci_log_ex(fmt, ap);
322+
pclog_ex(fmt, ap);
323323
va_end(ap);
324324
}
325325
}

0 commit comments

Comments
 (0)