[edk2] UEFI mouse/touchscreen in Hyper-V

Message ID 53D26B45.9000108@redhat.com
State New
Headers show

Commit Message

Laszlo Ersek July 25, 2014, 2:35 p.m.
On 07/24/14 21:15, Sergey Isakov wrote:
> Qemu has no pointer as well. Same problem.
> 
>> On Thu, Jul 24, 2014 at 12:50 AM, Sergey Isakov <isakov-sl@bk.ru
>> <mailto:isakov-sl@bk.ru>> wrote:
>>
>>     Hi,
>>     I don't know what is Hyper-V but if you have
>>     no SimplePointerProtocol then you have to install it by loading
>>     additional Dxe driver like
>>     edk2/MdeModulePkg/Bus/Usb/UsbMouseDxe

I'm quite sure that if you configure a USB mouse in QEMU, and then
include this driver that you suggest, you should have a virtual USB
mouse.

Similarly, you could configure a (virtual) PS/2 mouse on the qemu
command line, and include IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe.
Then you should have a virtual PS/2 mouse under OVMF.

I just can't see what I'd use either for. I grepped edk2 for
"gEfiSimplePointerProtocolGuid". Thus far the only user for the mouse
seems to be the UEFI Shell's text & hex editors.

... In fact I just built OVMF with this patch, and tested the mouse in
the "hexedit" utility (invoked from the UEFI shell):

 INF  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf


The virtual PS/2 mouse works just great. If people want it I can submit
a patch for all three flavors, and add the USB mouse driver too.

Thanks
Laszlo

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds

Patch

diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 97fdedb..9918956 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -501,6 +501,7 @@ 
   IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
   IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
   IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
+  IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf
   IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf

   #
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
index 1b029b8..6dd5b87 100644
--- a/OvmfPkg/OvmfPkgX64.fdf
+++ b/OvmfPkg/OvmfPkgX64.fdf
@@ -265,6 +265,7 @@  INF
IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
 !endif

 INF  IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
+INF  IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf
 INF  IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf