From owner-p4-projects@FreeBSD.ORG Fri Aug 22 20:51:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3375B1065671; Fri, 22 Aug 2008 20:51:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EAC18106564A for ; Fri, 22 Aug 2008 20:51:54 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D8A978FC13 for ; Fri, 22 Aug 2008 20:51:54 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m7MKpsJR031340 for ; Fri, 22 Aug 2008 20:51:54 GMT (envelope-from marius@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m7MKpr0h031338 for perforce@freebsd.org; Fri, 22 Aug 2008 20:51:53 GMT (envelope-from marius@freebsd.org) Date: Fri, 22 Aug 2008 20:51:53 GMT Message-Id: <200808222051.m7MKpr0h031338@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marius@freebsd.org using -f From: Marius Strobl To: Perforce Change Reviews Cc: Subject: PERFORCE change 148135 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: Fri, 22 Aug 2008 20:51:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=148135 Change 148135 by marius@flak on 2008/08/22 20:51:40 IFC @148131 in order to get a fix for the witness(4) crash. Affected files ... .. //depot/projects/usiii/Makefile#5 integrate .. //depot/projects/usiii/amd64/amd64/bpf_jit_machdep.c#3 integrate .. //depot/projects/usiii/amd64/amd64/bpf_jit_machdep.h#3 integrate .. //depot/projects/usiii/amd64/amd64/dump_machdep.c#4 integrate .. //depot/projects/usiii/amd64/amd64/exception.S#4 integrate .. //depot/projects/usiii/amd64/amd64/minidump_machdep.c#5 integrate .. //depot/projects/usiii/amd64/conf/GENERIC#12 integrate .. //depot/projects/usiii/amd64/include/pci_cfgreg.h#3 integrate .. //depot/projects/usiii/amd64/include/pcpu.h#3 integrate .. //depot/projects/usiii/amd64/pci/pci_cfgreg.c#3 integrate .. //depot/projects/usiii/arm/arm/dump_machdep.c#3 integrate .. //depot/projects/usiii/arm/at91/at91.c#4 integrate .. //depot/projects/usiii/arm/at91/at91_pio.c#2 integrate .. //depot/projects/usiii/arm/at91/at91_piovar.h#2 integrate .. //depot/projects/usiii/arm/at91/at91_pmc.c#4 integrate .. //depot/projects/usiii/arm/include/pcpu.h#2 integrate .. //depot/projects/usiii/boot/sparc64/loader/main.c#4 integrate .. //depot/projects/usiii/bsm/audit_kevents.h#3 integrate .. //depot/projects/usiii/cam/scsi/scsi_all.c#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#3 integrate .. //depot/projects/usiii/compat/freebsd32/freebsd32_proto.h#8 integrate .. //depot/projects/usiii/compat/freebsd32/freebsd32_syscall.h#8 integrate .. //depot/projects/usiii/compat/freebsd32/freebsd32_syscalls.c#8 integrate .. //depot/projects/usiii/compat/freebsd32/freebsd32_sysent.c#8 integrate .. //depot/projects/usiii/compat/freebsd32/syscalls.master#8 integrate .. //depot/projects/usiii/compat/linprocfs/linprocfs.c#5 integrate .. //depot/projects/usiii/compat/linux/linux_ioctl.c#4 integrate .. //depot/projects/usiii/compat/linux/linux_misc.c#8 integrate .. //depot/projects/usiii/compat/linux/linux_socket.c#2 integrate .. //depot/projects/usiii/compat/linux/linux_stats.c#6 integrate .. //depot/projects/usiii/compat/svr4/svr4_sockio.c#2 integrate .. //depot/projects/usiii/compat/svr4/svr4_stat.c#3 integrate .. //depot/projects/usiii/conf/NOTES#13 integrate .. //depot/projects/usiii/conf/files#14 integrate .. //depot/projects/usiii/conf/files.i386#8 integrate .. //depot/projects/usiii/conf/options#13 integrate .. //depot/projects/usiii/conf/options.i386#5 integrate .. //depot/projects/usiii/conf/options.sparc64#3 integrate .. //depot/projects/usiii/contrib/altq/altq/altq_subr.c#2 integrate .. //depot/projects/usiii/contrib/ipfilter/netinet/fil.c#3 integrate .. //depot/projects/usiii/contrib/ipfilter/netinet/ip_fil_freebsd.c#4 integrate .. //depot/projects/usiii/contrib/pf/net/pf.c#6 integrate .. //depot/projects/usiii/contrib/pf/net/pf_if.c#4 integrate .. //depot/projects/usiii/contrib/pf/net/pf_ioctl.c#6 integrate .. //depot/projects/usiii/contrib/pf/net/pf_subr.c#2 integrate .. //depot/projects/usiii/contrib/rdma/rdma_cma.c#2 integrate .. //depot/projects/usiii/ddb/db_output.c#3 integrate .. //depot/projects/usiii/ddb/db_textdump.c#2 integrate .. //depot/projects/usiii/dev/acpi_support/acpi_asus.c#4 integrate .. //depot/projects/usiii/dev/acpica/acpi.c#8 integrate .. //depot/projects/usiii/dev/age/if_age.c#3 integrate .. //depot/projects/usiii/dev/ata/ata-all.c#6 integrate .. //depot/projects/usiii/dev/ata/ata-all.h#5 integrate .. //depot/projects/usiii/dev/ata/ata-chipset.c#9 integrate .. //depot/projects/usiii/dev/bfe/if_bfe.c#6 integrate .. //depot/projects/usiii/dev/bfe/if_bfereg.h#4 integrate .. //depot/projects/usiii/dev/cxgb/ulp/tom/cxgb_cpl_io.c#7 integrate .. //depot/projects/usiii/dev/dcons/dcons.h#2 integrate .. //depot/projects/usiii/dev/dcons/dcons_os.c#4 integrate .. //depot/projects/usiii/dev/firewire/firewire.c#4 integrate .. //depot/projects/usiii/dev/mxge/if_mxge_var.h#5 integrate .. //depot/projects/usiii/dev/nmdm/nmdm.c#3 integrate .. //depot/projects/usiii/dev/ofw/ofw_console.c#5 integrate .. //depot/projects/usiii/dev/pci/pci_pci.c#4 integrate .. //depot/projects/usiii/dev/pci/pcib_private.h#3 integrate .. //depot/projects/usiii/dev/pci/pcireg.h#3 integrate .. //depot/projects/usiii/dev/pcn/if_pcn.c#1 branch .. //depot/projects/usiii/dev/pcn/if_pcnreg.h#1 branch .. //depot/projects/usiii/dev/ppbus/if_plip.c#2 integrate .. //depot/projects/usiii/dev/ppbus/ppbconf.c#3 integrate .. //depot/projects/usiii/dev/ppc/ppc.c#2 integrate .. //depot/projects/usiii/dev/ppc/ppc_acpi.c#2 integrate .. //depot/projects/usiii/dev/ppc/ppc_isa.c#2 integrate .. //depot/projects/usiii/dev/ppc/ppcreg.h#2 integrate .. //depot/projects/usiii/dev/puc/pucdata.c#5 integrate .. //depot/projects/usiii/dev/snp/snp.c#5 integrate .. //depot/projects/usiii/dev/sound/midi/sequencer.c#4 integrate .. //depot/projects/usiii/dev/sound/pcm/sound.h#2 integrate .. //depot/projects/usiii/dev/ste/if_ste.c#1 branch .. //depot/projects/usiii/dev/ste/if_stereg.h#1 branch .. //depot/projects/usiii/dev/syscons/daemon/daemon_saver.c#4 integrate .. //depot/projects/usiii/dev/syscons/schistory.c#2 integrate .. //depot/projects/usiii/dev/syscons/scmouse.c#2 integrate .. //depot/projects/usiii/dev/syscons/scterm-sc.c#2 integrate .. //depot/projects/usiii/dev/syscons/scvesactl.c#2 integrate .. //depot/projects/usiii/dev/syscons/scvidctl.c#3 integrate .. //depot/projects/usiii/dev/syscons/syscons.c#6 integrate .. //depot/projects/usiii/dev/syscons/syscons.h#5 integrate .. //depot/projects/usiii/dev/syscons/sysmouse.c#3 integrate .. //depot/projects/usiii/dev/tl/if_tl.c#1 branch .. //depot/projects/usiii/dev/tl/if_tlreg.h#1 branch .. //depot/projects/usiii/dev/uart/uart_core.c#4 integrate .. //depot/projects/usiii/dev/uart/uart_tty.c#2 integrate .. //depot/projects/usiii/dev/usb/ehci.c#8 integrate .. //depot/projects/usiii/dev/usb/ehcireg.h#3 integrate .. //depot/projects/usiii/dev/usb/ehcivar.h#3 integrate .. //depot/projects/usiii/dev/usb/hid.c#2 integrate .. //depot/projects/usiii/dev/usb/if_rum.c#12 integrate .. //depot/projects/usiii/dev/usb/ubsa.c#5 integrate .. //depot/projects/usiii/dev/usb/ucom.c#4 integrate .. //depot/projects/usiii/dev/usb/ucomvar.h#3 integrate .. //depot/projects/usiii/dev/usb/ufoma.c#2 integrate .. //depot/projects/usiii/dev/usb/uftdi.c#3 integrate .. //depot/projects/usiii/dev/usb/umass.c#6 integrate .. //depot/projects/usiii/dev/usb/umodem.c#2 integrate .. //depot/projects/usiii/dev/usb/ums.c#5 integrate .. //depot/projects/usiii/dev/usb/usb.h#2 integrate .. //depot/projects/usiii/dev/usb/usbdevs#13 integrate .. //depot/projects/usiii/dev/wb/if_wb.c#1 branch .. //depot/projects/usiii/dev/wb/if_wbreg.h#1 branch .. //depot/projects/usiii/dev/xen/blkfront/blkfront.c#2 integrate .. //depot/projects/usiii/dev/xen/console/console.c#2 integrate .. //depot/projects/usiii/dev/xen/console/xencons_ring.c#2 integrate .. //depot/projects/usiii/dev/xen/netfront/netfront.c#2 integrate .. //depot/projects/usiii/fs/cd9660/cd9660_rrip.c#3 integrate .. //depot/projects/usiii/fs/devfs/devfs_vnops.c#8 integrate .. //depot/projects/usiii/geom/vinum/geom_vinum_drive.c#5 integrate .. //depot/projects/usiii/i386/conf/DEFAULTS#4 integrate .. //depot/projects/usiii/i386/conf/GENERIC#12 integrate .. //depot/projects/usiii/i386/conf/XBOX#4 integrate .. //depot/projects/usiii/i386/conf/XEN#1 branch .. //depot/projects/usiii/i386/i386/bpf_jit_machdep.c#3 integrate .. //depot/projects/usiii/i386/i386/bpf_jit_machdep.h#3 integrate .. //depot/projects/usiii/i386/i386/busdma_machdep.c#6 integrate .. //depot/projects/usiii/i386/i386/dump_machdep.c#4 integrate .. //depot/projects/usiii/i386/i386/genassym.c#5 integrate .. //depot/projects/usiii/i386/i386/machdep.c#7 integrate .. //depot/projects/usiii/i386/i386/minidump_machdep.c#4 integrate .. //depot/projects/usiii/i386/i386/support.s#3 integrate .. //depot/projects/usiii/i386/i386/swtch.s#2 integrate .. //depot/projects/usiii/i386/i386/sys_machdep.c#3 integrate .. //depot/projects/usiii/i386/i386/trap.c#7 integrate .. //depot/projects/usiii/i386/i386/vm_machdep.c#5 integrate .. //depot/projects/usiii/i386/ibcs2/ibcs2_ioctl.c#2 integrate .. //depot/projects/usiii/i386/ibcs2/ibcs2_socksys.c#3 integrate .. //depot/projects/usiii/i386/include/asmacros.h#2 integrate .. //depot/projects/usiii/i386/include/cpufunc.h#4 integrate .. //depot/projects/usiii/i386/include/pci_cfgreg.h#2 integrate .. //depot/projects/usiii/i386/include/pcpu.h#3 integrate .. //depot/projects/usiii/i386/include/pmap.h#6 integrate .. //depot/projects/usiii/i386/include/segments.h#2 integrate .. //depot/projects/usiii/i386/include/trap.h#2 integrate .. //depot/projects/usiii/i386/include/vmparam.h#5 integrate .. //depot/projects/usiii/i386/include/xen/xen-os.h#2 integrate .. //depot/projects/usiii/i386/include/xen/xenfunc.h#2 integrate .. //depot/projects/usiii/i386/include/xen/xenpmap.h#2 integrate .. //depot/projects/usiii/i386/include/xen/xenvar.h#2 integrate .. //depot/projects/usiii/i386/isa/npx.c#2 integrate .. //depot/projects/usiii/i386/pci/pci_cfgreg.c#3 integrate .. //depot/projects/usiii/i386/pci/pci_pir.c#3 integrate .. //depot/projects/usiii/i386/xen/clock.c#2 integrate .. //depot/projects/usiii/i386/xen/exception.s#2 integrate .. //depot/projects/usiii/i386/xen/locore.s#2 integrate .. //depot/projects/usiii/i386/xen/pmap.c#2 integrate .. //depot/projects/usiii/i386/xen/xen_machdep.c#2 integrate .. //depot/projects/usiii/ia64/conf/GENERIC#8 integrate .. //depot/projects/usiii/ia64/conf/SKI#3 integrate .. //depot/projects/usiii/ia64/ia64/dump_machdep.c#3 integrate .. //depot/projects/usiii/ia64/ia64/ssc.c#2 integrate .. //depot/projects/usiii/ia64/include/pcpu.h#2 integrate .. //depot/projects/usiii/kern/init_main.c#7 integrate .. //depot/projects/usiii/kern/init_sysent.c#8 integrate .. //depot/projects/usiii/kern/kern_acct.c#5 integrate .. //depot/projects/usiii/kern/kern_conf.c#6 integrate .. //depot/projects/usiii/kern/kern_descrip.c#11 integrate .. //depot/projects/usiii/kern/kern_exit.c#7 integrate .. //depot/projects/usiii/kern/kern_jail.c#6 integrate .. //depot/projects/usiii/kern/kern_lock.c#8 integrate .. //depot/projects/usiii/kern/kern_mib.c#6 integrate .. //depot/projects/usiii/kern/kern_poll.c#4 integrate .. //depot/projects/usiii/kern/kern_proc.c#9 integrate .. //depot/projects/usiii/kern/kern_resource.c#5 integrate .. //depot/projects/usiii/kern/kern_synch.c#8 integrate .. //depot/projects/usiii/kern/kern_thread.c#9 integrate .. //depot/projects/usiii/kern/kern_uuid.c#2 integrate .. //depot/projects/usiii/kern/kern_xxx.c#3 integrate .. //depot/projects/usiii/kern/subr_prf.c#2 integrate .. //depot/projects/usiii/kern/syscalls.c#8 integrate .. //depot/projects/usiii/kern/syscalls.master#9 integrate .. //depot/projects/usiii/kern/systrace_args.c#8 integrate .. //depot/projects/usiii/kern/tty.c#6 integrate .. //depot/projects/usiii/kern/tty_compat.c#2 integrate .. //depot/projects/usiii/kern/tty_conf.c#2 delete .. //depot/projects/usiii/kern/tty_cons.c#5 integrate .. //depot/projects/usiii/kern/tty_info.c#2 integrate .. //depot/projects/usiii/kern/tty_inq.c#1 branch .. //depot/projects/usiii/kern/tty_outq.c#1 branch .. //depot/projects/usiii/kern/tty_pts.c#4 integrate .. //depot/projects/usiii/kern/tty_pty.c#6 integrate .. //depot/projects/usiii/kern/tty_ttydisc.c#1 branch .. //depot/projects/usiii/kern/vfs_bio.c#9 integrate .. //depot/projects/usiii/kern/vfs_cache.c#8 integrate .. //depot/projects/usiii/libkern/strcspn.c#1 branch .. //depot/projects/usiii/mips/include/pcpu.h#2 integrate .. //depot/projects/usiii/modules/nmdm/Makefile#2 integrate .. //depot/projects/usiii/modules/pcn/Makefile#2 integrate .. //depot/projects/usiii/modules/rc/Makefile#2 integrate .. //depot/projects/usiii/modules/ste/Makefile#2 integrate .. //depot/projects/usiii/modules/tl/Makefile#2 integrate .. //depot/projects/usiii/modules/wb/Makefile#2 integrate .. //depot/projects/usiii/net/bpf_jitter.c#2 integrate .. //depot/projects/usiii/net/bpf_jitter.h#2 integrate .. //depot/projects/usiii/net/bridgestp.c#3 integrate .. //depot/projects/usiii/net/if.c#8 integrate .. //depot/projects/usiii/net/if_bridge.c#6 integrate .. //depot/projects/usiii/net/if_ef.c#3 integrate .. //depot/projects/usiii/net/if_ethersubr.c#8 integrate .. //depot/projects/usiii/net/if_faith.c#2 integrate .. //depot/projects/usiii/net/if_gif.c#5 integrate .. //depot/projects/usiii/net/if_loop.c#6 integrate .. //depot/projects/usiii/net/if_mib.c#2 integrate .. //depot/projects/usiii/net/if_spppsubr.c#2 integrate .. //depot/projects/usiii/net/if_stf.c#5 integrate .. //depot/projects/usiii/net/if_var.h#6 integrate .. //depot/projects/usiii/net/if_vlan.c#4 integrate .. //depot/projects/usiii/net/raw_cb.c#4 integrate .. //depot/projects/usiii/net/raw_usrreq.c#3 integrate .. //depot/projects/usiii/net/route.c#8 integrate .. //depot/projects/usiii/net/rtsock.c#6 integrate .. //depot/projects/usiii/netgraph/atm/ng_atm.c#2 integrate .. //depot/projects/usiii/netgraph/ng_base.c#10 integrate .. //depot/projects/usiii/netgraph/ng_bridge.c#2 integrate .. //depot/projects/usiii/netgraph/ng_eiface.c#2 integrate .. //depot/projects/usiii/netgraph/ng_ether.c#2 integrate .. //depot/projects/usiii/netgraph/ng_gif.c#2 integrate .. //depot/projects/usiii/netgraph/ng_iface.c#4 integrate .. //depot/projects/usiii/netgraph/ng_source.c#2 integrate .. //depot/projects/usiii/netinet/if_ether.c#6 integrate .. //depot/projects/usiii/netinet/igmp.c#3 integrate .. //depot/projects/usiii/netinet/in.c#5 integrate .. //depot/projects/usiii/netinet/in_gif.c#5 integrate .. //depot/projects/usiii/netinet/in_mcast.c#4 integrate .. //depot/projects/usiii/netinet/in_pcb.c#9 integrate .. //depot/projects/usiii/netinet/in_rmx.c#5 integrate .. //depot/projects/usiii/netinet/in_var.h#3 integrate .. //depot/projects/usiii/netinet/ip6.h#2 integrate .. //depot/projects/usiii/netinet/ip_carp.c#5 integrate .. //depot/projects/usiii/netinet/ip_divert.c#5 integrate .. //depot/projects/usiii/netinet/ip_fastfwd.c#4 integrate .. //depot/projects/usiii/netinet/ip_fw2.c#11 integrate .. //depot/projects/usiii/netinet/ip_fw_nat.c#4 integrate .. //depot/projects/usiii/netinet/ip_fw_pfil.c#4 integrate .. //depot/projects/usiii/netinet/ip_icmp.c#5 integrate .. //depot/projects/usiii/netinet/ip_input.c#6 integrate .. //depot/projects/usiii/netinet/ip_ipsec.c#4 integrate .. //depot/projects/usiii/netinet/ip_mroute.c#4 integrate .. //depot/projects/usiii/netinet/ip_options.c#6 integrate .. //depot/projects/usiii/netinet/ip_output.c#7 integrate .. //depot/projects/usiii/netinet/ip_var.h#3 integrate .. //depot/projects/usiii/netinet/raw_ip.c#6 integrate .. //depot/projects/usiii/netinet/sctp_os_bsd.h#5 integrate .. //depot/projects/usiii/netinet/sctp_pcb.c#9 integrate .. //depot/projects/usiii/netinet/tcp_hostcache.c#3 integrate .. //depot/projects/usiii/netinet/tcp_input.c#9 integrate .. //depot/projects/usiii/netinet/tcp_offload.c#3 integrate .. //depot/projects/usiii/netinet/tcp_output.c#7 integrate .. //depot/projects/usiii/netinet/tcp_reass.c#4 integrate .. //depot/projects/usiii/netinet/tcp_sack.c#3 integrate .. //depot/projects/usiii/netinet/tcp_subr.c#9 integrate .. //depot/projects/usiii/netinet/tcp_syncache.c#7 integrate .. //depot/projects/usiii/netinet/tcp_timer.c#7 integrate .. //depot/projects/usiii/netinet/tcp_timewait.c#4 integrate .. //depot/projects/usiii/netinet/tcp_usrreq.c#9 integrate .. //depot/projects/usiii/netinet/udp_usrreq.c#7 integrate .. //depot/projects/usiii/netinet6/dest6.c#3 integrate .. //depot/projects/usiii/netinet6/frag6.c#4 integrate .. //depot/projects/usiii/netinet6/icmp6.c#5 integrate .. //depot/projects/usiii/netinet6/in6.c#6 integrate .. //depot/projects/usiii/netinet6/in6_gif.c#3 integrate .. //depot/projects/usiii/netinet6/in6_ifattach.c#5 integrate .. //depot/projects/usiii/netinet6/in6_pcb.c#6 integrate .. //depot/projects/usiii/netinet6/in6_proto.c#4 integrate .. //depot/projects/usiii/netinet6/in6_rmx.c#5 integrate .. //depot/projects/usiii/netinet6/in6_src.c#6 integrate .. //depot/projects/usiii/netinet6/ip6_forward.c#4 integrate .. //depot/projects/usiii/netinet6/ip6_input.c#5 integrate .. //depot/projects/usiii/netinet6/ip6_ipsec.c#5 integrate .. //depot/projects/usiii/netinet6/ip6_mroute.c#3 integrate .. //depot/projects/usiii/netinet6/ip6_output.c#6 integrate .. //depot/projects/usiii/netinet6/ip6_var.h#5 integrate .. //depot/projects/usiii/netinet6/mld6.c#3 integrate .. //depot/projects/usiii/netinet6/nd6.c#4 integrate .. //depot/projects/usiii/netinet6/nd6.h#3 integrate .. //depot/projects/usiii/netinet6/nd6_nbr.c#4 integrate .. //depot/projects/usiii/netinet6/nd6_rtr.c#4 integrate .. //depot/projects/usiii/netinet6/raw_ip6.c#5 integrate .. //depot/projects/usiii/netinet6/route6.c#3 integrate .. //depot/projects/usiii/netinet6/scope6.c#3 integrate .. //depot/projects/usiii/netinet6/udp6_usrreq.c#7 integrate .. //depot/projects/usiii/netipsec/ipsec.c#7 integrate .. //depot/projects/usiii/netipsec/ipsec.h#5 integrate .. //depot/projects/usiii/netipsec/ipsec_input.c#6 integrate .. //depot/projects/usiii/netipsec/ipsec_mbuf.c#2 integrate .. //depot/projects/usiii/netipsec/ipsec_output.c#6 integrate .. //depot/projects/usiii/netipsec/key.c#5 integrate .. //depot/projects/usiii/netipsec/key_debug.h#2 integrate .. //depot/projects/usiii/netipsec/keysock.c#4 integrate .. //depot/projects/usiii/netipsec/xform_ah.c#3 integrate .. //depot/projects/usiii/netipsec/xform_esp.c#3 integrate .. //depot/projects/usiii/netipsec/xform_ipcomp.c#3 integrate .. //depot/projects/usiii/netipsec/xform_ipip.c#4 integrate .. //depot/projects/usiii/nfsclient/bootp_subr.c#4 integrate .. //depot/projects/usiii/nfsclient/nfs_diskless.c#4 integrate .. //depot/projects/usiii/nfsclient/nfs_vfsops.c#10 integrate .. //depot/projects/usiii/nfsclient/nfs_vnops.c#7 integrate .. //depot/projects/usiii/pc98/cbus/scterm-sck.c#2 integrate .. //depot/projects/usiii/pc98/conf/GENERIC#11 integrate .. //depot/projects/usiii/pc98/conf/NOTES#4 integrate .. //depot/projects/usiii/pci/if_pcn.c#2 delete .. //depot/projects/usiii/pci/if_pcnreg.h#2 delete .. //depot/projects/usiii/pci/if_ste.c#3 delete .. //depot/projects/usiii/pci/if_stereg.h#2 delete .. //depot/projects/usiii/pci/if_tl.c#2 delete .. //depot/projects/usiii/pci/if_tlreg.h#2 delete .. //depot/projects/usiii/pci/if_wb.c#4 delete .. //depot/projects/usiii/pci/if_wbreg.h#2 delete .. //depot/projects/usiii/powerpc/conf/GENERIC#9 integrate .. //depot/projects/usiii/powerpc/include/pcpu.h#4 integrate .. //depot/projects/usiii/rpc/authunix_prot.c#3 integrate .. //depot/projects/usiii/rpc/rpcclnt.c#4 integrate .. //depot/projects/usiii/sparc64/conf/GENERIC#11 integrate .. //depot/projects/usiii/sparc64/include/pcpu.h#4 integrate .. //depot/projects/usiii/sparc64/pci/ofw_pci.h#4 integrate .. //depot/projects/usiii/sparc64/pci/ofw_pcibus.c#9 integrate .. //depot/projects/usiii/sparc64/pci/psycho.c#12 integrate .. //depot/projects/usiii/sparc64/sparc64/dump_machdep.c#3 integrate .. //depot/projects/usiii/sparc64/sparc64/exception.S#6 integrate .. //depot/projects/usiii/sparc64/sparc64/locore.S#4 integrate .. //depot/projects/usiii/sparc64/sparc64/mp_machdep.c#7 integrate .. //depot/projects/usiii/sparc64/sparc64/stack_machdep.c#2 integrate .. //depot/projects/usiii/sun4v/conf/GENERIC#7 integrate .. //depot/projects/usiii/sun4v/include/pcpu.h#3 integrate .. //depot/projects/usiii/sun4v/sun4v/dump_machdep.c#3 integrate .. //depot/projects/usiii/sun4v/sun4v/hvcons.c#4 integrate .. //depot/projects/usiii/sys/conf.h#7 integrate .. //depot/projects/usiii/sys/copyright.h#3 integrate .. //depot/projects/usiii/sys/file.h#5 integrate .. //depot/projects/usiii/sys/kernel.h#7 integrate .. //depot/projects/usiii/sys/libkern.h#3 integrate .. //depot/projects/usiii/sys/linedisc.h#2 delete .. //depot/projects/usiii/sys/param.h#12 integrate .. //depot/projects/usiii/sys/pcpu.h#5 integrate .. //depot/projects/usiii/sys/proc.h#12 integrate .. //depot/projects/usiii/sys/resource.h#3 integrate .. //depot/projects/usiii/sys/resourcevar.h#3 integrate .. //depot/projects/usiii/sys/syscall.h#8 integrate .. //depot/projects/usiii/sys/syscall.mk#8 integrate .. //depot/projects/usiii/sys/sysctl.h#6 integrate .. //depot/projects/usiii/sys/sysproto.h#8 integrate .. //depot/projects/usiii/sys/termios.h#4 integrate .. //depot/projects/usiii/sys/tty.h#4 integrate .. //depot/projects/usiii/sys/ttycom.h#4 integrate .. //depot/projects/usiii/sys/ttydefaults.h#3 integrate .. //depot/projects/usiii/sys/ttydevsw.h#1 branch .. //depot/projects/usiii/sys/ttydisc.h#1 branch .. //depot/projects/usiii/sys/ttyqueue.h#1 branch .. //depot/projects/usiii/sys/types.h#4 integrate .. //depot/projects/usiii/sys/user.h#8 integrate .. //depot/projects/usiii/sys/vimage.h#1 branch .. //depot/projects/usiii/vm/vm_meter.c#4 integrate .. //depot/projects/usiii/vm/vm_page.c#9 integrate .. //depot/projects/usiii/xen/evtchn/evtchn.c#2 integrate .. //depot/projects/usiii/xen/evtchn/evtchn_dev.c#2 integrate .. //depot/projects/usiii/xen/features.c#1 branch .. //depot/projects/usiii/xen/gnttab.c#2 integrate .. //depot/projects/usiii/xen/xenbus/xenbus_client.c#2 integrate .. //depot/projects/usiii/xen/xenbus/xenbus_comms.c#2 integrate .. //depot/projects/usiii/xen/xenbus/xenbus_comms.h#2 integrate .. //depot/projects/usiii/xen/xenbus/xenbus_dev.c#2 integrate .. //depot/projects/usiii/xen/xenbus/xenbus_probe.c#2 integrate .. //depot/projects/usiii/xen/xenbus/xenbus_probe_backend.c#2 integrate .. //depot/projects/usiii/xen/xenbus/xenbus_xs.c#2 integrate Differences ... ==== //depot/projects/usiii/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.52 2008/08/08 18:00:33 philip Exp $ +# $FreeBSD: src/sys/Makefile,v 1.53 2008/08/15 14:11:30 philip Exp $ .include @@ -46,6 +46,10 @@ # You need the textproc/glimpse ports for this. glimpse: +.if !exists(${.CURDIR}/.glimpse_exclude) + echo .svn > ${.CURDIR}/.glimpse_exclude + echo /compile/ >> ${.CURDIR}/.glimpse_exclude +.endif cd ${.CURDIR}; glimpseindex -H . -B -f -o . glimpse-clean: ==== //depot/projects/usiii/amd64/amd64/bpf_jit_machdep.c#3 (text+ko) ==== @@ -30,18 +30,22 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.10 2008/08/13 19:52:00 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.12 2008/08/18 19:14:26 jkim Exp $"); +#ifdef _KERNEL #include "opt_bpf.h" - #include #include #include -#include #include #include +#include +#else +#include +#endif + +#include -#include #include #include @@ -53,7 +57,7 @@ * emit routine to update the jump table */ static void -emit_length(bpf_bin_stream *stream, u_int value, u_int len) +emit_length(bpf_bin_stream *stream, __unused u_int value, u_int len) { (stream->refs)[stream->bpf_pc] += len; @@ -108,8 +112,12 @@ return (NULL); /* Allocate the reference table for the jumps */ +#ifdef _KERNEL stream.refs = (u_int *)malloc((nins + 1) * sizeof(u_int), M_BPFJIT, M_NOWAIT); +#else + stream.refs = (u_int *)malloc((nins + 1) * sizeof(u_int)); +#endif if (stream.refs == NULL) return (NULL); @@ -141,7 +149,11 @@ switch (ins->code) { default: +#ifdef _KERNEL return (NULL); +#else + abort(); +#endif case BPF_RET|BPF_K: MOVid(ins->k, EAX); @@ -155,11 +167,13 @@ break; case BPF_LD|BPF_W|BPF_ABS: - MOVid(ins->k, ECX); - MOVrd(ECX, ESI); - ADDib(sizeof(int32_t), ECX); - CMPrd(EDI, ECX); - JBEb(6); + MOVid(ins->k, ESI); + CMPrd(EDI, ESI); + JAb(12); + MOVrd(EDI, ECX); + SUBrd(ESI, ECX); + CMPid(sizeof(int32_t), ECX); + JAEb(6); ZEROrd(EAX); MOVrq3(R8, RBX); RET(); @@ -169,11 +183,13 @@ case BPF_LD|BPF_H|BPF_ABS: ZEROrd(EAX); - MOVid(ins->k, ECX); - MOVrd(ECX, ESI); - ADDib(sizeof(int16_t), ECX); - CMPrd(EDI, ECX); - JBEb(4); + MOVid(ins->k, ESI); + CMPrd(EDI, ESI); + JAb(12); + MOVrd(EDI, ECX); + SUBrd(ESI, ECX); + CMPid(sizeof(int16_t), ECX); + JAEb(4); MOVrq3(R8, RBX); RET(); MOVobw(RBX, RSI, AX); @@ -182,12 +198,12 @@ case BPF_LD|BPF_B|BPF_ABS: ZEROrd(EAX); - MOVid(ins->k, ECX); - CMPrd(EDI, ECX); - JBEb(4); + MOVid(ins->k, ESI); + CMPrd(EDI, ESI); + JBb(4); MOVrq3(R8, RBX); RET(); - MOVobb(RBX, RCX, AL); + MOVobb(RBX, RSI, AL); break; case BPF_LD|BPF_W|BPF_LEN: @@ -199,12 +215,18 @@ break; case BPF_LD|BPF_W|BPF_IND: - MOVid(ins->k, ECX); - ADDrd(EDX, ECX); - MOVrd(ECX, ESI); - ADDib(sizeof(int32_t), ECX); - CMPrd(EDI, ECX); - JBEb(6); + CMPrd(EDI, EDX); + JAb(27); + MOVid(ins->k, ESI); + MOVrd(EDI, ECX); + SUBrd(EDX, ECX); + CMPrd(ESI, ECX); + JBb(14); + ADDrd(EDX, ESI); + MOVrd(EDI, ECX); + SUBrd(ESI, ECX); + CMPid(sizeof(int32_t), ECX); + JAEb(6); ZEROrd(EAX); MOVrq3(R8, RBX); RET(); @@ -214,12 +236,18 @@ case BPF_LD|BPF_H|BPF_IND: ZEROrd(EAX); - MOVid(ins->k, ECX); - ADDrd(EDX, ECX); - MOVrd(ECX, ESI); - ADDib(sizeof(int16_t), ECX); - CMPrd(EDI, ECX); - JBEb(4); + CMPrd(EDI, EDX); + JAb(27); + MOVid(ins->k, ESI); + MOVrd(EDI, ECX); + SUBrd(EDX, ECX); + CMPrd(ESI, ECX); + JBb(14); + ADDrd(EDX, ESI); + MOVrd(EDI, ECX); + SUBrd(ESI, ECX); + CMPid(sizeof(int16_t), ECX); + JAEb(4); MOVrq3(R8, RBX); RET(); MOVobw(RBX, RSI, AX); @@ -228,24 +256,28 @@ case BPF_LD|BPF_B|BPF_IND: ZEROrd(EAX); - MOVid(ins->k, ECX); - ADDrd(EDX, ECX); - CMPrd(EDI, ECX); - JBEb(4); + CMPrd(EDI, EDX); + JAEb(13); + MOVid(ins->k, ESI); + MOVrd(EDI, ECX); + SUBrd(EDX, ECX); + CMPrd(ESI, ECX); + JAb(4); MOVrq3(R8, RBX); RET(); - MOVobb(RBX, RCX, AL); + ADDrd(EDX, ESI); + MOVobb(RBX, RSI, AL); break; case BPF_LDX|BPF_MSH|BPF_B: - MOVid(ins->k, ECX); - CMPrd(EDI, ECX); - JBEb(6); + MOVid(ins->k, ESI); + CMPrd(EDI, ESI); + JBb(6); ZEROrd(EAX); MOVrq3(R8, RBX); RET(); ZEROrd(EDX); - MOVobb(RBX, RCX, DL); + MOVobb(RBX, RSI, DL); ANDib(0x0f, DL); SHLib(2, EDX); break; @@ -450,11 +482,19 @@ if (pass == 2) break; +#ifdef _KERNEL stream.ibuf = (char *)malloc(stream.cur_ip, M_BPFJIT, M_NOWAIT); if (stream.ibuf == NULL) { free(stream.refs, M_BPFJIT); return (NULL); } +#else + stream.ibuf = (char *)malloc(stream.cur_ip); + if (stream.ibuf == NULL) { + free(stream.refs); + return (NULL); + } +#endif /* * modify the reference table to contain the offsets and @@ -475,7 +515,11 @@ * the reference table is needed only during compilation, * now we can free it */ +#ifdef _KERNEL free(stream.refs, M_BPFJIT); +#else + free(stream.refs); +#endif return ((bpf_filter_func)stream.ibuf); } ==== //depot/projects/usiii/amd64/amd64/bpf_jit_machdep.h#3 (text+ko) ==== @@ -28,7 +28,7 @@ * (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/amd64/bpf_jit_machdep.h,v 1.8 2008/08/13 19:25:09 jkim Exp $ + * $FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.h,v 1.9 2008/08/18 19:14:26 jkim Exp $ */ #ifndef _BPF_JIT_MACHDEP_H_ @@ -381,15 +381,27 @@ } \ } while (0) +/* jb off8 */ +#define JBb(off8) do { \ + emitm(&stream, 0x72, 1); \ + emitm(&stream, off8, 1); \ +} while (0) + +/* jae off8 */ +#define JAEb(off8) do { \ + emitm(&stream, 0x73, 1); \ + emitm(&stream, off8, 1); \ +} while (0) + /* jne off8 */ #define JNEb(off8) do { \ emitm(&stream, 0x75, 1); \ emitm(&stream, off8, 1); \ } while (0) -/* jbe off8 */ -#define JBEb(off8) do { \ - emitm(&stream, 0x76, 1); \ +/* ja off8 */ +#define JAb(off8) do { \ + emitm(&stream, 0x77, 1); \ emitm(&stream, off8, 1); \ } while (0) ==== //depot/projects/usiii/amd64/amd64/dump_machdep.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.14 2008/02/15 06:26:25 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.15 2008/08/17 23:27:27 bz Exp $"); #include #include @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -118,7 +119,7 @@ kdh->dumplength = htod64(dumplen); kdh->dumptime = htod64(time_second); kdh->blocksize = htod32(blksz); - strncpy(kdh->hostname, hostname, sizeof(kdh->hostname)); + strncpy(kdh->hostname, G_hostname, sizeof(kdh->hostname)); strncpy(kdh->versionstring, version, sizeof(kdh->versionstring)); if (panicstr != NULL) strncpy(kdh->panicstring, panicstr, sizeof(kdh->panicstring)); ==== //depot/projects/usiii/amd64/amd64/exception.S#4 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.132 2008/05/24 06:32:26 jb Exp $ + * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.133 2008/08/18 08:47:27 kib Exp $ */ #include "opt_atpic.h" @@ -636,13 +636,10 @@ .globl doreti_iret_fault doreti_iret_fault: subq $TF_RIP,%rsp /* space including tf_err, tf_trapno */ - testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ - jz 1f /* already running with kernel GS.base */ - swapgs -1: testl $PSL_I,TF_RFLAGS(%rsp) - jz 2f + testl $PSL_I,TF_RFLAGS(%rsp) + jz 1f sti -2: movq %rdi,TF_RDI(%rsp) +1: movq %rdi,TF_RDI(%rsp) movq %rsi,TF_RSI(%rsp) movq %rdx,TF_RDX(%rsp) movq %rcx,TF_RCX(%rsp) ==== //depot/projects/usiii/amd64/amd64/minidump_machdep.c#5 (text) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.6 2008/07/08 04:00:22 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.7 2008/08/17 23:27:27 bz Exp $"); #include #include @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -94,7 +95,7 @@ kdh->dumplength = htod64(dumplen); kdh->dumptime = htod64(time_second); kdh->blocksize = htod32(blksz); - strncpy(kdh->hostname, hostname, sizeof(kdh->hostname)); + strncpy(kdh->hostname, G_hostname, sizeof(kdh->hostname)); strncpy(kdh->versionstring, version, sizeof(kdh->versionstring)); if (panicstr != NULL) strncpy(kdh->panicstring, panicstr, sizeof(kdh->panicstring)); ==== //depot/projects/usiii/amd64/conf/GENERIC#12 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.506 2008/08/03 10:32:17 ed Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.507 2008/08/20 08:31:58 ed Exp $ cpu HAMMER ident GENERIC @@ -257,7 +257,7 @@ device random # Entropy device device ether # Ethernet support device tun # Packet tunnel. -device pty # Pseudo-ttys (telnet etc) +device pty # BSD-style compatibility pseudo ttys device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) ==== //depot/projects/usiii/amd64/include/pci_cfgreg.h#3 (text+ko) ==== @@ -23,7 +23,7 @@ * (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/pci_cfgreg.h,v 1.14 2007/11/28 22:20:07 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/pci_cfgreg.h,v 1.15 2008/08/22 02:14:23 jhb Exp $ * */ @@ -37,6 +37,7 @@ #define CONF1_ENABLE_MSK1 0x80000001ul #define CONF1_ENABLE_RES1 0x80000000ul +int pcie_cfgregopen(uint64_t base, uint8_t minbus, uint8_t maxbus); int pci_cfgregopen(void); u_int32_t pci_cfgregread(int bus, int slot, int func, int reg, int bytes); void pci_cfgregwrite(int bus, int slot, int func, int reg, u_int32_t data, int bytes); ==== //depot/projects/usiii/amd64/include/pcpu.h#3 (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/pcpu.h,v 1.49 2008/04/25 05:18:48 jeff Exp $ + * $FreeBSD: src/sys/amd64/include/pcpu.h,v 1.50 2008/08/19 19:53:52 jhb Exp $ */ #ifndef _MACHINE_PCPU_H_ @@ -33,8 +33,6 @@ #error "sys/cdefs.h is a prerequisite for this file" #endif -#ifdef _KERNEL - /* * The SMP parts are setup in pmap.c and locore.s for the BSP, and * mp_machdep.c sets up the data for the AP's to "see" when they awake. @@ -52,6 +50,8 @@ u_int pc_apic_id; \ u_int pc_acpi_id /* ACPI CPU id */ +#ifdef _KERNEL + #ifdef lint extern struct pcpu *pcpup; ==== //depot/projects/usiii/amd64/pci/pci_cfgreg.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_cfgreg.c,v 1.110 2007/11/28 22:20:08 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_cfgreg.c,v 1.111 2008/08/22 02:14:23 jhb Exp $"); #include #include @@ -36,11 +36,26 @@ #include #include #include +#include +#include #include +enum { + CFGMECH_NONE = 0, + CFGMECH_1, + CFGMECH_PCIE, +}; + +static int pciereg_cfgread(int bus, unsigned slot, unsigned func, + unsigned reg, unsigned bytes); +static void pciereg_cfgwrite(int bus, unsigned slot, unsigned func, + unsigned reg, int data, unsigned bytes); static int pcireg_cfgread(int bus, int slot, int func, int reg, int bytes); static void pcireg_cfgwrite(int bus, int slot, int func, int reg, int data, int bytes); +static int cfgmech; +static vm_offset_t pcie_base; +static int pcie_minbus, pcie_maxbus; static struct mtx pcicfg_mtx; /* @@ -49,12 +64,42 @@ int pci_cfgregopen(void) { - static int opened = 0; + uint64_t pciebar; + uint16_t did, vid; - if (opened) + if (cfgmech != CFGMECH_NONE) return (1); mtx_init(&pcicfg_mtx, "pcicfg", NULL, MTX_SPIN); - opened = 1; + cfgmech = CFGMECH_1; + + /* + * Grope around in the PCI config space to see if this is a + * chipset that is capable of doing memory-mapped config cycles. + * This also implies that it can do PCIe extended config cycles. + */ + + /* Check for supported chipsets */ + vid = pci_cfgregread(0, 0, 0, PCIR_VENDOR, 2); + did = pci_cfgregread(0, 0, 0, PCIR_DEVICE, 2); + switch (vid) { + case 0x8086: + switch (did) { + case 0x3590: + case 0x3592: + /* Intel 7520 or 7320 */ + pciebar = pci_cfgregread(0, 0, 0, 0xce, 2) << 16; + pcie_cfgregopen(pciebar, 0, 255); + break; + case 0x2580: + case 0x2584: + case 0x2590: + /* Intel 915, 925, or 915GM */ + pciebar = pci_cfgregread(0, 0, 0, 0x48, 4); + pcie_cfgregopen(pciebar, 0, 255); + break; + } + } + return (1); } @@ -130,6 +175,11 @@ int data = -1; int port; + if (cfgmech == CFGMECH_PCIE) { + data = pciereg_cfgread(bus, slot, func, reg, bytes); + return (data); + } + mtx_lock_spin(&pcicfg_mtx); port = pci_cfgenable(bus, slot, func, reg, bytes); if (port != 0) { @@ -155,6 +205,11 @@ { int port; + if (cfgmech == CFGMECH_PCIE) { + pciereg_cfgwrite(bus, slot, func, reg, data, bytes); + return; + } + mtx_lock_spin(&pcicfg_mtx); port = pci_cfgenable(bus, slot, func, reg, bytes); if (port != 0) { @@ -173,3 +228,82 @@ } mtx_unlock_spin(&pcicfg_mtx); } + +int +pcie_cfgregopen(uint64_t base, uint8_t minbus, uint8_t maxbus) +{ + + if (minbus != 0) + return (0); + + if (bootverbose) + printf("PCIe: Memory Mapped configuration base @ 0x%lx\n", + base); + + /* XXX: We should make sure this really fits into the direct map. */ + pcie_base = (vm_offset_t)pmap_mapdev(base, (maxbus + 1) << 20); + pcie_minbus = minbus; + pcie_maxbus = maxbus; + cfgmech = CFGMECH_PCIE; + return (1); +} + +#define PCIE_VADDR(base, reg, bus, slot, func) \ + ((base) + \ + ((((bus) & 0xff) << 20) | \ + (((slot) & 0x1f) << 15) | \ + (((func) & 0x7) << 12) | \ + ((reg) & 0xfff))) + +static int +pciereg_cfgread(int bus, unsigned slot, unsigned func, unsigned reg, + unsigned bytes) +{ + volatile vm_offset_t va; + int data = -1; + + if (bus < pcie_minbus || bus > pcie_maxbus || slot >= 32 || + func > PCI_FUNCMAX || reg >= 0x1000) + return (-1); + + va = PCIE_VADDR(pcie_base, reg, bus, slot, func); + + switch (bytes) { + case 4: + data = *(volatile uint32_t *)(va); + break; + case 2: + data = *(volatile uint16_t *)(va); + break; >>> TRUNCATED FOR MAIL (1000 lines) <<<