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));
 }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to