svn commit: r232751 - head/sys/kern
Juli Mallett
jmallett at FreeBSD.org
Fri Mar 9 22:30:55 UTC 2012
Author: jmallett
Date: Fri Mar 9 22:30:54 2012
New Revision: 232751
URL: http://svn.freebsd.org/changeset/base/232751
Log:
Export intrcnt correctly when running under 32-bit compatibility.
Reviewed by: gonzo, nwhitehorn
Modified:
head/sys/kern/kern_intr.c
Modified: head/sys/kern/kern_intr.c
==============================================================================
--- head/sys/kern/kern_intr.c Fri Mar 9 21:31:12 2012 (r232750)
+++ head/sys/kern/kern_intr.c Fri Mar 9 22:30:54 2012 (r232751)
@@ -1881,6 +1881,24 @@ SYSCTL_PROC(_hw, OID_AUTO, intrnames, CT
static int
sysctl_intrcnt(SYSCTL_HANDLER_ARGS)
{
+#ifdef SCTL_MASK32
+ uint32_t *intrcnt32;
+ unsigned i;
+ int error;
+
+ if (req->flags & SCTL_MASK32) {
+ if (!req->oldptr)
+ return (sysctl_handle_opaque(oidp, NULL, sintrcnt / 2, req));
+ intrcnt32 = malloc(sintrcnt / 2, M_TEMP, M_NOWAIT);
+ if (intrcnt32 == NULL)
+ return (ENOMEM);
+ for (i = 0; i < sintrcnt / sizeof (u_long); i++)
+ intrcnt32[i] = intrcnt[i];
+ error = sysctl_handle_opaque(oidp, intrcnt32, sintrcnt / 2, req);
+ free(intrcnt32, M_TEMP);
+ return (error);
+ }
+#endif
return (sysctl_handle_opaque(oidp, intrcnt, sintrcnt, req));
}
More information about the svn-src-head
mailing list