From b1db7e4367e3e34140ee12447d7692019d33007a Mon Sep 17 00:00:00 2001 From: Thomas Heijligen Date: Thu, 17 Mar 2022 13:41:17 +0100 Subject: [PATCH] Endian conversion: move to platform.h and platform/endian*.c Starting to move the platform dependent code to platform/ and provide the abstraction through the platform.h header. Change-Id: I35640282d451960f2a329ae24339ec05dbae6d30 Signed-off-by: Thomas Heijligen Reviewed-on: https://review.coreboot.org/c/flashrom/+/62899 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber --- Makefile | 5 +++-- hwaccess_physmap.c | 2 +- meson.build | 4 ++-- hwaccess.h => platform.h | 8 ++++---- hwaccess_endian_big.c => platform/endian_big.c | 2 +- hwaccess_endian_little.c => platform/endian_little.c | 2 +- 6 files changed, 12 insertions(+), 11 deletions(-) rename hwaccess.h => platform.h (95%) rename hwaccess_endian_big.c => platform/endian_big.c (98%) rename hwaccess_endian_little.c => platform/endian_little.c (98%) diff --git a/Makefile b/Makefile index 0e6be2059..f94f04688 100644 --- a/Makefile +++ b/Makefile @@ -378,7 +378,7 @@ CHIP_OBJS = jedec.o stm50.o w39.o w29ee011.o \ # Library code. LIB_OBJS = libflashrom.o layout.o flashrom.o udelay.o programmer.o programmer_table.o \ - helpers.o ich_descriptors.o fmap.o hwaccess_endian_$(ENDIAN).o + helpers.o ich_descriptors.o fmap.o platform/endian_$(ENDIAN).o ############################################################################### @@ -977,7 +977,8 @@ strip: $(PROGRAM)$(EXEC_SUFFIX) # This includes all frontends and libflashrom. # We don't use EXEC_SUFFIX here because we want to clean everything. clean: - rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a $(filter-out Makefile.d, $(wildcard *.d *.o)) $(PROGRAM).8 $(PROGRAM).8.html $(BUILD_DETAILS_FILE) + rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a $(filter-out Makefile.d, $(wildcard *.d *.o platform/*.d platform/*.o)) \ + $(PROGRAM).8 $(PROGRAM).8.html $(BUILD_DETAILS_FILE) @+$(MAKE) -C util/ich_descriptors_tool/ clean install: $(PROGRAM)$(EXEC_SUFFIX) $(PROGRAM).8 diff --git a/hwaccess_physmap.c b/hwaccess_physmap.c index 7afe60d7d..2a2a2434a 100644 --- a/hwaccess_physmap.c +++ b/hwaccess_physmap.c @@ -24,7 +24,7 @@ #include #include #include "flash.h" -#include "hwaccess.h" +#include "platform.h" #include "hwaccess_physmap.h" #if !defined(__DJGPP__) && !defined(__LIBPAYLOAD__) diff --git a/meson.build b/meson.build index 0643b5fdb..c84c5ded9 100644 --- a/meson.build +++ b/meson.build @@ -136,11 +136,11 @@ if cc.check_header('sys/utsname.h') endif if host_machine.endian() == 'little' - srcs += 'hwaccess_endian_little.c' + srcs += 'platform/endian_little.c' add_project_arguments('-D__FLASHROM_LITTLE_ENDIAN__=1', language : 'c') endif if host_machine.endian() == 'big' - srcs += 'hwaccess_endian_big.c' + srcs += 'platform/endian_big.c' add_project_arguments('-D__FLASHROM_BIG_ENDIAN__=1', language : 'c') endif diff --git a/hwaccess.h b/platform.h similarity index 95% rename from hwaccess.h rename to platform.h index 72489f1c1..adb2e7335 100644 --- a/hwaccess.h +++ b/platform.h @@ -16,11 +16,11 @@ */ /* - * Header file for hardware access and OS abstraction. Included from flash.h. + * Header file for platform abstraction. */ -#ifndef __HWACCESS_H__ -#define __HWACCESS_H__ 1 +#ifndef __PLATFORM_H__ +#define __PLATFORM_H__ 1 #include @@ -100,4 +100,4 @@ uint16_t be_to_cpu16(const uint16_t value); uint32_t be_to_cpu32(const uint32_t value); uint64_t be_to_cpu64(const uint64_t value); -#endif /* !__HWACCESS_H__ */ +#endif /* !__PLATFORM_H__ */ diff --git a/hwaccess_endian_big.c b/platform/endian_big.c similarity index 98% rename from hwaccess_endian_big.c rename to platform/endian_big.c index 1f7b5a37d..5d65500dc 100644 --- a/hwaccess_endian_big.c +++ b/platform/endian_big.c @@ -15,7 +15,7 @@ * GNU General Public License for more details. */ -#include "hwaccess.h" +#include "../platform.h" /* convert cpu native endian to little endian */ ___return_swapped(cpu_to_le, 8) diff --git a/hwaccess_endian_little.c b/platform/endian_little.c similarity index 98% rename from hwaccess_endian_little.c rename to platform/endian_little.c index c0b493f26..b7c006818 100644 --- a/hwaccess_endian_little.c +++ b/platform/endian_little.c @@ -15,7 +15,7 @@ * GNU General Public License for more details. */ -#include "hwaccess.h" +#include "../platform.h" /* convert cpu native endian to little endian */ ___return_same(cpu_to_le, 8)