[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V2 4/7] hw/serial.c: replace register_ioport*
From: |
Julien Grall |
Subject: |
[Qemu-devel] [PATCH V2 4/7] hw/serial.c: replace register_ioport* |
Date: |
Wed, 4 Apr 2012 19:21:07 +0100 |
This patch replaces all register_ioport* with a MemoryRegion. It permits to
use the new Memory stuff like listener.
For more flexibility, the IO address space is passed as an argument.
Signed-off-by: Julien Grall <address@hidden>
---
hw/pc.h | 2 +-
hw/serial.c | 8 +++++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/hw/pc.h b/hw/pc.h
index 74d3369..e6135a5 100644
--- a/hw/pc.h
+++ b/hw/pc.h
@@ -15,7 +15,7 @@
/* serial.c */
SerialState *serial_init(int base, qemu_irq irq, int baudbase,
- CharDriverState *chr);
+ CharDriverState *chr, MemoryRegion *system_io);
SerialState *serial_mm_init(MemoryRegion *address_space,
target_phys_addr_t base, int it_shift,
qemu_irq irq, int baudbase,
diff --git a/hw/serial.c b/hw/serial.c
index c0ee55d..9e755e8 100644
--- a/hw/serial.c
+++ b/hw/serial.c
@@ -28,6 +28,7 @@
#include "pc.h"
#include "qemu-timer.h"
#include "sysemu.h"
+#include "exec-memory.h"
//#define DEBUG_SERIAL
@@ -807,7 +808,7 @@ static const VMStateDescription vmstate_isa_serial = {
};
SerialState *serial_init(int base, qemu_irq irq, int baudbase,
- CharDriverState *chr)
+ CharDriverState *chr, MemoryRegion *system_io)
{
SerialState *s;
@@ -820,8 +821,9 @@ SerialState *serial_init(int base, qemu_irq irq, int
baudbase,
vmstate_register(NULL, base, &vmstate_serial, s);
- register_ioport_write(base, 8, 1, serial_ioport_write, s);
- register_ioport_read(base, 8, 1, serial_ioport_read, s);
+ memory_region_init_io(&s->io, &serial_io_ops, s, "serial", 8);
+ memory_region_add_subregion(system_io, base, &s->io);
+
return s;
}
--
Julien Grall
- [Qemu-devel] [PATCH V2 0/7] memory: unify ioport registration, Julien Grall, 2012/04/04
- [Qemu-devel] [PATCH V2 2/7] hw/acpi_piix4.c: replace register_ioport*, Julien Grall, 2012/04/04
- [Qemu-devel] [PATCH V2 7/7] hw/apm.c: replace register_ioport*, Julien Grall, 2012/04/04
- [Qemu-devel] [PATCH V2 4/7] hw/serial.c: replace register_ioport*,
Julien Grall <=
- [Qemu-devel] [PATCH V2 1/7] isa: add isa_address_space_io, Julien Grall, 2012/04/04
- [Qemu-devel] [PATCH V2 6/7] hw/dma.c: replace register_ioport*, Julien Grall, 2012/04/04
- [Qemu-devel] [PATCH V2 5/7] hw/pc.c: replace register_ioport*, Julien Grall, 2012/04/04
- [Qemu-devel] [PATCH V2 3/7] hw/cirrus_vga.c: replace register_ioport*, Julien Grall, 2012/04/04