Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Jun 2004 13:21:18 GMT
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 54633 for review
Message-ID:  <200406111321.i5BDLIRr031595@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=54633

Change 54633 by rwatson@rwatson_paprika on 2004/06/11 13:21:03

	Integrate netperf_socket to loop back changes merged to CVS:
	
	- Loop back of NET_{LOCK,UNLOCK}_GIANT() around if_output in BPF
	  from rwatson_netperf.
	- Loop back const raw_{send,recv}space from rwatson_netperf.
	- Loop back igmp_mtx from rwatson_netperf.
	- Loop back removal of Giant acquisition/comment about it in
	  divert_packet(). 
	
	Also:
	- COMPAT_SUNOS removed.

Affected files ...

.. //depot/projects/netperf_socket/sys/alpha/alpha/machdep.c#5 integrate
.. //depot/projects/netperf_socket/sys/amd64/amd64/machdep.c#7 integrate
.. //depot/projects/netperf_socket/sys/boot/i386/boot0/boot0.S#3 integrate
.. //depot/projects/netperf_socket/sys/compat/linux/linux_misc.c#4 integrate
.. //depot/projects/netperf_socket/sys/compat/linux/linux_uid16.c#2 integrate
.. //depot/projects/netperf_socket/sys/conf/NOTES#20 integrate
.. //depot/projects/netperf_socket/sys/conf/options#13 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-lowlevel.c#9 integrate
.. //depot/projects/netperf_socket/sys/dev/cy/cy.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/digi/digi.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/drm.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/drmP.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/drm_drv.h#4 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/drm_linux_list.h#1 branch
.. //depot/projects/netperf_socket/sys/dev/drm/drm_os_freebsd.h#4 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/drm_pciids.h#1 branch
.. //depot/projects/netperf_socket/sys/dev/drm/drm_sarea.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/mga.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/mga_drm.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/r128.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/r128_drm.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/r128_state.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/radeon.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/radeon_drm.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/radeon_drv.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/radeon_mem.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/radeon_state.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/sis.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/sis_drv.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/sis_mm.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/drm/tdfx.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/rp/rp.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/si/si.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/sio/sio.c#9 integrate
.. //depot/projects/netperf_socket/sys/dev/sx/sx.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/ucom.c#6 integrate
.. //depot/projects/netperf_socket/sys/i386/i386/machdep.c#5 integrate
.. //depot/projects/netperf_socket/sys/ia64/ia64/machdep.c#4 integrate
.. //depot/projects/netperf_socket/sys/ia64/ia64/pmap.c#7 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_descrip.c#7 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_prot.c#5 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_resource.c#6 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_sig.c#11 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_sysctl.c#7 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_xxx.c#3 integrate
.. //depot/projects/netperf_socket/sys/kern/tty.c#7 integrate
.. //depot/projects/netperf_socket/sys/kern/tty_compat.c#4 integrate
.. //depot/projects/netperf_socket/sys/kern/tty_pty.c#7 integrate
.. //depot/projects/netperf_socket/sys/kern/uipc_syscalls.c#15 integrate
.. //depot/projects/netperf_socket/sys/kern/vfs_syscalls.c#9 integrate
.. //depot/projects/netperf_socket/sys/net/bpf.c#6 integrate
.. //depot/projects/netperf_socket/sys/net/raw_cb.c#4 integrate
.. //depot/projects/netperf_socket/sys/netinet/igmp.c#3 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_divert.c#6 integrate
.. //depot/projects/netperf_socket/sys/pc98/i386/machdep.c#4 integrate
.. //depot/projects/netperf_socket/sys/pc98/pc98/sio.c#9 integrate
.. //depot/projects/netperf_socket/sys/sys/ioctl.h#4 integrate
.. //depot/projects/netperf_socket/sys/sys/signal.h#3 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_mmap.c#9 integrate

Differences ...

==== //depot/projects/netperf_socket/sys/alpha/alpha/machdep.c#5 (text+ko) ====

@@ -88,7 +88,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.219 2004/04/01 20:56:43 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.220 2004/06/11 11:16:17 phk Exp $");
 
 #include "opt_compat.h"
 #include "opt_ddb.h"
@@ -1180,7 +1180,7 @@
 	    SIGISMEMBER(psp->ps_sigonstack, sig)) {
 		sip = (osiginfo_t *)((caddr_t)td->td_sigstk.ss_sp +
 		    td->td_sigstk.ss_size - rndfsize);
-#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
+#if defined(COMPAT_43)
 		td->td_sigstk.ss_flags |= SS_ONSTACK;
 #endif
 	} else
@@ -1304,7 +1304,7 @@
 	    SIGISMEMBER(psp->ps_sigonstack, sig)) {
 		sfp = (struct sigframe4 *)((caddr_t)td->td_sigstk.ss_sp +
 		    td->td_sigstk.ss_size - rndfsize);
-#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
+#if defined(COMPAT_43)
 		td->td_sigstk.ss_flags |= SS_ONSTACK;
 #endif
 	} else
@@ -1428,7 +1428,7 @@
 	    SIGISMEMBER(psp->ps_sigonstack, sig)) {
 		sfp = (struct sigframe *)((caddr_t)td->td_sigstk.ss_sp +
 		    td->td_sigstk.ss_size - rndfsize);
-#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
+#if defined(COMPAT_43)
 		td->td_sigstk.ss_flags |= SS_ONSTACK;
 #endif
 	} else
@@ -1543,7 +1543,7 @@
 		return (EINVAL);
 
 	PROC_LOCK(p);
-#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
+#if defined(COMPAT_43)
 	/*
 	 * Restore the user-supplied information
 	 */
@@ -1633,7 +1633,7 @@
 	alpha_pal_wrusp(uc.uc_mcontext.mc_regs[R_SP]);
 
 	PROC_LOCK(p);
-#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
+#if defined(COMPAT_43)
 	if (uc.uc_mcontext.mc_onstack & 1)
 		td->td_sigstk.ss_flags |= SS_ONSTACK;
 	else
@@ -1709,7 +1709,7 @@
 	alpha_pal_wrusp(uc.uc_mcontext.mc_regs[R_SP]);
 
 	PROC_LOCK(p);
-#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
+#if defined(COMPAT_43)
 	if (uc.uc_mcontext.mc_onstack & 1)
 		td->td_sigstk.ss_flags |= SS_ONSTACK;
 	else

==== //depot/projects/netperf_socket/sys/amd64/amd64/machdep.c#7 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.609 2004/06/10 20:30:55 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.610 2004/06/11 11:16:18 phk Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -262,7 +262,7 @@
 	    SIGISMEMBER(psp->ps_sigonstack, sig)) {
 		sp = td->td_sigstk.ss_sp +
 		    td->td_sigstk.ss_size - sizeof(struct sigframe);
-#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
+#if defined(COMPAT_43)
 		td->td_sigstk.ss_flags |= SS_ONSTACK;
 #endif
 	} else
@@ -403,7 +403,7 @@
 	bcopy(&ucp->uc_mcontext.mc_rdi, regs, sizeof(*regs));
 
 	PROC_LOCK(p);
-#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
+#if defined(COMPAT_43)
 	if (ucp->uc_mcontext.mc_onstack & 1)
 		td->td_sigstk.ss_flags |= SS_ONSTACK;
 	else

==== //depot/projects/netperf_socket/sys/boot/i386/boot0/boot0.S#3 (text+ko) ====

@@ -13,7 +13,7 @@
  * warranties of merchantability and fitness for a particular
  * purpose.
  *
- * $FreeBSD: src/sys/boot/i386/boot0/boot0.S,v 1.8 2004/05/14 20:28:31 ru Exp $
+ * $FreeBSD: src/sys/boot/i386/boot0/boot0.S,v 1.9 2004/06/11 09:45:18 phk Exp $
  */
 
 /* A 512-byte boot manager. */
@@ -94,15 +94,11 @@
 main:
 #ifdef SIO
 /*
- * Initialize the serial port.
- * Must save DX (contains drive number)
+ * Initialize the serial port.  bioscom preserves the driver number in DX.
  */
-		pushw %dx			# Save
-		xorw %dx,%dx			# Port: COM1
 		movb COMSPEED,%al		# defined by Makefile
 		movb $0x00,%ah			# BIOS: Set COM Port
-		int $0x14			#  Parameters
-		popw %dx			# Restore
+		call bioscom
 #endif /* SIO */
 /*
  * Check what flags were loaded with us, specifically, Use a predefined Drive.
@@ -199,23 +195,21 @@
 		callw putx			#  item
 /*
  * Now that we've printed the drive (if we needed to), display a prompt.
- * Get ready for the input by noting the time.
  */
 main.7:		movw $prompt,%si		# Display
 		callw putstr			#  prompt
 		movb _OPT(%bp),%dl		# Display
 		decw %si			#  default
 		callw putkey			#  key
-main.7_1:
+/*
+ * Start of input loop.  Beep and take note of time
+ */
+main.10:	movb $ASCII_BEL,%al		# Signal
+		callw putchr			#  beep!
 		xorb %ah,%ah			# BIOS: Get
 		int $0x1a			#  system time
-#ifndef SIO
 		movw %dx,%di			# Ticks when
-		addw _TICKS(%bp),%di	 	#  timeout
-#else /* SIO */
-		movw %dx,%si			# Ticks when
-		addw _TICKS(%bp),%si		#  timeout
-#endif /* SIO */
+		addw _TICKS(%bp),%di		#  timeout
 /*
  * Busy loop, looking for keystrokes but
  * keeping one eye on the time.
@@ -226,19 +220,14 @@
 		int $0x16			#  for keypress
 		jnz main.11			# Have one
 #else /* SIO */
-		xorw %dx,%dx			# Use COM1
 		movb $0x03,%ah			# BIOS: Read COM
-		int $0x14			#  Status
+		call bioscom
 		testb $0x01,%ah			# Check line status
 		jnz main.11 			# (bit 1 indicates input)
 #endif /* SIO */
 		xorb %ah,%ah			# BIOS: Get
 		int $0x1a			#  system time
-#ifndef SIO
 		cmpw %di,%dx			# Timeout?
-#else /* SIO */
-		cmpw %si,%dx			# Timeout?
-#endif /* SIO */
 		jb main.8			# No
 /*
  * If timed out or defaulting, come here.
@@ -246,18 +235,6 @@
 main.9:		movb _OPT(%bp),%al		# Load default
 		jmp main.12			# Join common code
 /*
- * User's last try was bad, beep in displeasure.
- * Since nothing was printed, just continue on as if the user
- * hadn't done anything. This gives the effect of the user getting a beep
- * for all bad keystrokes but no action until either the timeout
- * occurs or the user hits a good key.
- */
-main.10:	movb $ASCII_BEL,%al		# Signal
-		callw putchr			#  error
-#ifdef SIO
-		jmp main.7_1			# Go back
-#endif /* SIO */
-/*
  * Get the keystroke.
  */
 main.11:
@@ -267,7 +244,7 @@
 		movb %ah,%al			# Scan code
 #else /* SIO */
 		movb $0x02,%ah			# BIOS: Receive
-		int $0x14			#  COM Byte
+		call bioscom
 #endif /* SIO */
 /*
  * If it's CR act as if timed out.
@@ -384,22 +361,25 @@
 		jmp putstr			# Continue
 putstr.2:	andb $~0x80,%al 		# Clear MSB
 
+#ifndef SIO
 putchr:
-#ifndef SIO
 		pushw %bx			# Save
 		movw $0x7,%bx	 		# Page:attribute
 		movb $0xe,%ah			# BIOS: Display
 		int $0x10			#  character
 		popw %bx			# Restore
+		retw				# To caller
 #else /* SIO */
+putchr:
+		movb $0x01,%ah			# BIOS: Send
+		xorw %cx,%cx 			# No timeout
+bioscom:
 		pushw %dx			# Save
 		xorw %dx,%dx 			# Use COM1
-		xorw %cx,%cx 			# No timeout
-		movb $0x01,%ah			# BIOS: Send
 		int $0x14			#  Character
 		popw %dx			# Restore
+		retw				# To caller
 #endif /* SIO */
-		retw				# To caller
 
 /* One-sector disk I/O routine */
 
@@ -426,13 +406,8 @@
 
 /* Menu strings */
 
-#ifndef SIO
 item:		.ascii "  ";	     .byte ' '|0x80
 prompt:		.ascii "\nDefault:"; .byte ' '|0x80
-#else /* SIO */
-item:		.ascii " ";	     .byte ' '|0x80
-prompt:		.ascii "\nDef:";     .byte ' '|0x80
-#endif /* SIO */
 crlf:		.ascii "\r";	     .byte '\n'|0x80
 
 /* Partition type tables */

==== //depot/projects/netperf_socket/sys/compat/linux/linux_misc.c#4 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.153 2004/03/17 19:59:59 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.154 2004/06/11 11:16:18 phk Exp $");
 
 #include "opt_mac.h"
 
@@ -1299,7 +1299,7 @@
 
 /*
  * The FreeBSD native getpid(2), getgid(2) and getuid(2) also modify
- * td->td_retval[1] when COMPAT_43 or COMPAT_SUNOS is defined. This
+ * td->td_retval[1] when COMPAT_43 is defined. This
  * globbers registers that are assumed to be preserved. The following
  * lightweight syscalls fixes this. See also linux_getgid16() and
  * linux_getuid16() in linux_uid16.c.

==== //depot/projects/netperf_socket/sys/compat/linux/linux_uid16.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_uid16.c,v 1.12 2003/10/21 11:00:33 tjr Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_uid16.c,v 1.13 2004/06/11 11:16:18 phk Exp $");
 
 #include <sys/param.h>
 #include <sys/lock.h>
@@ -190,7 +190,7 @@
 
 /*
  * The FreeBSD native getgid(2) and getuid(2) also modify td->td_retval[1]
- * when COMPAT_43 or COMPAT_SUNOS is defined. This globbers registers that
+ * when COMPAT_43 is defined. This globbers registers that
  * are assumed to be preserved. The following lightweight syscalls fixes
  * this. See also linux_getpid(2), linux_getgid(2) and linux_getuid(2) in
  * linux_misc.c

==== //depot/projects/netperf_socket/sys/conf/NOTES#20 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1229 2004/06/10 05:43:36 scottl Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1230 2004/06/11 11:16:19 phk Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #
@@ -210,12 +210,6 @@
 #
 options 	COMPAT_43
 
-#
-# Be compatible with SunOS.  The COMPAT_43 option above pulls in most
-# (all?) of the changes that this option turns on.
-#
-options 	COMPAT_SUNOS
-
 # Enable FreeBSD4 compatibility syscalls
 options 	COMPAT_FREEBSD4
 

==== //depot/projects/netperf_socket/sys/conf/options#13 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.451 2004/05/20 10:37:11 pjd Exp $
+# $FreeBSD: src/sys/conf/options,v 1.452 2004/06/11 11:16:19 phk Exp $
 #
 #        On the handling of kernel options
 #
@@ -52,7 +52,6 @@
 CODA_COMPAT_5	opt_coda.h
 COMPAT_43	opt_compat.h
 COMPAT_FREEBSD4	opt_compat.h
-COMPAT_SUNOS	opt_compat.h
 COMPILING_LINT	opt_global.h
 CONSPEED	opt_comconsole.h
 CY_PCI_FASTINTR

==== //depot/projects/netperf_socket/sys/dev/ata/ata-lowlevel.c#9 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.37 2004/06/01 11:34:46 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.38 2004/06/11 07:39:15 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -532,7 +532,7 @@
     ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_MASTER);
     DELAY(10);
     ostat0 = ATA_IDX_INB(ch, ATA_STATUS);
-    if ((ostat0 & 0xf8) != 0xf8 && ostat0 != 0xa5 && ostat0 != 0x7f) {
+    if ((ostat0 & 0xf8) != 0xf8 && ostat0 != 0xa5) {
 	stat0 = ATA_S_BUSY;
 	mask |= 0x01;
     }
@@ -543,7 +543,7 @@
 
     /* in some setups we dont want to test for a slave */
     if (!(ch->flags & ATA_NO_SLAVE)) {
-	if ((ostat1 & 0xf8) != 0xf8 && ostat1 != 0xa5 && ostat1 != 0x7f) {
+	if ((ostat1 & 0xf8) != 0xf8 && ostat1 != 0xa5) {
 	    stat1 = ATA_S_BUSY;
 	    mask |= 0x02;
 	}
@@ -637,15 +637,10 @@
 	DELAY(100000);
     }	
 
-    if (stat0 & ATA_S_BUSY)
-	mask &= ~0x01;
-    if (stat1 & ATA_S_BUSY)
-	mask &= ~0x02;
-
     if (bootverbose)
 	ata_printf(ch, -1,
-		   "reset tp2 mask=%02x stat0=%02x stat1=%02x devices=0x%b\n",
-		   mask, stat0, stat1, ch->devices,
+		   "reset tp2 stat0=%02x stat1=%02x devices=0x%b\n",
+		   stat0, stat1, ch->devices,
 		   "\20\4ATAPI_SLAVE\3ATAPI_MASTER\2ATA_SLAVE\1ATA_MASTER");
 }
 

==== //depot/projects/netperf_socket/sys/dev/cy/cy.c#5 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/cy/cy.c,v 1.150 2004/06/04 21:55:49 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/cy/cy.c,v 1.151 2004/06/11 11:16:20 phk Exp $");
 
 #include "opt_compat.h"
 
@@ -1539,7 +1539,7 @@
 	int		mynor;
 	int		s;
 	struct tty	*tp;
-#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
+#if defined(COMPAT_43)
 	int		oldcmd;
 	struct termios	term;
 #endif
@@ -1580,7 +1580,7 @@
 		}
 	}
 	tp = com->tp;
-#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
+#if defined(COMPAT_43)
 	term = tp->t_termios;
 	oldcmd = cmd;
 	error = ttsetcompat(tp, &cmd, data, &term);

==== //depot/projects/netperf_socket/sys/dev/digi/digi.c#6 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/digi/digi.c,v 1.45 2004/06/04 21:55:49 phk Exp $
+ * $FreeBSD: src/sys/dev/digi/digi.c,v 1.46 2004/06/11 11:16:20 phk Exp $
  */
 
 /*-
@@ -1072,7 +1072,7 @@
 	struct digi_softc *sc;
 	struct digi_p *port;
 	struct tty *tp;
-#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
+#if defined(COMPAT_43)
 	int oldcmd;
 	struct termios term;
 #endif
@@ -1226,7 +1226,7 @@
 	}
 
 	tp = port->tp;
-#if defined(COMPAT_43) || defined(COMPAT_SUNOS)
+#if defined(COMPAT_43)
 	term = tp->t_termios;
 	oldcmd = cmd;
 	error = ttsetcompat(tp, &cmd, data, &term);

==== //depot/projects/netperf_socket/sys/dev/drm/drm.h#2 (text+ko) ====

@@ -32,7 +32,7 @@
  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  * OTHER DEALINGS IN THE SOFTWARE.
  *
- * $FreeBSD: src/sys/dev/drm/drm.h,v 1.6 2003/11/12 20:56:30 anholt Exp $
+ * $FreeBSD: src/sys/dev/drm/drm.h,v 1.7 2004/06/11 03:26:59 anholt Exp $
  */
 
 
@@ -137,6 +137,18 @@
 	unsigned int	age;
 } drm_tex_region_t;
 
+/**
+ * Hardware lock.
+ *
+ * The lock structure is a simple cache-line aligned integer.  To avoid
+ * processor bus contention on a multiprocessor system, there should not be any
+ * other data stored in the same cache line.
+ */
+typedef struct drm_hw_lock {
+	__volatile__ unsigned int lock;		/**< lock variable */
+	char			  padding[60];	/**< Pad to cache line */
+} drm_hw_lock_t;
+
 
 /**
  * DRM_IOCTL_VERSION ioctl argument type.

==== //depot/projects/netperf_socket/sys/dev/drm/drmP.h#2 (text+ko) ====

@@ -28,7 +28,7 @@
  *    Rickard E. (Rik) Faith <faith@valinux.com>
  *    Gareth Hughes <gareth@valinux.com>
  *
- * $FreeBSD: src/sys/dev/drm/drmP.h,v 1.9 2004/01/06 04:34:52 anholt Exp $
+ * $FreeBSD: src/sys/dev/drm/drmP.h,v 1.10 2004/06/11 03:26:59 anholt Exp $
  */
 
 #ifndef _DRM_P_H_
@@ -197,11 +197,6 @@
 	drm_freelist_t	  freelist;
 } drm_buf_entry_t;
 
-typedef struct drm_hw_lock {
-	__volatile__ unsigned int lock;
-	char			  padding[60]; /* Pad to cache line */
-} drm_hw_lock_t;
-
 typedef TAILQ_HEAD(drm_file_list, drm_file) drm_file_list_t;
 struct drm_file {
 	TAILQ_ENTRY(drm_file) link;

==== //depot/projects/netperf_socket/sys/dev/drm/drm_drv.h#4 (text+ko) ====

@@ -28,7 +28,7 @@
  *    Rickard E. (Rik) Faith <faith@valinux.com>
  *    Gareth Hughes <gareth@valinux.com>
  *
- * $FreeBSD: src/sys/dev/drm/drm_drv.h,v 1.23 2004/03/03 08:27:33 obrien Exp $
+ * $FreeBSD: src/sys/dev/drm/drm_drv.h,v 1.24 2004/06/11 03:26:59 anholt Exp $
  */
 
 /*
@@ -79,16 +79,16 @@
 #endif
 
 #ifndef DRIVER_PREINIT
-#define DRIVER_PREINIT()
+#define DRIVER_PREINIT(dev) do {} while (0)
 #endif
 #ifndef DRIVER_POSTINIT
-#define DRIVER_POSTINIT()
+#define DRIVER_POSTINIT(dev) do {} while (0)
 #endif
 #ifndef DRIVER_PRERELEASE
 #define DRIVER_PRERELEASE()
 #endif
 #ifndef DRIVER_PRETAKEDOWN
-#define DRIVER_PRETAKEDOWN()
+#define DRIVER_PRETAKEDOWN(dev)
 #endif
 #ifndef DRIVER_POSTCLEANUP
 #define DRIVER_POSTCLEANUP()
@@ -212,7 +212,9 @@
 
 #ifdef __FreeBSD__
 static struct cdevsw DRM(cdevsw) = {
+#if __FreeBSD_version >= 502103
 	.d_version =	D_VERSION,
+#endif
 	.d_open =	DRM( open ),
 	.d_close =	DRM( close ),
 	.d_read =	DRM( read ),
@@ -220,14 +222,21 @@
 	.d_poll =	DRM( poll ),
 	.d_mmap =	DRM( mmap ),
 	.d_name =	DRIVER_NAME,
+#if __FreeBSD_version >= 502103
 	.d_flags =	D_TRACKCLOSE | D_NEEDGIANT,
+#else
+	.d_maj =	145,
+	.d_flags =	D_TRACKCLOSE,
+#endif
 #if __FreeBSD_version < 500000
 	.d_bmaj =	-1
 #endif
 };
 
+#include "dev/drm/drm_pciids.h"
+
 static drm_pci_id_list_t DRM(pciidlist)[] = {
-	DRIVER_PCI_IDS
+	DRM(PCI_IDS)
 };
 
 static int DRM(probe)(device_t dev)
@@ -511,7 +520,7 @@
 
 	DRM_DEBUG( "\n" );
 
-	DRIVER_PRETAKEDOWN();
+	DRIVER_PRETAKEDOWN(dev);
 #if __HAVE_IRQ
 	if (dev->irq_enabled)
 		DRM(irq_uninstall)( dev );
@@ -626,7 +635,7 @@
 	int retcode;
 #endif
 	DRM_DEBUG( "\n" );
-	DRIVER_PREINIT();
+	DRIVER_PREINIT(dev);
 
 #ifdef __FreeBSD__
 	unit = device_get_unit(nbdev);
@@ -704,7 +713,7 @@
 	  	DRIVER_DATE,
 	  	unit );
 
-	DRIVER_POSTINIT();
+	DRIVER_POSTINIT(dev);
 
 	return 0;
 

==== //depot/projects/netperf_socket/sys/dev/drm/drm_os_freebsd.h#4 (text+ko) ====

@@ -28,7 +28,7 @@
  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  * OTHER DEALINGS IN THE SOFTWARE.
  *
- * $FreeBSD: src/sys/dev/drm/drm_os_freebsd.h,v 1.18 2004/03/03 06:19:03 obrien Exp $
+ * $FreeBSD: src/sys/dev/drm/drm_os_freebsd.h,v 1.19 2004/06/11 03:26:59 anholt Exp $
  */
 
 #include <sys/param.h>
@@ -78,6 +78,8 @@
 #include <sys/mutex.h>
 #endif
 
+#include "dev/drm/drm_linux_list.h"
+
 #if __FreeBSD_version >= 400006
 #define __REALLY_HAVE_AGP	__HAVE_AGP
 #endif
@@ -310,6 +312,11 @@
 MALLOC_DECLARE(malloctype);
 #undef malloctype
 
+#if __FreeBSD_version < 502109
+#define bus_alloc_resource_any(dev, type, rid, flags) \
+	bus_alloc_resource(dev, type, rid, 0ul, ~0ul, 1, flags)
+#endif
+
 #if __FreeBSD_version >= 480000
 #define cpu_to_le32(x) htole32(x)
 #define le32_to_cpu(x) le32toh(x)

==== //depot/projects/netperf_socket/sys/dev/drm/drm_sarea.h#2 (text+ko) ====

@@ -2,7 +2,7 @@
  * \file drm_sarea.h 
  * \brief SAREA definitions
  *
- * \author Michel Dänzer <michel@daenzer.net>
+ * \author Michel D�zer <michel@daenzer.net>
  */
 
 /*
@@ -28,15 +28,29 @@
  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  * OTHER DEALINGS IN THE SOFTWARE.
  *
- * $FreeBSD: src/sys/dev/drm/drm_sarea.h,v 1.2 2003/08/19 02:57:31 anholt Exp $
+ * $FreeBSD: src/sys/dev/drm/drm_sarea.h,v 1.3 2004/06/11 03:26:59 anholt Exp $
  */
 
 #ifndef _DRM_SAREA_H_
 #define _DRM_SAREA_H_
 
+#include "dev/drm/drm.h"
+
+/* SAREA area needs to be at least a page */
+#if defined(__alpha__)
+#define SAREA_MAX                       0x2000
+#elif defined(__ia64__)
+#define SAREA_MAX                       0x10000         /* 64kB */
+#else
+/* Intel 830M driver needs at least 8k SAREA */
+#define SAREA_MAX                       0x2000
+#endif
+
 /** Maximum number of drawables in the SAREA */
 #define SAREA_MAX_DRAWABLES 		256
 
+#define SAREA_DRAWABLE_CLAIMED_ENTRY    0x80000000
+
 /** SAREA drawable */
 typedef struct drm_sarea_drawable {
     unsigned int	stamp;

==== //depot/projects/netperf_socket/sys/dev/drm/mga.h#2 (text+ko) ====

@@ -26,7 +26,7 @@
  * Authors:
  *    Gareth Hughes <gareth@valinux.com>
  *
- * $FreeBSD: src/sys/dev/drm/mga.h,v 1.4 2003/10/24 01:48:16 anholt Exp $
+ * $FreeBSD: src/sys/dev/drm/mga.h,v 1.5 2004/06/11 03:26:59 anholt Exp $
  */
 
 #ifndef __MGA_H__
@@ -66,12 +66,6 @@
 	[DRM_IOCTL_NR(DRM_IOCTL_MGA_BLIT)]    = { mga_dma_blit,    1, 0 }, \
 	[DRM_IOCTL_NR(DRM_IOCTL_MGA_GETPARAM)]= { mga_getparam,    1, 0 },
 
-#define DRIVER_PCI_IDS							\
-	{0x102b, 0x0521, 0, "Matrox G200 (AGP)"},			\
-	{0x102b, 0x0525, 0, "Matrox G400/G450 (AGP)"},			\
-	{0x102b, 0x2527, 0, "Matrox G550 (AGP)"},			\
-	{0, 0, 0, NULL}
-
 #define __HAVE_COUNTERS         3
 #define __HAVE_COUNTER6         _DRM_STAT_IRQ
 #define __HAVE_COUNTER7         _DRM_STAT_PRIMARY
@@ -79,7 +73,7 @@
 
 /* Driver customization:
  */
-#define DRIVER_PRETAKEDOWN() do {					\
+#define DRIVER_PRETAKEDOWN( dev ) do {					\
 	mga_do_cleanup_dma( dev );					\
 } while (0)
 

==== //depot/projects/netperf_socket/sys/dev/drm/mga_drm.h#2 (text+ko) ====

@@ -31,7 +31,7 @@
  * Rewritten by:
  *    Gareth Hughes <gareth@valinux.com>
  *
- * $FreeBSD: src/sys/dev/drm/mga_drm.h,v 1.3 2003/03/09 02:08:28 anholt Exp $
+ * $FreeBSD: src/sys/dev/drm/mga_drm.h,v 1.4 2004/06/11 03:26:59 anholt Exp $
  */
 
 #ifndef __MGA_DRM_H__
@@ -119,6 +119,8 @@
 #define MGA_NR_TEX_REGIONS		16
 #define MGA_LOG_MIN_TEX_REGION_SIZE	16
 
+#define  DRM_MGA_IDLE_RETRY          2048
+
 #endif /* __MGA_SAREA_DEFINES__ */
 
 
@@ -232,16 +234,27 @@
 /* MGA specific ioctls
  * The device specific ioctl range is 0x40 to 0x79.
  */
-#define DRM_IOCTL_MGA_INIT		DRM_IOW( 0x40, drm_mga_init_t)
-#define DRM_IOCTL_MGA_FLUSH		DRM_IOW( 0x41, drm_lock_t)
-#define DRM_IOCTL_MGA_RESET		DRM_IO(  0x42)
-#define DRM_IOCTL_MGA_SWAP		DRM_IO(  0x43)
-#define DRM_IOCTL_MGA_CLEAR		DRM_IOW( 0x44, drm_mga_clear_t)
-#define DRM_IOCTL_MGA_VERTEX		DRM_IOW( 0x45, drm_mga_vertex_t)
-#define DRM_IOCTL_MGA_INDICES		DRM_IOW( 0x46, drm_mga_indices_t)
-#define DRM_IOCTL_MGA_ILOAD		DRM_IOW( 0x47, drm_mga_iload_t)
-#define DRM_IOCTL_MGA_BLIT		DRM_IOW( 0x48, drm_mga_blit_t)
-#define DRM_IOCTL_MGA_GETPARAM		DRM_IOWR(0x49, drm_mga_getparam_t)
+#define DRM_MGA_INIT     0x00
+#define DRM_MGA_FLUSH    0x01
+#define DRM_MGA_RESET    0x02
+#define DRM_MGA_SWAP     0x03
+#define DRM_MGA_CLEAR    0x04
+#define DRM_MGA_VERTEX   0x05
+#define DRM_MGA_INDICES  0x06
+#define DRM_MGA_ILOAD    0x07
+#define DRM_MGA_BLIT     0x08
+#define DRM_MGA_GETPARAM 0x09
+
+#define DRM_IOCTL_MGA_INIT     DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_INIT, drm_mga_init_t)
+#define DRM_IOCTL_MGA_FLUSH    DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_FLUSH, drm_lock_t)
+#define DRM_IOCTL_MGA_RESET    DRM_IO(  DRM_COMMAND_BASE + DRM_MGA_RESET)
+#define DRM_IOCTL_MGA_SWAP     DRM_IO(  DRM_COMMAND_BASE + DRM_MGA_SWAP)
+#define DRM_IOCTL_MGA_CLEAR    DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_CLEAR, drm_mga_clear_t)
+#define DRM_IOCTL_MGA_VERTEX   DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_VERTEX, drm_mga_vertex_t)
+#define DRM_IOCTL_MGA_INDICES  DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_INDICES, drm_mga_indices_t)
+#define DRM_IOCTL_MGA_ILOAD    DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_ILOAD, drm_mga_iload_t)
+#define DRM_IOCTL_MGA_BLIT     DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_BLIT, drm_mga_blit_t)
+#define DRM_IOCTL_MGA_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_MGA_GETPARAM, drm_mga_getparam_t)
 
 typedef struct _drm_mga_warp_index {
    	int installed;
@@ -332,7 +345,7 @@
 
 typedef struct drm_mga_getparam {
 	int param;
-	int *value;
+	void *value;
 } drm_mga_getparam_t;
 
 #endif

==== //depot/projects/netperf_socket/sys/dev/drm/r128.h#2 (text+ko) ====

@@ -26,7 +26,7 @@
  * Authors:
  *    Gareth Hughes <gareth@valinux.com>
  *
- * $FreeBSD: src/sys/dev/drm/r128.h,v 1.5 2004/01/06 04:34:53 anholt Exp $
+ * $FreeBSD: src/sys/dev/drm/r128.h,v 1.6 2004/06/11 03:26:59 anholt Exp $
  */
 
 #ifndef __R128_H__
@@ -81,46 +81,6 @@
    [DRM_IOCTL_NR(DRM_IOCTL_R128_INDIRECT)]   = { r128_cce_indirect, 1, 1 }, \
    [DRM_IOCTL_NR(DRM_IOCTL_R128_GETPARAM)]   = { r128_getparam, 1, 0 },
 
-#define DRIVER_PCI_IDS							\
-	{0x1002, 0x4c45, 0, "ATI Rage 128 Mobility LE (PCI)"},		\
-	{0x1002, 0x4c46, 0, "ATI Rage 128 Mobility LF (AGP)"},		\
-	{0x1002, 0x4d46, 0, "ATI Rage 128 Mobility MF (AGP)"},		\
-	{0x1002, 0x4d4c, 0, "ATI Rage 128 Mobility ML (AGP)"},		\
-	{0x1002, 0x5041, 0, "ATI Rage 128 Pro PA (PCI)"},		\
-	{0x1002, 0x5042, 0, "ATI Rage 128 Pro PB (AGP)"},		\
-	{0x1002, 0x5043, 0, "ATI Rage 128 Pro PC (AGP)"},		\
-	{0x1002, 0x5044, 0, "ATI Rage 128 Pro PD (PCI)"},		\
-	{0x1002, 0x5045, 0, "ATI Rage 128 Pro PE (AGP)"},		\
-	{0x1002, 0x5046, 0, "ATI Rage 128 Pro PF (AGP)"},		\
-	{0x1002, 0x5047, 0, "ATI Rage 128 Pro PG (PCI)"},		\
-	{0x1002, 0x5048, 0, "ATI Rage 128 Pro PH (AGP)"},		\
-	{0x1002, 0x5049, 0, "ATI Rage 128 Pro PI (AGP)"},		\
-	{0x1002, 0x504A, 0, "ATI Rage 128 Pro PJ (PCI)"},		\
-	{0x1002, 0x504B, 0, "ATI Rage 128 Pro PK (AGP)"},		\
-	{0x1002, 0x504C, 0, "ATI Rage 128 Pro PL (AGP)"},		\
-	{0x1002, 0x504D, 0, "ATI Rage 128 Pro PM (PCI)"},		\
-	{0x1002, 0x504E, 0, "ATI Rage 128 Pro PN (AGP)"},		\
-	{0x1002, 0x504F, 0, "ATI Rage 128 Pro PO (AGP)"},		\
-	{0x1002, 0x5050, 0, "ATI Rage 128 Pro PP (PCI)"},		\
-	{0x1002, 0x5051, 0, "ATI Rage 128 Pro PQ (AGP)"},		\
-	{0x1002, 0x5052, 0, "ATI Rage 128 Pro PR (PCI)"},		\
-	{0x1002, 0x5053, 0, "ATI Rage 128 Pro PS (PCI)"},		\
-	{0x1002, 0x5054, 0, "ATI Rage 128 Pro PT (AGP)"},		\
-	{0x1002, 0x5055, 0, "ATI Rage 128 Pro PU (AGP)"},		\
-	{0x1002, 0x5056, 0, "ATI Rage 128 Pro PV (PCI)"},		\
-	{0x1002, 0x5057, 0, "ATI Rage 128 Pro PW (AGP)"},		\
-	{0x1002, 0x5058, 0, "ATI Rage 128 Pro PX (AGP)"},		\
-	{0x1002, 0x5245, 0, "ATI Rage 128 RE (PCI)"},			\
-	{0x1002, 0x5246, 0, "ATI Rage 128 RF (AGP)"},			\
-	{0x1002, 0x5247, 0, "ATI Rage 128 RG (AGP)"},			\
-	{0x1002, 0x524b, 0, "ATI Rage 128 RK (PCI)"},			\
-	{0x1002, 0x524c, 0, "ATI Rage 128 RL (AGP)"},			\
-	{0x1002, 0x534d, 0, "ATI Rage 128 SM (AGP)"},			\
-	{0x1002, 0x5446, 0, "ATI Rage 128 Pro Ultra TF (AGP)"},		\
-	{0x1002, 0x544C, 0, "ATI Rage 128 Pro Ultra TL (AGP)"},		\
-	{0x1002, 0x5452, 0, "ATI Rage 128 Pro Ultra TR (AGP)"},		\
-	{0, 0, 0, NULL}
-
 /* Driver customization:
  */
 #define DRIVER_PRERELEASE() do {					\
@@ -132,7 +92,7 @@
 	}								\
 } while (0)
 
-#define DRIVER_PRETAKEDOWN() do {					\
+#define DRIVER_PRETAKEDOWN(dev) do {					\
 	r128_do_cleanup_cce( dev );					\
 } while (0)
 

==== //depot/projects/netperf_socket/sys/dev/drm/r128_drm.h#2 (text+ko) ====

@@ -28,7 +28,7 @@
  *    Gareth Hughes <gareth@valinux.com>
  *    Kevin E. Martin <martin@valinux.com>
  *
- * $FreeBSD: src/sys/dev/drm/r128_drm.h,v 1.4 2003/08/19 02:57:31 anholt Exp $
+ * $FreeBSD: src/sys/dev/drm/r128_drm.h,v 1.5 2004/06/11 03:26:59 anholt Exp $
  */
 
 #ifndef __R128_DRM_H__
@@ -178,24 +178,47 @@
 /* Rage 128 specific ioctls
  * The device specific ioctl range is 0x40 to 0x79.
  */
-#define DRM_IOCTL_R128_INIT		DRM_IOW( 0x40, drm_r128_init_t)
-#define DRM_IOCTL_R128_CCE_START	DRM_IO(  0x41)
-#define DRM_IOCTL_R128_CCE_STOP		DRM_IOW( 0x42, drm_r128_cce_stop_t)
-#define DRM_IOCTL_R128_CCE_RESET	DRM_IO(  0x43)
-#define DRM_IOCTL_R128_CCE_IDLE		DRM_IO(  0x44)
-#define DRM_IOCTL_R128_RESET		DRM_IO(  0x46)
-#define DRM_IOCTL_R128_SWAP		DRM_IO(  0x47)
-#define DRM_IOCTL_R128_CLEAR		DRM_IOW( 0x48, drm_r128_clear_t)
-#define DRM_IOCTL_R128_VERTEX		DRM_IOW( 0x49, drm_r128_vertex_t)
-#define DRM_IOCTL_R128_INDICES		DRM_IOW( 0x4a, drm_r128_indices_t)
-#define DRM_IOCTL_R128_BLIT		DRM_IOW( 0x4b, drm_r128_blit_t)
-#define DRM_IOCTL_R128_DEPTH		DRM_IOW( 0x4c, drm_r128_depth_t)
-#define DRM_IOCTL_R128_STIPPLE		DRM_IOW( 0x4d, drm_r128_stipple_t)
-#define DRM_IOCTL_R128_INDIRECT		DRM_IOWR(0x4f, drm_r128_indirect_t)
-#define DRM_IOCTL_R128_FULLSCREEN	DRM_IOW( 0x50, drm_r128_fullscreen_t)
-#define DRM_IOCTL_R128_CLEAR2		DRM_IOW( 0x51, drm_r128_clear2_t)
-#define DRM_IOCTL_R128_GETPARAM		DRM_IOW( 0x52, drm_r128_getparam_t)
-#define DRM_IOCTL_R128_FLIP		DRM_IO(  0x53)
+#define DRM_R128_INIT       0x00
+#define DRM_R128_CCE_START  0x01
+#define DRM_R128_CCE_STOP   0x02
+#define DRM_R128_CCE_RESET  0x03
+#define DRM_R128_CCE_IDLE   0x04
+/* 0x05 not used */
+#define DRM_R128_RESET      0x06
+#define DRM_R128_SWAP       0x07
+#define DRM_R128_CLEAR      0x08
+#define DRM_R128_VERTEX     0x09
+#define DRM_R128_INDICES    0x0a
+#define DRM_R128_BLIT       0x0b
+#define DRM_R128_DEPTH      0x0c
+#define DRM_R128_STIPPLE    0x0d
+/* 0x0e not used */
+#define DRM_R128_INDIRECT   0x0f
+#define DRM_R128_FULLSCREEN 0x10
+#define DRM_R128_CLEAR2     0x11
+#define DRM_R128_GETPARAM   0x12
+#define DRM_R128_FLIP       0x13
+
+#define DRM_IOCTL_R128_INIT       DRM_IOW( DRM_COMMAND_BASE + DRM_R128_INIT, drm_r128_init_t)
+#define DRM_IOCTL_R128_CCE_START  DRM_IO(  DRM_COMMAND_BASE + DRM_R128_CCE_START)
+#define DRM_IOCTL_R128_CCE_STOP   DRM_IOW( DRM_COMMAND_BASE + DRM_R128_CCE_STOP, drm_r128_cce_stop_t)
+#define DRM_IOCTL_R128_CCE_RESET  DRM_IO(  DRM_COMMAND_BASE + DRM_R128_CCE_RESET)
+#define DRM_IOCTL_R128_CCE_IDLE   DRM_IO(  DRM_COMMAND_BASE + DRM_R128_CCE_IDLE)
+/* 0x05 not used */
+#define DRM_IOCTL_R128_RESET      DRM_IO(  DRM_COMMAND_BASE + DRM_R128_RESET)
+#define DRM_IOCTL_R128_SWAP       DRM_IO(  DRM_COMMAND_BASE + DRM_R128_SWAP)
+#define DRM_IOCTL_R128_CLEAR      DRM_IOW( DRM_COMMAND_BASE + DRM_R128_CLEAR, drm_r128_clear_t)
+#define DRM_IOCTL_R128_VERTEX     DRM_IOW( DRM_COMMAND_BASE + DRM_R128_VERTEX, drm_r128_vertex_t)
+#define DRM_IOCTL_R128_INDICES    DRM_IOW( DRM_COMMAND_BASE + DRM_R128_INDICES, drm_r128_indices_t)
+#define DRM_IOCTL_R128_BLIT       DRM_IOW( DRM_COMMAND_BASE + DRM_R128_BLIT, drm_r128_blit_t)
+#define DRM_IOCTL_R128_DEPTH      DRM_IOW( DRM_COMMAND_BASE + DRM_R128_DEPTH, drm_r128_depth_t)
+#define DRM_IOCTL_R128_STIPPLE    DRM_IOW( DRM_COMMAND_BASE + DRM_R128_STIPPLE, drm_r128_stipple_t)
+/* 0x0e not used */
+#define DRM_IOCTL_R128_INDIRECT   DRM_IOWR(DRM_COMMAND_BASE + DRM_R128_INDIRECT, drm_r128_indirect_t)
+#define DRM_IOCTL_R128_FULLSCREEN DRM_IOW( DRM_COMMAND_BASE + DRM_R128_FULLSCREEN, drm_r128_fullscreen_t)
+#define DRM_IOCTL_R128_CLEAR2     DRM_IOW( DRM_COMMAND_BASE + DRM_R128_CLEAR2, drm_r128_clear2_t)
+#define DRM_IOCTL_R128_GETPARAM   DRM_IOW( DRM_COMMAND_BASE + DRM_R128_GETPARAM, drm_r128_getparam_t)
+#define DRM_IOCTL_R128_FLIP       DRM_IO(  DRM_COMMAND_BASE + DRM_R128_FLIP)
 
 typedef struct drm_r128_init {
 	enum {
@@ -318,7 +341,7 @@
 
 typedef struct drm_r128_getparam {
 	int param;
-	int *value;
+	void *value;
 } drm_r128_getparam_t;
 
 #endif

==== //depot/projects/netperf_socket/sys/dev/drm/r128_state.c#3 (text+ko) ====

@@ -26,7 +26,7 @@
  * Authors:

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200406111321.i5BDLIRr031595>