vendorcode/amd/agesa/f15tn: Fix GnbIommuScratch in AGESA compilation

Missing IOMMU support is missing from the libagesa Makefile, it also
lacks a header with type-signature and a few bad typecast issues.

Change-Id: I7f2ad2104de9baaa66dbb6ffeb0f2b4d35fa5c16
Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Co-Author: Rudolf Marek <r.marek@assembler.cz>
Reviewed-on: http://review.coreboot.org/7642
Tested-by: build bot (Jenkins)
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
This commit is contained in:
Edward O'Callaghan 2014-12-05 05:01:45 +11:00
parent f5c463f5e6
commit e2b15d569a
3 changed files with 21 additions and 1 deletions

View File

@ -230,6 +230,7 @@ libagesa-y += Proc/GNB/Modules/GnbInitTN/PcieMidInitTN.c
libagesa-y += Proc/GNB/Modules/GnbInitTN/PciePostInitTN.c
libagesa-y += Proc/GNB/Modules/GnbInitTN/PciePowerGateTN.c
libagesa-y += Proc/GNB/Modules/GnbInitTN/PcieTablesTN.c
libagesa-y += Proc/GNB/Modules/GnbIommuScratch/GnbIommuScratch.c
libagesa-y += Proc/GNB/Modules/GnbIommuIvrs/GnbIommuIvrs.c
libagesa-y += Proc/GNB/Modules/GnbIvrsLib/GnbIvrsLib.c
libagesa-y += Proc/GNB/Modules/GnbMSocketLib/GnbMSocketLib.c

View File

@ -36,6 +36,8 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "GnbIommuScratch.h"
#include "AGESA.h"
#include "Ids.h"
#include "S3SaveState.h"
@ -83,8 +85,14 @@ GnbIommuScratchMemoryRangeInterface (
return AGESA_FATAL;
}
AddressLow = (((UINT32) ((UINT64) AllocHeapParams.BufferPtr)) + 0x3F) & D0F0x98_x27_IOMMUUrAddr_31_6__MASK;
/*Align the address to 64 bytes boundary */
#ifdef __x86_64__
AddressLow = (((UINT32) ((UINT64) AllocHeapParams.BufferPtr)) + 0x3F) & D0F0x98_x27_IOMMUUrAddr_31_6__MASK;
AddressHigh = ((UINT32) (((UINT64) AllocHeapParams.BufferPtr) >> 32)) & D0F0x98_x26_IOMMUUrAddr_39_32__MASK;
#else
AddressLow = ((((UINT32) AllocHeapParams.BufferPtr)) + 0x3F) & D0F0x98_x27_IOMMUUrAddr_31_6__MASK;
AddressHigh = 0;
#endif
GnbHandle = GnbGetHandle (StdHeader);
while (GnbHandle != NULL) {

View File

@ -0,0 +1,11 @@
#ifndef _GNBIOMMUSCRATCH_H_
#define _GNBIOMMUSCRATCH_H_
#include "AGESA.h"
AGESA_STATUS
GnbIommuScratchMemoryRangeInterface (
IN AMD_CONFIG_PARAMS *StdHeader
);
#endif /* _GNBIOMMUSCRATCH_H_ */