- added debug_dump() (prints the same as 'info ne2k' without arguments)
- removed FILE parameter from print_info() (unused - since dbg_printf() doesn't need it) - converted tabs to spaces - TODO: implement 'info device' with optional arguments to get rid of the print_info() method
This commit is contained in:
parent
07a50eac31
commit
bdfe4ae1bb
@ -3343,7 +3343,7 @@ void bx_dbg_info_tss_command(void)
|
||||
void bx_dbg_info_ne2k(int page, int reg)
|
||||
{
|
||||
#if BX_SUPPORT_NE2K
|
||||
DEV_ne2k_print_info(stderr, page, reg, 0);
|
||||
DEV_ne2k_print_info(page, reg, 0);
|
||||
#else
|
||||
dbg_printf("NE2000 support is not compiled in\n");
|
||||
#endif
|
||||
|
@ -311,7 +311,7 @@ public:
|
||||
|
||||
class BOCHSAPI bx_ne2k_stub_c : public bx_devmodel_c {
|
||||
public:
|
||||
virtual void print_info(FILE *file, int page, int reg, int nodups) {}
|
||||
virtual void print_info(int page, int reg, int nodups) {}
|
||||
};
|
||||
|
||||
class BOCHSAPI bx_speaker_stub_c : public bx_devmodel_c {
|
||||
|
@ -324,6 +324,11 @@ void bx_ne2k_c::init(void)
|
||||
|
||||
// Attach to the selected ethernet module
|
||||
BX_NE2K_THIS ethdev = DEV_net_init_module(base, rx_handler, rx_status_handler, this);
|
||||
|
||||
#if BX_DEBUGGER
|
||||
// register device for the 'info device' command (calls debug_dump())
|
||||
bx_dbg_register_debug_info("ne2k", this);
|
||||
#endif
|
||||
}
|
||||
|
||||
//
|
||||
@ -1827,6 +1832,12 @@ void bx_ne2k_c::pci_write_handler(Bit8u address, Bit32u value, unsigned io_len)
|
||||
|
||||
#if BX_DEBUGGER
|
||||
|
||||
void bx_ne2k_c::debug_dump()
|
||||
{
|
||||
for (int page=0; page<=2; page++)
|
||||
BX_NE2K_THIS print_info(page, -1, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* this implements the info ne2k commands in the debugger.
|
||||
* info ne2k - shows all registers
|
||||
@ -1843,13 +1854,13 @@ void bx_ne2k_c::pci_write_handler(Bit8u address, Bit32u value, unsigned io_len)
|
||||
#define BX_LOW_BYTE(x) (0x00ff & (x))
|
||||
#define BX_DUPLICATE(n) if (brief && num!=n) break;
|
||||
|
||||
void bx_ne2k_c::print_info(FILE *fp, int page, int reg, int brief)
|
||||
void bx_ne2k_c::print_info(int page, int reg, int brief)
|
||||
{
|
||||
int i;
|
||||
int n = 0;
|
||||
if (page < 0) {
|
||||
for (page=0; page<=2; page++)
|
||||
theNE2kDevice->print_info(fp, page, reg, 1);
|
||||
theNE2kDevice->print_info(page, reg, 1);
|
||||
// tell them how to use this command
|
||||
dbg_printf("\nHow to use the info ne2k command:\n");
|
||||
dbg_printf("info ne2k - show all registers\n");
|
||||
@ -1865,7 +1876,7 @@ void bx_ne2k_c::print_info(FILE *fp, int page, int reg, int brief)
|
||||
dbg_printf("NE2K registers, page %d\n", page);
|
||||
dbg_printf("----------------------\n");
|
||||
for (reg=0; reg<=15; reg++)
|
||||
theNE2kDevice->print_info (fp, page, reg, 1);
|
||||
theNE2kDevice->print_info(page, reg, 1);
|
||||
dbg_printf("----------------------\n");
|
||||
return;
|
||||
}
|
||||
@ -1912,8 +1923,8 @@ void bx_ne2k_c::print_info(FILE *fp, int page, int reg, int brief)
|
||||
case 0x0006: BX_DUPLICATE(0x0005);
|
||||
dbg_printf("NCR = Number of Collisions Register (read-only) = 0x%02x\n", BX_NE2K_THIS s.num_coll);
|
||||
dbg_printf("TBCR1,TBCR0 = Transmit Byte Count = %02x %02x\n",
|
||||
BX_HIGH_BYTE(BX_NE2K_THIS s.tx_bytes),
|
||||
BX_LOW_BYTE(BX_NE2K_THIS s.tx_bytes));
|
||||
BX_HIGH_BYTE(BX_NE2K_THIS s.tx_bytes),
|
||||
BX_LOW_BYTE(BX_NE2K_THIS s.tx_bytes));
|
||||
dbg_printf("FIFO = %02x\n", BX_NE2K_THIS s.fifo);
|
||||
break;
|
||||
case 0x0007:
|
||||
@ -1931,11 +1942,11 @@ void bx_ne2k_c::print_info(FILE *fp, int page, int reg, int brief)
|
||||
case 0x0008:
|
||||
case 0x0009: BX_DUPLICATE(0x0008);
|
||||
dbg_printf("CRDA1,0 = Current remote DMA address = %02x %02x\n",
|
||||
BX_HIGH_BYTE(BX_NE2K_THIS s.remote_dma),
|
||||
BX_LOW_BYTE(BX_NE2K_THIS s.remote_dma));
|
||||
BX_HIGH_BYTE(BX_NE2K_THIS s.remote_dma),
|
||||
BX_LOW_BYTE(BX_NE2K_THIS s.remote_dma));
|
||||
dbg_printf("RSAR1,0 = Remote start address = %02x %02x\n",
|
||||
BX_HIGH_BYTE(s.remote_start),
|
||||
BX_LOW_BYTE(s.remote_start));
|
||||
BX_HIGH_BYTE(s.remote_start),
|
||||
BX_LOW_BYTE(s.remote_start));
|
||||
break;
|
||||
case 0x000a:
|
||||
case 0x000b: BX_DUPLICATE(0x000a);
|
||||
@ -1966,7 +1977,7 @@ void bx_ne2k_c::print_info(FILE *fp, int page, int reg, int brief)
|
||||
break;
|
||||
case 0x000d:
|
||||
dbg_printf("CNTR0 = Tally Counter 0 (Frame alignment errors) = %02x\n",
|
||||
BX_NE2K_THIS s.tallycnt_0);
|
||||
BX_NE2K_THIS s.tallycnt_0);
|
||||
// fall through into TCR
|
||||
case 0x020d:
|
||||
dbg_printf("TCR (Transmit Configuration Register):\n ");
|
||||
@ -1979,7 +1990,7 @@ void bx_ne2k_c::print_info(FILE *fp, int page, int reg, int brief)
|
||||
break;
|
||||
case 0x000e:
|
||||
dbg_printf("CNTR1 = Tally Counter 1 (CRC Errors) = %02x\n",
|
||||
BX_NE2K_THIS s.tallycnt_1);
|
||||
BX_NE2K_THIS s.tallycnt_1);
|
||||
// fall through into DCR
|
||||
case 0x020e:
|
||||
dbg_printf("DCR (Data Configuration Register):\n ");
|
||||
@ -1993,7 +2004,7 @@ void bx_ne2k_c::print_info(FILE *fp, int page, int reg, int brief)
|
||||
break;
|
||||
case 0x000f:
|
||||
dbg_printf("CNTR2 = Tally Counter 2 (Missed Packet Errors) = %02x\n",
|
||||
BX_NE2K_THIS s.tallycnt_2);
|
||||
BX_NE2K_THIS s.tallycnt_2);
|
||||
// fall through into IMR
|
||||
case 0x020f:
|
||||
dbg_printf("IMR (Interrupt Mask Register)\n ");
|
||||
@ -2016,7 +2027,7 @@ void bx_ne2k_c::print_info(FILE *fp, int page, int reg, int brief)
|
||||
dbg_printf("MAC address registers are located at page 1, registers 1-6.\n");
|
||||
dbg_printf("The MAC address is ");
|
||||
for (i=0; i<=5; i++)
|
||||
dbg_printf("%02x%c", BX_NE2K_THIS s.physaddr[i], i<5?':' : '\n');
|
||||
dbg_printf("%02x%c", BX_NE2K_THIS s.physaddr[i], i<5?':' : '\n');
|
||||
break;
|
||||
case 0x0107:
|
||||
dbg_printf("Current page is 0x%02x\n", BX_NE2K_THIS s.curr_page);
|
||||
@ -2040,8 +2051,8 @@ void bx_ne2k_c::print_info(FILE *fp, int page, int reg, int brief)
|
||||
dbg_printf("PSTART = Page start register = %02x\n", BX_NE2K_THIS s.page_start);
|
||||
dbg_printf("PSTOP = Page stop register = %02x\n", BX_NE2K_THIS s.page_stop);
|
||||
dbg_printf("Local DMA address = %02x %02x\n",
|
||||
BX_HIGH_BYTE(BX_NE2K_THIS s.local_dma),
|
||||
BX_LOW_BYTE(BX_NE2K_THIS s.local_dma));
|
||||
BX_HIGH_BYTE(BX_NE2K_THIS s.local_dma),
|
||||
BX_LOW_BYTE(BX_NE2K_THIS s.local_dma));
|
||||
break;
|
||||
case 0x0203:
|
||||
dbg_printf("Remote Next Packet Pointer = %02x\n", BX_NE2K_THIS s.rempkt_ptr);
|
||||
@ -2052,8 +2063,8 @@ void bx_ne2k_c::print_info(FILE *fp, int page, int reg, int brief)
|
||||
case 0x0206:
|
||||
case 0x0207: BX_DUPLICATE(0x0206);
|
||||
dbg_printf("Address Counter= %02x %02x\n",
|
||||
BX_HIGH_BYTE(BX_NE2K_THIS s.address_cnt),
|
||||
BX_LOW_BYTE(BX_NE2K_THIS s.address_cnt));
|
||||
BX_HIGH_BYTE(BX_NE2K_THIS s.address_cnt),
|
||||
BX_LOW_BYTE(BX_NE2K_THIS s.address_cnt));
|
||||
break;
|
||||
case 0x0208:
|
||||
case 0x0209: BX_DUPLICATE(0x0208);
|
||||
@ -2073,7 +2084,7 @@ void bx_ne2k_c::print_info(FILE *fp, int page, int reg, int brief)
|
||||
|
||||
#else
|
||||
|
||||
void bx_ne2k_c::print_info (FILE *fp, int page, int reg, int brief)
|
||||
void bx_ne2k_c::print_info(int page, int reg, int brief)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -207,11 +207,14 @@ public:
|
||||
virtual ~bx_ne2k_c();
|
||||
virtual void init(void);
|
||||
virtual void reset(unsigned type);
|
||||
virtual void print_info (FILE *file, int page, int reg, int nodups);
|
||||
virtual void print_info(int page, int reg, int nodups);
|
||||
virtual void register_state(void);
|
||||
#if BX_SUPPORT_PCI
|
||||
virtual void after_restore_state(void);
|
||||
#endif
|
||||
#if BX_DEBUGGER
|
||||
virtual void debug_dump(void);
|
||||
#endif
|
||||
|
||||
#if BX_SUPPORT_PCI
|
||||
virtual Bit32u pci_read_handler(Bit8u address, unsigned io_len);
|
||||
|
@ -237,8 +237,8 @@ extern "C" {
|
||||
#define DEV_acpi_generate_smi(a) bx_devices.pluginACPIController->generate_smi(a)
|
||||
|
||||
///////// NE2000 macro
|
||||
#define DEV_ne2k_print_info(file,page,reg,brief) \
|
||||
bx_devices.pluginNE2kDevice->print_info(file,page,reg,brief)
|
||||
#define DEV_ne2k_print_info(page,reg,brief) \
|
||||
bx_devices.pluginNE2kDevice->print_info(page,reg,brief)
|
||||
|
||||
///////// Speaker macros
|
||||
#define DEV_speaker_beep_on(frequency) bx_devices.pluginSpeaker->beep_on(frequency)
|
||||
|
Loading…
x
Reference in New Issue
Block a user