Revision 1f5476fc

b/vl.c
2594 2594
#define KBD_CCMD_WRITE_AUX_OBUF	0xD3    /* Write to output buffer as if
2595 2595
					   initiated by the auxiliary device */
2596 2596
#define KBD_CCMD_WRITE_MOUSE	0xD4	/* Write the following byte to the mouse */
2597
#define KBD_CCMD_ENABLE_A20     0xDD
2598
#define KBD_CCMD_DISABLE_A20    0xDF
2597
#define KBD_CCMD_DISABLE_A20    0xDD    /* HP vectra only ? */
2598
#define KBD_CCMD_ENABLE_A20     0xDF    /* HP vectra only ? */
2599 2599
#define KBD_CCMD_RESET	        0xFE
2600 2600

  
2601 2601
/* Keyboard Commands */
......
2685 2685

  
2686 2686
KBDState kbd_state;
2687 2687
int reset_requested;
2688
int a20_enabled;
2689 2688

  
2690 2689
/* update irq and KBD_STAT_[MOUSE_]OBF */
2691 2690
static void kbd_update_irq(KBDState *s)
......
2802 2801
        kbd_queue(s, val, 0);
2803 2802
        break;
2804 2803
    case KBD_CCMD_ENABLE_A20:
2805
        a20_enabled = 1;
2804
        cpu_x86_set_a20(env, 1);
2806 2805
        break;
2807 2806
    case KBD_CCMD_DISABLE_A20:
2808
        a20_enabled = 0;
2807
        cpu_x86_set_a20(env, 0);
2809 2808
        break;
2810 2809
    case KBD_CCMD_RESET:
2811 2810
        reset_requested = 1;
......
2875 2874
        case KBD_CMD_SET_LEDS:
2876 2875
        case KBD_CMD_SET_RATE:
2877 2876
            s->kbd_write_cmd = val;
2877
            kbd_queue(s, KBD_REPLY_ACK, 0);
2878 2878
            break;
2879 2879
        case KBD_CMD_RESET_DISABLE:
2880 2880
            kbd_reset_keyboard(s);
......
3129 3129
        kbd_queue(s, val, 1);
3130 3130
        break;
3131 3131
    case KBD_CCMD_WRITE_OUTPORT:
3132
        a20_enabled = (val >> 1) & 1;
3132
        cpu_x86_set_a20(env, (val >> 1) & 1);
3133 3133
        if (!(val & 1)) {
3134 3134
            reset_requested = 1;
3135 3135
            cpu_x86_interrupt(global_env, CPU_INTERRUPT_EXIT);

Also available in: Unified diff