nvramtool: Add dummy cmos-hw-unix accessor implementation for non-x86

The default implementation uses inb/outb, that is not available on ARM
platforms and others. A dummy implementation allows building nvramtool
on these platforms.

Change-Id: I75e4a1a0cbd35ca40f7b108658686839ccf9784a
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Reviewed-on: https://review.coreboot.org/22562
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
diff --git a/util/nvramtool/accessors/cmos-hw-unix.c b/util/nvramtool/accessors/cmos-hw-unix.c
index acefdf7..33d6994 100644
--- a/util/nvramtool/accessors/cmos-hw-unix.c
+++ b/util/nvramtool/accessors/cmos-hw-unix.c
@@ -11,7 +11,7 @@
 #define INW(x) __extension__ ({ u_int tmp = (x); inw(tmp); })
 #define INL(x) __extension__ ({ u_int tmp = (x); inl(tmp); })
 #else
-#if defined(__GLIBC__)
+#if defined(__GLIBC__) && (defined(__i386__) || defined(__x86_64__))
 #include <sys/io.h>
 #endif
 #if (defined(__MACH__) && defined(__APPLE__))
@@ -77,6 +77,8 @@
 static void cmos_hal_write(unsigned addr, unsigned char value);
 static void cmos_set_iopl(int level);
 
+#if defined(__i386__) || defined(__x86_64__)
+
 /* no need to initialize anything */
 static void cmos_hal_init(__attribute__((unused)) void *data)
 {
@@ -160,6 +162,32 @@
 #endif
 }
 
+#else
+
+/* no need to initialize anything */
+static void cmos_hal_init(__attribute__((unused)) void *data)
+{
+	return;
+}
+
+static unsigned char cmos_hal_read(__attribute__((unused)) unsigned index)
+{
+	return;
+}
+
+static void cmos_hal_write(__attribute__((unused)) unsigned index,
+			   __attribute__((unused)) unsigned char value)
+{
+	return;
+}
+
+static void cmos_set_iopl(__attribute__((unused)) int level)
+{
+	return;
+}
+
+#endif
+
 cmos_access_t cmos_hal = {
 	.init = cmos_hal_init,
 	.read = cmos_hal_read,