Add function's doxygen header for Ps2Mouse module.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5060 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
		@@ -19,26 +19,18 @@ UINT8 SampleRateTbl[MAX_SR]   = { 0xa, 0x14, 0x28, 0x3c, 0x50, 0x64, 0xc8 };
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
UINT8 ResolutionTbl[MAX_CMR]  = { 0, 1, 2, 3 };
 | 
					UINT8 ResolutionTbl[MAX_CMR]  = { 0, 1, 2, 3 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue self test command via IsaIo interface.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return EFI_SUCCESS  Success to do keyboard self testing.
 | 
				
			||||||
 | 
					  @return others       Fail to do keyboard self testing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
KbcSelfTest (
 | 
					KbcSelfTest (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  EFI_DEVICE_ERROR - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
  EFI_SUCCESS - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS  Status;
 | 
					  EFI_STATUS  Status;
 | 
				
			||||||
  UINT8       Data;
 | 
					  UINT8       Data;
 | 
				
			||||||
@@ -88,25 +80,17 @@ Returns:
 | 
				
			|||||||
  return EFI_SUCCESS;
 | 
					  return EFI_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to enable keyboard AUX functionality.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
KbcEnableAux (
 | 
					KbcEnableAux (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  //
 | 
					  //
 | 
				
			||||||
  // Send 8042 enable mouse command
 | 
					  // Send 8042 enable mouse command
 | 
				
			||||||
@@ -114,25 +98,17 @@ Returns:
 | 
				
			|||||||
  return Out8042Command (IsaIo, ENABLE_AUX);
 | 
					  return Out8042Command (IsaIo, ENABLE_AUX);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to disable keyboard AUX functionality.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
KbcDisableAux (
 | 
					KbcDisableAux (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  //
 | 
					  //
 | 
				
			||||||
  // Send 8042 disable mouse command
 | 
					  // Send 8042 disable mouse command
 | 
				
			||||||
@@ -140,25 +116,17 @@ Returns:
 | 
				
			|||||||
  return Out8042Command (IsaIo, DISABLE_AUX);
 | 
					  return Out8042Command (IsaIo, DISABLE_AUX);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to enable keyboard.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
KbcEnableKb (
 | 
					KbcEnableKb (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  //
 | 
					  //
 | 
				
			||||||
  // Send 8042 enable keyboard command
 | 
					  // Send 8042 enable keyboard command
 | 
				
			||||||
@@ -166,25 +134,17 @@ Returns:
 | 
				
			|||||||
  return Out8042Command (IsaIo, ENABLE_KB);
 | 
					  return Out8042Command (IsaIo, ENABLE_KB);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to disable keyboard.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
KbcDisableKb (
 | 
					KbcDisableKb (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  //
 | 
					  //
 | 
				
			||||||
  // Send 8042 disable keyboard command
 | 
					  // Send 8042 disable keyboard command
 | 
				
			||||||
@@ -192,27 +152,19 @@ Returns:
 | 
				
			|||||||
  return Out8042Command (IsaIo, DISABLE_KB);
 | 
					  return Out8042Command (IsaIo, DISABLE_KB);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to check keyboard status.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo          Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param KeyboardEnable return whether keyboard is enable.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
CheckKbStatus (
 | 
					CheckKbStatus (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  OUT BOOLEAN                             *KeyboardEnable
 | 
					  OUT BOOLEAN                             *KeyboardEnable
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo           - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  KeyboardEnable  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  EFI_SUCCESS - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS  Status;
 | 
					  EFI_STATUS  Status;
 | 
				
			||||||
  UINT8       Data;
 | 
					  UINT8       Data;
 | 
				
			||||||
@@ -241,27 +193,17 @@ Returns:
 | 
				
			|||||||
  return EFI_SUCCESS;
 | 
					  return EFI_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to reset keyboard.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseReset (
 | 
					PS2MouseReset (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  EFI_DEVICE_ERROR - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
  EFI_DEVICE_ERROR - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
  EFI_SUCCESS - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS  Status;
 | 
					  EFI_STATUS  Status;
 | 
				
			||||||
  UINT8       Data;
 | 
					  UINT8       Data;
 | 
				
			||||||
@@ -296,27 +238,19 @@ Returns:
 | 
				
			|||||||
  return EFI_SUCCESS;
 | 
					  return EFI_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to set mouse's sample rate
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param SampleRate value of sample rate 
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseSetSampleRate (
 | 
					PS2MouseSetSampleRate (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN MOUSE_SR                             SampleRate
 | 
					  IN MOUSE_SR                             SampleRate
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo       - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  SampleRate  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS  Status;
 | 
					  EFI_STATUS  Status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -333,27 +267,19 @@ Returns:
 | 
				
			|||||||
  return Status;
 | 
					  return Status;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to set mouse's resolution.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Resolution value of resolution
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseSetResolution (
 | 
					PS2MouseSetResolution (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN MOUSE_RE                             Resolution
 | 
					  IN MOUSE_RE                             Resolution
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo       - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  Resolution  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS  Status;
 | 
					  EFI_STATUS  Status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -370,27 +296,19 @@ Returns:
 | 
				
			|||||||
  return Status;
 | 
					  return Status;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to set mouse's scaling.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Scaling value of scaling
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseSetScaling (
 | 
					PS2MouseSetScaling (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN MOUSE_SF                             Scaling
 | 
					  IN MOUSE_SF                             Scaling
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo   - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  Scaling - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  UINT8 Command;
 | 
					  UINT8 Command;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -402,25 +320,17 @@ Returns:
 | 
				
			|||||||
  return Out8042AuxCommand (IsaIo, Command, FALSE);
 | 
					  return Out8042AuxCommand (IsaIo, Command, FALSE);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to enable Ps2 mouse.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseEnable (
 | 
					PS2MouseEnable (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  //
 | 
					  //
 | 
				
			||||||
  // Send auxiliary command to enable mouse
 | 
					  // Send auxiliary command to enable mouse
 | 
				
			||||||
@@ -428,26 +338,20 @@ Returns:
 | 
				
			|||||||
  return Out8042AuxCommand (IsaIo, ENABLE_CMD, FALSE);
 | 
					  return Out8042AuxCommand (IsaIo, ENABLE_CMD, FALSE);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Get mouse packet . Only care first 3 bytes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @param MouseDev  Pointer of PS2 Mouse Private Data Structure 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @retval EFI_NOT_READY  Mouse Device not ready to input data packet, or some error happened during getting the packet
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS    The data packet is gotten successfully.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseGetPacket (
 | 
					PS2MouseGetPacket (
 | 
				
			||||||
  PS2_MOUSE_DEV     *MouseDev
 | 
					  PS2_MOUSE_DEV     *MouseDev
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  Get mouse packet . Only care first 3 bytes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  MouseDev  - Pointer of PS2 Mouse Private Data Structure 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  EFI_NOT_READY -  Mouse Device not ready to input data packet, or some error happened during getting the packet
 | 
					 | 
				
			||||||
  EFI_SUCCESS - The data packet is gotten successfully.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS  Status;
 | 
					  EFI_STATUS  Status;
 | 
				
			||||||
  BOOLEAN     KeyboardEnable;
 | 
					  BOOLEAN     KeyboardEnable;
 | 
				
			||||||
@@ -569,6 +473,16 @@ Returns:
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Read data via IsaIo protocol with given number.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Buffer  Buffer receive data of mouse
 | 
				
			||||||
 | 
					  @param BufSize The size of buffer
 | 
				
			||||||
 | 
					  @param State   Check input or read data
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return status of reading mouse data.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseRead (
 | 
					PS2MouseRead (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
@@ -576,24 +490,6 @@ PS2MouseRead (
 | 
				
			|||||||
  IN OUT UINTN                            *BufSize,
 | 
					  IN OUT UINTN                            *BufSize,
 | 
				
			||||||
  IN  UINTN                               State
 | 
					  IN  UINTN                               State
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo   - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  Buffer  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  BufSize - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  State   - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS  Status;
 | 
					  EFI_STATUS  Status;
 | 
				
			||||||
  UINTN       BytesRead;
 | 
					  UINTN       BytesRead;
 | 
				
			||||||
@@ -637,27 +533,20 @@ Returns:
 | 
				
			|||||||
//
 | 
					//
 | 
				
			||||||
// 8042 I/O function
 | 
					// 8042 I/O function
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow of outing 8042 command.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Command I/O command.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS Success to excute I/O work flow
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT Keyboard controller time out.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
Out8042Command (
 | 
					Out8042Command (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN UINT8                                Command
 | 
					  IN UINT8                                Command
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo   - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  Command - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  EFI_SUCCESS - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS  Status;
 | 
					  EFI_STATUS  Status;
 | 
				
			||||||
  UINT8       Data;
 | 
					  UINT8       Data;
 | 
				
			||||||
@@ -683,27 +572,20 @@ Returns:
 | 
				
			|||||||
  return EFI_SUCCESS;
 | 
					  return EFI_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow of outing 8042 data.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Data    Data value
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS Success to excute I/O work flow
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT Keyboard controller time out.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
Out8042Data (
 | 
					Out8042Data (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN UINT8                                Data
 | 
					  IN UINT8                                Data
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  Data  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  EFI_SUCCESS - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS  Status;
 | 
					  EFI_STATUS  Status;
 | 
				
			||||||
  UINT8       temp;
 | 
					  UINT8       temp;
 | 
				
			||||||
@@ -726,28 +608,20 @@ Returns:
 | 
				
			|||||||
  return EFI_SUCCESS;
 | 
					  return EFI_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow of in 8042 data.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Data    Data value
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS Success to excute I/O work flow
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT Keyboard controller time out.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
In8042Data (
 | 
					In8042Data (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN OUT UINT8                            *Data
 | 
					  IN OUT UINT8                            *Data
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  Data  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  EFI_TIMEOUT - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
  EFI_SUCCESS - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  UINTN Delay;
 | 
					  UINTN Delay;
 | 
				
			||||||
  UINT8 temp;
 | 
					  UINT8 temp;
 | 
				
			||||||
@@ -777,32 +651,22 @@ Returns:
 | 
				
			|||||||
  return EFI_SUCCESS;
 | 
					  return EFI_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow of outing 8042 Aux command.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Command Aux I/O command
 | 
				
			||||||
 | 
					  @param Resend  Whether need resend the Aux command.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS Success to excute I/O work flow
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT Keyboard controller time out.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
Out8042AuxCommand (
 | 
					Out8042AuxCommand (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN UINT8                                Command,
 | 
					  IN UINT8                                Command,
 | 
				
			||||||
  IN BOOLEAN                              Resend
 | 
					  IN BOOLEAN                              Resend
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo   - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  Command - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  Resend  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  EFI_SUCCESS - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
  EFI_DEVICE_ERROR - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
  EFI_DEVICE_ERROR - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
  EFI_SUCCESS - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS  Status;
 | 
					  EFI_STATUS  Status;
 | 
				
			||||||
  UINT8       Data;
 | 
					  UINT8       Data;
 | 
				
			||||||
@@ -869,27 +733,20 @@ Returns:
 | 
				
			|||||||
  return EFI_SUCCESS;
 | 
					  return EFI_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow of outing 8042 Aux data.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Command Aux I/O command
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS Success to excute I/O work flow
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT Keyboard controller time out.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
Out8042AuxData (
 | 
					Out8042AuxData (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN UINT8                                Data
 | 
					  IN UINT8                                Data
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  Data  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  EFI_SUCCESS - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS  Status;
 | 
					  EFI_STATUS  Status;
 | 
				
			||||||
  UINT8       Temp;
 | 
					  UINT8       Temp;
 | 
				
			||||||
@@ -922,27 +779,20 @@ Returns:
 | 
				
			|||||||
  return EFI_SUCCESS;
 | 
					  return EFI_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow of in 8042 Aux data.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Data    Buffer holding return value.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS Success to excute I/O work flow
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT Keyboard controller time out.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
In8042AuxData (
 | 
					In8042AuxData (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN OUT UINT8                            *Data
 | 
					  IN OUT UINT8                            *Data
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  Data  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  EFI_SUCCESS - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS  Status;
 | 
					  EFI_STATUS  Status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -959,26 +809,19 @@ Returns:
 | 
				
			|||||||
  return EFI_SUCCESS;
 | 
					  return EFI_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Check keyboard controller status, if it is output buffer full and for auxiliary device
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS   Keyboard controller is ready
 | 
				
			||||||
 | 
					  @retval EFI_NOT_READY Keyboard controller is not ready
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
CheckForInput (
 | 
					CheckForInput (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  EFI_NOT_READY - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
  EFI_SUCCESS - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  UINT8 Data;
 | 
					  UINT8 Data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -994,28 +837,20 @@ Returns:
 | 
				
			|||||||
  return EFI_SUCCESS;
 | 
					  return EFI_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow to wait input buffer empty in given time.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Timeout Wating time.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT if input is still not empty in given time.
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS input is empty.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
WaitInputEmpty (
 | 
					WaitInputEmpty (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN UINTN                                Timeout
 | 
					  IN UINTN                                Timeout
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo   - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  Timeout - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  EFI_TIMEOUT - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
  EFI_SUCCESS - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  UINTN Delay;
 | 
					  UINTN Delay;
 | 
				
			||||||
  UINT8 Data;
 | 
					  UINT8 Data;
 | 
				
			||||||
@@ -1043,6 +878,15 @@ Returns:
 | 
				
			|||||||
  return EFI_SUCCESS;
 | 
					  return EFI_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow to wait output buffer full in given time.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Timeout given time
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT  output is not full in given time
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS  output is full in given time.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
WaitOutputFull (
 | 
					WaitOutputFull (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -102,266 +102,184 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | 
				
			|||||||
//    0 - output buffer empty
 | 
					//    0 - output buffer empty
 | 
				
			||||||
//    1 - keyboard controller data in output buffer
 | 
					//    1 - keyboard controller data in output buffer
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue self test command via IsaIo interface.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return EFI_SUCCESS  Success to do keyboard self testing.
 | 
				
			||||||
 | 
					  @return others       Fail to do keyboard self testing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
KbcSelfTest (
 | 
					KbcSelfTest (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to enable keyboard AUX functionality.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
KbcEnableAux (
 | 
					KbcEnableAux (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to disable keyboard AUX functionality.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
KbcDisableAux (
 | 
					KbcDisableAux (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to enable keyboard.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
KbcEnableKb (
 | 
					KbcEnableKb (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to disable keyboard.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
KbcDisableKb (
 | 
					KbcDisableKb (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to check keyboard status.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo          Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param KeyboardEnable return whether keyboard is enable.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
CheckKbStatus (
 | 
					CheckKbStatus (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  OUT BOOLEAN                             *KeyboardEnable
 | 
					  OUT BOOLEAN                             *KeyboardEnable
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo           - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  KeyboardEnable  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to reset keyboard.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseReset (
 | 
					PS2MouseReset (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to set mouse's sample rate
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param SampleRate value of sample rate 
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseSetSampleRate (
 | 
					PS2MouseSetSampleRate (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN MOUSE_SR                             SampleRate
 | 
					  IN MOUSE_SR                             SampleRate
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo       - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  SampleRate  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to set mouse's resolution.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Resolution value of resolution
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseSetResolution (
 | 
					PS2MouseSetResolution (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN MOUSE_RE                             Resolution
 | 
					  IN MOUSE_RE                             Resolution
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo       - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  Resolution  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to set mouse's scaling.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Scaling value of scaling
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseSetScaling (
 | 
					PS2MouseSetScaling (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN MOUSE_SF                             Scaling
 | 
					  IN MOUSE_SF                             Scaling
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo   - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  Scaling - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Issue command to enable Ps2 mouse.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return Status of command issuing.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseEnable (
 | 
					PS2MouseEnable (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  IsaIo - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Get mouse packet . Only care first 3 bytes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @param MouseDev  Pointer of PS2 Mouse Private Data Structure 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @retval EFI_NOT_READY  Mouse Device not ready to input data packet, or some error happened during getting the packet
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS    The data packet is gotten successfully.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseGetPacket (
 | 
					PS2MouseGetPacket (
 | 
				
			||||||
  PS2_MOUSE_DEV     *MouseDev
 | 
					  PS2_MOUSE_DEV     *MouseDev
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  MouseDev  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: add return values
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Read data via IsaIo protocol with given number.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Buffer  Buffer receive data of mouse
 | 
				
			||||||
 | 
					  @param BufSize The size of buffer
 | 
				
			||||||
 | 
					  @param State   Check input or read data
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @return status of reading mouse data.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
PS2MouseRead (
 | 
					PS2MouseRead (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
@@ -373,24 +291,61 @@ PS2MouseRead (
 | 
				
			|||||||
//
 | 
					//
 | 
				
			||||||
// 8042 I/O function
 | 
					// 8042 I/O function
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow of outing 8042 command.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Command I/O command.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS Success to excute I/O work flow
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT Keyboard controller time out.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
Out8042Command (
 | 
					Out8042Command (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN UINT8                                Command
 | 
					  IN UINT8                                Command
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow of in 8042 data.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Data    Data value
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS Success to excute I/O work flow
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT Keyboard controller time out.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
In8042Data (
 | 
					In8042Data (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN OUT UINT8                            *Data
 | 
					  IN OUT UINT8                            *Data
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow of outing 8042 data.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Data    Data value
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS Success to excute I/O work flow
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT Keyboard controller time out.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
Out8042Data (
 | 
					Out8042Data (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN UINT8                                Data
 | 
					  IN UINT8                                Data
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow of outing 8042 Aux command.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Command Aux I/O command
 | 
				
			||||||
 | 
					  @param Resend  Whether need resend the Aux command.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS Success to excute I/O work flow
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT Keyboard controller time out.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
Out8042AuxCommand (
 | 
					Out8042AuxCommand (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
@@ -398,29 +353,73 @@ Out8042AuxCommand (
 | 
				
			|||||||
  IN BOOLEAN                              Resend
 | 
					  IN BOOLEAN                              Resend
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow of in 8042 Aux data.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Data    Buffer holding return value.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS Success to excute I/O work flow
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT Keyboard controller time out.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
In8042AuxData (
 | 
					In8042AuxData (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN OUT UINT8                            *Data
 | 
					  IN OUT UINT8                            *Data
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow of outing 8042 Aux data.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Command Aux I/O command
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS Success to excute I/O work flow
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT Keyboard controller time out.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
Out8042AuxData (
 | 
					Out8042AuxData (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN UINT8                                Data
 | 
					  IN UINT8                                Data
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Check keyboard controller status, if it is output buffer full and for auxiliary device
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS   Keyboard controller is ready
 | 
				
			||||||
 | 
					  @retval EFI_NOT_READY Keyboard controller is not ready
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
CheckForInput (
 | 
					CheckForInput (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow to wait input buffer empty in given time.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Timeout Wating time.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT if input is still not empty in given time.
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS input is empty.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
WaitInputEmpty (
 | 
					WaitInputEmpty (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
  IN UINTN                                Timeout
 | 
					  IN UINTN                                Timeout
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  I/O work flow to wait output buffer full in given time.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL
 | 
				
			||||||
 | 
					  @param Timeout given time
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @retval EFI_TIMEOUT  output is not full in given time
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS  output is full in given time.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
WaitOutputFull (
 | 
					WaitOutputFull (
 | 
				
			||||||
  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
					  IN EFI_ISA_IO_PROTOCOL                  *IsaIo,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,6 +28,20 @@ EFI_DRIVER_BINDING_PROTOCOL gPS2MouseDriver = {
 | 
				
			|||||||
  NULL
 | 
					  NULL
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Test to see if this driver supports ControllerHandle. Any ControllerHandle
 | 
				
			||||||
 | 
					  than contains a IsaIo protocol can be supported.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @param  This                Protocol instance pointer.
 | 
				
			||||||
 | 
					  @param  ControllerHandle    Handle of device to test
 | 
				
			||||||
 | 
					  @param  RemainingDevicePath Optional parameter use to pick a specific child
 | 
				
			||||||
 | 
					                              device to start.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS         This driver supports this device
 | 
				
			||||||
 | 
					  @retval EFI_ALREADY_STARTED This driver is already running on this device
 | 
				
			||||||
 | 
					  @retval other               This driver does not support this device
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
EFIAPI
 | 
					EFIAPI
 | 
				
			||||||
PS2MouseDriverSupported (
 | 
					PS2MouseDriverSupported (
 | 
				
			||||||
@@ -35,20 +49,6 @@ PS2MouseDriverSupported (
 | 
				
			|||||||
  IN EFI_HANDLE                     Controller,
 | 
					  IN EFI_HANDLE                     Controller,
 | 
				
			||||||
  IN EFI_DEVICE_PATH_PROTOCOL       *RemainingDevicePath
 | 
					  IN EFI_DEVICE_PATH_PROTOCOL       *RemainingDevicePath
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  ControllerDriver Protocol Method
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
// GC_TODO:    This - add argument and description to function comment
 | 
					 | 
				
			||||||
// GC_TODO:    Controller - add argument and description to function comment
 | 
					 | 
				
			||||||
// GC_TODO:    RemainingDevicePath - add argument and description to function comment
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS                          Status;
 | 
					  EFI_STATUS                          Status;
 | 
				
			||||||
  EFI_ISA_IO_PROTOCOL                 *IsaIo;
 | 
					  EFI_ISA_IO_PROTOCOL                 *IsaIo;
 | 
				
			||||||
@@ -108,6 +108,21 @@ Returns:
 | 
				
			|||||||
  return Status;
 | 
					  return Status;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Start this driver on ControllerHandle by opening a IsaIo
 | 
				
			||||||
 | 
					  protocol, creating PS2_MOUSE_ABSOLUTE_POINTER_DEV device and install gEfiAbsolutePointerProtocolGuid
 | 
				
			||||||
 | 
					  finnally.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @param  This                 Protocol instance pointer.
 | 
				
			||||||
 | 
					  @param  ControllerHandle     Handle of device to bind driver to
 | 
				
			||||||
 | 
					  @param  RemainingDevicePath  Optional parameter use to pick a specific child
 | 
				
			||||||
 | 
					                               device to start.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS          This driver is added to ControllerHandle
 | 
				
			||||||
 | 
					  @retval EFI_ALREADY_STARTED  This driver is already running on ControllerHandle
 | 
				
			||||||
 | 
					  @retval other                This driver does not support this device
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
EFIAPI
 | 
					EFIAPI
 | 
				
			||||||
PS2MouseDriverStart (
 | 
					PS2MouseDriverStart (
 | 
				
			||||||
@@ -115,21 +130,6 @@ PS2MouseDriverStart (
 | 
				
			|||||||
  IN EFI_HANDLE                     Controller,
 | 
					  IN EFI_HANDLE                     Controller,
 | 
				
			||||||
  IN EFI_DEVICE_PATH_PROTOCOL       *RemainingDevicePath
 | 
					  IN EFI_DEVICE_PATH_PROTOCOL       *RemainingDevicePath
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
    Start protocol interfaces for the mouse device handles.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
    This                               - Protocol instance pointer.
 | 
					 | 
				
			||||||
    Controller                      - Handle of device to bind driver to.
 | 
					 | 
				
			||||||
    RemainingDevicePath  - Not used.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
    EFI_SUCCESS             - This driver is added to DeviceHandle.
 | 
					 | 
				
			||||||
    other                               - Errors occurred.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS                          Status;
 | 
					  EFI_STATUS                          Status;
 | 
				
			||||||
  EFI_STATUS                          EmptyStatus;
 | 
					  EFI_STATUS                          EmptyStatus;
 | 
				
			||||||
@@ -382,6 +382,20 @@ ErrorExit:
 | 
				
			|||||||
  return Status;
 | 
					  return Status;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Stop this driver on ControllerHandle. Support stoping any child handles
 | 
				
			||||||
 | 
					  created by this driver.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @param  This              Protocol instance pointer.
 | 
				
			||||||
 | 
					  @param  ControllerHandle  Handle of device to stop driver on
 | 
				
			||||||
 | 
					  @param  NumberOfChildren  Number of Handles in ChildHandleBuffer. If number of
 | 
				
			||||||
 | 
					                            children is zero stop the entire bus driver.
 | 
				
			||||||
 | 
					  @param  ChildHandleBuffer List of Child Handles to Stop.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS       This driver is removed ControllerHandle
 | 
				
			||||||
 | 
					  @retval other             This driver was not removed from this device
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
EFIAPI
 | 
					EFIAPI
 | 
				
			||||||
PS2MouseDriverStop (
 | 
					PS2MouseDriverStop (
 | 
				
			||||||
@@ -390,21 +404,6 @@ PS2MouseDriverStop (
 | 
				
			|||||||
  IN UINTN                          NumberOfChildren,
 | 
					  IN UINTN                          NumberOfChildren,
 | 
				
			||||||
  IN EFI_HANDLE                     *ChildHandleBuffer
 | 
					  IN EFI_HANDLE                     *ChildHandleBuffer
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
// GC_TODO:    This - add argument and description to function comment
 | 
					 | 
				
			||||||
// GC_TODO:    Controller - add argument and description to function comment
 | 
					 | 
				
			||||||
// GC_TODO:    NumberOfChildren - add argument and description to function comment
 | 
					 | 
				
			||||||
// GC_TODO:    ChildHandleBuffer - add argument and description to function comment
 | 
					 | 
				
			||||||
// GC_TODO:    EFI_SUCCESS - add return value to function comment
 | 
					 | 
				
			||||||
// GC_TODO:    EFI_SUCCESS - add return value to function comment
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS                  Status;
 | 
					  EFI_STATUS                  Status;
 | 
				
			||||||
  EFI_SIMPLE_POINTER_PROTOCOL *SimplePointerProtocol;
 | 
					  EFI_SIMPLE_POINTER_PROTOCOL *SimplePointerProtocol;
 | 
				
			||||||
@@ -483,29 +482,23 @@ PS2MouseDriverStop (
 | 
				
			|||||||
  return EFI_SUCCESS;
 | 
					  return EFI_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Reset the Mouse and do BAT test for it, if ExtendedVerification isTRUE and there is a mouse device connectted to system
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @param This                 - Pointer of simple pointer Protocol.
 | 
				
			||||||
 | 
					  @param ExtendedVerification - Whether configure mouse parameters. True: do; FALSE: skip.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS         - The command byte is written successfully.
 | 
				
			||||||
 | 
					  @retval EFI_DEVICE_ERROR    - Errors occurred during reseting keyboard.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
EFIAPI
 | 
					EFIAPI
 | 
				
			||||||
MouseReset (
 | 
					MouseReset (
 | 
				
			||||||
  IN EFI_SIMPLE_POINTER_PROTOCOL    *This,
 | 
					  IN EFI_SIMPLE_POINTER_PROTOCOL    *This,
 | 
				
			||||||
  IN BOOLEAN                        ExtendedVerification
 | 
					  IN BOOLEAN                        ExtendedVerification
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  Reset the Mouse and do BAT test for it, if ExtendedVerification isTRUE and there is a mouse device connectted to system
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  This                 - Pointer of simple pointer Protocol.
 | 
					 | 
				
			||||||
  ExtendedVerification - Whether configure mouse parameters. True: do; FALSE: skip.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 EFI_SUCCESS         - The command byte is written successfully.
 | 
					 | 
				
			||||||
 EFI_DEVICE_ERROR    - Errors occurred during reseting keyboard.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS    Status;
 | 
					  EFI_STATUS    Status;
 | 
				
			||||||
  PS2_MOUSE_DEV *MouseDev;
 | 
					  PS2_MOUSE_DEV *MouseDev;
 | 
				
			||||||
@@ -605,26 +598,20 @@ Exit:
 | 
				
			|||||||
  return Status;
 | 
					  return Status;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Check whether there is Ps/2 mouse device in system
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @param PS2_MOUSE_DEV - Mouse Private Data Structure
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @retval TRUE                - Keyboard in System.
 | 
				
			||||||
 | 
					  @retval FALSE               - Keyboard not in System.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
BOOLEAN
 | 
					BOOLEAN
 | 
				
			||||||
CheckMouseConnect (
 | 
					CheckMouseConnect (
 | 
				
			||||||
  IN  PS2_MOUSE_DEV     *MouseDev
 | 
					  IN  PS2_MOUSE_DEV     *MouseDev
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  Check whether there is Ps/2 mouse device in system
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  PS2_MOUSE_DEV - Mouse Private Data Structure
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  TRUE                - Keyboard in System.
 | 
					 | 
				
			||||||
  FALSE               - Keyboard not in System.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  EFI_STATUS     Status;
 | 
					  EFI_STATUS     Status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -636,30 +623,22 @@ Returns:
 | 
				
			|||||||
  return FALSE;
 | 
					  return FALSE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Get and Clear mouse status.
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  @param This                 - Pointer of simple pointer Protocol.
 | 
				
			||||||
 | 
					  @param State                - Output buffer holding status.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @retval EFI_INVALID_PARAMETER Output buffer is invalid.
 | 
				
			||||||
 | 
					  @retval EFI_NOT_READY         Mouse is not changed status yet.
 | 
				
			||||||
 | 
					  @retval EFI_SUCCESS           Mouse status is changed and get successful.
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
EFI_STATUS
 | 
					EFI_STATUS
 | 
				
			||||||
EFIAPI
 | 
					EFIAPI
 | 
				
			||||||
MouseGetState (
 | 
					MouseGetState (
 | 
				
			||||||
  IN EFI_SIMPLE_POINTER_PROTOCOL    *This,
 | 
					  IN EFI_SIMPLE_POINTER_PROTOCOL    *This,
 | 
				
			||||||
  IN OUT EFI_SIMPLE_POINTER_STATE   *State
 | 
					  IN OUT EFI_SIMPLE_POINTER_STATE   *State
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  GC_TODO: Add function description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  This  - GC_TODO: add argument description
 | 
					 | 
				
			||||||
  State - GC_TODO: add argument description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  EFI_INVALID_PARAMETER - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
  EFI_NOT_READY - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
  EFI_SUCCESS - GC_TODO: Add description for return value
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  PS2_MOUSE_DEV *MouseDev;
 | 
					  PS2_MOUSE_DEV *MouseDev;
 | 
				
			||||||
  EFI_TPL       OldTpl;
 | 
					  EFI_TPL       OldTpl;
 | 
				
			||||||
@@ -689,24 +668,22 @@ Returns:
 | 
				
			|||||||
  return EFI_SUCCESS;
 | 
					  return EFI_SUCCESS;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Event notification function for SIMPLE_POINTER.WaitForInput event
 | 
				
			||||||
 | 
					  Signal the event if there is input from mouse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @param Event    event object
 | 
				
			||||||
 | 
					  @param Context  event context
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VOID
 | 
					VOID
 | 
				
			||||||
EFIAPI
 | 
					EFIAPI
 | 
				
			||||||
MouseWaitForInput (
 | 
					MouseWaitForInput (
 | 
				
			||||||
  IN  EFI_EVENT               Event,
 | 
					  IN  EFI_EVENT               Event,
 | 
				
			||||||
  IN  VOID                    *Context
 | 
					  IN  VOID                    *Context
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  Event notification function for SIMPLE_POINTER.WaitForInput event
 | 
					 | 
				
			||||||
  Signal the event if there is input from mouse
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
// GC_TODO:    Event - add argument and description to function comment
 | 
					// GC_TODO:    Event - add argument and description to function comment
 | 
				
			||||||
// GC_TODO:    Context - add argument and description to function comment
 | 
					// GC_TODO:    Context - add argument and description to function comment
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -724,29 +701,21 @@ Returns:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					  Event notification function for TimerEvent event
 | 
				
			||||||
 | 
					  If mouse device is connected to system, try to get the mouse packet data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @param Event      -  TimerEvent in PS2_MOUSE_DEV
 | 
				
			||||||
 | 
					  @param Context    -  Pointer to PS2_MOUSE_DEV structure
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**/
 | 
				
			||||||
VOID
 | 
					VOID
 | 
				
			||||||
EFIAPI
 | 
					EFIAPI
 | 
				
			||||||
PollMouse (
 | 
					PollMouse (
 | 
				
			||||||
  IN EFI_EVENT  Event,
 | 
					  IN EFI_EVENT  Event,
 | 
				
			||||||
  IN VOID       *Context
 | 
					  IN VOID       *Context
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Routine Description:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  Event notification function for TimerEvent event
 | 
					 | 
				
			||||||
  If mouse device is connected to system, try to get the mouse packet data
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Arguments:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  Event      -  TimerEvent in PS2_MOUSE_DEV
 | 
					 | 
				
			||||||
  Context  -  Pointer to PS2_MOUSE_DEV structure
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Returns:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  None
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**/
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  PS2_MOUSE_DEV *MouseDev;
 | 
					  PS2_MOUSE_DEV *MouseDev;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -793,3 +762,4 @@ InitializePs2Mouse(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  return Status;
 | 
					  return Status;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user