diff options
Diffstat (limited to 'util/viatool/viatool.h')
-rw-r--r-- | util/viatool/viatool.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/util/viatool/viatool.h b/util/viatool/viatool.h index a0a5d79c94..3a6f04873d 100644 --- a/util/viatool/viatool.h +++ b/util/viatool/viatool.h @@ -28,13 +28,38 @@ #define __DARWIN__ #include <DirectHW/DirectHW.h> #endif +#ifdef __NetBSD__ +#include <pciutils/pci.h> +#else #include <pci/pci.h> +#endif /* This #include is needed for freebsd_{rd,wr}msr. */ #if defined(__FreeBSD__) #include <machine/cpufunc.h> #endif +#ifdef __NetBSD__ +static inline uint8_t inb(unsigned port) +{ + uint8_t data; + __asm volatile("inb %w1,%0" : "=a" (data) : "d" (port)); + return data; +} +static inline uint16_t inw(unsigned port) +{ + uint16_t data; + __asm volatile("inw %w1,%0": "=a" (data) : "d" (port)); + return data; +} +static inline uint32_t inl(unsigned port) +{ + uint32_t data; + __asm volatile("inl %w1,%0": "=a" (data) : "d" (port)); + return data; +} +#endif + #include <stdlib.h> #define VIATOOL_VERSION "1.0" |