From ace74c67ba8a9ec8a183945a2d4e2f8fa18b3da7 Mon Sep 17 00:00:00 2001 From: li-elvin Date: Mon, 21 Nov 2011 11:16:39 +0000 Subject: [PATCH] Use PCD to customize if ps2 mouse and mouse pointer device do full reset. Signed-off-by: li-elvin Reviewed-by: lgao4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12755 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointer.c | 5 ++++- .../Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointer.h | 1 + .../Ps2MouseAbsolutePointerDxe.inf | 6 +++++- IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2Mouse.c | 5 ++++- IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2Mouse.h | 1 + IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf | 5 ++++- IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec | 3 +++ 7 files changed, 22 insertions(+), 4 deletions(-) diff --git a/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointer.c b/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointer.c index de66ee0bff..664d7409b1 100644 --- a/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointer.c +++ b/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointer.c @@ -256,7 +256,10 @@ PS2MouseAbsolutePointerDriverStart ( // // Reset the mouse // - Status = MouseAbsolutePointerDev->AbsolutePointerProtocol.Reset (&MouseAbsolutePointerDev->AbsolutePointerProtocol, TRUE); + Status = MouseAbsolutePointerDev->AbsolutePointerProtocol.Reset ( + &MouseAbsolutePointerDev->AbsolutePointerProtocol, + FeaturePcdGet (PcdPs2MouseExtendedVerification) + ); if (EFI_ERROR (Status)) { // // mouse not connected diff --git a/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointer.h b/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointer.h index 5a929dd6d0..a4e2174a4c 100644 --- a/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointer.h +++ b/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointer.h @@ -28,6 +28,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include #include +#include // // Global Variables diff --git a/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointerDxe.inf b/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointerDxe.inf index d9e447df72..d93a0045f4 100644 --- a/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointerDxe.inf +++ b/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseAbsolutePointerDxe/Ps2MouseAbsolutePointerDxe.inf @@ -2,7 +2,7 @@ # Ps2 Mouse Simulate TouchPad Driver # # This dirver directly uses IsaIo protocol service to support a faked Ps2 TouchPad work. -# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -51,12 +51,16 @@ UefiLib UefiDriverEntryPoint DebugLib + PcdLib [Protocols] gEfiIsaIoProtocolGuid ## TO_START gEfiAbsolutePointerProtocolGuid ## BY_START gEfiDevicePathProtocolGuid ## TO_START +[FeaturePcd] + gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPs2MouseExtendedVerification + # [Event] # ## # # Event for EFI_SIMPLE_POINTER_PROTOCOL.WaitForInput. diff --git a/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2Mouse.c b/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2Mouse.c index 0693e11087..273bbd6293 100644 --- a/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2Mouse.c +++ b/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2Mouse.c @@ -266,7 +266,10 @@ PS2MouseDriverStart ( // // Reset the mouse // - Status = MouseDev->SimplePointerProtocol.Reset (&MouseDev->SimplePointerProtocol, TRUE); + Status = MouseDev->SimplePointerProtocol.Reset ( + &MouseDev->SimplePointerProtocol, + FeaturePcdGet (PcdPs2MouseExtendedVerification) + ); if (EFI_ERROR (Status)) { // // mouse not connected diff --git a/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2Mouse.h b/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2Mouse.h index f3cf6f6701..604fb47e47 100644 --- a/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2Mouse.h +++ b/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2Mouse.h @@ -28,6 +28,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include #include +#include // // Global Variables diff --git a/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf b/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf index f3286c6869..1519e0394f 100644 --- a/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf +++ b/IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf @@ -2,7 +2,7 @@ # Ps2 Mouse Driver. # # This dirver directly uses IsaIo protocol service to support Ps2 mouse work. -# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -51,12 +51,15 @@ UefiLib UefiDriverEntryPoint DebugLib + PcdLib [Protocols] gEfiIsaIoProtocolGuid ## TO_START gEfiSimplePointerProtocolGuid ## BY_START gEfiDevicePathProtocolGuid ## TO_START +[FeaturePcd] + gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPs2MouseExtendedVerification # [Event] # ## diff --git a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec index c5b2da847c..3be1df61e7 100644 --- a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec +++ b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec @@ -123,6 +123,9 @@ ## If TRUE, ACPI Support Protocol will be installed. gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdInstallAcpiSupportProtocol|TRUE|BOOLEAN|0x00010046 + ## This PCD specifies whether PS2 mouse does a extended verification during start. + gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPs2MouseExtendedVerification|TRUE|BOOLEAN|0x00010047 + [PcdsFixedAtBuild] ## FFS filename to find the default BMP Logo file. gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile |{ 0x99, 0x8b, 0xB2, 0x7B, 0xBB, 0x61, 0xD5, 0x11, 0x9A, 0x5D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }|VOID*|0x40000003 -- 2.39.2