diff options
author | xgu3 <xgu3@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-04-05 09:04:12 +0000 |
---|---|---|
committer | xgu3 <xgu3@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-04-05 09:04:12 +0000 |
commit | 5d10269c06d0d0f8f0982c90679c1f437c9909b5 (patch) | |
tree | 2f72234d0ff123acad7d3b908224b64ef45635bb /EdkModulePkg | |
parent | 8d8daecb5435d879c1b1244d51876f37359759a3 (diff) | |
download | edk2-platforms-5d10269c06d0d0f8f0982c90679c1f437c9909b5.tar.xz |
To fix
USB Keyboard driver should add F11, F12 support
DxeIpl should not hardcode 36bit address
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2543 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkModulePkg')
-rw-r--r-- | EdkModulePkg/Bus/Usb/UsbKb/Dxe/keyboard.c | 5 | ||||
-rw-r--r-- | EdkModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.c | 15 |
2 files changed, 10 insertions, 10 deletions
diff --git a/EdkModulePkg/Bus/Usb/UsbKb/Dxe/keyboard.c b/EdkModulePkg/Bus/Usb/UsbKb/Dxe/keyboard.c index 79eded33c3..64bbd30d4b 100644 --- a/EdkModulePkg/Bus/Usb/UsbKb/Dxe/keyboard.c +++ b/EdkModulePkg/Bus/Usb/UsbKb/Dxe/keyboard.c @@ -93,8 +93,8 @@ UINT8 KeyConvertionTable[USB_KEYCODE_MAX_MAKE][3] = { { SCAN_F8, 0x00, 0x00 }, // 0x41
{ SCAN_F9, 0x00, 0x00 }, // 0x42
{ SCAN_F10, 0x00, 0x00 }, // 0x43
- { SCAN_NULL, 0x00, 0x00 }, // 0x44 F11
- { SCAN_NULL, 0x00, 0x00 }, // 0x45 F12
+ { SCAN_F11, 0x00, 0x00 }, // 0x44 F11
+ { SCAN_F12, 0x00, 0x00 }, // 0x45 F12
{ SCAN_NULL, 0x00, 0x00 }, // 0x46 PrintScreen
{ SCAN_NULL, 0x00, 0x00 }, // 0x47 Scroll Lock
{ SCAN_NULL, 0x00, 0x00 }, // 0x48 Pause
@@ -289,6 +289,7 @@ InitUSBKeyboard ( UsbKeyboardDevice->ShiftOn = 0;
UsbKeyboardDevice->NumLockOn = 0;
UsbKeyboardDevice->CapsOn = 0;
+ UsbKeyboardDevice->ScrollOn = 0;
ZeroMem (UsbKeyboardDevice->LastKeyCodeArray, sizeof (UINT8) * 8);
//
diff --git a/EdkModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.c b/EdkModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.c index 609fea2eca..89b18c36f8 100644 --- a/EdkModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.c +++ b/EdkModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.c @@ -57,7 +57,6 @@ Returns: --*/
{
- UINT32 RegEax;
UINT8 PhysicalAddressBits;
EFI_PHYSICAL_ADDRESS PageAddress;
UINTN IndexOfPml4Entries;
@@ -71,16 +70,16 @@ Returns: PAGE_TABLE_ENTRY *PageDirectoryEntry;
UINTN TotalPagesNum;
UINTN BigPageAddress;
+ VOID *Hob;
//
- // Get physical address bits supported.
+ // Get physical address bits supported from CPU HOB.
//
- AsmCpuid (0x80000000, &RegEax, NULL, NULL, NULL);
- if (RegEax >= 0x80000008) {
- AsmCpuid (0x80000008, &RegEax, NULL, NULL, NULL);
- PhysicalAddressBits = (UINT8) RegEax;
- } else {
- PhysicalAddressBits = 36;
+ PhysicalAddressBits = 36;
+
+ Hob = GetFirstHob (EFI_HOB_TYPE_CPU);
+ if (Hob != NULL) {
+ PhysicalAddressBits = ((EFI_HOB_CPU *) Hob)->SizeOfMemorySpace;
}
//
|