From owner-p4-projects@FreeBSD.ORG Sat Jul 23 00:06:19 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2447616A421; Sat, 23 Jul 2005 00:06:19 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F14C016A41F for ; Sat, 23 Jul 2005 00:06:18 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D4A943D48 for ; Sat, 23 Jul 2005 00:06:18 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j6N06IN9050710 for ; Sat, 23 Jul 2005 00:06:18 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j6N06HIN050707 for perforce@freebsd.org; Sat, 23 Jul 2005 00:06:17 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 23 Jul 2005 00:06:17 GMT Message-Id: <200507230006.j6N06HIN050707@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 80820 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Jul 2005 00:06:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=80820 Change 80820 by rwatson@rwatson_zoo on 2005/07/23 00:06:01 Integrate netsmp from CVS HEAD. Various changes, but among other things: - Loop back if_drv_flags definition. - if_de cleanup. - Lots of 802.11. Affected files ... .. //depot/projects/netsmp/src/sys/amd64/amd64/bios.c#2 integrate .. //depot/projects/netsmp/src/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/netsmp/src/sys/amd64/conf/NOTES#2 integrate .. //depot/projects/netsmp/src/sys/amd64/include/atomic.h#2 integrate .. //depot/projects/netsmp/src/sys/amd64/include/bus_dma.h#2 integrate .. //depot/projects/netsmp/src/sys/amd64/include/pc/bios.h#2 integrate .. //depot/projects/netsmp/src/sys/boot/ofw/libofw/ofw_copy.c#2 integrate .. //depot/projects/netsmp/src/sys/conf/files#2 integrate .. //depot/projects/netsmp/src/sys/conf/files.amd64#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdHardware.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdInterrupt.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdSchedule.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdStream.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdSynch.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdTable.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/acpi_acad.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/acpi_package.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/acpica/acpi_quirk.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ath/ath_rate/amrr/amrr.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ath/ath_rate/onoe/onoe.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ath/ath_rate/sample/sample.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/awi/awi.c#3 integrate .. //depot/projects/netsmp/src/sys/dev/drm/ati_pcigart.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/drmP.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/drm_agpsupport.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/drm_pciids.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/r128_cce.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/r300_cmdbuf.c#1 branch .. //depot/projects/netsmp/src/sys/dev/drm/r300_reg.h#1 branch .. //depot/projects/netsmp/src/sys/dev/drm/radeon_cp.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/radeon_drm.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/radeon_drv.h#2 integrate .. //depot/projects/netsmp/src/sys/dev/drm/radeon_state.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ipw/if_ipw.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/iwi/if_iwi.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/ral/if_ral.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/usb/if_ural.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/vkbd/vkbd.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/vx/if_vx.c#2 integrate .. //depot/projects/netsmp/src/sys/dev/wi/if_wi.c#3 integrate .. //depot/projects/netsmp/src/sys/i386/bios/smapi_bios.S#2 integrate .. //depot/projects/netsmp/src/sys/i386/bios/smbios.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/conf/NOTES#3 integrate .. //depot/projects/netsmp/src/sys/i386/i386/bios.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/i386/elan-mmcr.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/i386/geode.c#2 integrate .. //depot/projects/netsmp/src/sys/i386/include/pc/bios.h#2 integrate .. //depot/projects/netsmp/src/sys/modules/de/Makefile#2 integrate .. //depot/projects/netsmp/src/sys/modules/drm/radeon/Makefile#2 integrate .. //depot/projects/netsmp/src/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/netsmp/src/sys/net/if_var.h#3 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211.h#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_crypto.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_ioctl.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_ioctl.h#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_node.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_node.h#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_output.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_proto.c#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_proto.h#2 integrate .. //depot/projects/netsmp/src/sys/net80211/ieee80211_var.h#2 integrate .. //depot/projects/netsmp/src/sys/netgraph/netgraph.h#2 integrate .. //depot/projects/netsmp/src/sys/netgraph/ng_base.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_output.c#3 integrate .. //depot/projects/netsmp/src/sys/netinet6/ip6_var.h#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/mld6.c#3 integrate .. //depot/projects/netsmp/src/sys/netinet6/raw_ip6.c#2 integrate .. //depot/projects/netsmp/src/sys/netinet6/udp6_output.c#2 integrate .. //depot/projects/netsmp/src/sys/nfsclient/nfs_bio.c#2 integrate .. //depot/projects/netsmp/src/sys/nfsclient/nfs_node.c#2 integrate .. //depot/projects/netsmp/src/sys/nfsclient/nfsnode.h#2 integrate .. //depot/projects/netsmp/src/sys/pc98/conf/NOTES#2 integrate .. //depot/projects/netsmp/src/sys/pci/if_de.c#3 integrate .. //depot/projects/netsmp/src/sys/pci/if_devar.h#2 integrate .. //depot/projects/netsmp/src/sys/security/mac_stub/mac_stub.c#2 integrate Differences ... ==== //depot/projects/netsmp/src/sys/amd64/amd64/bios.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/bios.c,v 1.72 2004/09/24 01:08:34 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/bios.c,v 1.73 2005/07/21 09:48:36 phk Exp $"); /* * Subset of the i386 bios support code. We cannot make bios16 nor bios32 @@ -93,18 +93,3 @@ } return(0); } - -const u_char * -bios_string(u_int from, u_int to, const u_char *string, int len) -{ - const char *t, *te; - - if (len == 0) - len = strlen(string); - t = (const char *)(KERNBASE + from); - te = (const char *)(KERNBASE + to); - for (; t <= te; t++) - if (!memcmp(string, t, len)) - return (t); - return (NULL); -} ==== //depot/projects/netsmp/src/sys/amd64/amd64/mp_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.260 2005/06/29 23:23:16 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.261 2005/07/21 21:46:09 peter Exp $"); #include "opt_cpu.h" #include "opt_kdb.h" @@ -95,6 +95,9 @@ /* Free these after use */ void *bootstacks[MAXCPU]; +/* Temporary holder for double fault stack */ +char *doublefault_stack; + /* Hotwire a 0->4MB V==P mapping */ extern pt_entry_t *KPTphys; @@ -432,6 +435,7 @@ common_tss[cpu] = common_tss[0]; common_tss[cpu].tss_rsp0 = 0; /* not used until after switch */ common_tss[cpu].tss_iobase = sizeof(struct amd64tss); + common_tss[cpu].tss_ist1 = (long)&doublefault_stack[PAGE_SIZE]; gdt_segs[GPROC0_SEL].ssd_base = (long) &common_tss[cpu]; ssdtosyssd(&gdt_segs[GPROC0_SEL], @@ -679,7 +683,8 @@ cpu_apic_ids[cpu] = apic_id; /* allocate and set up an idle stack data page */ - bootstacks[cpu] = (char *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); + bootstacks[cpu] = (void *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); + doublefault_stack = (char *)kmem_alloc(kernel_map, PAGE_SIZE); bootSTK = (char *)bootstacks[cpu] + KSTACK_PAGES * PAGE_SIZE - 8; bootAP = cpu; ==== //depot/projects/netsmp/src/sys/amd64/conf/NOTES#2 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.36 2005/06/30 05:33:25 peter Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.41 2005/07/22 16:02:40 ru Exp $ # # @@ -210,7 +210,7 @@ device mach64drm # ATI Rage Pro, Rage Mobility P/M, Rage XL device mgadrm # AGP Matrox G200, G400, G450, G550 device r128drm # ATI Rage 128 -device radeondrm # ATI Radeon up to 9200 +device radeondrm # ATI Radeon device sisdrm # SiS 300/305, 540, 630 device tdfxdrm # 3dfx Voodoo 3/4/5 and Banshee options DRM_DEBUG # Include debug printfs (slow) @@ -226,11 +226,11 @@ # lnc: Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL, AMD Am7990 and # Am79C960) +device ed +options ED_3C503 +options ED_HPP +options ED_SIC #XXX# still calls MD i386 kvtop function instead of vtophys etc -#XXX#device ed -#XXX#options ED_3C503 -#XXX#options ED_HPP -#XXX#options ED_SIC #XXX#device lnc device ath @@ -297,6 +297,8 @@ # # Miscellaneous hardware: # +# smbios: DMI/SMBIOS entry point +# vpd: Vital Product Data kernel interface # cy: Cyclades serial driver # digi: Digiboard driver @@ -321,6 +323,8 @@ device pbio hint.pbio.0.at="isa" hint.pbio.0.port="0x360" +device smbios +device vpd # sx device is i386 and pc98 only at the moment. device sx options SX_DEBUG ==== //depot/projects/netsmp/src/sys/amd64/include/atomic.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.35 2005/07/15 18:17:57 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.36 2005/07/21 22:35:02 peter Exp $ */ #ifndef _MACHINE_ATOMIC_H_ #define _MACHINE_ATOMIC_H_ @@ -152,10 +152,35 @@ return (res); } +#if defined(_KERNEL) && !defined(SMP) + +/* + * We assume that a = b will do atomic loads and stores. However, on a + * PentiumPro or higher, reads may pass writes, so for that case we have + * to use a serializing instruction (i.e. with LOCK) to do the load in + * SMP kernels. For UP kernels, however, the cache of the single processor + * is always consistent, so we don't need any memory barriers. + */ #define ATOMIC_STORE_LOAD(TYPE, LOP, SOP) \ static __inline u_##TYPE \ atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ { \ + return (*p); \ +} \ + \ +static __inline void \ +atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\ +{ \ + *p = v; \ +} \ +struct __hack + +#else /* defined(SMP) */ + +#define ATOMIC_STORE_LOAD(TYPE, LOP, SOP) \ +static __inline u_##TYPE \ +atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ +{ \ u_##TYPE res; \ \ __asm __volatile(__XSTRING(MPLOCKED) LOP \ @@ -179,6 +204,8 @@ } \ struct __hack +#endif /* SMP */ + #endif /* KLD_MODULE || !(__GNUCLIKE_ASM && __CC_SUPPORTS___INLINE) */ ATOMIC_ASM(set, char, "orb %b1,%0", "iq", v); ==== //depot/projects/netsmp/src/sys/amd64/include/bus_dma.h#2 (text+ko) ==== @@ -22,8 +22,9 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $FreeBSD: src/sys/amd64/include/bus_dma.h,v 1.30 2005/07/22 04:03:25 obrien Exp $ */ -/* $FreeBSD: src/sys/amd64/include/bus_dma.h,v 1.29 2005/03/14 16:46:27 scottl Exp $ */ #ifndef _AMD64_BUS_DMA_H_ #define _AMD64_BUS_DMA_H_ ==== //depot/projects/netsmp/src/sys/amd64/include/pc/bios.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/pc/bios.h,v 1.18 2004/09/24 00:42:36 peter Exp $ + * $FreeBSD: src/sys/amd64/include/pc/bios.h,v 1.19 2005/07/21 09:48:36 phk Exp $ */ #ifndef _MACHINE_PC_BIOS_H_ @@ -48,7 +48,22 @@ u_int32_t type; } __packed; -const u_char *bios_string(u_int from, u_int to, const u_char *string, int len); +struct bios_oem_signature { + char * anchor; /* search anchor string in BIOS memory */ + size_t offset; /* offset from anchor (may be negative) */ + size_t totlen; /* total length of BIOS string to copy */ +} __packed; +struct bios_oem_range { + u_int from; /* shouldn't be below 0xe0000 */ + u_int to; /* shouldn't be above 0xfffff */ +} __packed; +struct bios_oem { + struct bios_oem_range range; + struct bios_oem_signature signature[]; +} __packed; + +extern int +bios_oem_strings(struct bios_oem *oem, u_char *buffer, size_t maxlen); #endif /* _MACHINE_PC_BIOS_H_ */ ==== //depot/projects/netsmp/src/sys/boot/ofw/libofw/ofw_copy.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_copy.c,v 1.15 2005/05/19 07:21:46 grehan Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_copy.c,v 1.16 2005/07/22 23:22:29 grehan Exp $"); /* * MD primitives supporting placement of module data @@ -39,7 +39,9 @@ #define READIN_BUF (4 * 1024) #define PAGE_SIZE 0x1000 #define PAGE_MASK 0x0fff +#define MAPMEM_PAGE_INC 16 + #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) static int @@ -76,10 +78,10 @@ /* * To avoid repeated mappings on small allocations, - * never map anything less than 16 pages at a time + * never map anything less than MAPMEM_PAGE_INC pages at a time */ - if ((nlen + resid) < PAGE_SIZE*8) { - dlen = PAGE_SIZE*8; + if ((nlen + resid) < PAGE_SIZE*MAPMEM_PAGE_INC) { + dlen = PAGE_SIZE*MAPMEM_PAGE_INC; } else dlen = roundup(nlen + resid, PAGE_SIZE); ==== //depot/projects/netsmp/src/sys/conf/files#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1035 2005/07/19 02:06:48 imp Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1036 2005/07/20 21:10:56 anholt Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -511,6 +511,7 @@ dev/drm/r128_irq.c optional r128drm dev/drm/r128_state.c optional r128drm \ compile-with "${NORMAL_C} -finline-limit=13500" +dev/drm/r300_cmdbuf.c optional radeondrm dev/drm/radeon_cp.c optional radeondrm dev/drm/radeon_drv.c optional radeondrm dev/drm/radeon_irq.c optional radeondrm ==== //depot/projects/netsmp/src/sys/conf/files.amd64#2 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.72 2005/07/19 01:10:27 ps Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.75 2005/07/21 21:57:31 peter Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -136,6 +136,12 @@ dev/atkbdc/atkbdc_isa.c optional atkbdc isa dev/atkbdc/atkbdc_subr.c optional atkbdc dev/atkbdc/psm.c optional psm atkbdc +# There are no systems with isa slots, so all ed isa entries should go.. +dev/ed/if_ed_3c503.c optional ed isa ed_3c503 +dev/ed/if_ed_isa.c optional ed isa +dev/ed/if_ed_wd80x3.c optional ed isa +dev/ed/if_ed_hpp.c optional ed isa ed_hpp +dev/ed/if_ed_sic.c optional ed isa ed_sic dev/fb/fb.c optional fb dev/fb/fb.c optional vga dev/fb/splash.c optional splash @@ -229,6 +235,8 @@ compat/ndis/subr_pe.c optional ndisapi pci compat/ndis/subr_usbd.c optional ndisapi pci compat/ndis/winx64_wrap.S optional ndisapi pci +i386/bios/smbios.c optional smbios +i386/bios/vpd.c optional vpd i386/cpufreq/powernow.c optional cpufreq i386/cpufreq/est.c optional cpufreq i386/cpufreq/p4tcc.c optional cpufreq ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdDebug.c#2 (text+ko) ==== @@ -23,14 +23,15 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdDebug.c,v 1.9 2004/09/02 04:28:05 njl Exp $ */ /* * 6.8 : Debugging support */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdDebug.c,v 1.10 2005/07/22 23:10:02 njl Exp $"); + #include "opt_ddb.h" #include #include ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdHardware.c#2 (text+ko) ==== @@ -23,14 +23,15 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdHardware.c,v 1.15 2005/05/29 04:42:16 nyan Exp $ */ /* * 6.7 : Hardware Abstraction */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdHardware.c,v 1.16 2005/07/22 23:10:02 njl Exp $"); + #include "acpi.h" #include ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdInterrupt.c#2 (text+ko) ==== @@ -23,14 +23,15 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.19 2004/12/02 00:25:35 marks Exp $ */ /* * 6.5 : Interrupt handling */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.20 2005/07/22 23:10:02 njl Exp $"); + #include #include #include ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdMemory.c#2 (text+ko) ==== @@ -24,14 +24,15 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdMemory.c,v 1.11 2004/04/14 03:39:08 njl Exp $ */ /* * 6.2 : Memory Management */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdMemory.c,v 1.12 2005/07/22 23:10:02 njl Exp $"); + #include "acpi.h" #include ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdSchedule.c#2 (text+ko) ==== @@ -23,14 +23,15 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdSchedule.c,v 1.32 2005/05/09 07:34:04 marks Exp $ */ /* * 6.3 : Scheduling services */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdSchedule.c,v 1.33 2005/07/22 23:10:02 njl Exp $"); + #include "opt_acpi.h" #include #include ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdStream.c#2 (text+ko) ==== @@ -23,14 +23,15 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdStream.c,v 1.4 2004/04/14 03:39:08 njl Exp $ */ /* * 6.6 : Stream I/O */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdStream.c,v 1.5 2005/07/22 23:10:02 njl Exp $"); + #include "acpi.h" void ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdSynch.c#2 (text+ko) ==== @@ -23,14 +23,15 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdSynch.c,v 1.22 2004/06/18 17:58:11 njl Exp $ */ /* * 6.1 : Mutual Exclusion and Synchronisation */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdSynch.c,v 1.23 2005/07/22 23:10:02 njl Exp $"); + #include "acpi.h" #include "opt_acpi.h" ==== //depot/projects/netsmp/src/sys/dev/acpica/Osd/OsdTable.c#2 (text+ko) ==== @@ -22,14 +22,15 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdTable.c,v 1.8 2004/10/05 20:41:44 njl Exp $ */ /* * ACPI Table interfaces */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/Osd/OsdTable.c,v 1.9 2005/07/22 23:10:02 njl Exp $"); + #include #include #include ==== //depot/projects/netsmp/src/sys/dev/acpica/acpi_acad.c#2 (text+ko) ==== @@ -22,10 +22,11 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/acpica/acpi_acad.c,v 1.33 2005/05/19 09:13:26 takawata Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_acad.c,v 1.34 2005/07/22 23:10:02 njl Exp $"); + #include "opt_acpi.h" #include #include ==== //depot/projects/netsmp/src/sys/dev/acpica/acpi_package.c#2 (text+ko) ==== @@ -22,10 +22,11 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/acpica/acpi_package.c,v 1.6 2005/05/29 04:42:16 nyan Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_package.c,v 1.7 2005/07/22 23:10:02 njl Exp $"); + #include #include #include ==== //depot/projects/netsmp/src/sys/dev/acpica/acpi_quirk.c#2 (text+ko) ==== @@ -22,10 +22,11 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/acpica/acpi_quirk.c,v 1.1 2004/06/30 04:45:32 njl Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_quirk.c,v 1.2 2005/07/22 23:10:02 njl Exp $"); + #include #include ==== //depot/projects/netsmp/src/sys/dev/ath/ath_rate/amrr/amrr.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/amrr/amrr.c,v 1.8 2005/06/10 16:49:04 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/amrr/amrr.c,v 1.9 2005/07/22 16:50:16 sam Exp $"); /* * AMRR rate control. See: @@ -284,7 +284,7 @@ int srate; KASSERT(ni->ni_rates.rs_nrates > 0, ("no rates")); - if (ic->ic_fixed_rate == -1) { + if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) { /* * No fixed rate is requested. For 11b start with * the highest negotiated rate; otherwise, for 11g @@ -366,7 +366,8 @@ ieee80211_iterate_nodes(&ic->ic_sta, ath_rate_cb, sc); ath_rate_update(sc, ic->ic_bss, 0); } - if (ic->ic_fixed_rate == -1 && state == IEEE80211_S_RUN) { + if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE && + state == IEEE80211_S_RUN) { int interval; /* * Start the background rate control thread if we ==== //depot/projects/netsmp/src/sys/dev/ath/ath_rate/onoe/onoe.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/onoe/onoe.c,v 1.8 2005/06/10 16:49:04 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/onoe/onoe.c,v 1.9 2005/07/22 16:50:17 sam Exp $"); /* * Atsushi Onoe's rate control algorithm. @@ -268,7 +268,7 @@ int srate; KASSERT(ni->ni_rates.rs_nrates > 0, ("no rates")); - if (ic->ic_fixed_rate == -1) { + if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) { /* * No fixed rate is requested. For 11b start with * the highest negotiated rate; otherwise, for 11g @@ -350,7 +350,8 @@ ieee80211_iterate_nodes(&ic->ic_sta, ath_rate_cb, sc); ath_rate_update(sc, ic->ic_bss, 0); } - if (ic->ic_fixed_rate == -1 && state == IEEE80211_S_RUN) { + if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE && + state == IEEE80211_S_RUN) { int interval; /* * Start the background rate control thread if we ==== //depot/projects/netsmp/src/sys/dev/ath/ath_rate/sample/sample.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/sample/sample.c,v 1.8 2005/04/02 18:56:50 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/sample/sample.c,v 1.9 2005/07/22 16:50:17 sam Exp $"); /* * John Bicket's SampleRate control algorithm. @@ -684,7 +684,7 @@ KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode)); sn->static_rate_ndx = -1; - if (ic->ic_fixed_rate != -1) { + if (ic->ic_fixed_rate != IEEE80211_FIXED_RATE_NONE) { /* * A fixed rate is to be used; ic_fixed_rate is an * index into the supported rate set. Convert this ==== //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#3 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.94 2005/07/07 00:04:50 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.96 2005/07/22 17:57:16 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -161,8 +161,7 @@ static void ath_calibrate(void *); static int ath_newstate(struct ieee80211com *, enum ieee80211_state, int); static void ath_setup_stationkey(struct ieee80211_node *); -static void ath_newassoc(struct ieee80211com *, - struct ieee80211_node *, int); +static void ath_newassoc(struct ieee80211_node *, int); static int ath_getchannels(struct ath_softc *, u_int cc, HAL_BOOL outdoor, HAL_BOOL xchanmode); static void ath_led_event(struct ath_softc *, int); @@ -2603,7 +2602,7 @@ "ibss merge, rstamp %u tsf %ju " "tstamp %ju\n", rstamp, (uintmax_t)tsf, (uintmax_t)ni->ni_tstamp.tsf); - (void) ieee80211_ibss_merge(ic, ni); + (void) ieee80211_ibss_merge(ni); } } break; @@ -4287,8 +4286,9 @@ * param tells us if this is the first time or not. */ static void -ath_newassoc(struct ieee80211com *ic, struct ieee80211_node *ni, int isnew) +ath_newassoc(struct ieee80211_node *ni, int isnew) { + struct ieee80211com *ic = ni->ni_ic; struct ath_softc *sc = ic->ic_ifp->if_softc; ath_rate_newassoc(sc, ATH_NODE(ni), isnew); ==== //depot/projects/netsmp/src/sys/dev/awi/awi.c#3 (text+ko) ==== @@ -89,7 +89,7 @@ __KERNEL_RCSID(0, "$NetBSD: awi.c,v 1.62 2004/01/16 14:13:15 onoe Exp $"); #endif #ifdef __FreeBSD__ -__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.37 2005/06/10 16:49:05 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.38 2005/07/22 16:50:18 sam Exp $"); #endif #include "opt_inet.h" @@ -605,7 +605,7 @@ rs = &ic->ic_sup_rates[IEEE80211_MODE_FH]; else rs = &ic->ic_sup_rates[IEEE80211_MODE_11B]; - if (ic->ic_fixed_rate != -1) { + if (ic->ic_fixed_rate != IEEE80211_FIXED_RATE_NONE) { rate = rs->rs_rates[ic->ic_fixed_rate] & IEEE80211_RATE_VAL; } else { rate = 0; @@ -1095,7 +1095,7 @@ rate = ic->ic_bss->ni_rates.rs_rates[ic->ic_bss->ni_txrate] & IEEE80211_RATE_VAL; } else { - if (ic->ic_fixed_rate == -1) + if (ic->ic_fixed_rate == IEEE80211_FIXED_RATE_NONE) rate = 0; else rate = ic->ic_sup_rates[mode]. ==== //depot/projects/netsmp/src/sys/dev/drm/ati_pcigart.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ * Authors: * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/ati_pcigart.c,v 1.1 2005/04/16 03:44:43 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/ati_pcigart.c,v 1.2 2005/07/20 21:10:57 anholt Exp $ */ #include "dev/drm/drmP.h" @@ -46,7 +46,7 @@ # define ATI_PCIGART_PAGE_SIZE 4096 /* PCI GART page size */ int drm_ati_pcigart_init(drm_device_t *dev, unsigned long *addr, - dma_addr_t *bus_addr) + dma_addr_t *bus_addr, int is_pcie) { drm_sg_mem_t *entry = dev->sg; unsigned long address = 0; @@ -81,7 +81,14 @@ page_base = (u32) entry->busaddr[i]; for (j = 0; j < (PAGE_SIZE / ATI_PCIGART_PAGE_SIZE); j++) { - *pci_gart++ = cpu_to_le32( page_base ); + if (is_pcie) { + *pci_gart = (cpu_to_le32(page_base)>>8) | 0xc; + DRM_DEBUG("PCIE: %d %08X %08X to %p\n", i, + page_base, (cpu_to_le32(page_base)>>8)|0xc, + pci_gart); + } else + *pci_gart = cpu_to_le32(page_base); + pci_gart++; page_base += ATI_PCIGART_PAGE_SIZE; } } ==== //depot/projects/netsmp/src/sys/dev/drm/drmP.h#2 (text+ko) ==== @@ -29,7 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/drmP.h,v 1.13 2005/04/16 03:44:43 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drmP.h,v 1.14 2005/07/20 21:10:57 anholt Exp $ */ #ifndef _DRM_P_H_ @@ -252,6 +252,15 @@ extern struct cfdriver drm_cd; #endif /* !__FreeBSD__ */ +/* Capabilities taken from src/sys/dev/pci/pcireg.h. */ +#ifndef PCIY_AGP +#define PCIY_AGP 0x02 +#endif + +#ifndef PCIY_EXPRESS +#define PCIY_EXPRESS 0x10 +#endif + typedef unsigned long dma_addr_t; typedef u_int32_t u32; typedef u_int16_t u16; @@ -821,8 +830,9 @@ int drm_vblank_wait(drm_device_t *dev, unsigned int *vbl_seq); void drm_vbl_send_signals(drm_device_t *dev); -/* AGP/GART support (drm_agpsupport.c) */ +/* AGP/PCI Express/GART support (drm_agpsupport.c) */ int drm_device_is_agp(drm_device_t *dev); +int drm_device_is_pcie(drm_device_t *dev); drm_agp_head_t *drm_agp_init(void); void drm_agp_uninit(void); void drm_agp_do_release(void); @@ -842,7 +852,7 @@ /* ATI PCIGART support (ati_pcigart.c) */ int drm_ati_pcigart_init(drm_device_t *dev, unsigned long *addr, - dma_addr_t *bus_addr); + dma_addr_t *bus_addr, int is_pcie); int drm_ati_pcigart_cleanup(drm_device_t *dev, unsigned long addr, dma_addr_t bus_addr); ==== //depot/projects/netsmp/src/sys/dev/drm/drm_agpsupport.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/drm_agpsupport.c,v 1.1 2005/04/16 03:44:43 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drm_agpsupport.c,v 1.2 2005/07/20 21:10:57 anholt Exp $ */ #include "dev/drm/drmP.h" @@ -39,8 +39,8 @@ #include #endif -int -drm_device_is_agp(drm_device_t *dev) +static int +drm_device_find_capability(drm_device_t *dev, int cap) { #ifdef __FreeBSD__ /* Code taken from agp.c. IWBNI that was a public interface. */ @@ -64,9 +64,9 @@ next = AGP_CAPID_GET_NEXT_PTR(capid); /* - * If this capability entry ID is 2, then we are done. + * If this capability entry ID is cap, then we are done. */ - if (AGP_CAPID_GET_CAP_ID(capid) == 2) + if (AGP_CAPID_GET_CAP_ID(capid) == cap) return 1; } @@ -77,6 +77,18 @@ #endif } +int +drm_device_is_agp(drm_device_t *dev) +{ + return (drm_device_find_capability(dev, PCIY_AGP)); +} + +int +drm_device_is_pcie(drm_device_t *dev) +{ + return (drm_device_find_capability(dev, PCIY_EXPRESS)); +} + int drm_agp_info(DRM_IOCTL_ARGS) { DRM_DEVICE; ==== //depot/projects/netsmp/src/sys/dev/drm/drm_pciids.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/sys/dev/drm/drm_pciids.h,v 1.2 2005/04/16 03:44:44 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drm_pciids.h,v 1.3 2005/07/20 21:10:57 anholt Exp $ */ /* @@ -29,6 +29,8 @@ {0x1002, 0x4965, CHIP_R250, "ATI Radeon Ie R250 9000"}, \ {0x1002, 0x4966, CHIP_R250, "ATI Radeon If R250 9000"}, \ {0x1002, 0x4967, CHIP_R250, "ATI Radeon Ig R250 9000"}, \ + {0x1002, 0x4A49, CHIP_R420, "ATI Radeon JI R420 X800PRO"}, \ + {0x1002, 0x4A4B, CHIP_R420, "ATI Radeon JK R420 X800 XT"}, \ {0x1002, 0x4C57, CHIP_RV200|CHIP_IS_MOBILITY, "ATI Radeon LW RV200 Mobility 7500 M7"}, \ {0x1002, 0x4C58, CHIP_RV200|CHIP_IS_MOBILITY, "ATI Radeon LX RV200 Mobility FireGL 7800 M7"}, \ {0x1002, 0x4C59, CHIP_RV100|CHIP_IS_MOBILITY, "ATI Radeon LY RV100 Mobility M6"}, \ @@ -37,7 +39,17 @@ {0x1002, 0x4C65, CHIP_R250|CHIP_IS_MOBILITY, "ATI Radeon Le R250 Mobility 9000 M9"}, \ {0x1002, 0x4C66, CHIP_R250|CHIP_IS_MOBILITY, "ATI Radeon Lf R250 Mobility 9000 M9"}, \ {0x1002, 0x4C67, CHIP_R250|CHIP_IS_MOBILITY, "ATI Radeon Lg R250 Mobility 9000 M9"}, \ + {0x1002, 0x4E44, CHIP_R300, "ATI Radeon ND R300 9700 Pro"}, \ + {0x1002, 0x4E45, CHIP_R300, "ATI Radeon NE R300 9500 Pro"}, \ + {0x1002, 0x4E46, CHIP_RV350, "ATI Radeon NF RV350 9600"}, \ + {0x1002, 0x4E47, CHIP_R300, "ATI Radeon NG R300 FireGL X1"}, \ + {0x1002, 0x4E48, CHIP_R350, "ATI Radeon NH R350 9800 Pro"}, \ + {0x1002, 0x4E49, CHIP_R350, "ATI Radeon NI R350 9800"}, \ + {0x1002, 0x4E4A, CHIP_RV350, "ATI Radeon NJ RV350 9800 XT"}, \ + {0x1002, 0x4E4B, CHIP_R350, "ATI Radeon NK R350 FireGL X2"}, \ {0x1002, 0x4E50, CHIP_RV350|CHIP_IS_MOBILITY, "ATI Radeon RV300 Mobility 9600 M10"}, \ + {0x1002, 0x4E51, CHIP_RV350|CHIP_IS_MOBILITY, "ATI Radeon RV350 Mobility 9600 M10 NQ"}, \ + {0x1002, 0x4E54, CHIP_RV350|CHIP_IS_MOBILITY, "ATI Radeon FireGL T2 128"}, \ {0x1002, 0x5144, CHIP_R100|CHIP_SINGLE_CRTC, "ATI Radeon QD R100"}, \ {0x1002, 0x5145, CHIP_R100|CHIP_SINGLE_CRTC, "ATI Radeon QE R100"}, \ {0x1002, 0x5146, CHIP_R100|CHIP_SINGLE_CRTC, "ATI Radeon QF R100"}, \ @@ -59,6 +71,7 @@ {0x1002, 0x516A, CHIP_R200, "ATI Radeon Qj R200"}, \ {0x1002, 0x516B, CHIP_R200, "ATI Radeon Qk R200"}, \ {0x1002, 0x516C, CHIP_R200, "ATI Radeon Ql R200"}, \ + {0x1002, 0x5460, CHIP_RV350, "ATI Radeon X300"}, \ {0x1002, 0x5834, CHIP_RS300|CHIP_IS_IGP, "ATI Radeon RS300 IGP"}, \ {0x1002, 0x5835, CHIP_RS300|CHIP_IS_IGP|CHIP_IS_MOBILITY, "ATI Radeon RS300 Mobility IGP"}, \ {0x1002, 0x5836, CHIP_RS300|CHIP_IS_IGP, "ATI Radeon RS300 IGP"}, \ ==== //depot/projects/netsmp/src/sys/dev/drm/r128_cce.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ * Authors: * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/r128_cce.c,v 1.12 2005/04/16 03:44:44 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/r128_cce.c,v 1.13 2005/07/20 21:10:57 anholt Exp $ */ #include "dev/drm/drmP.h" @@ -559,7 +559,7 @@ if (dev_priv->is_pci) { #endif if (!drm_ati_pcigart_init(dev, &dev_priv->phys_pci_gart, - &dev_priv->bus_pci_gart)) { + &dev_priv->bus_pci_gart, 0)) { DRM_ERROR("failed to init PCI GART!\n"); dev->dev_private = (void *)dev_priv; r128_do_cleanup_cce(dev); ==== //depot/projects/netsmp/src/sys/dev/drm/radeon_cp.c#2 (text+ko) ==== @@ -27,13 +27,14 @@ * Kevin E. Martin * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/radeon_cp.c,v 1.15 2005/06/28 21:38:08 anholt Exp $ >>> TRUNCATED FOR MAIL (1000 lines) <<<