Go to the source code of this file.
◆ PS2_CONFIG_AUX_DISABLE
#define PS2_CONFIG_AUX_DISABLE (1 << 5) |
Definition at line 35 of file ps2.h.
◆ PS2_CONFIG_AUX_INT
#define PS2_CONFIG_AUX_INT (1 << 1) |
Definition at line 31 of file ps2.h.
◆ PS2_CONFIG_KBD_DISABLE
#define PS2_CONFIG_KBD_DISABLE (1 << 4) |
Definition at line 34 of file ps2.h.
◆ PS2_CONFIG_KBD_INT
#define PS2_CONFIG_KBD_INT (1 << 0) |
Definition at line 30 of file ps2.h.
◆ PS2_CONFIG_NO_KEYLOCK
#define PS2_CONFIG_NO_KEYLOCK (1 << 3) |
Definition at line 33 of file ps2.h.
◆ PS2_CONFIG_SYSTEM
#define PS2_CONFIG_SYSTEM (1 << 2) |
Definition at line 32 of file ps2.h.
◆ PS2_CONTROL_PORT
Definition at line 17 of file ps2.h.
◆ PS2_DATA_PORT
Definition at line 16 of file ps2.h.
◆ PS2_OUT_A20_SET
#define PS2_OUT_A20_SET (1 << 1) |
Definition at line 40 of file ps2.h.
◆ PS2_OUT_AUX_DATA
#define PS2_OUT_AUX_DATA (1 << 2) |
Definition at line 41 of file ps2.h.
◆ PS2_OUT_CPU_NO_RESET
#define PS2_OUT_CPU_NO_RESET (1 << 0) |
Definition at line 39 of file ps2.h.
◆ PS2_OUT_IRQ01
#define PS2_OUT_IRQ01 (1 << 4) |
Definition at line 43 of file ps2.h.
◆ PS2_OUT_IRQ12
#define PS2_OUT_IRQ12 (1 << 5) |
Definition at line 44 of file ps2.h.
◆ PS2_OUT_KBD_DATA
#define PS2_OUT_KBD_DATA (1 << 7) |
Definition at line 46 of file ps2.h.
◆ PS2_STAT_AUX_OUT_BUF_FULL
#define PS2_STAT_AUX_OUT_BUF_FULL (1 << 5) |
Definition at line 25 of file ps2.h.
◆ PS2_STAT_COMMAND
#define PS2_STAT_COMMAND (1 << 3) |
Definition at line 23 of file ps2.h.
◆ PS2_STAT_GEN_TIMEOUT
#define PS2_STAT_GEN_TIMEOUT (1 << 6) |
Definition at line 26 of file ps2.h.
◆ PS2_STAT_KBD_ENABLE
#define PS2_STAT_KBD_ENABLE (1 << 4) |
Definition at line 24 of file ps2.h.
◆ PS2_STAT_OUT_BUF_FULL
#define PS2_STAT_OUT_BUF_FULL (1 << 0) |
Definition at line 20 of file ps2.h.
◆ PS2_STAT_PARITY_ERROR
#define PS2_STAT_PARITY_ERROR (1 << 7) |
Definition at line 27 of file ps2.h.
◆ PS2_STAT_SYSTEM
#define PS2_STAT_SYSTEM (1 << 2) |
Definition at line 22 of file ps2.h.
◆ PS2_DEVICE_CMDPROC
Definition at line 48 of file ps2.h.
◆ PS2Cleanup()
Definition at line 546 of file ps2.c.
547{
549
552}
static PHARDWARE_TIMER IrqTimer
static PS2_PORT Ports[PS2_PORTS]
VOID DestroyHardwareTimer(PHARDWARE_TIMER Timer)
Referenced by EmulatorCleanup().
◆ PS2Initialize()
Definition at line 520 of file ps2.c.
521{
522
528
534
535
538
542
544}
#define HARDWARE_TIMER_ONESHOT
static BYTE WINAPI PS2ReadControl(USHORT Port)
static VOID FASTCALL GeneratePS2Irq(ULONGLONG ElapsedTime)
static BYTE WINAPI PS2ReadData(USHORT Port)
static VOID WINAPI PS2WriteControl(USHORT Port, BYTE Data)
static VOID WINAPI PS2WriteData(USHORT Port, BYTE Data)
PHARDWARE_TIMER CreateHardwareTimer(ULONG Flags, ULONGLONG Delay, PHARDWARE_TIMER_PROC Callback)
VOID RegisterIoPort(USHORT Port, EMULATOR_INB_PROC InHandler, EMULATOR_OUTB_PROC OutHandler)
Referenced by EmulatorInitialize().
◆ PS2PortQueueRead()
Definition at line 415 of file ps2.c.
416{
419
420
421
423
425
426
427 if (
Port->QueueEmpty)
428 {
429
430
431
432 if (PS2Port == 0)
433 {
436 }
437
439 }
440
442
443
444
445
446
447 if (
Port->QueueEmpty)
goto Done;
448
449
451
452
453
454
456
457
458 if (PS2Port == 0)
460 else
462
463
466
467
468 if (
Port->QueueStart ==
Port->QueueEnd)
470
472
473Done:
476}
static BYTE StatusRegister
#define PS2_STAT_OUT_BUF_FULL
#define PS2_STAT_AUX_OUT_BUF_FULL
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
BOOL WINAPI DECLSPEC_HOTPATCH ReleaseMutex(IN HANDLE hMutex)
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Referenced by DisableMouseInt(), DosMouseIrq(), EnableMouseInt(), GeneratePS2Irq(), ReadMouseData(), and SendMouseCommand().
◆ PS2QueuePush()
◆ PS2SetDeviceCmdProc()