CpuIo.c revision 4fd606d1f5abe38e1f42c38de1d2e895166bd0f4
/** @file
The default version of EFI_PEI_CPU_IO_PPI support published by PeiServices in
PeiCore initialization phase.
EFI_PEI_CPU_IO_PPI is installed by some platform or chipset-specific PEIM that
abstracts the processor-visible I/O operations. When PeiCore is started, the
default version of EFI_PEI_CPU_IO_PPI will be assigned to PeiServices table.
Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#include "PeiMain.h"
///
/// This default instance of EFI_PEI_CPU_IO_PPI install assigned to EFI_PEI_SERVICE.CpuIo
/// when PeiCore's initialization.
///
{
},
{
},
};
/**
Memory-based read services.
This function is to perform the Memory Access Read service based on installed
instance of the EFI_PEI_CPU_IO_PPI.
return EFI_NOT_YET_AVAILABLE.
@param PeiServices An indirect pointer to the PEI Services Table
published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Width The width of the access. Enumerated in bytes.
@param Address The physical address of the access.
@param Count The number of accesses to perform.
@param Buffer A pointer to the buffer of data.
@retval EFI_SUCCESS The function completed successfully.
@retval EFI_NOT_YET_AVAILABLE The service has not been installed.
**/
)
{
return EFI_NOT_AVAILABLE_YET;
}
/**
Memory-based write services.
This function is to perform the Memory Access Write service based on installed
instance of the EFI_PEI_CPU_IO_PPI.
return EFI_NOT_YET_AVAILABLE.
@param PeiServices An indirect pointer to the PEI Services Table
published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Width The width of the access. Enumerated in bytes.
@param Address The physical address of the access.
@param Count The number of accesses to perform.
@param Buffer A pointer to the buffer of data.
@retval EFI_SUCCESS The function completed successfully.
@retval EFI_NOT_YET_AVAILABLE The service has not been installed.
**/
)
{
return EFI_NOT_AVAILABLE_YET;
}
/**
IO-based read services.
This function is to perform the IO-base read service for the EFI_PEI_CPU_IO_PPI.
return EFI_NOT_YET_AVAILABLE.
@param PeiServices An indirect pointer to the PEI Services Table
published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Width The width of the access. Enumerated in bytes.
@param Address The physical address of the access.
@param Count The number of accesses to perform.
@param Buffer A pointer to the buffer of data.
@retval EFI_SUCCESS The function completed successfully.
@retval EFI_NOT_YET_AVAILABLE The service has not been installed.
**/
)
{
return EFI_NOT_AVAILABLE_YET;
}
/**
IO-based write services.
This function is to perform the IO-base write service for the EFI_PEI_CPU_IO_PPI.
return EFI_NOT_YET_AVAILABLE.
@param PeiServices An indirect pointer to the PEI Services Table
published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Width The width of the access. Enumerated in bytes.
@param Address The physical address of the access.
@param Count The number of accesses to perform.
@param Buffer A pointer to the buffer of data.
@retval EFI_SUCCESS The function completed successfully.
@retval EFI_NOT_YET_AVAILABLE The service has not been installed.
**/
)
{
return EFI_NOT_AVAILABLE_YET;
}
/**
8-bit I/O read operations.
return 0.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@return An 8-bit value returned from the I/O space.
**/
)
{
return 0;
}
/**
Reads an 16-bit I/O port.
return 0.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@return A 16-bit value returned from the I/O space.
**/
)
{
return 0;
}
/**
Reads an 32-bit I/O port.
return 0.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@return A 32-bit value returned from the I/O space.
**/
)
{
return 0;
}
/**
Reads an 64-bit I/O port.
return 0.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@return A 64-bit value returned from the I/O space.
**/
)
{
return 0;
}
/**
8-bit I/O write operations.
nothing.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@param Data The data to write.
**/
)
{
}
/**
16-bit I/O write operations.
nothing.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@param Data The data to write.
**/
)
{
}
/**
32-bit I/O write operations.
nothing.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@param Data The data to write.
**/
)
{
}
/**
64-bit I/O write operations.
nothing.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@param Data The data to write.
**/
)
{
}
/**
8-bit memory read operations.
return 0.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@return An 8-bit value returned from the memory space.
**/
)
{
return 0;
}
/**
16-bit memory read operations.
return 0.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@return An 16-bit value returned from the memory space.
**/
)
{
return 0;
}
/**
32-bit memory read operations.
return 0.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@return An 32-bit value returned from the memory space.
**/
)
{
return 0;
}
/**
64-bit memory read operations.
return 0.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@return An 64-bit value returned from the memory space.
**/
)
{
return 0;
}
/**
8-bit memory write operations.
nothing.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@param Data The data to write.
**/
)
{
}
/**
16-bit memory write operations.
nothing.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@param Data The data to write.
**/
)
{
}
/**
32-bit memory write operations.
nothing.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@param Data The data to write.
**/
)
{
}
/**
64-bit memory write operations.
nothing.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to local data for the interface.
@param Address The physical address of the access.
@param Data The data to write.
**/
)
{
}