]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Library/DxeIoLibCpuIo/IoLib.c
Remove dependency on PCI Root Bridge I/O Protocol. This library should only layer...
[mirror_edk2.git] / IntelFrameworkPkg / Library / DxeIoLibCpuIo / IoLib.c
index ff0e32329168f2191adb3e929d35580b22cb8271..c01555974f63f8f147901019ea2bd92c993e4476 100644 (file)
@@ -3,7 +3,7 @@
   The implementation of I/O operation for this library instance \r
   are based on EFI_CPU_IO_PROTOCOL.\r
   \r
   The implementation of I/O operation for this library instance \r
   are based on EFI_CPU_IO_PROTOCOL.\r
   \r
-  Copyright (c) 2006, Intel Corporation<BR>\r
+  Copyright (c) 2006-2010, Intel Corporation<BR>\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
   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
@@ -22,8 +22,7 @@
 //\r
 // Globle varible to cache pointer to CpuIo protocol.\r
 //\r
 //\r
 // Globle varible to cache pointer to CpuIo protocol.\r
 //\r
-EFI_CPU_IO_PROTOCOL              *mCpuIo = NULL;\r
-EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *mPciRootBridgeIo = NULL;\r
+EFI_CPU_IO_PROTOCOL  *mCpuIo = NULL;\r
 \r
 /**\r
   The constructor function caches the pointer to CpuIo protocol.\r
 \r
 /**\r
   The constructor function caches the pointer to CpuIo protocol.\r
@@ -44,12 +43,9 @@ IoLibConstructor (
   IN      EFI_SYSTEM_TABLE          *SystemTable\r
   )\r
 {\r
   IN      EFI_SYSTEM_TABLE          *SystemTable\r
   )\r
 {\r
-  EFI_STATUS                        Status;\r
+  EFI_STATUS  Status;\r
 \r
 \r
-  Status = gBS->LocateProtocol (&gEfiPciRootBridgeIoProtocolGuid, NULL, (VOID **) &mPciRootBridgeIo);\r
-  if (EFI_ERROR (Status)) {\r
-    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, (VOID **) &mCpuIo);\r
-  }\r
+  Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, (VOID **) &mCpuIo);\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   return Status;\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   return Status;\r
@@ -72,18 +68,14 @@ IoLibConstructor (
 UINT64\r
 EFIAPI\r
 IoReadWorker (\r
 UINT64\r
 EFIAPI\r
 IoReadWorker (\r
-  IN      UINTN                     Port,\r
-  IN      EFI_CPU_IO_PROTOCOL_WIDTH Width\r
+  IN      UINTN                      Port,\r
+  IN      EFI_CPU_IO_PROTOCOL_WIDTH  Width\r
   )\r
 {\r
   EFI_STATUS                        Status;\r
   UINT64                            Data;\r
 \r
   )\r
 {\r
   EFI_STATUS                        Status;\r
   UINT64                            Data;\r
 \r
-  if (mPciRootBridgeIo != NULL) {\r
-    Status = mPciRootBridgeIo->Io.Read (mPciRootBridgeIo, (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, Port, 1, &Data);\r
-  } else {\r
-    Status = mCpuIo->Io.Read (mCpuIo, Width, Port, 1, &Data);\r
-  }\r
+  Status = mCpuIo->Io.Read (mCpuIo, Width, Port, 1, &Data);\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   return Data;\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   return Data;\r
@@ -107,18 +99,14 @@ IoReadWorker (
 UINT64\r
 EFIAPI\r
 IoWriteWorker (\r
 UINT64\r
 EFIAPI\r
 IoWriteWorker (\r
-  IN      UINTN                     Port,\r
-  IN      EFI_CPU_IO_PROTOCOL_WIDTH Width,\r
-  IN      UINT64                    Data\r
+  IN      UINTN                      Port,\r
+  IN      EFI_CPU_IO_PROTOCOL_WIDTH  Width,\r
+  IN      UINT64                     Data\r
   )\r
 {\r
   )\r
 {\r
-  EFI_STATUS                        Status;\r
+  EFI_STATUS  Status;\r
 \r
 \r
-  if (mPciRootBridgeIo != NULL) {\r
-    Status = mPciRootBridgeIo->Io.Write (mPciRootBridgeIo, (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, Port, 1, &Data);\r
-  } else {\r
-    Status = mCpuIo->Io.Write (mCpuIo, Width, Port, 1, &Data);\r
-  }\r
+  Status = mCpuIo->Io.Write (mCpuIo, Width, Port, 1, &Data);\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   return Data;\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   return Data;\r
@@ -141,18 +129,14 @@ IoWriteWorker (
 UINT64\r
 EFIAPI\r
 MmioReadWorker (\r
 UINT64\r
 EFIAPI\r
 MmioReadWorker (\r
-  IN      UINTN                     Address,\r
-  IN      EFI_CPU_IO_PROTOCOL_WIDTH Width\r
+  IN      UINTN                      Address,\r
+  IN      EFI_CPU_IO_PROTOCOL_WIDTH  Width\r
   )\r
 {\r
   )\r
 {\r
-  EFI_STATUS                        Status;\r
-  UINT64                            Data;\r
+  EFI_STATUS  Status;\r
+  UINT64      Data;\r
 \r
 \r
-  if (mPciRootBridgeIo != NULL) {\r
-    Status = mPciRootBridgeIo->Mem.Read (mPciRootBridgeIo, (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, Address, 1, &Data);\r
-  } else {\r
-    Status = mCpuIo->Mem.Read (mCpuIo, Width, Address, 1, &Data);\r
-  }\r
+  Status = mCpuIo->Mem.Read (mCpuIo, Width, Address, 1, &Data);\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   return Data;\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   return Data;\r
@@ -176,18 +160,14 @@ MmioReadWorker (
 UINT64\r
 EFIAPI\r
 MmioWriteWorker (\r
 UINT64\r
 EFIAPI\r
 MmioWriteWorker (\r
-  IN      UINTN                     Address,\r
-  IN      EFI_CPU_IO_PROTOCOL_WIDTH Width,\r
-  IN      UINT64                    Data\r
+  IN      UINTN                      Address,\r
+  IN      EFI_CPU_IO_PROTOCOL_WIDTH  Width,\r
+  IN      UINT64                     Data\r
   )\r
 {\r
   )\r
 {\r
-  EFI_STATUS                        Status;\r
+  EFI_STATUS  Status;\r
 \r
 \r
-  if (mPciRootBridgeIo != NULL) {\r
-    Status = mPciRootBridgeIo->Mem.Write (mPciRootBridgeIo, (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, Address, 1, &Data);\r
-  } else {\r
-    Status = mCpuIo->Mem.Write (mCpuIo, Width, Address, 1, &Data);\r
-  }\r
+  Status = mCpuIo->Mem.Write (mCpuIo, Width, Address, 1, &Data);\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   return Data;\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   return Data;\r