VOID GnbLibMemWrite ( IN UINT64 Address, IN ACCESS_WIDTH Width, IN VOID *Value, IN VOID *StdHeader ) { if (Width >= AccessS3SaveWidth8) { S3_SAVE_MEM_WRITE (StdHeader, Address, Width, Value); } if (Width == AccessWidth64) { LibAmdMemWrite (AccessWidth32, Address, Value, StdHeader); LibAmdMemWrite (AccessWidth32, Address + 4, (VOID *) ((UINT64)Value + 4), StdHeader); } else { LibAmdMemWrite (Width, Address, Value, StdHeader); } }
/** * Write Debug Print Memory * * * @param[in] AccessWidth Access width * @param[in] MemAddress Memory address * @param[in] Value Pointer to data * */ VOID STATIC AmdIdsDpRamWrite ( IN ACCESS_WIDTH AccessWidth, IN UINT64 MemAddress, OUT VOID *Value ) { LibAmdMemWrite (AccessWidth, MemAddress, Value, NULL); }
/** * ProgramFchGpioTbl - Program FCH Gpio table (8 bits data) * * * * @param[in] pGpioTbl - Table data pointer * @param[in] FchResetDataBlock * */ VOID ProgramFchGpioTbl ( IN GPIO_CONTROL *pGpioTbl, IN FCH_RESET_DATA_BLOCK *FchResetDataBlock ) { AMD_CONFIG_PARAMS *StdHeader; UINT32 ddtempVar; StdHeader = FchResetDataBlock->StdHeader; if (pGpioTbl != NULL) { while (pGpioTbl->GpioPin != 0xFF) { ddtempVar = ACPI_MMIO_BASE | IOMUX_BASE | pGpioTbl->GpioPin; LibAmdMemWrite (AccessWidth8, (UINT64) ddtempVar, &pGpioTbl->PinFunction, StdHeader); ddtempVar = ACPI_MMIO_BASE | GPIO_BASE | pGpioTbl->GpioPin; LibAmdMemWrite (AccessWidth8, (UINT64) ddtempVar, &pGpioTbl->CfgByte, StdHeader); pGpioTbl++; } } }
VOID GnbLibMemWrite ( IN UINT64 Address, IN ACCESS_WIDTH Width, IN VOID *Value, IN VOID *StdHeader ) { if (Width >= AccessS3SaveWidth8) { S3_SAVE_MEM_WRITE (StdHeader, Address, Width, Value); } LibAmdMemWrite (Width, Address, Value, StdHeader); }