[coreboot] port nvramtool to FreeBSD
Uwe Hermann
uwe at hermann-uwe.de
Thu Oct 30 16:46:19 CET 2008
On Wed, Oct 29, 2008 at 03:14:46PM +0200, Andriy Gapon wrote:
>
> Allow nvramtool to build and work on FreeBSD.
>
> Signed-off-by: Andriy Gapon <avg at icyb.net.ua>
Thanks, r3709, with some changes though.
The patch you posted was breaking the build on Linux for me.
> Index: cmos_lowlevel.c
> ===================================================================
> --- cmos_lowlevel.c (revision 3704)
> +++ cmos_lowlevel.c (working copy)
> @@ -28,7 +28,15 @@
> * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
> \*****************************************************************************/
>
> +#if defined(__GLIBC__)
> #include <sys/io.h>
> +#endif
This seemed to cause trouble here, I fixed it by putting <sys/io.h>
into the '#else' part of the 'defined(__FreeBSD__)' code in common.h.
This builds fine for me now, but please check that it also still works
on FreeBSD, just in case.
> Index: common.h
> ===================================================================
> --- common.h (revision 3704)
> +++ common.h (working copy)
> @@ -43,6 +43,25 @@
> #include <string.h>
> #include <ctype.h>
>
> +#if defined(__FreeBSD__)
> +#include <sys/types.h>
> +#include <machine/cpufunc.h>
> +#define OUTB(x, y) do { u_int tmp = (y); outb(tmp, (x)); } while (0)
> +#define OUTW(x, y) do { u_int tmp = (y); outw(tmp, (x)); } while (0)
> +#define OUTL(x, y) do { u_int tmp = (y); outl(tmp, (x)); } while (0)
> +#define INB(x) __extension__ ({ u_int tmp = (x); inb(tmp); })
> +#define INW(x) __extension__ ({ u_int tmp = (x); inw(tmp); })
> +#define INL(x) __extension__ ({ u_int tmp = (x); inl(tmp); })
> +#else
> +#define OUTB OUTB
^^^^
outb
> +#define OUTW outw
> +#define OUTL outl
> +#define INB INB
^^^
inb
> +#define INW inw
> +#define INL inl
> +#endif
> +
> +
> #define FALSE 0
> #define TRUE 1
Uwe.
--
http://www.hermann-uwe.de | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
More information about the coreboot
mailing list