diff options
author | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2009-05-01 16:34:32 +0000 |
---|---|---|
committer | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2009-05-01 16:34:32 +0000 |
commit | 9abf529387ad68171d76f7bb9a6e665a68d0e891 (patch) | |
tree | cce78e1aac631f6f83a0eb155ead46f32878ac31 | |
parent | 261cafab863e5ac37c7a6f3df24a5db18eb31556 (diff) | |
download | flashrom-9abf529387ad68171d76f7bb9a6e665a68d0e891.tar.gz flashrom-9abf529387ad68171d76f7bb9a6e665a68d0e891.tar.bz2 flashrom-9abf529387ad68171d76f7bb9a6e665a68d0e891.zip |
Allow compilation on Solaris
Fix compilation on Solaris and tell people how to compile flashrom on
Solaris, Darwin/Mac OS X and DragonFly BSD.
Thanks to Joerg Schilling and Patrick Georgi for the Solaris part.
Corresponding to flashrom svn r452.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>
-rw-r--r-- | README | 11 | ||||
-rw-r--r-- | flash.h | 18 | ||||
-rw-r--r-- | flashrom.c | 7 |
3 files changed, 29 insertions, 7 deletions
@@ -21,6 +21,17 @@ To build the flashrom utility you need to install the following packages: * pciutils-devel / pciutils-dev / libpci-dev * zlib-devel / zlib1g-dev +To compile on Solaris, use the commands below: +gmake LDFLAGS="-L$pathtolibpci -lpci -lz" CC="gcc -I$pathtopciheaders" CFLAGS=-O2 + +To compile on DragonFly BSD, use the commands below: +ln -s /usr/pkg/include/pciutils pci +gmake CFLAGS=-I. LDFLAGS="-L/usr/pkg/lib -lpci -lz" + +To compile and run on Darwin/Mac OS X: +Install DirectIO from coresystems GmbH. +DirectIO is available at http://www.coresystems.de/en/directio + Usage / Options --------------- @@ -30,6 +30,14 @@ #include <stdint.h> #include <stdio.h> +/* for iopl and outb under Solaris */ +#if defined (__sun) && (defined(__i386) || defined(__amd64)) +#include <strings.h> +#include <sys/sysi86.h> +#include <sys/psw.h> +#include <asm/sunddi.h> +#endif + #if (defined(__MACH__) && defined(__APPLE__)) #define __DARWIN__ #endif @@ -50,6 +58,15 @@ #define off64_t off_t #define lseek64 lseek #endif +#if defined (__sun) && (defined(__i386) || defined(__amd64)) + /* Note different order for outb */ + #define OUTB(x,y) outb(y, x) + #define OUTW(x,y) outw(y, x) + #define OUTL(x,y) outl(y, x) + #define INB inb + #define INW inw + #define INL inl +#else #define OUTB outb #define OUTW outw #define OUTL outl @@ -57,6 +74,7 @@ #define INW inw #define INL inl #endif +#endif static inline void chip_writeb(uint8_t b, volatile void *addr) { @@ -30,13 +30,6 @@ #include <stdlib.h> #include <getopt.h> #include <pci/pci.h> -/* for iopl */ -#if defined (__sun) && (defined(__i386) || defined(__amd64)) -#include <strings.h> -#include <sys/sysi86.h> -#include <sys/psw.h> -#include <asm/sunddi.h> -#endif #include "flash.h" char *chip_to_probe = NULL; |