summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <patrick@georgi-clan.de>2012-05-01 12:10:45 +0200
committerStefan Reinauer <stefan.reinauer@coreboot.org>2012-05-08 00:40:01 +0200
commit44a89b34f85492c48a19db1b9b2c2c44ab29c9ae (patch)
treeb422730c952355b658bcb4ec7af815700b1b904d
parentf8f00629e3b5e129a5962fed1b886034f45e844a (diff)
downloadcoreboot-44a89b34f85492c48a19db1b9b2c2c44ab29c9ae.tar.xz
Fix build with CMOS support on various platforms
When bringing in nvramtool as build_opt_tbl replacement, various platforms where left in the cold that don't provide direct IO support from userland (or at least not in a way we support). Build nvramtool without CMOS support when done as part of a coreboot build. We don't need to touch CMOS in this case. Change-Id: Icc88d1d32f10384867a5d44b065f9aa119bb0d50 Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Reviewed-on: http://review.coreboot.org/983 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones <marcj303@gmail.com>
-rw-r--r--util/nvramtool/Makefile2
-rw-r--r--util/nvramtool/Makefile.inc2
-rw-r--r--util/nvramtool/cmos_lowlevel.c9
3 files changed, 10 insertions, 3 deletions
diff --git a/util/nvramtool/Makefile b/util/nvramtool/Makefile
index 063bb1acd6..6723a487bf 100644
--- a/util/nvramtool/Makefile
+++ b/util/nvramtool/Makefile
@@ -24,7 +24,7 @@ CC = gcc
STRIP = strip
INSTALL = /usr/bin/install
PREFIX = /usr/local
-CFLAGS = -O2 -g -Wall -W -I.
+CFLAGS = -O2 -g -Wall -W -I. -DCMOS_HAL=1
#CFLAGS = -Os -Wall
CLI_OBJS = cli/nvramtool.o cli/opts.o
diff --git a/util/nvramtool/Makefile.inc b/util/nvramtool/Makefile.inc
index b356720e2d..0acda04340 100644
--- a/util/nvramtool/Makefile.inc
+++ b/util/nvramtool/Makefile.inc
@@ -37,7 +37,7 @@ nvramtoolobj :=
nvramtoolobj += cli/nvramtool.o cli/opts.o
nvramtoolobj += cmos_lowlevel.o cmos_ops.o common.o compute_ip_checksum.o
nvramtoolobj += hexdump.o input_file.o layout.o accessors/layout-common.o accessors/layout-text.o accessors/layout-bin.o lbtable.o
-nvramtoolobj += reg_expr.o cbfs.o accessors/cmos-hw-unix.o accessors/cmos-mem.o
+nvramtoolobj += reg_expr.o cbfs.o accessors/cmos-mem.o
$(objutil)/nvramtool $(objutil)/nvramtool/accessors $(objutil)/nvramtool/cli:
mkdir -p $@
diff --git a/util/nvramtool/cmos_lowlevel.c b/util/nvramtool/cmos_lowlevel.c
index 58494f9c58..55b1879ff0 100644
--- a/util/nvramtool/cmos_lowlevel.c
+++ b/util/nvramtool/cmos_lowlevel.c
@@ -39,14 +39,21 @@
/* Hardware Abstraction Layer: lowlevel byte-wise write access */
extern cmos_access_t cmos_hal, memory_hal;
-static cmos_access_t *current_access = &cmos_hal;
+static cmos_access_t *current_access =
+#ifdef CMOS_HAL
+ &cmos_hal;
+#else
+ &memory_hal;
+#endif
void select_hal(hal_t hal, void *data)
{
switch(hal) {
+#ifdef CMOS_HAL
case HAL_CMOS:
current_access = &cmos_hal;
break;
+#endif
case HAL_MEMORY:
current_access = &memory_hal;
break;