Annotation of qemu/roms/ipxe/src/drivers/net/3c529.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Split out from 3c509.c to make build process more sane
                      3:  *
                      4:  */
                      5: 
                      6: FILE_LICENCE ( BSD2 );
                      7: 
                      8: #include "etherboot.h"
                      9: #include <ipxe/mca.h>
                     10: #include <ipxe/isa.h> /* for ISA_ROM */
                     11: #include "nic.h"
                     12: #include "3c509.h"
                     13: 
                     14: /*
                     15:  * Several other pieces of the MCA support code were shamelessly
                     16:  * borrowed from the Linux kernel source.
                     17:  *
                     18:  * MCA support added by Adam Fritzler ([email protected])
                     19:  *
                     20:  * Generalised out of the 3c529 driver and into a bus type by Michael
                     21:  * Brown <[email protected]>
                     22:  *
                     23:  */
                     24: 
                     25: static int t529_probe ( struct nic *nic, struct mca_device *mca ) {
                     26: 
                     27:        /* Retrieve NIC parameters from MCA device parameters */
                     28:        nic->ioaddr = ( ( mca->pos[4] & 0xfc ) | 0x02 ) << 8;
                     29:        nic->irqno = mca->pos[5] & 0x0f;
                     30:        printf ( "3c529 board found on MCA at %#hx IRQ %d -",
                     31:                 nic->ioaddr, nic->irqno );
                     32: 
                     33:        /* Hand off to generic t5x9 probe routine */
                     34:        return t5x9_probe ( nic, MCA_ID ( mca ), 0xffff );
                     35: }
                     36: 
                     37: static void t529_disable ( struct nic *nic, struct mca_device *mca __unused ) {
                     38:        t5x9_disable ( nic );
                     39: }
                     40: 
                     41: static struct mca_device_id el3_mca_adapters[] = {
                     42:         { "3Com 3c529 EtherLink III (10base2)", 0x627c },
                     43:         { "3Com 3c529 EtherLink III (10baseT)", 0x627d },
                     44:         { "3Com 3c529 EtherLink III (test mode)", 0x62db },
                     45:         { "3Com 3c529 EtherLink III (TP or coax)", 0x62f6 },
                     46:         { "3Com 3c529 EtherLink III (TP)", 0x62f7 },
                     47: };
                     48: 
                     49: MCA_DRIVER ( t529_driver, el3_mca_adapters );
                     50: 
                     51: DRIVER ( "3c529", nic_driver, mca_driver, t529_driver,
                     52:         t529_probe, t529_disable );
                     53: 
                     54: ISA_ROM( "3c529", "3c529 == MCA 3c509" );
                     55: 
                     56: /*
                     57:  * Local variables:
                     58:  *  c-basic-offset: 8
                     59:  *  c-indent-level: 8
                     60:  *  tab-width: 8
                     61:  * End:
                     62:  */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.