aboutsummaryrefslogtreecommitdiff
path: root/hw/mips_jazz.c
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2009-04-15 14:57:54 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2009-04-15 14:57:54 +0000
commita65f56eeba9152e243f5f08cd0ae7556e27f6fb3 (patch)
treec38d54976e7feec943fd9597b92d881d559ffa0f /hw/mips_jazz.c
parentffc500ea02cdd2fcf3925bc2141309e056643c1f (diff)
Implement sonic netcard (MIPS Jazz)
Attached patch adds emulation of a SONIC netcard. This card has been used in MIPS Jazz machines and in some Apple Mac 68K. Emulation has been done using dp83932 specification, but can be enhanced (if needed) to also emulate dp83916, dp83934 or dp83936 chipsets. This has been tested in Linux 2.1, NetBSD 1.6.2 and MS Windows NT/MIPS Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7112 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/mips_jazz.c')
-rw-r--r--hw/mips_jazz.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c
index 510812ebef..955041336b 100644
--- a/hw/mips_jazz.c
+++ b/hw/mips_jazz.c
@@ -137,6 +137,7 @@ void mips_jazz_init (ram_addr_t ram_size, int vga_ram_size,
void *scsi_hba;
int hd;
int s_rtc, s_dma_dummy;
+ NICInfo *nd;
PITState *pit;
BlockDriverState *fds[MAX_FD];
qemu_irq esp_reset;
@@ -212,7 +213,22 @@ void mips_jazz_init (ram_addr_t ram_size, int vga_ram_size,
}
/* Network controller */
- /* FIXME: missing NS SONIC DP83932 */
+ for (n = 0; n < nb_nics; n++) {
+ nd = &nd_table[n];
+ if (!nd->model)
+ nd->model = "dp83932";
+ if (strcmp(nd->model, "dp83932") == 0) {
+ dp83932_init(nd, 0x80001000, 2, rc4030[4],
+ rc4030_opaque, rc4030_dma_memory_rw);
+ break;
+ } else if (strcmp(nd->model, "?") == 0) {
+ fprintf(stderr, "qemu: Supported NICs: dp83932\n");
+ exit(1);
+ } else {
+ fprintf(stderr, "qemu: Unsupported NIC: %s\n", nd->model);
+ exit(1);
+ }
+ }
/* SCSI adapter */
scsi_hba = esp_init(0x80002000, 0,