diff --git a/src/cpu/amd/agesa/s3_resume.h b/src/cpu/amd/agesa/s3_resume.h index 16ec4115ce..10bc826be6 100644 --- a/src/cpu/amd/agesa/s3_resume.h +++ b/src/cpu/amd/agesa/s3_resume.h @@ -20,9 +20,9 @@ #ifndef S3_RESUME_H #define S3_RESUME_H -#define S3_DATA_NONVOLATILE_POS 0xFFFF7000 -#define S3_DATA_VOLATILE_POS 0xFFFF0000 -#define S3_DATA_MTRR_POS 0xFFFF6000 +#define S3_DATA_NONVOLATILE_POS (CONFIG_S3_VOLATILE_POS + 0x7000) +#define S3_DATA_VOLATILE_POS CONFIG_S3_VOLATILE_POS +#define S3_DATA_MTRR_POS (CONFIG_S3_VOLATILE_POS + 0x6000) typedef enum { S3DataTypeNonVolatile=0, ///< NonVolatile Data Type diff --git a/src/southbridge/amd/Kconfig b/src/southbridge/amd/Kconfig index 867afcaf8b..23f6c066fd 100644 --- a/src/southbridge/amd/Kconfig +++ b/src/southbridge/amd/Kconfig @@ -14,3 +14,8 @@ source src/southbridge/amd/sb800/Kconfig source src/southbridge/amd/cimx/Kconfig source src/southbridge/amd/agesa/Kconfig source src/southbridge/amd/sr5650/Kconfig + +# This can be overriden by mainboard/Kconfig +config S3_VOLATILE_POS + hex + default 0xFFFF0000 diff --git a/src/southbridge/amd/Makefile.inc b/src/southbridge/amd/Makefile.inc index 970971518a..d2b9b653e5 100644 --- a/src/southbridge/amd/Makefile.inc +++ b/src/southbridge/amd/Makefile.inc @@ -20,14 +20,14 @@ ifeq ($(CONFIG_HAVE_ACPI_RESUME), y) ifeq ($(CONFIG_CPU_AMD_AGESA), y) $(obj)/s3.rom: - echo " S3 NVRAM 0xffff0000 (S3 storage area)" + echo " S3 NVRAM $(CONFIG_S3_VOLATILE_POS) (S3 storage area)" # force C locale, so cygwin awk doesn't try to interpret the 0xff below as UTF-8 (or worse) LC_ALL=C awk 'BEGIN {for (i=0; i<32768; i++) {printf "%c", 255}}' > $@.tmp mv $@.tmp $@ cbfs-files-y += s3nv s3nv-file := $(obj)/s3.rom -s3nv-position := 0xffff0000 +s3nv-position := $(CONFIG_S3_VOLATILE_POS) s3nv-type := raw endif # CONFIG_CPU_AMD_AGESA == y