Annotation of qemu/roms/ipxe/src/drivers/net/3c529.c, revision 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.