Beispiel #1
0
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);
}
Beispiel #2
0
VOID
GnbLibMemWrite (
  IN      UINT64        Address,
  IN      ACCESS_WIDTH  Width,
  IN      VOID          *Value,
  IN      VOID          *StdHeader
  )
{
  if (Width >= AccessS3SaveWidth8) {
    if (Width == AccessS3SaveWidth64) {
      S3_SAVE_MEM_WRITE (StdHeader, Address, AccessS3SaveWidth32, Value);
      S3_SAVE_MEM_WRITE (StdHeader, Address + 4, AccessS3SaveWidth32, (VOID *) ((UINT64)Value + 4));
    } else {
      S3_SAVE_MEM_WRITE (StdHeader, Address, Width, Value);
    }
  }
  if ((Width == AccessWidth64) || (Width == AccessS3SaveWidth64)) {
    LibAmdMemWrite (AccessWidth32, Address, Value, StdHeader);
    LibAmdMemWrite (AccessWidth32, Address + 4, (VOID *) ((UINT64)Value + 4), StdHeader);
  } else {
    LibAmdMemWrite (Width, Address, Value, StdHeader);
  }
}