Commit 089af991182fb44915c30075ea4e202ad268afcb
1 parent
3476562d
RTL8029 IDs support (Warner Losh)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1647 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
22 additions
and
0 deletions
hw/ne2000.c
... | ... | @@ -47,7 +47,9 @@ |
47 | 47 | #define EN0_CRDAHI 0x09 /* high byte, current remote dma address RD */ |
48 | 48 | #define EN0_RSARHI 0x09 /* Remote start address reg 1 */ |
49 | 49 | #define EN0_RCNTLO 0x0a /* Remote byte count reg WR */ |
50 | +#define EN0_RTL8029ID0 0x0a /* Realtek ID byte #1 RD */ | |
50 | 51 | #define EN0_RCNTHI 0x0b /* Remote byte count reg WR */ |
52 | +#define EN0_RTL8029ID1 0x0b /* Realtek ID byte #2 RD */ | |
51 | 53 | #define EN0_RSR 0x0c /* rx status reg RD */ |
52 | 54 | #define EN0_RXCR 0x0c /* RX configuration reg WR */ |
53 | 55 | #define EN0_TXCR 0x0d /* TX configuration reg WR */ |
... | ... | @@ -64,6 +66,11 @@ |
64 | 66 | #define EN2_STARTPG 0x21 /* Starting page of ring bfr RD */ |
65 | 67 | #define EN2_STOPPG 0x22 /* Ending page +1 of ring bfr RD */ |
66 | 68 | |
69 | +#define EN3_CONFIG0 0x33 | |
70 | +#define EN3_CONFIG1 0x34 | |
71 | +#define EN3_CONFIG2 0x35 | |
72 | +#define EN3_CONFIG3 0x36 | |
73 | + | |
67 | 74 | /* Register accessed at EN_CMD, the 8390 base addr. */ |
68 | 75 | #define E8390_STOP 0x01 /* Stop and reset the chip */ |
69 | 76 | #define E8390_START 0x02 /* Start the chip, clear reset */ |
... | ... | @@ -447,6 +454,21 @@ static uint32_t ne2000_ioport_read(void *opaque, uint32_t addr) |
447 | 454 | case EN2_STOPPG: |
448 | 455 | ret = s->stop >> 8; |
449 | 456 | break; |
457 | + case EN0_RTL8029ID0: | |
458 | + ret = 0x50; | |
459 | + break; | |
460 | + case EN0_RTL8029ID1: | |
461 | + ret = 0x43; | |
462 | + break; | |
463 | + case EN3_CONFIG0: | |
464 | + ret = 0; /* 10baseT media */ | |
465 | + break; | |
466 | + case EN3_CONFIG2: | |
467 | + ret = 0x40; /* 10baseT active */ | |
468 | + break; | |
469 | + case EN3_CONFIG3: | |
470 | + ret = 0x40; /* Full duplex */ | |
471 | + break; | |
450 | 472 | default: |
451 | 473 | ret = 0x00; |
452 | 474 | break; | ... | ... |