aboutsummaryrefslogtreecommitdiff
path: root/hw/mcf5208.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/mcf5208.c')
-rw-r--r--hw/mcf5208.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/hw/mcf5208.c b/hw/mcf5208.c
index 886688f28d..8068f7861d 100644
--- a/hw/mcf5208.c
+++ b/hw/mcf5208.c
@@ -236,10 +236,27 @@ static void mcf5208evb_init(int ram_size, int vga_ram_size, int boot_device,
mcf5208_sys_init(pic);
+ if (nb_nics > 1) {
+ fprintf(stderr, "Too many NICs\n");
+ exit(1);
+ }
+ if (nd_table[0].vlan) {
+ if (nd_table[0].model == NULL
+ || strcmp(nd_table[0].model, "mcf_fec") == 0) {
+ mcf_fec_init(&nd_table[0], 0xfc030000, pic + 36);
+ } else if (strcmp(nd_table[0].model, "?") == 0) {
+ fprintf(stderr, "qemu: Supported NICs: mcf_fec\n");
+ exit (1);
+ } else {
+ fprintf(stderr, "qemu: Unsupported NIC: %s\n", nd_table[0].model);
+ exit (1);
+ }
+ }
+
/* 0xfc000000 SCM. */
/* 0xfc004000 XBS. */
/* 0xfc008000 FlexBus CS. */
- /* 0xfc030000 FEC. */
+ /* 0xfc030000 FEC. */
/* 0xfc040000 SCM + Power management. */
/* 0xfc044000 eDMA. */
/* 0xfc048000 INTC. */