]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Nt32Pkg/CpuRuntimeDxe/CpuIo.c
Fix issue where the script assumed tools are in Bin, but they are still in BinWrapper...
[mirror_edk2.git] / Nt32Pkg / CpuRuntimeDxe / CpuIo.c
index b513c7242d79e6fb5e248ba5a63c4a069aa25a28..272a8d7b6bf98e3f31c8c705dcf49be82edb4042 100644 (file)
@@ -1,6 +1,6 @@
 /**@file\r
 \r
-Copyright (c) 2006, Intel Corporation                                                         \r
+Copyright (c) 2006 - 2010, Intel Corporation                                                         \r
 All rights reserved. This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
@@ -28,8 +28,6 @@ Abstract:
 #define IA32_MAX_IO_ADDRESS   0xFFFF\r
 #define IA32_MAX_MEM_ADDRESS  0xFFFFFFFF\r
 \r
-EFI_CPU_IO_PROTOCOL mCpuIoProtocol;\r
-\r
 EFI_STATUS\r
 CpuIoCheckAddressRange (\r
   IN  EFI_CPU_IO_PROTOCOL_WIDTH         Width,\r
@@ -42,7 +40,7 @@ CpuIoCheckAddressRange (
 EFI_STATUS\r
 EFIAPI\r
 CpuMemoryServiceRead (\r
-  IN  EFI_CPU_IO_PROTOCOL               *This,\r
+  IN  EFI_CPU_IO2_PROTOCOL              *This,\r
   IN  EFI_CPU_IO_PROTOCOL_WIDTH         Width,\r
   IN  UINT64                            Address,\r
   IN  UINTN                             Count,\r
@@ -83,6 +81,10 @@ Returns:
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
+  if ((Width < 0) || (Width >= EfiCpuIoWidthMaximum)) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+\r
   Status = CpuIoCheckAddressRange (Width, Address, Count, Buffer, IA32_MAX_MEM_ADDRESS);\r
   if (EFI_ERROR (Status)) {\r
     return Status;\r
@@ -91,13 +93,13 @@ Returns:
   //\r
   // Do nothing for Nt32 version\r
   //\r
-  return EFI_SUCCESS;\r
+  return EFI_UNSUPPORTED;\r
 }\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 CpuMemoryServiceWrite (\r
-  IN EFI_CPU_IO_PROTOCOL                *This,\r
+  IN EFI_CPU_IO2_PROTOCOL               *This,\r
   IN  EFI_CPU_IO_PROTOCOL_WIDTH         Width,\r
   IN  UINT64                            Address,\r
   IN  UINTN                             Count,\r
@@ -137,6 +139,10 @@ Returns:
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
+  if ((Width < 0) || (Width >= EfiCpuIoWidthMaximum)) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+\r
   Status = CpuIoCheckAddressRange (Width, Address, Count, Buffer, IA32_MAX_MEM_ADDRESS);\r
   if (EFI_ERROR (Status)) {\r
     return Status;\r
@@ -145,13 +151,13 @@ Returns:
   //\r
   // Do nothing for Nt32 version\r
   //\r
-  return EFI_SUCCESS;\r
+  return EFI_UNSUPPORTED;\r
 }\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 CpuIoServiceRead (\r
-  IN EFI_CPU_IO_PROTOCOL                *This,\r
+  IN EFI_CPU_IO2_PROTOCOL               *This,\r
   IN  EFI_CPU_IO_PROTOCOL_WIDTH         Width,\r
   IN  UINT64                            UserAddress,\r
   IN  UINTN                             Count,\r
@@ -194,7 +200,7 @@ Returns:
 \r
   Address = (UINTN) UserAddress;\r
 \r
-  if (Width >= EfiCpuIoWidthMaximum) {\r
+  if ((Width < 0) || (Width >= EfiCpuIoWidthMaximum)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
@@ -206,13 +212,13 @@ Returns:
   //\r
   // Do nothing for Nt32 version\r
   //\r
-  return EFI_SUCCESS;\r
+  return EFI_UNSUPPORTED;\r
 }\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 CpuIoServiceWrite (\r
-  IN EFI_CPU_IO_PROTOCOL                *This,\r
+  IN EFI_CPU_IO2_PROTOCOL               *This,\r
   IN  EFI_CPU_IO_PROTOCOL_WIDTH         Width,\r
   IN  UINT64                            UserAddress,\r
   IN  UINTN                             Count,\r
@@ -259,7 +265,7 @@ Returns:
 \r
   Address = (UINTN) UserAddress;\r
 \r
-  if (Width >= EfiCpuIoWidthMaximum) {\r
+  if ((Width < 0) || (Width >= EfiCpuIoWidthMaximum)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
@@ -271,7 +277,7 @@ Returns:
   //\r
   // Do nothing for Nt32 version\r
   //\r
-  return EFI_SUCCESS;\r
+  return EFI_UNSUPPORTED;\r
 }\r
 \r
 \r