Revision c68ea704 hw/pckbd.c
b/hw/pckbd.c | ||
---|---|---|
254 | 254 |
case KBD_CCMD_READ_OUTPORT: |
255 | 255 |
/* XXX: check that */ |
256 | 256 |
#ifdef TARGET_I386 |
257 |
val = 0x01 | (((cpu_single_env->a20_mask >> 20) & 1) << 1);
|
|
257 |
val = 0x01 | (ioport_get_a20() << 1);
|
|
258 | 258 |
#else |
259 | 259 |
val = 0x01; |
260 | 260 |
#endif |
... | ... | |
266 | 266 |
break; |
267 | 267 |
#ifdef TARGET_I386 |
268 | 268 |
case KBD_CCMD_ENABLE_A20: |
269 |
cpu_x86_set_a20(cpu_single_env, 1);
|
|
269 |
ioport_set_a20(1);
|
|
270 | 270 |
break; |
271 | 271 |
case KBD_CCMD_DISABLE_A20: |
272 |
cpu_x86_set_a20(cpu_single_env, 0);
|
|
272 |
ioport_set_a20(0);
|
|
273 | 273 |
break; |
274 | 274 |
#endif |
275 | 275 |
case KBD_CCMD_RESET: |
... | ... | |
611 | 611 |
break; |
612 | 612 |
case KBD_CCMD_WRITE_OUTPORT: |
613 | 613 |
#ifdef TARGET_I386 |
614 |
cpu_x86_set_a20(cpu_single_env, (val >> 1) & 1);
|
|
614 |
ioport_set_a20((val >> 1) & 1);
|
|
615 | 615 |
#endif |
616 | 616 |
if (!(val & 1)) { |
617 | 617 |
qemu_system_reset_request(); |
Also available in: Unified diff