[flashrom] [commit] r1492 - trunk

repository service svn at flashrom.org
Mon Feb 13 01:35:35 CET 2012


Author: hailfinger
Date: Mon Feb 13 01:35:35 2012
New Revision: 1492
URL: http://flashrom.org/trac/flashrom/changeset/1492

Log:
Support compilation for the ARM architecture (little-endian only).

Note: The internal programmer will abort during processor check. This is
intentional.
The other hardware drivers (except those using port I/O) should work.

Signed-off-by: David Hendricks <dhendrix at google.com>
Acked-by: David Hendricks <dhendrix at google.com>
Tested-by: Timo Juhani Lindfors <timo.lindfors at iki.fi>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>

Modified:
   trunk/Makefile
   trunk/arch.h
   trunk/hwaccess.c
   trunk/hwaccess.h
   trunk/programmer.h

Modified: trunk/Makefile
==============================================================================
--- trunk/Makefile	Sun Feb 12 01:13:14 2012	(r1491)
+++ trunk/Makefile	Mon Feb 13 01:35:35 2012	(r1492)
@@ -215,8 +215,9 @@
 # below uses CC itself.
 override ARCH := $(strip $(shell LC_ALL=C $(CC) $(CPPFLAGS) -E arch.h 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"'))
 
-ifeq ($(ARCH), ppc)
-# There's no PCI port I/O support on PPC/PowerPC, yet.
+# PCI port I/O support is unimplemented on PPC/MIPS and unavailable on ARM.
+# Right now this means the drivers below only work on x86.
+ifneq ($(ARCH), x86)
 ifeq ($(CONFIG_NIC3COM), yes)
 UNSUPPORTED_FEATURES += CONFIG_NIC3COM=yes
 else

Modified: trunk/arch.h
==============================================================================
--- trunk/arch.h	Sun Feb 12 01:13:14 2012	(r1491)
+++ trunk/arch.h	Mon Feb 13 01:35:35 2012	(r1492)
@@ -27,5 +27,7 @@
 #define __FLASHROM_ARCH__ "mips"
 #elif defined(__powerpc__) || defined(__powerpc64__) || defined(__ppc__) || defined(__ppc64__)
 #define __FLASHROM_ARCH__ "ppc"
+#elif defined(__arm__)
+#define __FLASHROM_ARCH__ "arm"
 #endif
 __FLASHROM_ARCH__

Modified: trunk/hwaccess.c
==============================================================================
--- trunk/hwaccess.c	Sun Feb 12 01:13:14 2012	(r1491)
+++ trunk/hwaccess.c	Mon Feb 13 01:35:35 2012	(r1492)
@@ -116,6 +116,20 @@
 {
 }
 
+#elif defined (__arm__)
+
+static inline void sync_primitive(void)
+{
+}
+
+void get_io_perms(void)
+{
+}
+
+void release_io_perms(void)
+{
+}
+
 #else
 
 #error Unknown architecture

Modified: trunk/hwaccess.h
==============================================================================
--- trunk/hwaccess.h	Sun Feb 12 01:13:14 2012	(r1491)
+++ trunk/hwaccess.h	Mon Feb 13 01:35:35 2012	(r1492)
@@ -68,6 +68,13 @@
 #error Little-endian PowerPC #defines are unknown
 #endif
 
+#elif defined (__arm__)
+#if defined (__ARMEL__)
+#define __FLASHROM_LITTLE_ENDIAN__ 1
+#else
+#error Big-endian ARM #defines are unknown
+#endif
+
 #endif
 
 #if !defined (__FLASHROM_BIG_ENDIAN__) && !defined (__FLASHROM_LITTLE_ENDIAN__)
@@ -326,6 +333,10 @@
 
 /* PCI port I/O is not yet implemented on MIPS. */
 
+#elif defined(__arm__)
+
+/* Non memory mapped I/O is not supported on ARM. */
+
 #else
 
 #error Unknown architecture, please check if it supports PCI port IO.

Modified: trunk/programmer.h
==============================================================================
--- trunk/programmer.h	Sun Feb 12 01:13:14 2012	(r1491)
+++ trunk/programmer.h	Mon Feb 13 01:35:35 2012	(r1492)
@@ -527,6 +527,7 @@
 int register_spi_programmer(const struct spi_programmer *programmer);
 
 /* ichspi.c */
+#if CONFIG_INTERNAL == 1
 enum ich_chipset {
 	CHIPSET_ICH_UNKNOWN,
 	CHIPSET_ICH7 = 7,
@@ -538,7 +539,6 @@
 	CHIPSET_7_SERIES_PANTHER_POINT
 };
 
-#if CONFIG_INTERNAL == 1
 extern uint32_t ichspi_bbar;
 int ich_init_spi(struct pci_dev *dev, uint32_t base, void *rcrb,
 		 enum ich_chipset ich_generation);




More information about the flashrom mailing list