summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util/nvramtool/accessors/cmos-hw-unix.c30
1 files changed, 29 insertions, 1 deletions
diff --git a/util/nvramtool/accessors/cmos-hw-unix.c b/util/nvramtool/accessors/cmos-hw-unix.c
index acefdf7cea..33d699415f 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 unsigned char cmos_hal_read(unsigned addr);
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 @@ static void cmos_set_iopl(int level)
#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,