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>
This commit is contained in:
parent
f8f00629e3
commit
44a89b34f8
|
@ -24,7 +24,7 @@ CC = gcc
|
||||||
STRIP = strip
|
STRIP = strip
|
||||||
INSTALL = /usr/bin/install
|
INSTALL = /usr/bin/install
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
CFLAGS = -O2 -g -Wall -W -I.
|
CFLAGS = -O2 -g -Wall -W -I. -DCMOS_HAL=1
|
||||||
#CFLAGS = -Os -Wall
|
#CFLAGS = -Os -Wall
|
||||||
|
|
||||||
CLI_OBJS = cli/nvramtool.o cli/opts.o
|
CLI_OBJS = cli/nvramtool.o cli/opts.o
|
||||||
|
|
|
@ -37,7 +37,7 @@ nvramtoolobj :=
|
||||||
nvramtoolobj += cli/nvramtool.o cli/opts.o
|
nvramtoolobj += cli/nvramtool.o cli/opts.o
|
||||||
nvramtoolobj += cmos_lowlevel.o cmos_ops.o common.o compute_ip_checksum.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 += 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:
|
$(objutil)/nvramtool $(objutil)/nvramtool/accessors $(objutil)/nvramtool/cli:
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
|
|
@ -39,14 +39,21 @@
|
||||||
/* Hardware Abstraction Layer: lowlevel byte-wise write access */
|
/* Hardware Abstraction Layer: lowlevel byte-wise write access */
|
||||||
|
|
||||||
extern cmos_access_t cmos_hal, memory_hal;
|
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)
|
void select_hal(hal_t hal, void *data)
|
||||||
{
|
{
|
||||||
switch(hal) {
|
switch(hal) {
|
||||||
|
#ifdef CMOS_HAL
|
||||||
case HAL_CMOS:
|
case HAL_CMOS:
|
||||||
current_access = &cmos_hal;
|
current_access = &cmos_hal;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
case HAL_MEMORY:
|
case HAL_MEMORY:
|
||||||
current_access = &memory_hal;
|
current_access = &memory_hal;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue