Make reading PCI registers work on big-endian platforms.
ok matthieu@
This commit is contained in:
parent
a6c76eaa1c
commit
74759e78c0
@ -1,10 +1,11 @@
|
||||
# $OpenBSD: Makefile,v 1.1.1.1 2006/03/25 21:53:35 matthieu Exp $
|
||||
# $OpenBSD: Makefile,v 1.2 2006/12/12 20:32:36 kettenis Exp $
|
||||
|
||||
NOT_FOR_ARCHS= sparc m68k m88k vax
|
||||
|
||||
COMMENT= "PCI bus configuration register access tools"
|
||||
|
||||
DISTNAME= pciutils-2.2.1
|
||||
PKGNAME= ${DISTNAME}p0
|
||||
CATEGORIES= sysutils
|
||||
|
||||
HOMEPAGE= http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml
|
||||
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-lib_obsd-device_c,v 1.1.1.1 2006/03/25 21:53:35 matthieu Exp $
|
||||
--- lib/obsd-device.c.orig Wed Mar 22 22:59:36 2006
|
||||
+++ lib/obsd-device.c Wed Mar 22 22:59:36 2006
|
||||
$OpenBSD: patch-lib_obsd-device_c,v 1.2 2006/12/12 20:32:37 kettenis Exp $
|
||||
--- lib/obsd-device.c.orig Wed Nov 22 20:07:11 2006
|
||||
+++ lib/obsd-device.c Tue Dec 12 12:03:49 2006
|
||||
@@ -0,0 +1,160 @@
|
||||
+/*
|
||||
+ * The PCI Library -- FreeBSD /dev/pci access
|
||||
@ -96,13 +96,13 @@ $OpenBSD: patch-lib_obsd-device_c,v 1.1.1.1 2006/03/25 21:53:35 matthieu Exp $
|
||||
+ switch (len)
|
||||
+ {
|
||||
+ case 1:
|
||||
+ buf[0] = (u8) u.u8[pos % 4];
|
||||
+ buf[0] = (u8) (pi.pi_data >> ((pos % 4) * 8));
|
||||
+ break;
|
||||
+ case 2:
|
||||
+ ((u16 *) buf)[0] = letoh16(u.u16[(pos % 4) / 2]);
|
||||
+ ((u16 *) buf)[0] = (u16) htole16(pi.pi_data >> ((pos % 4) * 8));
|
||||
+ break;
|
||||
+ case 4:
|
||||
+ ((u32 *) buf)[0] = (u32) letoh32(pi.pi_data);
|
||||
+ ((u32 *) buf)[0] = (u32) htole32(pi.pi_data);
|
||||
+ break;
|
||||
+ }
|
||||
+ return 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user