summaryrefslogtreecommitdiffstats
path: root/resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0028-northbridge-amd-amdmct-mct_ddr3-Fix-S3-suspend-overr.patch
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2016-01-02 17:10:32 (EST)
committer Francis Rowe <info@gluglug.org.uk>2016-01-04 15:28:39 (EST)
commitd1f408f3725aa02bc1d76c4c6aadb4697bd073c0 (patch)
tree7eed036543ae1f8c57b56825880a722a8efbedf1 /resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0028-northbridge-amd-amdmct-mct_ddr3-Fix-S3-suspend-overr.patch
parent91aec7e72005dcda72d19f2d024a02d8c0f86590 (diff)
downloadlibreboot-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.zip
libreboot-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.tar.gz
libreboot-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.tar.bz2
Use different coreboot revisions and patches per board
The release archives will be bigger, but this is a necessary change that makes libreboot development easier. At present, there are boards maintained in libreboot by different people. By doing it this way, that becomes much easier. This is in contrast to the present situation, where a change to one board potentially affects all other boards, especially when updating to a new version of coreboot. Coreboot-libre scripts, download scripts, build scripts - everything. The entire build system has been modified to reflect this change of development. For reasons of consistency, cbfstool and nvramtool are no longer included in the util archives.
Diffstat (limited to 'resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0028-northbridge-amd-amdmct-mct_ddr3-Fix-S3-suspend-overr.patch')
-rw-r--r--resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0028-northbridge-amd-amdmct-mct_ddr3-Fix-S3-suspend-overr.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0028-northbridge-amd-amdmct-mct_ddr3-Fix-S3-suspend-overr.patch b/resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0028-northbridge-amd-amdmct-mct_ddr3-Fix-S3-suspend-overr.patch
new file mode 100644
index 0000000..6616f45
--- /dev/null
+++ b/resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0028-northbridge-amd-amdmct-mct_ddr3-Fix-S3-suspend-overr.patch
@@ -0,0 +1,51 @@
+From 7023056e63402e693489a04925f854e4217f9b50 Mon Sep 17 00:00:00 2001
+From: Timothy Pearson <tpearson@raptorengineeringinc.com>
+Date: Sun, 31 May 2015 18:46:40 -0500
+Subject: [PATCH 028/143] northbridge/amd/amdmct/mct_ddr3: Fix S3 suspend
+ overrunning the stack size limit
+
+Change-Id: Id7441dacef2e46e283d1fc99d5e5fa3f20e0d097
+Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
+---
+ src/northbridge/amd/amdmct/mct_ddr3/s3utils.c | 16 +++++++++++++---
+ 1 file changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/src/northbridge/amd/amdmct/mct_ddr3/s3utils.c b/src/northbridge/amd/amdmct/mct_ddr3/s3utils.c
+index a49499f..c9bcac1 100644
+--- a/src/northbridge/amd/amdmct/mct_ddr3/s3utils.c
++++ b/src/northbridge/amd/amdmct/mct_ddr3/s3utils.c
+@@ -543,10 +543,17 @@ int8_t save_mct_information_to_nvram(void)
+
+ struct spi_flash *flash;
+ ssize_t s3nv_offset;
+- struct amd_s3_persistent_data persistent_data;
++ struct amd_s3_persistent_data *persistent_data;
++
++ /* Allocate temporary data structures */
++ persistent_data = malloc(sizeof(struct amd_s3_persistent_data));
++ if (!persistent_data) {
++ printk(BIOS_DEBUG, "Could not allocate S3 data structure in RAM\n");
++ return -1;
++ }
+
+ /* Obtain MCT configuration data */
+- copy_mct_data_to_save_variable(&persistent_data);
++ copy_mct_data_to_save_variable(persistent_data);
+
+ /* Obtain CBFS file offset */
+ s3nv_offset = get_s3nv_file_offset();
+@@ -576,7 +583,10 @@ int8_t save_mct_information_to_nvram(void)
+
+ /* Erase and write data structure */
+ flash->erase(flash, s3nv_offset, CONFIG_S3_DATA_SIZE);
+- flash->write(flash, s3nv_offset, sizeof(struct amd_s3_persistent_data), &persistent_data);
++ flash->write(flash, s3nv_offset, sizeof(struct amd_s3_persistent_data), persistent_data);
++
++ /* Deallocate temporary data structures */
++ free(persistent_data);
+
+ /* Tear down SPI flash access */
+ flash->spi->rw = SPI_WRITE_FLAG;
+--
+1.7.9.5
+