Patrick Georgi (patrick(a)georgi-clan.de) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2768
-gerrit
commit e1b66e036d8a82266dc568c71b2eaedfa077eb40
Author: Patrick Georgi <patrick(a)georgi-clan.de>
Date: Sat Mar 16 00:05:09 2013 +0100
gitmodules: Ignore 3rdparty in "diff family"
This should help avoid wrong 3rdparty commit ids
creeping in.
Change-Id: I2134ad1d3ad0237ef3f12baf4d4aafb02009e7bc
Signed-off-by: Patrick Georgi <patrick(a)georgi-clan.de>
---
.gitmodules | 1 +
1 file changed, 1 insertion(+)
diff --git a/.gitmodules b/.gitmodules
index e53e9af..25ba6e3 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -2,3 +2,4 @@
path = 3rdparty
url = ../blobs.git
update = none
+ ignore = all
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2765
-gerrit
commit 0c1e45b2f24292beb4f77151dd1bf01ca81b25b0
Author: Shawn Nematbakhsh <shawnn(a)google.com>
Date: Thu Mar 14 10:44:13 2013 -0700
bd82x6x: Add config option to force SATA link to different speeds.
Certain SATA devices claim to support SATA 6 Gbps, but in fact have
bugs. For these devices, add a config option to force the SATA link
speed to something other than default.
Change-Id: I2dc1793cd58771298a392345162d39d20eb0afbb
Signed-off-by: Shawn Nematbakhsh <shawnn(a)google.com>
---
src/southbridge/intel/bd82x6x/chip.h | 11 +++++++++++
src/southbridge/intel/bd82x6x/sata.c | 7 +++++++
2 files changed, 18 insertions(+)
diff --git a/src/southbridge/intel/bd82x6x/chip.h b/src/southbridge/intel/bd82x6x/chip.h
index 746e300..828466c 100644
--- a/src/southbridge/intel/bd82x6x/chip.h
+++ b/src/southbridge/intel/bd82x6x/chip.h
@@ -70,6 +70,17 @@ struct southbridge_intel_bd82x6x_config {
uint32_t sata_port0_gen3_tx;
uint32_t sata_port1_gen3_tx;
+ /**
+ * SATA Interface Speed Support Configuration
+ *
+ * Only the lower two bits have a meaning:
+ * 00 - No effect (leave as chip default)
+ * 01 - 1.5 Gb/s maximum speed
+ * 10 - 3.0 Gb/s maximum speed
+ * 11 - 6.0 Gb/s maximum speed
+ */
+ uint8_t sata_interface_speed_support;
+
uint32_t gen1_dec;
uint32_t gen2_dec;
uint32_t gen3_dec;
diff --git a/src/southbridge/intel/bd82x6x/sata.c b/src/southbridge/intel/bd82x6x/sata.c
index ddba521..594b09d 100644
--- a/src/southbridge/intel/bd82x6x/sata.c
+++ b/src/southbridge/intel/bd82x6x/sata.c
@@ -135,6 +135,13 @@ static void sata_init(struct device *dev)
reg32 = read32(abar + 0x00);
reg32 |= 0x0c006000; // set PSC+SSC+SALP+SSS
reg32 &= ~0x00020060; // clear SXS+EMS+PMS
+ /* Set ISS, if available */
+ if (config->sata_interface_speed_support)
+ {
+ reg32 &= ~0x00f00000;
+ reg32 |= (config->sata_interface_speed_support & 0x03)
+ << 20;
+ }
write32(abar + 0x00, reg32);
/* PI (Ports implemented) */
write32(abar + 0x0c, config->sata_port_map);
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2763
-gerrit
commit 50cc8ab7838e3d2fe43db16d9a29efc090b7ee77
Author: Gabe Black <gabeblack(a)google.com>
Date: Tue Mar 12 15:50:08 2013 -0700
libpayload: Fix the config file dependency in the Makefile template
The template had a dependency on config.h which was correct for coreboot,
where this build system originally came from, but not for libpayload which
uses the differently named libpayload-config.h, presumably to avoid colliding
with a config.h used by the actual payload. Because libpayload-config.h is now
effectively a dependency of everything, it doesn't have to be added piecemeal
in Makefile.inc.
Change-Id: I01f20d363cb1393fa1cdcf0dc916670db90294e9
Signed-off-by: Gabe Black <gabeblack(a)google.com>
---
payloads/libpayload/Makefile | 2 +-
payloads/libpayload/Makefile.inc | 5 -----
2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/payloads/libpayload/Makefile b/payloads/libpayload/Makefile
index c4a77bf..bfa1abf 100644
--- a/payloads/libpayload/Makefile
+++ b/payloads/libpayload/Makefile
@@ -246,7 +246,7 @@ define create_cc_template
# $4 additional dependencies
ifn$(EMPTY)def $(1)-objs_$(2)_template
de$(EMPTY)fine $(1)-objs_$(2)_template
-$(obj)/$$(1).$(1).o: $$(1).$(2) $(obj)/config.h $(4)
+$(obj)/$$(1).$(1).o: $$(1).$(2) $(obj)/libpayload-config.h $(4)
@printf " CC $$$$(subst $$$$(obj)/,,$$$$(@))\n"
$(CC) $(3) -MMD $$$$(CFLAGS) -c -o $$$$@ $$$$<
en$(EMPTY)def
diff --git a/payloads/libpayload/Makefile.inc b/payloads/libpayload/Makefile.inc
index b06288b..9e6dc75 100644
--- a/payloads/libpayload/Makefile.inc
+++ b/payloads/libpayload/Makefile.inc
@@ -47,11 +47,6 @@ classes-$(CONFIG_LZMA) += liblzma
libraries := $(classes-y)
classes-y += head.o
-libpci-c-deps = $(obj)/libpayload-config.h
-libc-c-deps = $(obj)/libpayload-config.h
-libcurses-c-deps = $(obj)/libpayload-config.h
-head.o-S-deps = $(obj)/libpayload-config.h
-
subdirs-y := arch/$(ARCHDIR-y)
subdirs-y += crypto libc drivers libpci
subdirs-$(CONFIG_CURSES) += curses
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2760
-gerrit
commit e1dc2eb6d240b2fd0b4a2739335de2e26db92253
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Fri Feb 8 16:14:07 2013 -0600
bd82x6x: don't use absolute symbols
objcopy -B provides symbols of the form _binary_<name>_(start|end|size).
However, the _size variant is an absoult symbol. If one wants to
relocate the smi loading the _size symbol will be relocated which is
wrong since it is suppose to be a fixed size. There is no way to
distinguish symbols that shouldn't be relocated vs ones that can.
Instead use the _start and _end variants to determine the size.
Change-Id: I55192992cf36f62a9d8dd896e5fb3043a3eacbd3
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/southbridge/intel/bd82x6x/smi.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/southbridge/intel/bd82x6x/smi.c b/src/southbridge/intel/bd82x6x/smi.c
index c89ae18..f34a96e 100644
--- a/src/southbridge/intel/bd82x6x/smi.c
+++ b/src/southbridge/intel/bd82x6x/smi.c
@@ -35,7 +35,7 @@
#endif
extern unsigned char _binary_smm_start;
-extern unsigned char _binary_smm_size;
+extern unsigned char _binary_smm_end;
/* While we read PMBASE dynamically in case it changed, let's
* initialize it with a sane value
@@ -352,7 +352,8 @@ static void smm_install(void)
/* copy the real SMM handler */
printk(BIOS_DEBUG, "Installing SMM handler to 0x%08x\n", smm_base);
- memcpy((void *)smm_base, &_binary_smm_start, (size_t)&_binary_smm_size);
+ memcpy((void *)smm_base, &_binary_smm_start,
+ (size_t)(&_binary_smm_end - &_binary_smm_start));
/* copy the IED header into place */
if (CONFIG_SMM_TSEG_SIZE > IED_SIZE) {