Commit 7d977de7e19b04c4bb0c95d5afe6d4350d4068e5
1 parent
07d89866
io port API change
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@661 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
22 additions
and
22 deletions
hw/dma.c
... | ... | @@ -78,7 +78,7 @@ enum { |
78 | 78 | |
79 | 79 | }; |
80 | 80 | |
81 | -static void write_page (CPUState *env, uint32_t nport, uint32_t data) | |
81 | +static void write_page (void *opaque, uint32_t nport, uint32_t data) | |
82 | 82 | { |
83 | 83 | int ichan; |
84 | 84 | int ncont; |
... | ... | @@ -113,7 +113,7 @@ static inline int getff (int ncont) |
113 | 113 | return ff; |
114 | 114 | } |
115 | 115 | |
116 | -static uint32_t read_chan (CPUState *env, uint32_t nport) | |
116 | +static uint32_t read_chan (void *opaque, uint32_t nport) | |
117 | 117 | { |
118 | 118 | int ff; |
119 | 119 | int ncont, ichan, nreg; |
... | ... | @@ -135,7 +135,7 @@ static uint32_t read_chan (CPUState *env, uint32_t nport) |
135 | 135 | return (val >> (ncont + (ff << 3))) & 0xff; |
136 | 136 | } |
137 | 137 | |
138 | -static void write_chan (CPUState *env, uint32_t nport, uint32_t data) | |
138 | +static void write_chan (void *opaque, uint32_t nport, uint32_t data) | |
139 | 139 | { |
140 | 140 | int ncont, ichan, nreg; |
141 | 141 | struct dma_regs *r; |
... | ... | @@ -153,7 +153,7 @@ static void write_chan (CPUState *env, uint32_t nport, uint32_t data) |
153 | 153 | } |
154 | 154 | } |
155 | 155 | |
156 | -static void write_cont (CPUState *env, uint32_t nport, uint32_t data) | |
156 | +static void write_cont (void *opaque, uint32_t nport, uint32_t data) | |
157 | 157 | { |
158 | 158 | int iport, ichan, ncont; |
159 | 159 | struct dma_cont *d; |
... | ... | @@ -345,22 +345,22 @@ void DMA_init (void) |
345 | 345 | int page_port_list[] = { 0x1, 0x2, 0x3, 0x7 }; |
346 | 346 | |
347 | 347 | for (i = 0; i < 8; i++) { |
348 | - register_ioport_write (i, 1, write_chan, 1); | |
348 | + register_ioport_write (i, 1, 1, write_chan, NULL); | |
349 | 349 | |
350 | - register_ioport_write (0xc0 + (i << 1), 1, write_chan, 1); | |
350 | + register_ioport_write (0xc0 + (i << 1), 1, 1, write_chan, NULL); | |
351 | 351 | |
352 | - register_ioport_read (i, 1, read_chan, 1); | |
353 | - register_ioport_read (0xc0 + (i << 1), 1, read_chan, 1); | |
352 | + register_ioport_read (i, 1, 1, read_chan, NULL); | |
353 | + register_ioport_read (0xc0 + (i << 1), 1, 1, read_chan, NULL); | |
354 | 354 | } |
355 | 355 | |
356 | 356 | for (i = 0; i < LENOFA (page_port_list); i++) { |
357 | - register_ioport_write (page_port_list[i] + 0x80, 1, write_page, 1); | |
358 | - register_ioport_write (page_port_list[i] + 0x88, 1, write_page, 1); | |
357 | + register_ioport_write (page_port_list[i] + 0x80, 1, 1, write_page, NULL); | |
358 | + register_ioport_write (page_port_list[i] + 0x88, 1, 1, write_page, NULL); | |
359 | 359 | } |
360 | 360 | |
361 | 361 | for (i = 0; i < 8; i++) { |
362 | - register_ioport_write (i + 8, 1, write_cont, 1); | |
363 | - register_ioport_write (0xd0 + (i << 1), 1, write_cont, 1); | |
362 | + register_ioport_write (i + 8, 1, 1, write_cont, NULL); | |
363 | + register_ioport_write (0xd0 + (i << 1), 1, 1, write_cont, NULL); | |
364 | 364 | } |
365 | 365 | |
366 | 366 | write_cont (NULL, 0x0d, 0); | ... | ... |
hw/sb16.c
... | ... | @@ -50,9 +50,9 @@ |
50 | 50 | #endif |
51 | 51 | |
52 | 52 | #define IO_READ_PROTO(name) \ |
53 | - uint32_t name (struct CPUState *env, uint32_t nport) | |
53 | + uint32_t name (void *opaque, uint32_t nport) | |
54 | 54 | #define IO_WRITE_PROTO(name) \ |
55 | - void name (struct CPUState *env, uint32_t nport, uint32_t val) | |
55 | + void name (void *opaque, uint32_t nport, uint32_t val) | |
56 | 56 | |
57 | 57 | static struct { |
58 | 58 | int ver_lo; |
... | ... | @@ -550,8 +550,8 @@ static IO_WRITE_PROTO(mixer_write_datab) |
550 | 550 | |
551 | 551 | static IO_WRITE_PROTO(mixer_write_indexw) |
552 | 552 | { |
553 | - mixer_write_indexb (env, nport, val & 0xff); | |
554 | - mixer_write_datab (env, nport, (val >> 8) & 0xff); | |
553 | + mixer_write_indexb (opaque, nport, val & 0xff); | |
554 | + mixer_write_datab (opaque, nport, (val >> 8) & 0xff); | |
555 | 555 | } |
556 | 556 | |
557 | 557 | static IO_READ_PROTO(mixer_read) |
... | ... | @@ -718,17 +718,17 @@ void SB16_init (void) |
718 | 718 | } |
719 | 719 | |
720 | 720 | for (i = 0; i < LENOFA (dsp_write_ports); i++) { |
721 | - register_ioport_write (sb.port + dsp_write_ports[i], 1, dsp_write, 1); | |
721 | + register_ioport_write (sb.port + dsp_write_ports[i], 1, 1, dsp_write, NULL); | |
722 | 722 | } |
723 | 723 | |
724 | 724 | for (i = 0; i < LENOFA (dsp_read_ports); i++) { |
725 | - register_ioport_read (sb.port + dsp_read_ports[i], 1, dsp_read, 1); | |
725 | + register_ioport_read (sb.port + dsp_read_ports[i], 1, 1, dsp_read, NULL); | |
726 | 726 | } |
727 | 727 | |
728 | - register_ioport_write (sb.port + 0x4, 1, mixer_write_indexb, 1); | |
729 | - register_ioport_write (sb.port + 0x4, 1, mixer_write_indexw, 2); | |
730 | - register_ioport_read (sb.port + 0x5, 1, mixer_read, 1); | |
731 | - register_ioport_write (sb.port + 0x5, 1, mixer_write_datab, 1); | |
728 | + register_ioport_write (sb.port + 0x4, 1, 1, mixer_write_indexb, NULL); | |
729 | + register_ioport_write (sb.port + 0x4, 1, 2, mixer_write_indexw, NULL); | |
730 | + register_ioport_read (sb.port + 0x5, 1, 1, mixer_read, NULL); | |
731 | + register_ioport_write (sb.port + 0x5, 1, 1, mixer_write_datab, NULL); | |
732 | 732 | |
733 | 733 | DMA_register_channel (sb.hdma, SB_read_DMA, NULL); |
734 | 734 | DMA_register_channel (sb.dma, SB_read_DMA, NULL); | ... | ... |