the following patch was just integrated into master:
commit 2458f42b27e6525f4131899ef36f21d0f7dace1a
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Tue Apr 22 16:46:31 2014 +0300
AMD: Add common header file for CAR setup
Change-Id: I24b2cbd671ac3a463562d284f06258140a019a37
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Reviewed-on: http://review.coreboot.org/4683
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich(a)gmail.com>
See http://review.coreboot.org/4683 for details.
-gerrit
Ronald G. Minnich (rminnich(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5388
-gerrit
commit 762d3e055bd8099f1f9de98499fb2ed39c93a290
Author: Paul Menzel <paulepanter(a)users.sourceforge.net>
Date: Sun Mar 16 00:15:57 2014 +0100
util/cbfstool: Use `%zu` instead of `%ld` for size_t arguments
cbfstool fails to built under 32-bit platforms since commit
aa2f739a cbfs: fix issues with word size and endianness.
due to the use of '%ld' format specifier on size_t, which on these
platforms is only 32-bit.
Use the length modifier `z` for size_t arguments, and cast to size_t where appropriate.
Change-Id: Id84a20fbf237376a31f7e4816bd139463800c977
Signed-off-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
---
util/cbfstool/cbfs-mkstage.c | 4 ++--
util/cbfstool/elfheaders.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/util/cbfstool/cbfs-mkstage.c b/util/cbfstool/cbfs-mkstage.c
index 6aa3746..2a92c9f 100644
--- a/util/cbfstool/cbfs-mkstage.c
+++ b/util/cbfstool/cbfs-mkstage.c
@@ -132,8 +132,8 @@ int parse_elf_to_stage(const struct buffer *input, struct buffer *output,
continue;
if (input->size < (phdr[i].p_offset + phdr[i].p_filesz)){
ERROR("Underflow copying out the segment."
- "File has %ld bytes left, segment end is %ld\n",
- input->size, phdr[i].p_offset + phdr[i].p_filesz);
+ "File has %zu bytes left, segment end is %zu\n",
+ input->size, (size_t)(phdr[i].p_offset + phdr[i].p_filesz));
return -1;
}
memcpy(buffer + (l_start - data_start),
diff --git a/util/cbfstool/elfheaders.c b/util/cbfstool/elfheaders.c
index d217aac..5b5cf94 100644
--- a/util/cbfstool/elfheaders.c
+++ b/util/cbfstool/elfheaders.c
@@ -147,7 +147,7 @@ check_size(const struct buffer *b, size_t offset, size_t size, const char *desc)
if (offset >= buffer_size(b) || (offset + size) > buffer_size(b)) {
ERROR("The file is not large enough for the '%s'. "
- "%ld bytes @ offset %zu, input %zu bytes.\n",
+ "%zu bytes @ offset %zu, input %zu bytes.\n",
desc, size, offset, buffer_size(b));
return -1;
}
Andrew Wu (arw(a)dmp.com.tw) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5598
-gerrit
commit 9615fd295c53143093ffd2277ff11fa4b7bed891
Author: Andrew Wu <arw(a)dmp.com.tw>
Date: Mon Apr 28 18:13:44 2014 +0800
crossgcc: Support OSX 10.9 built-in tar utility program.
Unlike OSX 10.8, OSX 10.9 doesn't provide GNU tar program, and built-in
tar program is bsdtar 2.8.3. bsdtar can build crossgcc toolchain.
Modify buildgcc to support tar in OSX 10.9 (uname = Darwin).
Change-Id: I093898f8f99e29918387f9b275a30af461a7e1be
Signed-off-by: Andrew Wu <arw(a)dmp.com.tw>
---
util/crossgcc/buildgcc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index c6d7183..5aa98d5 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -105,8 +105,9 @@ searchgnu()
fi
fi
done
- # A workaround for XxxBSD, whose nongnu patch and tar also work.
- if [ $UNAME = "FreeBSD" -o $UNAME = "NetBSD" ]; then
+ # A workaround for OSX 10.9 and some BSDs, whose nongnu
+ # patch and tar also work.
+ if [ $UNAME = "Darwin" -o $UNAME = "FreeBSD" -o $UNAME = "NetBSD" ]; then
if [ $1 != "make" ]; then
if test -x "`which $1 2>/dev/null`"; then
echo $1
Andrew Wu (arw(a)dmp.com.tw) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5598
-gerrit
commit 8d9c5c3f88ba322691b47805261060dec4713275
Author: Andrew Wu <arw(a)dmp.com.tw>
Date: Mon Apr 28 18:13:44 2014 +0800
crossgcc: Support OSX 10.9 built-in tar utility program.
Unlike OSX 10.8, OSX 10.9 doesn't provide GNU tar program, and built-in
tar program is bsdtar 2.8.3. bsdtar can building crossgcc toolchain.
Modify buildgcc to support tar in OSX 10.9 (uname = Darwin).
Change-Id: I093898f8f99e29918387f9b275a30af461a7e1be
Signed-off-by: Andrew Wu <arw(a)dmp.com.tw>
---
util/crossgcc/buildgcc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index c6d7183..5aa98d5 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -105,8 +105,9 @@ searchgnu()
fi
fi
done
- # A workaround for XxxBSD, whose nongnu patch and tar also work.
- if [ $UNAME = "FreeBSD" -o $UNAME = "NetBSD" ]; then
+ # A workaround for OSX 10.9 and some BSDs, whose nongnu
+ # patch and tar also work.
+ if [ $UNAME = "Darwin" -o $UNAME = "FreeBSD" -o $UNAME = "NetBSD" ]; then
if [ $1 != "make" ]; then
if test -x "`which $1 2>/dev/null`"; then
echo $1
Andrew Wu (arw(a)dmp.com.tw) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5598
-gerrit
commit 302665be8d4627e3f164a6bfb11e9a7a84d4eb6b
Author: Andrew Wu <arw(a)dmp.com.tw>
Date: Mon Apr 28 18:13:44 2014 +0800
crossgcc: Support OSX 10.9 built-in tar utility program.
Unlike OSX 10.8, OSX 10.9 doesn't provide GNU tar program, and built-in
tar program is bsdtar 2.8.3. bsdtar can building crossgcc toolchain.
Modify buildgcc to support tar in OSX 10.9 (uname = Darwin).
Change-Id: I093898f8f99e29918387f9b275a30af461a7e1be
Signed-off-by: Andrew Wu <arw(a)dmp.com.tw>
---
util/crossgcc/buildgcc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index c6d7183..1ffbfa2 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -106,7 +106,7 @@ searchgnu()
fi
done
# A workaround for XxxBSD, whose nongnu patch and tar also work.
- if [ $UNAME = "FreeBSD" -o $UNAME = "NetBSD" ]; then
+ if [ $UNAME = "FreeBSD" -o $UNAME = "NetBSD" -o $UNAME = "Darwin" ]; then
if [ $1 != "make" ]; then
if test -x "`which $1 2>/dev/null`"; then
echo $1
Edward O'Callaghan (eocallaghan(a)alterapraxis.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5587
-gerrit
commit a516948e4db4e24574ad72564857040bdb9ba612
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Sun Apr 27 22:41:31 2014 +1000
superio/winbond/*: Provide common romstage component
Following the reasoning of:
cf7b498 superio/fintek/*: Factor out generic romstage component
Change-Id: I3e889c0305c012e7556a5dd348e7f1e1ba629a9d
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
---
src/superio/winbond/Kconfig | 21 +++++++++
src/superio/winbond/Makefile.inc | 3 ++
src/superio/winbond/common/early_serial.c | 72 +++++++++++++++++++++++++++++++
src/superio/winbond/common/winbond.h | 29 +++++++++++++
4 files changed, 125 insertions(+)
diff --git a/src/superio/winbond/Kconfig b/src/superio/winbond/Kconfig
index 364b57c..1a0e6a8 100644
--- a/src/superio/winbond/Kconfig
+++ b/src/superio/winbond/Kconfig
@@ -2,6 +2,7 @@
## This file is part of the coreboot project.
##
## Copyright (C) 2009 Ronald G. Minnich
+## Copyright (C) 2014 Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -17,19 +18,39 @@
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##
+# Generic Winbond romstage driver - Just enough UART initialisation code for
+# romstage.
+config SUPERIO_WINBOND_COMMON_ROMSTAGE
+ bool
+
config SUPERIO_WINBOND_W83627DHG
bool
+ select SUPERIO_WINBOND_COMMON_ROMSTAGE
+
config SUPERIO_WINBOND_W83627EHG
bool
+ select SUPERIO_WINBOND_COMMON_ROMSTAGE
+
config SUPERIO_WINBOND_W83627HF
bool
+ select SUPERIO_WINBOND_COMMON_ROMSTAGE
+
config SUPERIO_WINBOND_W83627THG
bool
+ select SUPERIO_WINBOND_COMMON_ROMSTAGE
+
config SUPERIO_WINBOND_W83627UHG
bool
+ select SUPERIO_WINBOND_COMMON_ROMSTAGE
+
config SUPERIO_WINBOND_W83697HF
bool
+ select SUPERIO_WINBOND_COMMON_ROMSTAGE
+
config SUPERIO_WINBOND_W83977F
bool
+ select SUPERIO_WINBOND_COMMON_ROMSTAGE
+
config SUPERIO_WINBOND_W83977TF
bool
+ select SUPERIO_WINBOND_COMMON_ROMSTAGE
diff --git a/src/superio/winbond/Makefile.inc b/src/superio/winbond/Makefile.inc
index 9701baf..6d14f33 100644
--- a/src/superio/winbond/Makefile.inc
+++ b/src/superio/winbond/Makefile.inc
@@ -17,6 +17,9 @@
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##
+## include generic winbond pre-ram stage driver
+romstage-$(CONFIG_SUPERIO_WINBOND_COMMON_ROMSTAGE) += common/early_serial.c
+
subdirs-y += w83627dhg
subdirs-y += w83627ehg
subdirs-y += w83627hf
diff --git a/src/superio/winbond/common/early_serial.c b/src/superio/winbond/common/early_serial.c
new file mode 100644
index 0000000..747cc45
--- /dev/null
+++ b/src/superio/winbond/common/early_serial.c
@@ -0,0 +1,72 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/*
+ * A generic romstage (pre-ram) driver for Winbond variant Super I/O chips.
+ *
+ * The following is derived directly from the vendor Winbond's data-sheets:
+ *
+ * To toggle between `configuration mode` and `normal operation mode` as to
+ * manipulation the various LDN's in Winbond Super I/O's we are required to
+ * pass magic numbers `passwords keys`.
+ *
+ * WINBOUND_ENTRY_KEY := enable configuration : 0x87
+ * WINBOUND_EXIT_KEY := disable configuration : 0xAA
+ *
+ * To modify a LDN's configuration register, we use the index port to select
+ * the index of the LDN and then write to the data port to alter the
+ * parameters. A default index, data port pair is 0x4E, 0x4F respectively, a
+ * user modified pair is 0x2E, 0x2F respectively.
+ *
+ */
+
+#include <arch/io.h>
+#include <device/pnp.h>
+#include <stdint.h>
+#include "winbond.h"
+
+#define WINBOND_ENTRY_KEY 0x87
+#define WINBOND_EXIT_KEY 0xAA
+
+/* Enable configuration: pass entry key '0x87' into index port dev. */
+static void pnp_enter_conf_state(device_t dev)
+{
+ u16 port = dev >> 8;
+ outb(WINBOND_ENTRY_KEY, port);
+ outb(WINBOND_ENTRY_KEY, port);
+}
+
+/* Disable configuration: pass exit key '0xAA' into index port dev. */
+static void pnp_exit_conf_state(device_t dev)
+{
+ u16 port = dev >> 8;
+ outb(WINBOND_EXIT_KEY, port);
+}
+
+/* Bring up early serial debugging output before the RAM is initialized. */
+void winbond_enable_serial(device_t dev, u16 iobase)
+{
+ pnp_enter_conf_state(dev);
+ pnp_set_logical_device(dev);
+ pnp_set_enable(dev, 0);
+ pnp_set_iobase(dev, PNP_IDX_IO0, iobase);
+ pnp_set_enable(dev, 1);
+ pnp_exit_conf_state(dev);
+}
diff --git a/src/superio/winbond/common/winbond.h b/src/superio/winbond/common/winbond.h
new file mode 100644
index 0000000..20eefc8
--- /dev/null
+++ b/src/superio/winbond/common/winbond.h
@@ -0,0 +1,29 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef SUPERIO_WINBOND_COMMON_ROMSTAGE_H
+#define SUPERIO_WINBOND_COMMON_ROMSTAGE_H
+
+#include <arch/io.h>
+#include <stdint.h>
+
+void winbond_enable_serial(device_t dev, u16 iobase);
+
+#endif /* SUPERIO_WINBOND_COMMON_ROMSTAGE_H */
Edward O'Callaghan (eocallaghan(a)alterapraxis.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5591
-gerrit
commit 4687ca1f6108643295a30b8c742464c425104e75
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Mon Apr 28 02:07:32 2014 +1000
mainboard/asrock/e350m1: Avoid including early_serial.c
Use generic winbond romstage serial init symbols instead of model
specific implementation. We do this on a case by case basis as some
boards are ROMCC and so need to #include .c files. This is a step to
migrate non-romcc boards to a more generic superio framework.
Change-Id: I56f6d9ec77cd21a612cbbdb48634543f34a2e72c
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
---
src/mainboard/asrock/e350m1/romstage.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/mainboard/asrock/e350m1/romstage.c b/src/mainboard/asrock/e350m1/romstage.c
index bf850a3..7bf5359 100644
--- a/src/mainboard/asrock/e350m1/romstage.c
+++ b/src/mainboard/asrock/e350m1/romstage.c
@@ -31,7 +31,8 @@
#include <cpu/x86/mtrr.h>
#include "agesawrapper.h"
#include "cpu/x86/bist.h"
-#include "superio/winbond/w83627hf/early_serial.c"
+#include <superio/winbond/common/winbond.h>
+#include <superio/winbond/w83627hf/w83627hf.h>
#include "cpu/x86/lapic.h"
#include "drivers/pc80/i8254.c"
#include "drivers/pc80/i8259.c"
@@ -61,7 +62,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
sb_Poweron_Init();
post_code(0x31);
- w83627hf_enable_serial(SERIAL_DEV, CONFIG_TTYS0_BASE);
+ winbond_enable_serial(SERIAL_DEV, CONFIG_TTYS0_BASE);
console_init();
}
Paul Menzel (paulepanter(a)users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5093
-gerrit
commit 1728a75e7bdf63d0f7890dbc7aed0fb2b8c8a0b5
Author: Paul Menzel <paulepanter(a)users.sourceforge.net>
Date: Sun Feb 2 11:23:26 2014 +0100
payloads/external/SeaBIOS: Upgrade stable from 1.7.2.1 to 1.7.4
SeaBIOS 1.7.4 was released in December 2013 [1] and, besides other
things, supports writing debug messages to CBMEM console.
The new SeaBIOS Kconfig option `DEBUG_COREBOOT` has to be added to the
SeaBIOS configuration file `.config` as otherwise the SeaBIOS build
from within coreboot (`PAYLOAD_SEABIOS`) is interrupted as it is
detected as a new option.
This option was already added and enabled in commit 7c1a49bc [1]
SeaBIOS: have coreboot pass the choice to run optionroms in parallel
so SeaBIOS messages are now written to the CBMEM console.
Successfully tested on the Asus M2V-MX SE.
[1] http://seabios.org/Releases
[2] http://review.coreboot.org/5443
Change-Id: I675a50532735b4921a664e4b24d98be17b9a1002
Signed-off-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
---
payloads/external/SeaBIOS/Makefile.inc | 2 +-
src/Kconfig | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/payloads/external/SeaBIOS/Makefile.inc b/payloads/external/SeaBIOS/Makefile.inc
index 84f1515..23b064c 100644
--- a/payloads/external/SeaBIOS/Makefile.inc
+++ b/payloads/external/SeaBIOS/Makefile.inc
@@ -1,5 +1,5 @@
TAG-$(CONFIG_SEABIOS_MASTER)=origin/master
-TAG-$(CONFIG_SEABIOS_STABLE)=88cb66ea542906ffff8a80ef397b9e3adbb33116
+TAG-$(CONFIG_SEABIOS_STABLE)=96917a8ed761f017fc8c72ba3b9181fbac03ac59
unexport KCONFIG_AUTOCONFIG
diff --git a/src/Kconfig b/src/Kconfig
index 31a41ab..291b166 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -617,7 +617,7 @@ choice
depends on PAYLOAD_SEABIOS
config SEABIOS_STABLE
- bool "1.7.2.1"
+ bool "1.7.4"
help
Stable SeaBIOS version
config SEABIOS_MASTER