Revision a4bc3afc hw/mips_malta.c

b/hw/mips_malta.c
55 55
    uint32_t i2csel;
56 56
    CharDriverState *display;
57 57
    char display_text[9];
58
    SerialState *uart;
58 59
} MaltaFPGAState;
59 60

  
60 61
static PITState *pit;
......
241 242
        val = s->brk;
242 243
        break;
243 244

  
245
    /* UART Registers */
246
    case 0x00900:
247
    case 0x00904:
248
    case 0x00908:
249
    case 0x0090c:
250
    case 0x00910:
251
    case 0x00914:
252
    case 0x00918:
253
    case 0x0091c:
254
        val = serial_mm_readl(s->uart, addr);
255
        break;
256

  
244 257
    /* GPOUT Register */
245 258
    case 0x00a00:
246 259
        val = s->gpout;
......
341 354
        s->brk = val & 0xff;
342 355
        break;
343 356

  
357
    /* UART Registers */
358
    case 0x00900:
359
    case 0x00904:
360
    case 0x00908:
361
    case 0x0090c:
362
    case 0x00910:
363
    case 0x00914:
364
    case 0x00918:
365
    case 0x0091c:
366
        serial_mm_writel(s->uart, addr, val);
367
        break;
368

  
344 369
    /* GPOUT Register */
345 370
    case 0x00a00:
346 371
        s->gpout = val & 0xff;
......
400 425
    malta_fpga_update_display(s);
401 426
}
402 427

  
403
MaltaFPGAState *malta_fpga_init(target_phys_addr_t base)
428
MaltaFPGAState *malta_fpga_init(target_phys_addr_t base, CPUState *env)
404 429
{
405 430
    MaltaFPGAState *s;
431
    CharDriverState *uart_chr;
406 432
    int malta;
407 433

  
408 434
    s = (MaltaFPGAState *)qemu_mallocz(sizeof(MaltaFPGAState));
409 435

  
410 436
    malta = cpu_register_io_memory(0, malta_fpga_read,
411 437
                                   malta_fpga_write, s);
438

  
412 439
    cpu_register_physical_memory(base, 0x100000, malta);
413 440

  
414 441
    s->display = qemu_chr_open("vc");
......
422 449
    qemu_chr_printf(s->display, "+        +\r\n");
423 450
    qemu_chr_printf(s->display, "+--------+\r\n");
424 451

  
452
    uart_chr = qemu_chr_open("vc");
453
    qemu_chr_printf(uart_chr, "CBUS UART\r\n");
454
    s->uart = serial_mm_init(&cpu_mips_irq_request, env, base, 3, 2,
455
                             uart_chr, 0);
456

  
425 457
    malta_fpga_reset(s);
426 458
    qemu_register_reset(malta_fpga_reset, s);
427 459

  
......
683 715
    cpu_mips_irqctrl_init();
684 716

  
685 717
    /* FPGA */
686
    malta_fpga = malta_fpga_init(0x1f000000LL);
718
    malta_fpga = malta_fpga_init(0x1f000000LL, env);
687 719

  
688 720
    /* Interrupt controller */
689 721
    isa_pic = pic_init(pic_irq_request, env);

Also available in: Unified diff