Index: /trunk/src/VBox/Devices/Input/DevPS2.cpp
===================================================================
--- /trunk/src/VBox/Devices/Input/DevPS2.cpp	(revision 22857)
+++ /trunk/src/VBox/Devices/Input/DevPS2.cpp	(revision 22858)
@@ -1,3 +1,2 @@
-#ifdef VBOX
 /* $Id: $ */
 /** @file
@@ -71,12 +70,5 @@
 RT_C_DECLS_END
 #endif /* !VBOX_DEVICE_STRUCT_TESTCASE */
-#endif /* VBOX */
-
-
-#ifndef VBOX
-#include "vl.h"
-#endif
-
-#ifdef VBOX
+
 /* debug PC keyboard */
 #define DEBUG_KBD
@@ -84,5 +76,4 @@
 /* debug PC keyboard : only mouse */
 #define DEBUG_MOUSE
-#endif /* VBOX */
 
 /*      Keyboard Controller Commands */
@@ -161,7 +152,5 @@
 #define AUX_RESET               0xFF    /* Reset aux device */
 #define AUX_ACK                 0xFA    /* Command byte ACK. */
-#ifdef VBOX
-#define AUX_NACK                        0xFE    /* Command byte NACK. */
-#endif
+#define AUX_NACK                0xFE    /* Command byte NACK. */
 
 #define MOUSE_STATUS_REMOTE     0x40
@@ -171,18 +160,11 @@
 #define KBD_QUEUE_SIZE 256
 
-#ifdef VBOX
 # define MOUSE_REPORT_HORIZONTAL  0x01
 # define MOUSE_OUTSTANDING_CLICK  0x02
-#endif
 
 typedef struct {
-#ifndef VBOX
-    uint8_t aux[KBD_QUEUE_SIZE];
-#endif /* !VBOX */
     uint8_t data[KBD_QUEUE_SIZE];
     int rptr, wptr, count;
 } KBDQueue;
-
-#ifdef VBOX
 
 #define MOUSE_CMD_QUEUE_SIZE 8
@@ -201,12 +183,8 @@
 } MouseEventQueue;
 
-#endif /* VBOX */
-
 typedef struct KBDState {
     KBDQueue queue;
-#ifdef VBOX
     MouseCmdQueue mouse_command_queue;
     MouseEventQueue mouse_event_queue;
-#endif /* VBOX */
     uint8_t write_cmd; /* if non zero, write data to port 60 is expected */
     uint8_t status;
@@ -226,11 +204,8 @@
     int32_t mouse_dy;
     int32_t mouse_dz;
-#ifdef VBOX
     int32_t mouse_dw;
     int32_t mouse_flags;
-#endif
     uint8_t mouse_buttons;
 
-#ifdef VBOX
     /** Pointer to the device instance - RC. */
     PPDMDEVINSRC                pDevInsRC;
@@ -272,11 +247,7 @@
         R3PTRTYPE(PPDMIMOUSECONNECTOR)      pDrv;
     } Mouse;
-#endif
 } KBDState;
 
 #ifndef VBOX_DEVICE_STRUCT_TESTCASE
-#ifndef VBOX
-KBDState kbd_state;
-#endif
 
 /* update irq and KBD_STAT_[MOUSE_]OBF */
@@ -286,8 +257,6 @@
 {
     KBDQueue *q = &s->queue;
-#ifdef VBOX
     MouseCmdQueue *mcq = &s->mouse_command_queue;
     MouseEventQueue *meq = &s->mouse_event_queue;
-#endif /* VBOX */
     int irq12_level, irq1_level;
 
@@ -295,5 +264,4 @@
     irq12_level = 0;
     s->status &= ~(KBD_STAT_OBF | KBD_STAT_MOUSE_OBF);
-#ifdef VBOX
     if (q->count != 0)
     {
@@ -308,25 +276,6 @@
             irq12_level = 1;
     }
-#else /* !VBOX */
-    if (q->count != 0) {
-        s->status |= KBD_STAT_OBF;
-        if (q->aux[q->rptr]) {
-            s->status |= KBD_STAT_MOUSE_OBF;
-            if (s->mode & KBD_MODE_MOUSE_INT)
-                irq12_level = 1;
-        } else {
-            if ((s->mode & KBD_MODE_KBD_INT) &&
-                !(s->mode & KBD_MODE_DISABLE_KBD))
-                irq1_level = 1;
-        }
-    }
-#endif /* !VBOX */
-#ifndef VBOX
-    pic_set_irq(1, irq1_level);
-    pic_set_irq(12, irq12_level);
-#else /* VBOX */
     PDMDevHlpISASetIrq(s->CTX_SUFF(pDevIns), 1, irq1_level);
     PDMDevHlpISASetIrq(s->CTX_SUFF(pDevIns), 12, irq12_level);
-#endif /* VBOX */
 }
 
@@ -334,8 +283,6 @@
 {
     KBDQueue *q = &s->queue;
-#ifdef VBOX
     MouseCmdQueue *mcq = &s->mouse_command_queue;
     MouseEventQueue *meq = &s->mouse_event_queue;
-#endif /* VBOX */
 
 #if defined(DEBUG_MOUSE) || defined(DEBUG_KBD)
@@ -349,5 +296,4 @@
 #endif
 #endif
-#ifdef VBOX
     switch (aux)
     {
@@ -379,13 +325,4 @@
             AssertMsgFailed(("aux=%d\n", aux));
     }
-#else /* !VBOX */
-    if (q->count >= KBD_QUEUE_SIZE)
-        return;
-    q->aux[q->wptr] = aux;
-    q->data[q->wptr] = b;
-    if (++q->wptr == KBD_QUEUE_SIZE)
-        q->wptr = 0;
-    q->count++;
-#endif /* !VBOX */
     kbd_update_irq(s);
 }
@@ -410,12 +347,7 @@
 }
 
-#ifndef VBOX
-static void kbd_write_command(void *opaque, uint32_t addr, uint32_t val)
-{
-#else /* VBOX (we need VMReset return code passed back) */
 static int kbd_write_command(void *opaque, uint32_t addr, uint32_t val)
 {
     int rc = VINF_SUCCESS;
-#endif /* VBOX */
     KBDState *s = (KBDState*)opaque;
 
@@ -464,9 +396,5 @@
         /* XXX: check that */
 #ifdef TARGET_I386
-# ifndef VBOX
-        val = 0x01 | (ioport_get_a20() << 1);
-# else /* VBOX */
         val = 0x01 | (PDMDevHlpA20IsEnabled(s->CTX_SUFF(pDevIns)) << 1);
-# endif /* VBOX */
 #else
         val = 0x01;
@@ -480,7 +408,4 @@
 #ifdef TARGET_I386
     case KBD_CCMD_ENABLE_A20:
-#ifndef VBOX
-        ioport_set_a20(1);
-#else /* VBOX */
 # ifndef IN_RING3
         if (!PDMDevHlpA20IsEnabled(s->CTX_SUFF(pDevIns)))
@@ -489,10 +414,6 @@
         PDMDevHlpA20Set(s->CTX_SUFF(pDevIns), true);
 # endif /* IN_RING3 */
-#endif /* VBOX */
         break;
     case KBD_CCMD_DISABLE_A20:
-#ifndef VBOX
-        ioport_set_a20(0);
-#else /* VBOX */
 # ifndef IN_RING3
         if (PDMDevHlpA20IsEnabled(s->CTX_SUFF(pDevIns)))
@@ -501,5 +422,4 @@
         PDMDevHlpA20Set(s->CTX_SUFF(pDevIns), false);
 # endif /* !IN_RING3 */
-#endif /* VBOX */
         break;
 #endif
@@ -510,18 +430,14 @@
         break;
     case KBD_CCMD_RESET:
-#ifndef VBOX
-        qemu_system_reset_request();
-#else /* VBOX */
-# ifndef IN_RING3
+#ifndef IN_RING3
         rc = VINF_IOM_HC_IOPORT_WRITE;
-# else /* IN_RING3 */
+#else /* IN_RING3 */
         rc = PDMDevHlpVMReset(s->CTX_SUFF(pDevIns));
-# endif /* !IN_RING3 */
-#endif /* VBOX */
+#endif /* !IN_RING3 */
         break;
     case 0xff:
         /* ignore that - I don't know what is its use */
         break;
-#ifdef VBOX /* Make OS/2 happy. */
+    /* Make OS/2 happy. */
     /* The 8042 RAM is readble using commands 0x20 thru 0x3f, and writable
        by 0x60 thru 0x7f. Now days only the firs byte, the mode, is used.
@@ -535,12 +451,9 @@
         Log(("kbd: reading non-standard RAM addr %#x\n", val & 0x1f));
         break;
-#endif
     default:
         Log(("kbd: unsupported keyboard cmd=0x%02x\n", val));
         break;
     }
-#ifdef VBOX
     return rc;
-#endif
 }
 
@@ -549,18 +462,12 @@
     KBDState *s = (KBDState*)opaque;
     KBDQueue *q;
-#ifdef VBOX
     MouseCmdQueue *mcq;
     MouseEventQueue *meq;
-#endif /* VBOX */
     int val, index, aux;
 
     q = &s->queue;
-#ifdef VBOX
     mcq = &s->mouse_command_queue;
     meq = &s->mouse_event_queue;
     if (q->count == 0 && mcq->count == 0 && meq->count == 0) {
-#else /* !VBOX */
-    if (q->count == 0) {
-#endif /* !VBOX */
         /* NOTE: if no data left, we return the last keyboard one
            (needed for EMM386) */
@@ -571,5 +478,4 @@
         val = q->data[index];
     } else {
-#ifdef VBOX
         aux = (s->status & KBD_STAT_MOUSE_OBF);
         if (!aux)
@@ -597,23 +503,9 @@
             }
         }
-#else /* !VBOX */
-        aux = q->aux[q->rptr];
-        val = q->data[q->rptr];
-        if (++q->rptr == KBD_QUEUE_SIZE)
-            q->rptr = 0;
-        q->count--;
-#endif /* !VBOX */
         /* reading deasserts IRQ */
-#ifndef VBOX
-        if (aux)
-            pic_set_irq(12, 0);
-        else
-            pic_set_irq(1, 0);
-#else /* VBOX */
         if (aux)
             PDMDevHlpISASetIrq(s->CTX_SUFF(pDevIns), 12, 0);
         else
             PDMDevHlpISASetIrq(s->CTX_SUFF(pDevIns), 1, 0);
-#endif /* VBOX */
     }
     /* reassert IRQs if data left */
@@ -630,9 +522,5 @@
 }
 
-#ifndef VBOX
-static void kbd_write_keyboard(KBDState *s, int val)
-#else
 static int  kbd_write_keyboard(KBDState *s, int val)
-#endif
 {
     switch(s->kbd_write_cmd) {
@@ -710,13 +598,7 @@
 }
 
-#ifdef VBOX
 static void kbd_mouse_send_packet(KBDState *s, bool fToCmdQueue)
-#else /* !VBOX */
-static void kbd_mouse_send_packet(KBDState *s)
-#endif /* !VBOX */
-{
-#ifdef VBOX
+{
     int aux = fToCmdQueue ? 1 : 2;
-#endif /* VBOX */
     unsigned int b;
     int dx1, dy1, dz1, dw1;
@@ -738,13 +620,7 @@
         dy1 = -127;
     b = 0x08 | ((dx1 < 0) << 4) | ((dy1 < 0) << 5) | (s->mouse_buttons & 0x07);
-#ifdef VBOX
     kbd_queue(s, b, aux);
     kbd_queue(s, dx1 & 0xff, aux);
     kbd_queue(s, dy1 & 0xff, aux);
-#else /* !VBOX */
-    kbd_queue(s, b, 1);
-    kbd_queue(s, dx1 & 0xff, 1);
-    kbd_queue(s, dy1 & 0xff, 1);
-#endif /* !VBOX */
     /* extra byte for IMPS/2 or IMEX */
     switch(s->mouse_type) {
@@ -756,17 +632,7 @@
         else if (dz1 < -127)
                 dz1 = -127;
-#ifdef VBOX
         kbd_queue(s, dz1 & 0xff, aux);
-#else /* !VBOX */
-        kbd_queue(s, dz1 & 0xff, 1);
-#endif /* !VBOX */
         break;
     case 4:
-#ifndef VBOX
-        if (dz1 > 7)
-            dz1 = 7;
-        else if (dz1 < -7)
-            dz1 = -7;
-#else
         if (dz1 > 1)
             dz1 = 1;
@@ -779,6 +645,4 @@
         if (dz1)
             dw1 = 0;
-#endif
-#ifdef VBOX
         if ((s->mouse_flags & MOUSE_REPORT_HORIZONTAL) && dw1)
             b = 0x40 | (dw1 & 0x3f);
@@ -790,8 +654,4 @@
         }
         kbd_queue(s, b, aux);
-#else /* !VBOX */
-        b = (dz1 & 0x0f) | ((s->mouse_buttons & 0x18) << 1);
-        kbd_queue(s, b, 1);
-#endif /* !VBOX */
         break;
     }
@@ -801,17 +661,10 @@
     s->mouse_dy -= dy1;
     s->mouse_dz -= dz1;
-#ifdef VBOX
     s->mouse_dw -= dw1;
-#endif
 }
 
 #ifdef IN_RING3
-#ifndef VBOX
-static void pc_kbd_mouse_event(void *opaque,
-                               int dx, int dy, int dz, int buttons_state)
-#else
 static void pc_kbd_mouse_event(void *opaque,
                                int dx, int dy, int dz, int dw, int buttons_state)
-#endif
 {
     KBDState *s = (KBDState*)opaque;
@@ -824,13 +677,5 @@
     s->mouse_dy -= dy;
     s->mouse_dz += dz;
-#ifdef VBOX
     s->mouse_dw += dw;
-#endif
-#ifndef VBOX
-    /* XXX: SDL sometimes generates nul events: we delete them */
-    if (s->mouse_dx == 0 && s->mouse_dy == 0 && s->mouse_dz == 0 &&
-        s->mouse_buttons == buttons_state)
-        return;
-#else
     /* The issue described above does not affect VBox, and under some
      * circumstances (which?) we may even wish to send null events to make
@@ -841,8 +686,6 @@
     if ((s->mouse_buttons & 0x18) != (buttons_state & 0x18))
         s->mouse_flags |= MOUSE_OUTSTANDING_CLICK;
-#endif
     s->mouse_buttons = buttons_state;
 
-#ifdef VBOX
     if (!(s->mouse_status & MOUSE_STATUS_REMOTE) &&
         (s->mouse_event_queue.count < (MOUSE_EVENT_QUEUE_SIZE - 4))) {
@@ -855,16 +698,4 @@
         }
     }
-#else /* !VBOX */
-    if (!(s->mouse_status & MOUSE_STATUS_REMOTE) &&
-        (s->queue.count < (KBD_QUEUE_SIZE - 16))) {
-        for(;;) {
-            /* if not remote, send event. Multiple events are sent if
-               too big deltas */
-            kbd_mouse_send_packet(s);
-            if (s->mouse_dx == 0 && s->mouse_dy == 0 && s->mouse_dz == 0)
-                break;
-        }
-    }
-#endif /* !VBOX */
 }
 #endif /* IN_RING3 */
@@ -875,10 +706,8 @@
     LogRelFlowFunc(("kbd: write mouse 0x%02x\n", val));
 #endif
-#ifdef VBOX
     /* Flush the mouse command response queue. */
     s->mouse_command_queue.count = 0;
     s->mouse_command_queue.rptr = 0;
     s->mouse_command_queue.wptr = 0;
-#endif /* VBOX */
     switch(s->mouse_write_cmd) {
     default:
@@ -933,9 +762,5 @@
         case AUX_POLL:
             kbd_queue(s, AUX_ACK, 1);
-#ifdef VBOX
             kbd_mouse_send_packet(s, true);
-#else /* !VBOX */
-            kbd_mouse_send_packet(s);
-#endif /* !VBOX */
             break;
         case AUX_ENABLE_DEV:
@@ -946,10 +771,8 @@
             s->mouse_status &= ~MOUSE_STATUS_ENABLED;
             kbd_queue(s, AUX_ACK, 1);
-#ifdef VBOX
             /* Flush the mouse events queue. */
             s->mouse_event_queue.count = 0;
             s->mouse_event_queue.rptr = 0;
             s->mouse_event_queue.wptr = 0;
-#endif /* VBOX */
             break;
         case AUX_SET_DEFAULT:
@@ -967,13 +790,10 @@
             kbd_queue(s, 0xaa, 1);
             kbd_queue(s, s->mouse_type, 1);
-#ifdef VBOX
             /* Flush the mouse events queue. */
             s->mouse_event_queue.count = 0;
             s->mouse_event_queue.rptr = 0;
             s->mouse_event_queue.wptr = 0;
-#endif /* VBOX */
             break;
         default:
-#ifdef VBOX
             /* NACK all commands we don't know.
 
@@ -994,5 +814,4 @@
             /** @todo send error if we NACKed the previous command? */
             kbd_queue(s, AUX_NACK, 1);
-#endif
             break;
         }
@@ -1001,7 +820,5 @@
         s->mouse_sample_rate = val;
         /* detect IMPS/2 or IMEX */
-#ifdef VBOX
         /* And enable horizontal scrolling reporting when requested */
-#endif
         switch(s->mouse_detect_state) {
         default:
@@ -1015,14 +832,11 @@
             else if (val == 200)
                 s->mouse_detect_state = 3;
-#ifdef VBOX
             else if ((val == 80) && s->mouse_type == 4 /* IMEX */)
                 /* enable horizontal scrolling, byte two */
                 s->mouse_detect_state = 4;
-#endif
             else
                 s->mouse_detect_state = 0;
             break;
         case 2:
-#ifdef VBOX
             if (val == 80)
             {
@@ -1030,12 +844,7 @@
                 s->mouse_type = 3; /* IMPS/2 */
             }
-#else
-            if (val == 80)
-                s->mouse_type = 3; /* IMPS/2 */
-#endif
             s->mouse_detect_state = 0;
             break;
         case 3:
-#ifdef VBOX
             if (val == 80)
             {
@@ -1043,11 +852,6 @@
                 s->mouse_type = 4; /* IMEX */
             }
-#else
-            if (val == 80)
-                s->mouse_type = 4; /* IMEX */
-#endif
             s->mouse_detect_state = 0;
             break;
-#ifdef VBOX
         case 4:
             if (val == 40)
@@ -1058,5 +862,4 @@
             s->mouse_detect_state = 0;
             break;
-#endif
         }
         kbd_queue(s, AUX_ACK, 1);
@@ -1071,12 +874,7 @@
 }
 
-#ifndef VBOX
-static void kbd_write_data(void *opaque, uint32_t addr, uint32_t val)
-{
-#else /* VBOX */
 static int kbd_write_data(void *opaque, uint32_t addr, uint32_t val)
 {
     int rc = VINF_SUCCESS;
-#endif /* VBOX */
     KBDState *s = (KBDState*)opaque;
 
@@ -1101,7 +899,4 @@
     case KBD_CCMD_WRITE_OUTPORT:
 #ifdef TARGET_I386
-# ifndef VBOX
-        ioport_set_a20((val >> 1) & 1);
-# else /* VBOX */
 #  ifndef IN_RING3
         if (PDMDevHlpA20IsEnabled(s->CTX_SUFF(pDevIns)) != !!(val & 2))
@@ -1110,10 +905,6 @@
         PDMDevHlpA20Set(s->CTX_SUFF(pDevIns), !!(val & 2));
 #  endif /* !IN_RING3 */
-# endif /* VBOX */
 #endif
         if (!(val & 1)) {
-#ifndef VBOX
-            qemu_system_reset_request();
-#else /* VBOX */
 # ifndef IN_RING3
             rc = VINF_IOM_HC_IOPORT_WRITE;
@@ -1121,5 +912,4 @@
             rc = PDMDevHlpVMReset(s->CTX_SUFF(pDevIns));
 # endif
-#endif /* VBOX */
         }
         break;
@@ -1131,8 +921,5 @@
     }
     s->write_cmd = 0;
-
-#ifdef VBOX
     return rc;
-#endif
 }
 
@@ -1143,8 +930,6 @@
     KBDState *s = (KBDState*)opaque;
     KBDQueue *q;
-#ifdef VBOX
     MouseCmdQueue *mcq;
     MouseEventQueue *meq;
-#endif /* VBOX */
 
     s->kbd_write_cmd = -1;
@@ -1152,5 +937,5 @@
     s->mode = KBD_MODE_KBD_INT | KBD_MODE_MOUSE_INT;
     s->status = KBD_STAT_CMD | KBD_STAT_UNLOCKED;
-#ifdef VBOX /* Resetting everything, keyword was not working right on NT4 reboot. */
+    /* Resetting everything, keyword was not working right on NT4 reboot. */
     s->write_cmd = 0;
     s->scan_enabled = 0;
@@ -1167,10 +952,8 @@
     s->mouse_flags = 0;
     s->mouse_buttons = 0;
-#endif
     q = &s->queue;
     q->rptr = 0;
     q->wptr = 0;
     q->count = 0;
-#ifdef VBOX
     mcq = &s->mouse_command_queue;
     mcq->rptr = 0;
@@ -1181,13 +964,10 @@
     meq->wptr = 0;
     meq->count = 0;
-#endif /* VBOX */
 }
 
 static void kbd_save(QEMUFile* f, void* opaque)
 {
-#ifdef VBOX
     uint32_t    cItems;
     int i;
-#endif /* VBOX */
     KBDState *s = (KBDState*)opaque;
 
@@ -1207,11 +987,8 @@
     qemu_put_be32s(f, &s->mouse_dy);
     qemu_put_be32s(f, &s->mouse_dz);
-#ifdef VBOX
     qemu_put_be32s(f, &s->mouse_dw);
     qemu_put_be32s(f, &s->mouse_flags);
-#endif
     qemu_put_8s(f, &s->mouse_buttons);
 
-#ifdef VBOX
     /*
      * We have to save the queues too.
@@ -1237,21 +1014,14 @@
     /* terminator */
     SSMR3PutU32(f, ~0);
-#endif /* VBOX */
 }
 
 static int kbd_load(QEMUFile* f, void* opaque, int version_id)
 {
-#ifdef VBOX
     uint32_t    u32, i;
     int         rc;
-#endif
     KBDState *s = (KBDState*)opaque;
 
     if (version_id < 2 || version_id > PCKBD_SAVED_STATE_VERSION)
-#ifndef VBOX
-        return -EINVAL;
-#else
         return VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION;
-#endif
     qemu_get_8s(f, &s->write_cmd);
     qemu_get_8s(f, &s->status);
@@ -1269,5 +1039,4 @@
     qemu_get_be32s(f, (uint32_t *)&s->mouse_dy);
     qemu_get_be32s(f, (uint32_t *)&s->mouse_dz);
-#ifdef VBOX
     if (version_id > 2)
     {
@@ -1275,7 +1044,5 @@
         qemu_get_be32s(f, (uint32_t *)&s->mouse_flags);
     }
-#endif
     qemu_get_8s(f, &s->mouse_buttons);
-#ifdef VBOX
     s->queue.count = 0;
     s->queue.rptr = 0;
@@ -1354,30 +1121,10 @@
         return VERR_SSM_DATA_UNIT_FORMAT_CHANGED;
     }
-#endif /* VBOX */
     return 0;
 }
-
-#ifndef VBOX
-void kbd_init(void)
-{
-    KBDState *s = &kbd_state;
-
-    kbd_reset(s);
-    register_savevm("pckbd", 0, 1, kbd_save, kbd_load, s);
-    register_ioport_read(0x60, 1, 1, kbd_read_data, s);
-    register_ioport_write(0x60, 1, 1, kbd_write_data, s);
-    register_ioport_read(0x64, 1, 1, kbd_read_status, s);
-    register_ioport_write(0x64, 1, 1, kbd_write_command, s);
-
-    qemu_add_kbd_event_handler(pc_kbd_put_keycode, s);
-    qemu_add_mouse_event_handler(pc_kbd_mouse_event, s);
-    qemu_register_reset(kbd_reset, s);
-}
-#endif /* !VBOX */
-
 #endif /* IN_RING3 */
 
 
-#ifdef VBOX /* VirtualBox code start */
+/* VirtualBox code start */
 
 /* -=-=-=-=-=- wrappers -=-=-=-=-=- */
@@ -1961,5 +1708,4 @@
 
 #endif /* IN_RING3 */
-#endif /* VBOX */
 #endif /* !VBOX_DEVICE_STRUCT_TESTCASE */
 
