Commit 562183de2ecdbe6959c00da3e9ea3d608937fc56
1 parent
074f2fff
ETRAX: Correct PIC creation for the bare FS board.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Showing
1 changed file
with
7 additions
and
2 deletions
hw/etraxfs.c
... | ... | @@ -49,6 +49,7 @@ void bareetraxfs_init (ram_addr_t ram_size, |
49 | 49 | const char *initrd_filename, const char *cpu_model) |
50 | 50 | { |
51 | 51 | DeviceState *dev; |
52 | + SysBusDevice *s; | |
52 | 53 | CPUState *env; |
53 | 54 | qemu_irq irq[30], nmi[2], *cpu_irq; |
54 | 55 | void *etraxfs_dmac; |
... | ... | @@ -85,10 +86,14 @@ void bareetraxfs_init (ram_addr_t ram_size, |
85 | 86 | 1, 2, 0x0000, 0x0000, 0x0000, 0x0000, |
86 | 87 | 0x555, 0x2aa); |
87 | 88 | cpu_irq = cris_pic_init_cpu(env); |
88 | - dev = sysbus_create_varargs("etraxfs,pic", 0x3001c000, | |
89 | - cpu_irq[0], cpu_irq[1], NULL); | |
89 | + dev = qdev_create(NULL, "etraxfs,pic"); | |
90 | 90 | /* FIXME: Is there a proper way to signal vectors to the CPU core? */ |
91 | 91 | qdev_set_prop_ptr(dev, "interrupt_vector", &env->interrupt_vector); |
92 | + qdev_init(dev); | |
93 | + s = sysbus_from_qdev(dev); | |
94 | + sysbus_mmio_map(s, 0, 0x3001c000); | |
95 | + sysbus_connect_irq(s, 0, cpu_irq[0]); | |
96 | + sysbus_connect_irq(s, 1, cpu_irq[1]); | |
92 | 97 | for (i = 0; i < 30; i++) { |
93 | 98 | irq[i] = qdev_get_gpio_in(dev, i); |
94 | 99 | } | ... | ... |