[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