ectool: fix NetBSD compilation
Since NetBSD does not support uname -o, push check for CygWin inside separate non-failing condition in Makefile. Change-Id: Ibd264384f49b33412f0ef8554bd9c9fb8f60a892 Signed-off-by: Andrey Korolyov <andrey@xdel.ru> Reviewed-on: https://review.coreboot.org/12831 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
parent
ffc2260d74
commit
393d9322ba
|
@ -19,12 +19,16 @@ CFLAGS = -O2 -Wall -W
|
|||
PROGRAM = ectool
|
||||
INSTALL = /usr/bin/install
|
||||
PREFIX = /usr/local
|
||||
OS_ARCH = $(shell uname)
|
||||
|
||||
OS_ARCH = $(shell uname -o)
|
||||
ifeq ($(OS_ARCH), Cygwin)
|
||||
ifeq ($(shell uname -o 2>/dev/null), Cygwin)
|
||||
LDFLAGS = -lioperm
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH), NetBSD)
|
||||
LDFLAGS = -l$(shell uname -p)
|
||||
endif
|
||||
|
||||
all: $(PROGRAM)
|
||||
|
||||
$(PROGRAM): ec.o ectool.o
|
||||
|
|
|
@ -17,9 +17,25 @@
|
|||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#ifndef __NetBSD__
|
||||
#include <sys/io.h>
|
||||
#endif
|
||||
#include "ec.h"
|
||||
|
||||
#ifdef __NetBSD__
|
||||
#include <machine/sysarch.h>
|
||||
static uint8_t inb(unsigned port)
|
||||
{
|
||||
uint8_t data;
|
||||
__asm volatile("inb %w1,%0" : "=a" (data) : "d" (port));
|
||||
return data;
|
||||
}
|
||||
static __inline void outb(uint8_t data, unsigned port)
|
||||
{
|
||||
__asm volatile("outb %0,%w1" : : "a" (data), "d" (port));
|
||||
}
|
||||
#endif
|
||||
|
||||
extern int verbose;
|
||||
|
||||
#define debug(x...) if (verbose) printf(x)
|
||||
|
|
|
@ -18,10 +18,17 @@
|
|||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <getopt.h>
|
||||
#ifndef __NetBSD__
|
||||
#include <sys/io.h>
|
||||
#endif
|
||||
#include <ec.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef __NetBSD__
|
||||
#include <machine/sysarch.h>
|
||||
#endif
|
||||
|
||||
|
||||
#define ECTOOL_VERSION "0.1"
|
||||
|
||||
void print_version(void)
|
||||
|
@ -106,7 +113,15 @@ 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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue