Revision b41a2cd1 hw/pckbd.c

b/hw/pckbd.c
189 189

  
190 190
static void kbd_queue(KBDState *s, int b, int aux)
191 191
{
192
    KBDQueue *q = &kbd_state.queues[aux];
192
    KBDQueue *q = &s->queues[aux];
193 193

  
194 194
#if defined(DEBUG_MOUSE) || defined(DEBUG_KBD)
195 195
    if (aux)
......
214 214
    kbd_queue(s, keycode, 0);
215 215
}
216 216

  
217
static uint32_t kbd_read_status(CPUState *env, uint32_t addr)
217
static uint32_t kbd_read_status(void *opaque, uint32_t addr)
218 218
{
219
    KBDState *s = &kbd_state;
219
    KBDState *s = opaque;
220 220
    int val;
221 221
    val = s->status;
222 222
#if defined(DEBUG_KBD)
......
225 225
    return val;
226 226
}
227 227

  
228
static void kbd_write_command(CPUState *env, uint32_t addr, uint32_t val)
228
static void kbd_write_command(void *opaque, uint32_t addr, uint32_t val)
229 229
{
230
    KBDState *s = &kbd_state;
230
    KBDState *s = opaque;
231 231

  
232 232
#ifdef DEBUG_KBD
233 233
    printf("kbd: write cmd=0x%02x\n", val);
......
285 285
        break;
286 286
#ifdef TARGET_I386
287 287
    case KBD_CCMD_ENABLE_A20:
288
        cpu_x86_set_a20(env, 1);
288
        cpu_x86_set_a20(cpu_single_env, 1);
289 289
        break;
290 290
    case KBD_CCMD_DISABLE_A20:
291
        cpu_x86_set_a20(env, 0);
291
        cpu_x86_set_a20(cpu_single_env, 0);
292 292
        break;
293 293
#endif
294 294
    case KBD_CCMD_RESET:
......
304 304
    }
305 305
}
306 306

  
307
static uint32_t kbd_read_data(CPUState *env, uint32_t addr)
307
static uint32_t kbd_read_data(void *opaque, uint32_t addr)
308 308
{
309
    KBDState *s = &kbd_state;
309
    KBDState *s = opaque;
310 310
    KBDQueue *q;
311 311
    int val, index;
312 312
    
......
605 605
    }
606 606
}
607 607

  
608
void kbd_write_data(CPUState *env, uint32_t addr, uint32_t val)
608
void kbd_write_data(void *opaque, uint32_t addr, uint32_t val)
609 609
{
610
    KBDState *s = &kbd_state;
610
    KBDState *s = opaque;
611 611

  
612 612
#ifdef DEBUG_KBD
613 613
    printf("kbd: write data=0x%02x\n", val);
......
629 629
        break;
630 630
    case KBD_CCMD_WRITE_OUTPORT:
631 631
#ifdef TARGET_I386
632
        cpu_x86_set_a20(env, (val >> 1) & 1);
632
        cpu_x86_set_a20(cpu_single_env, (val >> 1) & 1);
633 633
#endif
634 634
        if (!(val & 1)) {
635 635
            reset_requested = 1;
......
664 664

  
665 665
void kbd_init(void)
666 666
{
667
    kbd_reset(&kbd_state);
668
    register_ioport_read(0x60, 1, kbd_read_data, 1);
669
    register_ioport_write(0x60, 1, kbd_write_data, 1);
670
    register_ioport_read(0x64, 1, kbd_read_status, 1);
671
    register_ioport_write(0x64, 1, kbd_write_command, 1);
667
    KBDState *s = &kbd_state;
668
    
669
    kbd_reset(s);
670
    register_ioport_read(0x60, 1, 1, kbd_read_data, s);
671
    register_ioport_write(0x60, 1, 1, kbd_write_data, s);
672
    register_ioport_read(0x64, 1, 1, kbd_read_status, s);
673
    register_ioport_write(0x64, 1, 1, kbd_write_command, s);
672 674
}

Also available in: Unified diff