PERFORCE change 148135 for review
Marius Strobl
marius at FreeBSD.org
Fri Aug 22 20:51:55 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=148135
Change 148135 by marius at 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 <bsd.own.mk>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
-#include <sys/types.h>
#include <sys/socket.h>
#include <sys/malloc.h>
+#include <net/if.h>
+#else
+#include <stdlib.h>
+#endif
+
+#include <sys/types.h>
-#include <net/if.h>
#include <net/bpf.h>
#include <net/bpf_jitter.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
@@ -34,6 +34,7 @@
#include <sys/sysctl.h>
#include <sys/kernel.h>
#include <sys/kerneldump.h>
+#include <sys/vimage.h>
#include <vm/vm.h>
#include <vm/pmap.h>
#include <machine/elf.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
@@ -34,6 +34,7 @@
#include <sys/kernel.h>
#include <sys/kerneldump.h>
#include <sys/msgbuf.h>
+#include <sys/vimage.h>
#include <vm/vm.h>
#include <vm/pmap.h>
#include <machine/atomic.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
@@ -36,11 +36,26 @@
#include <sys/mutex.h>
#include <dev/pci/pcivar.h>
#include <dev/pci/pcireg.h>
+#include <vm/vm.h>
+#include <vm/pmap.h>
#include <machine/pci_cfgreg.h>
+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) <<<
More information about the p4-projects
mailing list