Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2855
-gerrit
commit 9673a4eba19b2f7d4619f4fc4ee2003524d24bb1
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Fri Mar 1 17:38:59 2013 -0600
haswell boards: support added chromeos function
The get_write_protect_state() function was added to the
chromeos API that needs to be supported by the boards.
Implement this support.
Built and booted. Noted firmware select worked on an image with
RW firmware support. Also checked that recovery mode worked as
well by choosing the RO path.
Change-Id: Ifd213be25304163fc61d153feac4f5a875a40902
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/mainboard/intel/baskingridge/chromeos.c | 5 +++++
src/mainboard/intel/wtm1/chromeos.c | 6 ++++++
src/mainboard/intel/wtm2/chromeos.c | 6 ++++++
3 files changed, 17 insertions(+)
diff --git a/src/mainboard/intel/baskingridge/chromeos.c b/src/mainboard/intel/baskingridge/chromeos.c
index 6a1bc26..677f177 100644
--- a/src/mainboard/intel/baskingridge/chromeos.c
+++ b/src/mainboard/intel/baskingridge/chromeos.c
@@ -127,3 +127,8 @@ int get_recovery_mode_switch(void)
return (gp_lvl3 >> (69-64)) & 1;
}
+int get_write_protect_state(void)
+{
+ return 0;
+}
+
diff --git a/src/mainboard/intel/wtm1/chromeos.c b/src/mainboard/intel/wtm1/chromeos.c
index 1864754..c2386a8 100644
--- a/src/mainboard/intel/wtm1/chromeos.c
+++ b/src/mainboard/intel/wtm1/chromeos.c
@@ -75,3 +75,9 @@ int get_recovery_mode_switch(void)
{
return 0; // force off
}
+
+int get_write_protect_state(void)
+{
+ return 0;
+}
+
diff --git a/src/mainboard/intel/wtm2/chromeos.c b/src/mainboard/intel/wtm2/chromeos.c
index 1864754..c2386a8 100644
--- a/src/mainboard/intel/wtm2/chromeos.c
+++ b/src/mainboard/intel/wtm2/chromeos.c
@@ -75,3 +75,9 @@ int get_recovery_mode_switch(void)
{
return 0; // force off
}
+
+int get_write_protect_state(void)
+{
+ return 0;
+}
+
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2853
-gerrit
commit 289b2788f8f2056bc8d25b770fb5958c770cd604
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Fri Mar 1 17:10:28 2013 -0600
rmodule: add vboot rmodule type
For completeness add a vboot rmodule type since vboot will be
built as an rmodule.
Change-Id: I4b9b1e6f6077f811cafbb81effd4d082c91d4300
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/include/rmodule.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/include/rmodule.h b/src/include/rmodule.h
index f46a59d..62c0bf3 100644
--- a/src/include/rmodule.h
+++ b/src/include/rmodule.h
@@ -29,6 +29,7 @@ enum {
RMODULE_TYPE_SMM,
RMODULE_TYPE_SIPI_VECTOR,
RMODULE_TYPE_STAGE,
+ RMODULE_TYPE_VBOOT,
};
struct rmodule;
the following patch was just integrated into master:
commit eb06a4259b48128faed94b4ca3f8c64d3cd5a4c3
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Wed Mar 20 13:49:27 2013 -0500
x86: don't clear bss in ramstage entry
The cbfs stage loading routine already zeros out the full
memory region that a stage will be loaded. Therefore, it is
unnecessary to to clear the bss again after once ramstage starts.
Change-Id: Icc7021329dbf59bef948a41606f56746f21b507f
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
Reviewed-on: http://review.coreboot.org/2865
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick(a)georgi-clan.de>
Reviewed-by: Ronald G. Minnich <rminnich(a)gmail.com>
Reviewed-By: Patrick Georgi <patrick(a)georgi-clan.de> at Wed Mar 20 20:31:37 2013, giving +1
Build-Tested: build bot (Jenkins) at Wed Mar 20 20:11:42 2013, giving +1
Reviewed-By: Ronald G. Minnich <rminnich(a)gmail.com> at Wed Mar 20 21:48:31 2013, giving +2
See http://review.coreboot.org/2865 for details.
-gerrit
Aaron Durbin (adurbin(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2865
-gerrit
commit 504fb0ae5384f1b38a95b0bf4aae2cc393a36435
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Wed Mar 20 13:49:27 2013 -0500
x86: don't clear bss in ramstage entry
The cbfs stage loading routine already zeros out the full
memory region that a stage will be loaded. Therefore, it is
unnecessary to to clear the bss again after once ramstage starts.
Change-Id: Icc7021329dbf59bef948a41606f56746f21b507f
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/arch/x86/lib/c_start.S | 11 -----------
src/lib/cbfs.c | 1 +
2 files changed, 1 insertion(+), 11 deletions(-)
diff --git a/src/arch/x86/lib/c_start.S b/src/arch/x86/lib/c_start.S
index 295283b..35bc26b 100644
--- a/src/arch/x86/lib/c_start.S
+++ b/src/arch/x86/lib/c_start.S
@@ -29,17 +29,6 @@ _start:
cld
- /** clear bss, which unlike the stack is zero by definition */
- leal _bss, %edi
- movl $_ebss, %ecx
- subl %edi, %ecx
- jz .Lnobss
- shrl $2, %ecx /* it is 32 bit aligned, right? */
- xorl %eax, %eax
- rep
- stosl
-.Lnobss:
-
/** poison the stack. Code should not count on the
* stack being full of zeros. This stack poisoning
* recently uncovered a bug in the broadcast SIPI
diff --git a/src/lib/cbfs.c b/src/lib/cbfs.c
index abb95ab..c56f550 100644
--- a/src/lib/cbfs.c
+++ b/src/lib/cbfs.c
@@ -129,6 +129,7 @@ void * cbfs_load_stage(struct cbfs_media *media, const char *name)
name,
(uint32_t) stage->load, stage->memlen,
stage->entry);
+ /* Stages rely the below clearing so that the bss is initialized. */
memset((void *) (uint32_t) stage->load, 0, stage->memlen);
if (cbfs_decompress(stage->compression,