qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 07/11] i8259: Convert to MemoryRegion.


From: Avi Kivity
Subject: Re: [Qemu-devel] [PATCH 07/11] i8259: Convert to MemoryRegion.
Date: Sun, 28 Aug 2011 18:25:38 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20110816 Thunderbird/6.0

On 08/11/2011 01:28 AM, Richard Henderson wrote:
The only non-obvious part is pic_poll_read which used
"addr1>>  7" to detect whether one referred to either
the master or slave PIC.  Instead, test this directly.

Crashes mipsel-test from qemu.org immediately:

  /* XXX: add generic master/slave system */
  static void pic_init1(int io_addr, int elcr_addr, PicState *s)
  {
-    register_ioport_write(io_addr, 2, 1, pic_ioport_write, s);
-    register_ioport_read(io_addr, 2, 1, pic_ioport_read, s);
+    memory_region_init_io(&s->base_io,&pic_base_ioport_ops, s, "pic", 2);
+    memory_region_init_io(&s->elcr_io,&pic_elcr_ioport_ops, s, "elcr", 1);
+
+    isa_register_ioport(NULL,&s->base_io, io_addr);
      if (elcr_addr>= 0) {
-        register_ioport_write(elcr_addr, 1, 1, elcr_ioport_write, s);
-        register_ioport_read(elcr_addr, 1, 1, elcr_ioport_read, s);
+        isa_register_ioport(NULL,&s->elcr_io, elcr_addr);
      }
+
      vmstate_register(NULL, io_addr,&vmstate_pic, s);
      qemu_register_reset(pic_reset, s);
  }


#0 0x00000000005979a9 in isa_register_ioport (dev=0x0, io=0x2c19380, start=32) at /build/home/tlv/akivity/qemu/hw/isa-bus.c:113 #1 0x00000000005ae200 in pic_init1 (io_addr=32, elcr_addr=1232, s=0x2c19360) at /build/home/tlv/akivity/qemu/hw/i8259.c:508 #2 0x00000000005ae943 in i8259_init (parent_irq=0x2c19280) at /build/home/tlv/akivity/qemu/hw/i8259.c:557 #3 0x00000000005a6b36 in mips_malta_init (ram_size=<optimized out>, boot_device=<optimized out>, kernel_filename=<optimized out>, kernel_cmdline=0x7fff7acf17b5 "console=ttyS0 init=/bin/sh", initrd_filename=0x7fff7acf17a3 "initrd.gz", cpu_model=<optimized out>)
    at /build/home/tlv/akivity/qemu/hw/mips_malta.c:913
#4 0x000000000055d2eb in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at /build/home/tlv/akivity/qemu/vl.c:3257


--
error compiling committee.c: too many arguments to function




reply via email to

[Prev in Thread] Current Thread [Next in Thread]