/* printf("cr = 0x%x\n", pci_attr_r16(devind, PCI_CR)); */
bar= pci_attr_r32(devind, PCI_BAR) & 0xffffffe0;
if ((bar & 0x3ff) >= 0x100-32 || bar < 0x400)
- panic("", "base address is not properly configured", NO_NUM);
+ {
+ printf("rtl8029: ignoring bad base address 0x%x for QEMU\n",
+ bar);
+ /* panic("", "base address is not properly configured", NO_NUM); */
+ }
dep->de_base_port= bar;
ilr= pci_attr_r8(devind, PCI_ILR);
** +------------+---------+---------+---------------+
**
** $Log$
+** Revision 1.6 2005/08/05 18:37:15 philip
+** Temp hacks for QEMU. Call to env_setargs in dpeth.
+**
** Revision 1.5 2005/08/02 15:30:35 jnherder
** Various updates to support dynamically starting drivers.
** Output during initialization should be suppressed. Unless an error occurs.
*/
extern int errno;
static dpeth_t de_table[DE_PORT_NR];
-static int dpeth_tasknr = ANY;
typedef struct dp_conf { /* Configuration description structure */
port_t dpc_port;
dpeth_t *dep;
int rc, fkeys, sfkeys;
- /* Get precess number */
- if ((dpeth_tasknr = getprocnr()) < 0)
- panic(DevName, "getprocnr() failed", errno);
-#if defined USE_IOPL
- /* Request direct access to hardware I/O ports */
- if ((rc = sys_enable_iop(dpeth_tasknr)) != OK)
- panic(DevName, "sys_enable_iop() failed", rc);
-#endif
+ env_setargs(argc, argv);
+
/* Request function key for debug dumps */
fkeys = sfkeys = 0; bit_set(sfkeys, 8);
if ((fkey_map(&fkeys, &sfkeys)) != OK)
headt= pci_attr_r8(devind, PCI_HEADT);
sts= pci_attr_rsts(devind);
if (sts & (PSR_SSE|PSR_RMAS|PSR_RTAS))
- break;
+ {
+ printf(
+ "pci: ignoring bad value 0x%x in sts for QEMU\n",
+ sts & (PSR_SSE|PSR_RMAS|PSR_RTAS));
+ /* break; */
+ }
if (vid == NO_VID)
{
/* Some bridge implementations do support