eepro100: symbolic names for pci registers

No functional changes. I verified that the generated binary
does not change in meaningful ways.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Juan Quintela <quintela@redhat.com>
Acked-by: Glauber Costa <glommer@gmail.com>
This commit is contained in:
Michael S. Tsirkin 2009-12-10 17:52:10 +02:00
parent d577679e57
commit 508cc6b466

View File

@ -412,19 +412,24 @@ static void pci_reset(EEPRO100State * s)
pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL); pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);
/* PCI Device ID depends on device and is set below. */ /* PCI Device ID depends on device and is set below. */
/* PCI Command */ /* PCI Command */
/* TODO: this is the default, do not override. */
PCI_CONFIG_16(PCI_COMMAND, 0x0000); PCI_CONFIG_16(PCI_COMMAND, 0x0000);
/* PCI Status */ /* PCI Status */
PCI_CONFIG_16(PCI_STATUS, 0x2800); /* TODO: this seems to make no sense. */
/* TODO: Value at RST# should be 0. */
PCI_CONFIG_16(PCI_STATUS,
PCI_STATUS_REC_MASTER_ABORT | PCI_STATUS_SIG_TARGET_ABORT);
/* PCI Revision ID */ /* PCI Revision ID */
PCI_CONFIG_8(PCI_REVISION_ID, 0x08); PCI_CONFIG_8(PCI_REVISION_ID, 0x08);
/* TODO: this is the default, do not override. */
/* PCI Class Code */ /* PCI Class Code */
PCI_CONFIG_8(0x09, 0x00); PCI_CONFIG_8(PCI_CLASS_PROG, 0x00);
pci_config_set_class(pci_conf, PCI_CLASS_NETWORK_ETHERNET); pci_config_set_class(pci_conf, PCI_CLASS_NETWORK_ETHERNET);
/* PCI Cache Line Size */ /* PCI Cache Line Size */
/* check cache line size!!! */ /* check cache line size!!! */
//~ PCI_CONFIG_8(0x0c, 0x00); //~ PCI_CONFIG_8(0x0c, 0x00);
/* PCI Latency Timer */ /* PCI Latency Timer */
PCI_CONFIG_8(0x0d, 0x20); // latency timer = 32 clocks PCI_CONFIG_8(PCI_LATENCY_TIMER, 0x20); // latency timer = 32 clocks
/* PCI Header Type */ /* PCI Header Type */
/* BIST (built-in self test) */ /* BIST (built-in self test) */
#if defined(TARGET_I386) #if defined(TARGET_I386)
@ -446,16 +451,20 @@ static void pci_reset(EEPRO100State * s)
#endif #endif
#endif #endif
/* Expansion ROM Base Address (depends on boot disable!!!) */ /* Expansion ROM Base Address (depends on boot disable!!!) */
PCI_CONFIG_32(0x30, 0x00000000); /* TODO: not needed, set when BAR is registered */
PCI_CONFIG_32(PCI_ROM_ADDRESS, PCI_BASE_ADDRESS_SPACE_MEMORY);
/* Capability Pointer */ /* Capability Pointer */
PCI_CONFIG_8(0x34, 0xdc); /* TODO: revisions with power_management 1 use this but
* do not set new capability list bit in status register. */
PCI_CONFIG_8(PCI_CAPABILITY_LIST, 0xdc);
/* Interrupt Line */ /* Interrupt Line */
/* Interrupt Pin */ /* Interrupt Pin */
PCI_CONFIG_8(0x3d, 1); // interrupt pin 0 /* TODO: RST# value should be 0 */
PCI_CONFIG_8(PCI_INTERRUPT_PIN, 1); // interrupt pin 0
/* Minimum Grant */ /* Minimum Grant */
PCI_CONFIG_8(0x3e, 0x08); PCI_CONFIG_8(PCI_MIN_GNT, 0x08);
/* Maximum Latency */ /* Maximum Latency */
PCI_CONFIG_8(0x3f, 0x18); PCI_CONFIG_8(PCI_MAX_LAT, 0x18);
switch (device) { switch (device) {
case i82550: case i82550:
@ -479,52 +488,57 @@ static void pci_reset(EEPRO100State * s)
case i82557A: case i82557A:
pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557); pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557);
PCI_CONFIG_8(PCI_REVISION_ID, 0x01); PCI_CONFIG_8(PCI_REVISION_ID, 0x01);
PCI_CONFIG_8(0x34, 0x00); PCI_CONFIG_8(PCI_CAPABILITY_LIST, 0x00);
power_management = 0; power_management = 0;
break; break;
case i82557B: case i82557B:
pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557); pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557);
PCI_CONFIG_8(PCI_REVISION_ID, 0x02); PCI_CONFIG_8(PCI_REVISION_ID, 0x02);
PCI_CONFIG_8(0x34, 0x00); PCI_CONFIG_8(PCI_CAPABILITY_LIST, 0x00);
power_management = 0; power_management = 0;
break; break;
case i82557C: case i82557C:
pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557); pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557);
PCI_CONFIG_8(PCI_REVISION_ID, 0x03); PCI_CONFIG_8(PCI_REVISION_ID, 0x03);
PCI_CONFIG_8(0x34, 0x00); PCI_CONFIG_8(PCI_CAPABILITY_LIST, 0x00);
power_management = 0; power_management = 0;
break; break;
case i82558A: case i82558A:
pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557); pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557);
PCI_CONFIG_16(PCI_STATUS, 0x0290); PCI_CONFIG_16(PCI_STATUS, PCI_STATUS_DEVSEL_MEDIUM |
PCI_STATUS_FAST_BACK | PCI_STATUS_CAP_LIST);
PCI_CONFIG_8(PCI_REVISION_ID, 0x04); PCI_CONFIG_8(PCI_REVISION_ID, 0x04);
s->stats_size = 76; s->stats_size = 76;
s->has_extended_tcb_support = 1; s->has_extended_tcb_support = 1;
break; break;
case i82558B: case i82558B:
pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557); pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557);
PCI_CONFIG_16(PCI_STATUS, 0x0290); PCI_CONFIG_16(PCI_STATUS, PCI_STATUS_DEVSEL_MEDIUM |
PCI_STATUS_FAST_BACK | PCI_STATUS_CAP_LIST);
PCI_CONFIG_8(PCI_REVISION_ID, 0x05); PCI_CONFIG_8(PCI_REVISION_ID, 0x05);
s->stats_size = 76; s->stats_size = 76;
s->has_extended_tcb_support = 1; s->has_extended_tcb_support = 1;
break; break;
case i82559A: case i82559A:
pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557); pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557);
PCI_CONFIG_16(PCI_STATUS, 0x0290); PCI_CONFIG_16(PCI_STATUS, PCI_STATUS_DEVSEL_MEDIUM |
PCI_STATUS_FAST_BACK | PCI_STATUS_CAP_LIST);
PCI_CONFIG_8(PCI_REVISION_ID, 0x06); PCI_CONFIG_8(PCI_REVISION_ID, 0x06);
s->stats_size = 80; s->stats_size = 80;
s->has_extended_tcb_support = 1; s->has_extended_tcb_support = 1;
break; break;
case i82559B: case i82559B:
pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557); pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557);
PCI_CONFIG_16(PCI_STATUS, 0x0290); PCI_CONFIG_16(PCI_STATUS, PCI_STATUS_DEVSEL_MEDIUM |
PCI_STATUS_FAST_BACK | PCI_STATUS_CAP_LIST);
PCI_CONFIG_8(PCI_REVISION_ID, 0x07); PCI_CONFIG_8(PCI_REVISION_ID, 0x07);
s->stats_size = 80; s->stats_size = 80;
s->has_extended_tcb_support = 1; s->has_extended_tcb_support = 1;
break; break;
case i82559C: case i82559C:
pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557); pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82557);
PCI_CONFIG_16(PCI_STATUS, 0x0290); PCI_CONFIG_16(PCI_STATUS, PCI_STATUS_DEVSEL_MEDIUM |
PCI_STATUS_FAST_BACK | PCI_STATUS_CAP_LIST);
PCI_CONFIG_8(PCI_REVISION_ID, 0x08); PCI_CONFIG_8(PCI_REVISION_ID, 0x08);
// TODO: Windows wants revision id 0x0c. // TODO: Windows wants revision id 0x0c.
PCI_CONFIG_8(PCI_REVISION_ID, 0x0c); PCI_CONFIG_8(PCI_REVISION_ID, 0x0c);
@ -537,7 +551,8 @@ static void pci_reset(EEPRO100State * s)
break; break;
case i82559ER: case i82559ER:
pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82551IT); pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82551IT);
PCI_CONFIG_16(PCI_STATUS, 0x0290); PCI_CONFIG_16(PCI_STATUS, PCI_STATUS_DEVSEL_MEDIUM |
PCI_STATUS_FAST_BACK | PCI_STATUS_CAP_LIST);
PCI_CONFIG_8(PCI_REVISION_ID, 0x09); PCI_CONFIG_8(PCI_REVISION_ID, 0x09);
s->stats_size = 80; s->stats_size = 80;
s->has_extended_tcb_support = 1; s->has_extended_tcb_support = 1;