remove very ugly and unsafe code (string functions are evil!) - new code is also 10 times faster.
This commit is contained in:
parent
6a78f0d769
commit
e52cff7da3
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: acpi.cc,v 1.23 2009-04-22 18:37:06 vruppert Exp $
|
||||
// $Id: acpi.cc,v 1.24 2009-04-22 19:11:00 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2006 Volker Ruppert
|
||||
@ -497,20 +497,19 @@ Bit32u bx_acpi_ctrl_c::pci_read_handler(Bit8u address, unsigned io_len)
|
||||
{
|
||||
Bit32u value = 0;
|
||||
|
||||
// This odd code is to display only what bytes actually were read.
|
||||
char szTmp[9];
|
||||
char szTmp2[3];
|
||||
szTmp[0] = '\0';
|
||||
szTmp2[0] = '\0';
|
||||
for (unsigned i=0; i<io_len; i++) {
|
||||
value |= (BX_ACPI_THIS s.pci_conf[address+i] << (i*8));
|
||||
|
||||
sprintf(szTmp2, "%02x", (BX_ACPI_THIS s.pci_conf[address+i]));
|
||||
strrev(szTmp2);
|
||||
strcat(szTmp, szTmp2);
|
||||
}
|
||||
strrev(szTmp);
|
||||
BX_DEBUG(("ACPI controller read register 0x%02x value 0x%s", address, szTmp));
|
||||
|
||||
if (io_len == 1)
|
||||
BX_DEBUG(("ACPI controller read register 0x%02x value 0x%02x", address, value));
|
||||
else if (io_len == 2)
|
||||
BX_DEBUG(("ACPI controller read register 0x%02x value 0x%04x", address, value));
|
||||
else if (io_len == 4)
|
||||
BX_DEBUG(("ACPI controller read register 0x%02x value 0x%08x", address, value));
|
||||
else
|
||||
BX_PANIC(("ACPI controller read register 0x%02x unexpected io_len %d", address, io_len));
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: pcipnic.cc,v 1.35 2009-04-22 18:37:06 vruppert Exp $
|
||||
// $Id: pcipnic.cc,v 1.36 2009-04-22 19:11:00 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2003 Fen Systems Ltd.
|
||||
@ -305,20 +305,19 @@ Bit32u bx_pcipnic_c::pci_read_handler(Bit8u address, unsigned io_len)
|
||||
{
|
||||
Bit32u value = 0;
|
||||
|
||||
// This odd code is to display only what bytes actually were read.
|
||||
char szTmp[9];
|
||||
char szTmp2[3];
|
||||
szTmp[0] = '\0';
|
||||
szTmp2[0] = '\0';
|
||||
for (unsigned i=0; i<io_len; i++) {
|
||||
value |= (BX_PNIC_THIS s.pci_conf[address+i] << (i*8));
|
||||
sprintf(szTmp2, "%02x", (BX_PNIC_THIS s.pci_conf[address+i]));
|
||||
strrev(szTmp2);
|
||||
strcat(szTmp, szTmp2);
|
||||
}
|
||||
strrev(szTmp);
|
||||
BX_DEBUG(("Experimental PNIC PCI read register 0x%02x value 0x%s",
|
||||
address, szTmp));
|
||||
|
||||
if (io_len == 1)
|
||||
BX_DEBUG(("Experimental PNIC PCI read register 0x%02x value 0x%02x", address, value));
|
||||
else if (io_len == 2)
|
||||
BX_DEBUG(("Experimental PNIC PCI read register 0x%02x value 0x%04x", address, value));
|
||||
else if (io_len == 4)
|
||||
BX_DEBUG(("Experimental PNIC PCI read register 0x%02x value 0x%08x", address, value));
|
||||
else
|
||||
BX_PANIC(("Experimental PNIC PCI read register 0x%02x unexpected io_len %d", address, io_len));
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: pcivga.cc,v 1.28 2009-04-22 18:37:06 vruppert Exp $
|
||||
// $Id: pcivga.cc,v 1.29 2009-04-22 19:11:00 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2002,2003 Mike Nordell
|
||||
@ -134,21 +134,19 @@ Bit32u bx_pcivga_c::pci_read_handler(Bit8u address, unsigned io_len)
|
||||
{
|
||||
Bit32u value = 0;
|
||||
|
||||
// This odd code is to display only what bytes actually were read.
|
||||
char szTmp[9];
|
||||
char szTmp2[3];
|
||||
szTmp[0] = '\0';
|
||||
szTmp2[0] = '\0';
|
||||
for (unsigned i=0; i<io_len; i++) {
|
||||
value |= (BX_PCIVGA_THIS s.pci_conf[address+i] << (i*8));
|
||||
|
||||
sprintf(szTmp2, "%02x", (BX_PCIVGA_THIS s.pci_conf[address+i]));
|
||||
strrev(szTmp2);
|
||||
strcat(szTmp, szTmp2);
|
||||
}
|
||||
strrev(szTmp);
|
||||
BX_DEBUG(("Experimental PCIVGA read register 0x%02x value 0x%s",
|
||||
address, szTmp));
|
||||
|
||||
if (io_len == 1)
|
||||
BX_DEBUG(("Experimental PCIVGA read register 0x%02x value 0x%02x", address, value));
|
||||
else if (io_len == 2)
|
||||
BX_DEBUG(("Experimental PCIVGA read register 0x%02x value 0x%04x", address, value));
|
||||
else if (io_len == 4)
|
||||
BX_DEBUG(("Experimental PCIVGA read register 0x%02x value 0x%08x", address, value));
|
||||
else
|
||||
BX_PANIC(("Experimental PCIVGA read register 0x%02x vunexpected io_len %d", address, io_len));
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: usb_ohci.cc,v 1.31 2009-04-22 18:37:06 vruppert Exp $
|
||||
// $Id: usb_ohci.cc,v 1.32 2009-04-22 19:11:00 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2009 Benjamin D Lunt (fys at frontiernet net)
|
||||
@ -1338,19 +1338,19 @@ Bit32u bx_usb_ohci_c::pci_read_handler(Bit8u address, unsigned io_len)
|
||||
{
|
||||
Bit32u value = 0;
|
||||
|
||||
// This odd code is to display only what bytes actually were read.
|
||||
char szTmp[9];
|
||||
char szTmp2[3];
|
||||
szTmp[0] = '\0';
|
||||
szTmp2[0] = '\0';
|
||||
for (unsigned i=0; i<io_len; i++) {
|
||||
value |= (BX_OHCI_THIS hub.pci_conf[address+i] << (i*8));
|
||||
sprintf(szTmp2, "%02x", (BX_OHCI_THIS hub.pci_conf[address+i]));
|
||||
strrev(szTmp2);
|
||||
strcat(szTmp, szTmp2);
|
||||
}
|
||||
strrev(szTmp);
|
||||
BX_DEBUG(("USB OHCI read register 0x%02x value 0x%s", address, szTmp));
|
||||
|
||||
if (io_len == 1)
|
||||
BX_DEBUG(("USB OHCI read register 0x%02x value 0x%02x", address, value));
|
||||
else if (io_len == 2)
|
||||
BX_DEBUG(("USB OHCI read register 0x%02x value 0x%04x", address, value));
|
||||
else if (io_len == 4)
|
||||
BX_DEBUG(("USB OHCI read register 0x%02x value 0x%04x", address, value));
|
||||
else
|
||||
BX_PANIC(("USB OHCI read register 0x%02x unexpected io_len %d", address, io_len));
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: usb_uhci.cc,v 1.25 2009-04-22 18:37:06 vruppert Exp $
|
||||
// $Id: usb_uhci.cc,v 1.26 2009-04-22 19:11:01 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2009 Benjamin D Lunt (fys at frontiernet net)
|
||||
@ -943,19 +943,19 @@ Bit32u bx_usb_uhci_c::pci_read_handler(Bit8u address, unsigned io_len)
|
||||
{
|
||||
Bit32u value = 0;
|
||||
|
||||
// This odd code is to display only what bytes actually were read.
|
||||
char szTmp[9];
|
||||
char szTmp2[3];
|
||||
szTmp[0] = '\0';
|
||||
szTmp2[0] = '\0';
|
||||
for (unsigned i=0; i<io_len; i++) {
|
||||
value |= (BX_UHCI_THIS hub.pci_conf[address+i] << (i*8));
|
||||
sprintf(szTmp2, "%02x", (BX_UHCI_THIS hub.pci_conf[address+i]));
|
||||
strrev(szTmp2);
|
||||
strcat(szTmp, szTmp2);
|
||||
}
|
||||
strrev(szTmp);
|
||||
BX_DEBUG(("USB UHCI read register 0x%02x value 0x%s", address, szTmp));
|
||||
|
||||
if (io_len == 1)
|
||||
BX_DEBUG(("USB UHCI read register 0x%02x value 0x%02x", address, value));
|
||||
else if (io_len == 2)
|
||||
BX_DEBUG(("USB UHCI read register 0x%02x value 0x%04x", address, value));
|
||||
else if (io_len == 4)
|
||||
BX_DEBUG(("USB UHCI read register 0x%02x value 0x%04x", address, value));
|
||||
else
|
||||
BX_PANIC(("USB UHCI read register 0x%02x unexpected io_len %d", address, io_len));
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user