- pic = icp_pic_init(0x14000000, cpu_pic[ARM_PIC_CPU_IRQ],
- cpu_pic[ARM_PIC_CPU_FIQ]);
- icp_pic_init(0xca000000, pic[26], NULL);
- icp_pit_init(0x13000000, pic, 5);
- pl031_init(0x15000000, pic[8]);
- pl011_init(0x16000000, pic[1], serial_hds[0], PL011_ARM);
- pl011_init(0x17000000, pic[2], serial_hds[1], PL011_ARM);
- icp_control_init(0xcb000000);
- pl050_init(0x18000000, pic[3], 0);
- pl050_init(0x19000000, pic[4], 1);
- sd = drive_get_index(IF_SD, 0, 0);
- if (sd == -1) {
- fprintf(stderr, "qemu: missing SecureDigital card\n");
- exit(1);
+ dev = sysbus_create_varargs("integrator_pic", 0x14000000,
+ cpu_pic[ARM_PIC_CPU_IRQ],
+ cpu_pic[ARM_PIC_CPU_FIQ], NULL);
+ for (i = 0; i < 32; i++) {
+ pic[i] = qdev_get_gpio_in(dev, i);