mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
Split DMA controller in two
Fix register size related bugs git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2869 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
db7b5426a4
commit
5aca8c3b2f
10 changed files with 87 additions and 82 deletions
|
@ -102,6 +102,7 @@ struct SerialState {
|
|||
};
|
||||
|
||||
#define SERIAL_MAXADDR 7
|
||||
#define SERIAL_SIZE (SERIAL_MAXADDR + 1)
|
||||
|
||||
static void handle_kbd_command(ChannelState *s, int val);
|
||||
static int serial_can_receive(void *opaque);
|
||||
|
@ -178,7 +179,7 @@ static void slavio_serial_reset_chn(ChannelState *s)
|
|||
int i;
|
||||
|
||||
s->reg = 0;
|
||||
for (i = 0; i < SERIAL_MAXADDR; i++) {
|
||||
for (i = 0; i < SERIAL_SIZE; i++) {
|
||||
s->rregs[i] = 0;
|
||||
s->wregs[i] = 0;
|
||||
}
|
||||
|
@ -598,7 +599,7 @@ SerialState *slavio_serial_init(target_phys_addr_t base, qemu_irq irq,
|
|||
return NULL;
|
||||
|
||||
slavio_serial_io_memory = cpu_register_io_memory(0, slavio_serial_mem_read, slavio_serial_mem_write, s);
|
||||
cpu_register_physical_memory(base, SERIAL_MAXADDR, slavio_serial_io_memory);
|
||||
cpu_register_physical_memory(base, SERIAL_SIZE, slavio_serial_io_memory);
|
||||
|
||||
s->chn[0].chr = chr1;
|
||||
s->chn[1].chr = chr2;
|
||||
|
@ -723,7 +724,7 @@ void slavio_serial_ms_kbd_init(target_phys_addr_t base, qemu_irq irq)
|
|||
s->chn[1].type = kbd;
|
||||
|
||||
slavio_serial_io_memory = cpu_register_io_memory(0, slavio_serial_mem_read, slavio_serial_mem_write, s);
|
||||
cpu_register_physical_memory(base, SERIAL_MAXADDR, slavio_serial_io_memory);
|
||||
cpu_register_physical_memory(base, SERIAL_SIZE, slavio_serial_io_memory);
|
||||
|
||||
qemu_add_mouse_event_handler(sunmouse_event, &s->chn[0], 0, "QEMU Sun Mouse");
|
||||
qemu_add_kbd_event_handler(sunkbd_event, &s->chn[1]);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue