X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=IntelFrameworkPkg%2FLibrary%2FDxeIoLibCpuIo%2FIoLib.c;h=57a2335571035fcdf4c68a3363f8f19ff908f38f;hp=e43c173bb1b7f9c75378ebb81e9a554990c80fd3;hb=7459094d5f6904a0c8445d97519f4a99b654ef43;hpb=694363f8f8a23920a0a21339ed2c59043b92de55 diff --git a/IntelFrameworkPkg/Library/DxeIoLibCpuIo/IoLib.c b/IntelFrameworkPkg/Library/DxeIoLibCpuIo/IoLib.c index e43c173bb1..57a2335571 100644 --- a/IntelFrameworkPkg/Library/DxeIoLibCpuIo/IoLib.c +++ b/IntelFrameworkPkg/Library/DxeIoLibCpuIo/IoLib.c @@ -1,6 +1,8 @@ /** @file I/O Library. - + The implementation of I/O operation for this library instance + are based on EFI_CPU_IO_PROTOCOL. + Copyright (c) 2006, 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 @@ -44,9 +46,9 @@ IoLibConstructor ( { EFI_STATUS Status; - Status = gBS->LocateProtocol (&gEfiPciRootBridgeIoProtocolGuid, NULL, &mPciRootBridgeIo); + Status = gBS->LocateProtocol (&gEfiPciRootBridgeIoProtocolGuid, NULL, (VOID **) &mPciRootBridgeIo); if (EFI_ERROR (Status)) { - Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &mCpuIo); + Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, (VOID **) &mCpuIo); } ASSERT_EFI_ERROR (Status); @@ -78,7 +80,7 @@ IoReadWorker ( UINT64 Data; if (mPciRootBridgeIo != NULL) { - Status = mPciRootBridgeIo->Io.Read (mPciRootBridgeIo, Width, Port, 1, &Data); + Status = mPciRootBridgeIo->Io.Read (mPciRootBridgeIo, (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, Port, 1, &Data); } else { Status = mCpuIo->Io.Read (mCpuIo, Width, Port, 1, &Data); } @@ -113,7 +115,7 @@ IoWriteWorker ( EFI_STATUS Status; if (mPciRootBridgeIo != NULL) { - Status = mPciRootBridgeIo->Io.Write (mPciRootBridgeIo, Width, Port, 1, &Data); + Status = mPciRootBridgeIo->Io.Write (mPciRootBridgeIo, (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, Port, 1, &Data); } else { Status = mCpuIo->Io.Write (mCpuIo, Width, Port, 1, &Data); } @@ -147,7 +149,7 @@ MmioReadWorker ( UINT64 Data; if (mPciRootBridgeIo != NULL) { - Status = mPciRootBridgeIo->Mem.Read (mPciRootBridgeIo, Width, Address, 1, &Data); + Status = mPciRootBridgeIo->Mem.Read (mPciRootBridgeIo, (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, Address, 1, &Data); } else { Status = mCpuIo->Mem.Read (mCpuIo, Width, Address, 1, &Data); } @@ -166,7 +168,8 @@ MmioReadWorker ( @param Address The MMIO register to read. The caller is responsible for aligning the Address if required. @param Width The width of the I/O operation. - + @param Data The value to write to the I/O port. + @return Data read from registers in the EFI system memory space. **/ @@ -181,7 +184,7 @@ MmioWriteWorker ( EFI_STATUS Status; if (mPciRootBridgeIo != NULL) { - Status = mPciRootBridgeIo->Mem.Write (mPciRootBridgeIo, Width, Address, 1, &Data); + Status = mPciRootBridgeIo->Mem.Write (mPciRootBridgeIo, (EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_WIDTH) Width, Address, 1, &Data); } else { Status = mCpuIo->Mem.Write (mCpuIo, Width, Address, 1, &Data); }