From 44a89b34f85492c48a19db1b9b2c2c44ab29c9ae Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Tue, 1 May 2012 12:10:45 +0200 Subject: [PATCH] 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 Reviewed-on: http://review.coreboot.org/983 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones --- util/nvramtool/Makefile | 2 +- util/nvramtool/Makefile.inc | 2 +- util/nvramtool/cmos_lowlevel.c | 9 ++++++++- 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;