mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-26 22:52:34 +02:00
Support Debian/kFreeBSD
Corresponding to flashrom svn r1507. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Tested-by: Robert Millan <rmh@debian.org> Tested-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
This commit is contained in:
parent
2d2512453b
commit
a5eecdab44
@ -40,7 +40,7 @@ static inline void sync_primitive(void)
|
||||
{
|
||||
}
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
|
||||
int io_fd;
|
||||
#endif
|
||||
|
||||
@ -52,7 +52,7 @@ void get_io_perms(void)
|
||||
#else
|
||||
#if defined (__sun) && (defined(__i386) || defined(__amd64))
|
||||
if (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) != 0) {
|
||||
#elif defined(__FreeBSD__) || defined (__DragonFly__)
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined (__DragonFly__)
|
||||
if ((io_fd = open("/dev/io", O_RDWR)) < 0) {
|
||||
#else
|
||||
if (iopl(3) != 0) {
|
||||
@ -71,7 +71,7 @@ void get_io_perms(void)
|
||||
|
||||
void release_io_perms(void)
|
||||
{
|
||||
#if defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
|
||||
close(io_fd);
|
||||
#endif
|
||||
}
|
||||
|
10
hwaccess.h
10
hwaccess.h
@ -189,6 +189,10 @@ cpu_to_be(64)
|
||||
*/
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
/* Note that Debian/kFreeBSD (FreeBSD kernel with glibc) has conflicting
|
||||
* out[bwl] definitions in machine/cpufunc.h and sys/io.h at least in some
|
||||
* versions. Use machine/cpufunc.h only for plain FreeBSD/DragonFlyBSD.
|
||||
*/
|
||||
#include <machine/cpufunc.h>
|
||||
#define off64_t off_t
|
||||
#define lseek64 lseek
|
||||
@ -228,7 +232,7 @@ cpu_to_be(64)
|
||||
#define INL inportl
|
||||
|
||||
#else
|
||||
|
||||
/* This is the usual glibc interface. */
|
||||
#define OUTB outb
|
||||
#define OUTW outw
|
||||
#define OUTL outl
|
||||
@ -299,12 +303,12 @@ static inline uint32_t inl(uint16_t port)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if !defined(__DARWIN__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__LIBPAYLOAD__)
|
||||
#if !defined(__DARWIN__) && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && !defined(__DragonFly__) && !defined(__LIBPAYLOAD__)
|
||||
typedef struct { uint32_t hi, lo; } msr_t;
|
||||
msr_t rdmsr(int addr);
|
||||
int wrmsr(int addr, msr_t msr);
|
||||
#endif
|
||||
#if defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
|
||||
/* FreeBSD already has conflicting definitions for wrmsr/rdmsr. */
|
||||
#undef rdmsr
|
||||
#undef wrmsr
|
||||
|
3
os.h
3
os.h
@ -30,6 +30,9 @@
|
||||
// FreeBSD
|
||||
#elif defined(__FreeBSD__)
|
||||
#define __FLASHROM_OS__ "FreeBSD"
|
||||
// FreeBSD with glibc-based userspace (e.g. Debian/kFreeBSD)
|
||||
#elif defined(__FreeBSD_kernel__) && defined(__GLIBC__)
|
||||
#define __FLASHROM_OS__ "FreeBSD-glibc"
|
||||
// DragonFlyBSD
|
||||
#elif defined(__DragonFly__)
|
||||
#define __FLASHROM_OS__ "DragonFlyBSD"
|
||||
|
Loading…
x
Reference in New Issue
Block a user