[coreboot-gerrit] Patch set updated for coreboot: ectool: Support OpenBSD

Steven Dee (i@wholezero.org) gerrit at coreboot.org
Thu Feb 2 00:36:43 CET 2017


Steven Dee (i at wholezero.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18260

-gerrit

commit 85150875b4080a0b387aad7b84ae8763cfb93106
Author: Steven Dee <i at wholezero.org>
Date:   Sun Jan 29 14:52:56 2017 -0500

    ectool: Support OpenBSD
    
    Adds checks for OpenBSD in all the places that were already checking for
    NetBSD. This fixes e.g.:
    
        ec.c:21:20: error: sys/io.h: No such file or directory
    
    which was caused by defaulting to Linux.
    
    Also, OpenBSD calls its amd64 iopl amd64_iopl instead of x86_64_iopl.
    This change just defines iopl appropriately depending on the
    OS and architecture.
    
    TEST=Build on OpenBSD 6.0 or -current from 2017-01-25.
    
    Change-Id: If6d92a9850c15cd9f8e287cc4f963d3ff881f72c
    Signed-off-by: Steven Dee <i at wholezero.org>
---
 util/ectool/Makefile |  2 +-
 util/ectool/ec.c     |  4 ++--
 util/ectool/ectool.c | 22 ++++++++++++----------
 3 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/util/ectool/Makefile b/util/ectool/Makefile
index 8aa1415..234e931 100644
--- a/util/ectool/Makefile
+++ b/util/ectool/Makefile
@@ -25,7 +25,7 @@ ifeq ($(shell uname -o 2>/dev/null), Cygwin)
 LDFLAGS = -lioperm
 endif
 
-ifeq ($(OS_ARCH), NetBSD)
+ifeq ($(OS_ARCH), $(filter $(OS_ARCH), NetBSD OpenBSD))
 LDFLAGS = -l$(shell uname -p)
 endif
 
diff --git a/util/ectool/ec.c b/util/ectool/ec.c
index 098e812..08b6b1b 100644
--- a/util/ectool/ec.c
+++ b/util/ectool/ec.c
@@ -17,12 +17,12 @@
 #include <stdint.h>
 #include <stdlib.h>
 #include <unistd.h>
-#ifndef __NetBSD__
+#if !(defined __NetBSD__ || defined __OpenBSD__)
 #include <sys/io.h>
 #endif
 #include "ec.h"
 
-#ifdef __NetBSD__
+#if defined __NetBSD__ || defined __OpenBSD__
 #include <machine/sysarch.h>
 static uint8_t inb(unsigned port)
 {
diff --git a/util/ectool/ectool.c b/util/ectool/ectool.c
index 50ac30b..6d9668d 100644
--- a/util/ectool/ectool.c
+++ b/util/ectool/ectool.c
@@ -18,14 +18,24 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <getopt.h>
-#ifndef __NetBSD__
+#if !(defined __NetBSD__ || defined __OpenBSD__)
 #include <sys/io.h>
 #endif
 #include <ec.h>
 #include <stdlib.h>
 
-#ifdef __NetBSD__
+#if defined __NetBSD__ || defined __OpenBSD__
+
 #include <machine/sysarch.h>
+
+# if defined __i386__
+#  define iopl i386_iopl
+# elif defined __NetBSD__
+#  define iopl x86_64_iopl
+# else
+#  define iopl amd64_iopl
+# endif
+
 #endif
 
 
@@ -113,15 +123,7 @@ int main(int argc, char *argv[])
 		}
 	}
 
-#ifdef __NetBSD__
-# ifdef __i386__
-	if (i386_iopl(3)) {
-# else
-	if (x86_64_iopl(3)) {
-# endif
-#else
 	if (iopl(3)) {
-#endif
 		printf("You need to be root.\n");
 		exit(1);
 	}



More information about the coreboot-gerrit mailing list