AMD S3: Introduce Kconfig variable 'S3_DATA_SIZE'
Currently the size of the volatile storage for S3 reserved in the image is hardcoded to 32768 bytes. Make that configurable by introducing the Kconfig 'S3_DATA_SIZE'. As the storage space is needed for storing non-volatile, volatile and MTRR data, add a check if the size is big enough. Change-Id: I9152797cf0045c8da48109a9d760e417717686db Signed-off-by: Zheng Bao <zheng.bao@amd.com> Signed-off-by: Zheng Bao <fishbaozi@gmail.com> Reviewed-on: http://review.coreboot.org/2383 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
parent
c8fadd9f46
commit
22ec9f9a72
|
@ -28,6 +28,10 @@
|
||||||
#define S3_DATA_MTRR_POS (CONFIG_S3_DATA_POS + S3_DATA_VOLATILE_SIZE)
|
#define S3_DATA_MTRR_POS (CONFIG_S3_DATA_POS + S3_DATA_VOLATILE_SIZE)
|
||||||
#define S3_DATA_NONVOLATILE_POS (CONFIG_S3_DATA_POS + S3_DATA_VOLATILE_SIZE + S3_DATA_MTRR_SIZE)
|
#define S3_DATA_NONVOLATILE_POS (CONFIG_S3_DATA_POS + S3_DATA_VOLATILE_SIZE + S3_DATA_MTRR_SIZE)
|
||||||
|
|
||||||
|
#if (S3_DATA_VOLATILE_SIZE + S3_DATA_MTRR_SIZE + S3_DATA_NONVOLATILE_SIZE) > CONFIG_S3_DATA_SIZE
|
||||||
|
#error "Please increase the value of S3_DATA_SIZE"
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
S3DataTypeNonVolatile=0, ///< NonVolatile Data Type
|
S3DataTypeNonVolatile=0, ///< NonVolatile Data Type
|
||||||
S3DataTypeVolatile ///< Volatile Data Type
|
S3DataTypeVolatile ///< Volatile Data Type
|
||||||
|
|
|
@ -22,7 +22,7 @@ ifeq ($(CONFIG_CPU_AMD_AGESA), y)
|
||||||
$(obj)/coreboot_s3nv.rom: $(obj)/config.h
|
$(obj)/coreboot_s3nv.rom: $(obj)/config.h
|
||||||
echo " S3 NVRAM $(CONFIG_S3_DATA_POS) (S3 storage area)"
|
echo " S3 NVRAM $(CONFIG_S3_DATA_POS) (S3 storage area)"
|
||||||
# force C locale, so cygwin awk doesn't try to interpret the 0xff below as UTF-8 (or worse)
|
# 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
|
printf %d $(CONFIG_S3_DATA_SIZE) | LC_ALL=C awk '{for (i=0; i<$$1; i++) {printf "%c", 255}}' > $@.tmp
|
||||||
mv $@.tmp $@
|
mv $@.tmp $@
|
||||||
|
|
||||||
cbfs-files-y += s3nv
|
cbfs-files-y += s3nv
|
||||||
|
|
|
@ -209,6 +209,14 @@ config S3_DATA_POS
|
||||||
For a system with S3 feature, the BIOS needs to save some data to
|
For a system with S3 feature, the BIOS needs to save some data to
|
||||||
non-volatile storage at cold boot stage.
|
non-volatile storage at cold boot stage.
|
||||||
|
|
||||||
|
config S3_DATA_SIZE
|
||||||
|
int "S3 volatile storage size"
|
||||||
|
default 32768
|
||||||
|
depends on HAVE_ACPI_RESUME
|
||||||
|
help
|
||||||
|
For a system with S3 feature, the BIOS needs to save some data to
|
||||||
|
non-volatile storage at cold boot stage.
|
||||||
|
|
||||||
config HUDSON_LEGACY_FREE
|
config HUDSON_LEGACY_FREE
|
||||||
bool "System is legacy free"
|
bool "System is legacy free"
|
||||||
help
|
help
|
||||||
|
|
|
@ -68,5 +68,13 @@ config S3_DATA_POS
|
||||||
For a system with S3 feature, the BIOS needs to save some data to
|
For a system with S3 feature, the BIOS needs to save some data to
|
||||||
non-volatile storage at cold boot stage.
|
non-volatile storage at cold boot stage.
|
||||||
|
|
||||||
|
config S3_DATA_SIZE
|
||||||
|
int "S3 volatile storage size"
|
||||||
|
default 32768
|
||||||
|
depends on HAVE_ACPI_RESUME
|
||||||
|
help
|
||||||
|
For a system with S3 feature, the BIOS needs to save some data to
|
||||||
|
non-volatile storage at cold boot stage.
|
||||||
|
|
||||||
endif #SOUTHBRIDGE_AMD_CIMX_SB700
|
endif #SOUTHBRIDGE_AMD_CIMX_SB700
|
||||||
|
|
||||||
|
|
|
@ -130,6 +130,14 @@ config S3_DATA_POS
|
||||||
For a system with S3 feature, the BIOS needs to save some data to
|
For a system with S3 feature, the BIOS needs to save some data to
|
||||||
non-volatile storage at cold boot stage.
|
non-volatile storage at cold boot stage.
|
||||||
|
|
||||||
|
config S3_DATA_SIZE
|
||||||
|
int "S3 volatile storage size"
|
||||||
|
default 32768
|
||||||
|
depends on HAVE_ACPI_RESUME
|
||||||
|
help
|
||||||
|
For a system with S3 feature, the BIOS needs to save some data to
|
||||||
|
non-volatile storage at cold boot stage.
|
||||||
|
|
||||||
config SB800_IMC_FWM
|
config SB800_IMC_FWM
|
||||||
bool "Add IMC firmware"
|
bool "Add IMC firmware"
|
||||||
default n
|
default n
|
||||||
|
|
|
@ -61,5 +61,13 @@ config S3_DATA_POS
|
||||||
For a system with S3 feature, the BIOS needs to save some data to
|
For a system with S3 feature, the BIOS needs to save some data to
|
||||||
non-volatile storage at cold boot stage.
|
non-volatile storage at cold boot stage.
|
||||||
|
|
||||||
|
config S3_DATA_SIZE
|
||||||
|
int "S3 volatile storage size"
|
||||||
|
default 32768
|
||||||
|
depends on HAVE_ACPI_RESUME
|
||||||
|
help
|
||||||
|
For a system with S3 feature, the BIOS needs to save some data to
|
||||||
|
non-volatile storage at cold boot stage.
|
||||||
|
|
||||||
endif #SOUTHBRIDGE_AMD_CIMX_SB900
|
endif #SOUTHBRIDGE_AMD_CIMX_SB900
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue