Date: Sat, 10 May 2008 12:22:22 GMT From: Diego Giagio <diego@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 141416 for review Message-ID: <200805101222.m4ACMMuu023944@repoman.freebsd.org>
index | next in thread | raw e-mail
http://perforce.freebsd.org/chv.cgi?CH=141416 Change 141416 by diego@diego_black on 2008/05/10 12:22:11 IFC Affected files ... .. //depot/projects/soc2008/diego-audit/src/sys/amd64/amd64/pmap.c#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/amd64/conf/GENERIC#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/arm/arm/pmap.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/arm/at91/uart_dev_at91usart.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/conf/NOTES#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/conf/files#4 integrate .. //depot/projects/soc2008/diego-audit/src/sys/conf/options#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/contrib/pf/net/pf.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/core_priv.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_addr.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_cache.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_cm.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_fmr_pool.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_mad.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_marshall.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_pack.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_sa.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_smi.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_umem.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_user_cm.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_user_mad.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_user_sa.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_user_verbs.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/ib_verbs.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/iw_cm.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/krping/getopt.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/krping/getopt.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/krping/krping.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/krping/krping.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/krping/krping_dev.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/rdma_addr.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/rdma_cache.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/rdma_cm.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/rdma_cm_ib.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/rdma_cma.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/rdma_device.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/rdma_iwcm.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/rdma_user_cm.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/rdma_verbs.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/contrib/rdma/types.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/ata/ata-disk.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/ata/ata-lowlevel.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/ata/atapi-cd.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/ata/atapi-fd.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/ata/atapi-tape.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/ath/if_ath.c#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/ath/if_athvar.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/bce/if_bce.c#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/bge/if_bge.c#4 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/bge/if_bgereg.h#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/cxgb_config.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/cxgb_offload.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/t3cdev.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cq.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_dbg.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ev.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_mem.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_user.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_wr.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/dcons/dcons_os.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/firewire/fwohci.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/mpt/mpt.h#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/mpt/mpt_pci.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/mpt/mpt_user.c#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/dev/ofw/ofw_console.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/sio/sio.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/uart/uart_core.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/usb/uipaq.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/soc2008/diego-audit/src/sys/fs/devfs/devfs_vnops.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/fs/unionfs/union_subr.c#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/i386/conf/GENERIC#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/i386/i386/pmap.c#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/ia64/ia64/pmap.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/init_sysent.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/kern_cpu.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/kern_event.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/kern_lockf.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/subr_blist.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/subr_kdb.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/subr_param.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/subr_witness.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/sys_socket.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/syscalls.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/syscalls.master#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/systrace_args.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/uipc_socket.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/vfs_export.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/mips/include/cp0.h#2 delete .. //depot/projects/soc2008/diego-audit/src/sys/mips/include/float.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/mips/mips/mips_subr.c#2 delete .. //depot/projects/soc2008/diego-audit/src/sys/mips/mips/pmap.c#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/modules/Makefile#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/modules/cxgb/Makefile#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/modules/cxgb/iw_cxgb/Makefile#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/modules/esp/Makefile#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/modules/hfa/Makefile#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/modules/hme/Makefile#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/modules/isp/Makefile#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/modules/ispfw/Makefile#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/modules/le/Makefile#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/modules/mpt/Makefile#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/modules/rdma/Makefile#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/modules/rdma/addr/Makefile#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/modules/rdma/cma/Makefile#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/modules/rdma/core/Makefile#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/modules/rdma/iwcm/Makefile#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/modules/rdma/krping/Makefile#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/modules/scc/Makefile#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/modules/sound/driver/Makefile#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/modules/wlan/Makefile#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/bpf.c#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/if.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/if_atmsubr.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/if_fwsubr.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/if_gif.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/if_gif.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/if_gre.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/if_gre.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/if_iso88025subr.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/if_loop.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/if_stf.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/if_var.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/radix_mpath.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/radix_mpath.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/route.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/route.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/net/rtsock.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netatalk/at_extern.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netatalk/at_proto.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netgraph/netflow/netflow.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/if_atm.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/if_ether.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/in_gif.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/in_mcast.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/in_pcb.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/in_pcb.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/in_rmx.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/in_var.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/ip_fastfwd.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/ip_fw.h#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/ip_fw2.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/ip_icmp.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/ip_input.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/ip_mroute.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/ip_mroute.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/ip_options.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/ip_output.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/ip_var.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/raw_ip.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/sctp_os_bsd.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/tcp.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/tcp_input.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/tcp_subr.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/tcp_syncache.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet/tcp_usrreq.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet6/in6.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet6/in6_ifattach.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet6/in6_rmx.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netinet6/nd6_rtr.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/netipx/ipx_proto.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/nfs4client/nfs4_vfsops.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/nfsclient/bootp_subr.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/nfsclient/nfs_vfsops.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/pc98/cbus/sio.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/pc98/conf/GENERIC#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/powerpc/powerpc/pmap_dispatch.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit.h#4 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sparc64/conf/GENERIC#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sparc64/include/bus.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sparc64/include/bus_common.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sparc64/include/iommuvar.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sparc64/pci/psycho.c#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sparc64/sbus/sbus.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sparc64/sparc64/bus_machdep.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sparc64/sparc64/counter.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sparc64/sparc64/iommu.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sparc64/sparc64/pmap.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sparc64/sparc64/upa.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sun4v/sun4v/hvcons.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sys/blist.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sys/domain.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sys/kdb.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sys/mbuf.h#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sys/mpt_ioctl.h#1 branch .. //depot/projects/soc2008/diego-audit/src/sys/sys/param.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sys/proc.h#3 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sys/socket.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sys/socketvar.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sys/syscall.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sys/syscall.mk#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/sys/sysproto.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/vm/pmap.h#2 integrate .. //depot/projects/soc2008/diego-audit/src/sys/vm/swap_pager.c#2 integrate Differences ... ==== //depot/projects/soc2008/diego-audit/src/sys/amd64/amd64/pmap.c#3 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.615 2008/04/25 16:00:39 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.616 2008/05/09 16:48:06 alc Exp $"); /* * Manages physical address maps. @@ -4469,3 +4469,26 @@ addr = (addr + (NBPDR - 1)) & ~(NBPDR - 1); return addr; } + +/* + * Increase the starting virtual address of the given mapping if a + * different alignment might result in more superpage mappings. + */ +void +pmap_align_superpage(vm_object_t object, vm_ooffset_t offset, + vm_offset_t *addr, vm_size_t size) +{ + vm_offset_t superpage_offset; + + if (object != NULL && (object->flags & OBJ_COLORED) != 0) + offset += ptoa(object->pg_color); + superpage_offset = offset & PDRMASK; + if (size < superpage_offset || + size - superpage_offset < NBPDR || + (*addr & PDRMASK) == superpage_offset) + return; + if ((*addr & PDRMASK) < superpage_offset) + *addr = (*addr & ~PDRMASK) + superpage_offset; + else + *addr = ((*addr + PDRMASK) & ~PDRMASK) + superpage_offset; +} ==== //depot/projects/soc2008/diego-audit/src/sys/amd64/conf/GENERIC#2 (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.497 2008/04/20 20:35:34 sam Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.498 2008/05/03 17:05:38 sam Exp $ cpu HAMMER ident GENERIC @@ -235,6 +235,8 @@ # Wireless NIC cards device wlan # 802.11 support +options IEEE80211_DEBUG # enable debug msgs +options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's device wlan_wep # 802.11 WEP support device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support ==== //depot/projects/soc2008/diego-audit/src/sys/arm/arm/pmap.c#2 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.99 2008/03/06 21:59:47 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.100 2008/05/09 23:31:41 alc Exp $"); #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> @@ -4355,6 +4355,16 @@ return(addr); } +/* + * Increase the starting virtual address of the given mapping if a + * different alignment might result in more superpage mappings. + */ +void +pmap_align_superpage(vm_object_t object, vm_ooffset_t offset, + vm_offset_t *addr, vm_size_t size) +{ +} + /* * Map a set of physical memory pages into the kernel virtual ==== //depot/projects/soc2008/diego-audit/src/sys/arm/at91/uart_dev_at91usart.c#2 (text) ==== @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.13 2007/12/25 17:51:55 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.14 2008/05/04 23:29:37 peter Exp $"); #include "opt_comconsole.h" @@ -506,9 +506,20 @@ at91_rx_put(struct uart_softc *sc, int key) { #if defined(KDB) && defined(ALT_BREAK_TO_DEBUGGER) + int kdb_brk; + if (sc->sc_sysdev != NULL && sc->sc_sysdev->type == UART_DEV_CONSOLE) { - if (kdb_alt_break(key, &sc->sc_altbrk)) - kdb_enter(KDB_WHY_BREAK, "Break sequence to console"); + if ((kdb_brk = kdb_alt_break(key, &sc->sc_altbrk)) != 0) { + case KDB_REQ_DEBUGGER: + kdb_enter(KDB_WHY_BREAK, "Break sequence on console"); + break; + case KDB_REQ_PANIC: + kdb_panic("Panic sequence on console"); + break; + case KDB_REQ_REBOOT: + kdb_reboot(); + break; + } } #endif uart_rx_put(sc, key); ==== //depot/projects/soc2008/diego-audit/src/sys/conf/NOTES#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1482 2008/04/29 21:23:21 julian Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1485 2008/05/09 23:02:55 julian Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -509,6 +509,8 @@ options INET #Internet communications protocols options INET6 #IPv6 communications protocols +options ROUTETABLES=2 # max 16. 1 is back compatible. + # In order to enable IPSEC you MUST also add device crypto to # your kernel configuration options IPSEC #IP security (requires device crypto) @@ -762,6 +764,8 @@ device ether #Generic Ethernet device vlan #VLAN support (needs miibus) device wlan #802.11 support +options IEEE80211_DEBUG #enable debugging msgs +options IEEE80211_AMPDU_AGE #age frames in AMPDU reorder q's device wlan_wep #802.11 WEP support device wlan_ccmp #802.11 CCMP support device wlan_tkip #802.11 TKIP support @@ -868,7 +872,7 @@ # The MBUF_STRESS_TEST option enables options which create # various random failures / extreme cases related to mbuf # functions. See mbuf(9) for a list of available test cases. -# MBUF_PROFILING enables code to profile teh mbif chains +# MBUF_PROFILING enables code to profile the mbuf chains # exiting the system (via participating interfaces) and # return a logarithmic histogram of monitored parameters # (e.g. packet size, wasted space, number of mbufs in chain). ==== //depot/projects/soc2008/diego-audit/src/sys/conf/files#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1296 2008/04/29 21:36:16 sam Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1297 2008/05/06 20:49:52 jhb Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -931,6 +931,7 @@ dev/mpt/mpt_debug.c optional mpt dev/mpt/mpt_pci.c optional mpt pci dev/mpt/mpt_raid.c optional mpt +dev/mpt/mpt_user.c optional mpt dev/msk/if_msk.c optional msk dev/mxge/if_mxge.c optional mxge pci dev/mxge/mxge_lro.c optional mxge pci ==== //depot/projects/soc2008/diego-audit/src/sys/conf/options#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.627 2008/04/29 21:23:21 julian Exp $ +# $FreeBSD: src/sys/conf/options,v 1.628 2008/05/09 23:02:55 julian Exp $ # # On the handling of kernel options # @@ -364,6 +364,7 @@ ETHER_8023 opt_ef.h ETHER_8022 opt_ef.h ETHER_SNAP opt_ef.h +ROUTETABLES opt_route.h MROUTING opt_mrouting.h INET opt_inet.h INET6 opt_inet6.h ==== //depot/projects/soc2008/diego-audit/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c,v 1.9 2007/11/26 08:18:19 darrenr Exp $ */ +/* $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c,v 1.10 2008/05/09 23:02:55 julian Exp $ */ /* * Copyright (C) 1993-2003 by Darren Reed. @@ -970,7 +970,7 @@ dst->sin_addr = fdp->fd_ip; dst->sin_len = sizeof(*dst); - rtalloc(ro); + in_rtalloc(ro, 0); if ((ifp == NULL) && (ro->ro_rt != NULL)) ifp = ro->ro_rt->rt_ifp; @@ -1158,7 +1158,7 @@ dst->sin_len = sizeof(*dst); dst->sin_family = AF_INET; dst->sin_addr = fin->fin_src; - rtalloc(&iproute); + in_rtalloc(&iproute, 0); if (iproute.ro_rt == NULL) return 0; return (fin->fin_ifp == iproute.ro_rt->rt_ifp); ==== //depot/projects/soc2008/diego-audit/src/sys/contrib/pf/net/pf.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ #include "opt_inet6.h" #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.53 2008/04/20 00:21:54 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.54 2008/05/09 23:02:55 julian Exp $"); #endif #ifdef __FreeBSD__ @@ -1839,7 +1839,14 @@ pf_mtag->tag = rtag; if (r != NULL && r->rtableid >= 0) +#ifdef __FreeBSD__ + { + M_SETFIB(m, r->rtableid); +#endif pf_mtag->rtableid = r->rtableid; +#ifdef __FreeBSD__ + } +#endif #ifdef ALTQ if (r != NULL && r->qid) { pf_mtag->qid = r->qid; @@ -2004,7 +2011,14 @@ #endif if (r->rtableid >= 0) +#ifdef __FreeBSD__ + { + M_SETFIB(m0, r->rtableid); +#endif pf_mtag->rtableid = r->rtableid; +#ifdef __FreeBSD__ + } +#endif #ifdef ALTQ if (r->qid) { @@ -2195,7 +2209,14 @@ if (tag > 0) pf_mtag->tag = tag; if (rtableid >= 0) +#ifdef __FreeBSD__ + { + M_SETFIB(m, rtableid); +#endif pf_mtag->rtableid = rtableid; +#ifdef __FreeBSD__ + } +#endif return (0); } @@ -3141,7 +3162,7 @@ #ifdef RTF_PRCLONING rtalloc_ign(&ro, (RTF_CLONING | RTF_PRCLONING)); #else /* !RTF_PRCLONING */ - rtalloc_ign(&ro, RTF_CLONING); + in_rtalloc_ign(&ro, RTF_CLONING, 0); #endif #else /* ! __FreeBSD__ */ rtalloc_noclone(&ro, NO_CLONING); @@ -5946,7 +5967,11 @@ goto out; #ifdef __FreeBSD__ - rtalloc_ign((struct route *)&ro, RTF_CLONING); +/* XXX MRT not always INET */ /* stick with table 0 though */ + if (af == AF_INET) + in_rtalloc_ign((struct route *)&ro, RTF_CLONING, 0); + else + rtalloc_ign((struct route *)&ro, RTF_CLONING); #else /* ! __FreeBSD__ */ rtalloc_noclone((struct route *)&ro, NO_CLONING); #endif @@ -6025,7 +6050,10 @@ # ifdef RTF_PRCLONING rtalloc_ign((struct route *)&ro, (RTF_CLONING|RTF_PRCLONING)); # else /* !RTF_PRCLONING */ - rtalloc_ign((struct route *)&ro, RTF_CLONING); + if (af == AF_INET) + in_rtalloc_ign((struct route *)&ro, RTF_CLONING, 0); + else + rtalloc_ign((struct route *)&ro, RTF_CLONING); # endif #else /* ! __FreeBSD__ */ rtalloc_noclone((struct route *)&ro, NO_CLONING); @@ -6105,7 +6133,7 @@ dst->sin_addr = ip->ip_dst; if (r->rt == PF_FASTROUTE) { - rtalloc(ro); + in_rtalloc(ro, 0); if (ro->ro_rt == 0) { ipstat.ips_noroute++; goto bad; ==== //depot/projects/soc2008/diego-audit/src/sys/contrib/pf/net/pf_ioctl.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ #include "opt_inet6.h" #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.31 2008/03/29 00:24:36 mlaier Exp $"); +__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.32 2008/05/09 23:02:55 julian Exp $"); #endif #ifdef __FreeBSD__ @@ -1532,7 +1532,7 @@ } #ifdef __FreeBSD__ /* ROUTEING */ - if (rule->rtableid > 0) + if (rule->rtableid > 0 && rule->rtableid < rt_numfibs) #else if (rule->rtableid > 0 && !rtable_exists(rule->rtableid)) #endif @@ -1795,7 +1795,7 @@ if (newrule->rtableid > 0 && #ifdef __FreeBSD__ /* ROUTING */ - 1) + newrule->rtableid < rt_numfibs) #else !rtable_exists(newrule->rtableid)) #endif ==== //depot/projects/soc2008/diego-audit/src/sys/dev/ata/ata-disk.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.210 2008/04/17 12:29:35 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.211 2008/05/08 17:55:44 grehan Exp $"); #include "opt_ata.h" #include <sys/param.h> @@ -125,7 +125,7 @@ adp->disk->d_dump = ad_dump; adp->disk->d_name = "ad"; adp->disk->d_drv1 = dev; - adp->disk->d_maxsize = ch->dma.max_iosize; + adp->disk->d_maxsize = ch->dma.max_iosize ? ch->dma.max_iosize : DFLTPHYS; adp->disk->d_sectorsize = DEV_BSIZE; adp->disk->d_mediasize = DEV_BSIZE * (off_t)adp->total_secs; adp->disk->d_fwsectors = adp->sectors; ==== //depot/projects/soc2008/diego-audit/src/sys/dev/ata/ata-lowlevel.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.83 2008/04/17 12:29:35 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.84 2008/05/08 17:55:44 grehan Exp $"); #include "opt_ata.h" #include <sys/param.h> @@ -213,7 +213,9 @@ printf("ata_begin_transaction OOPS!!!\n"); begin_finished: - ch->dma.unload(request); + if (ch->dma.unload) { + ch->dma.unload(request); + } return ATA_OP_FINISHED; begin_continue: ==== //depot/projects/soc2008/diego-audit/src/sys/dev/ata/atapi-cd.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.199 2008/04/17 12:29:35 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.200 2008/05/08 17:55:44 grehan Exp $"); #include "opt_ata.h" #include <sys/param.h> @@ -906,8 +906,11 @@ { struct ata_channel *ch = device_get_softc(device_get_parent(dev)); struct acd_softc *cdp = device_get_ivars(dev); + uint32_t max_iosize; - cdp->iomax = min(ch->dma.max_iosize, 65534); + max_iosize = ch->dma.max_iosize ? ch->dma.max_iosize : DFLTPHYS; + + cdp->iomax = min(max_iosize, 65534); } static void ==== //depot/projects/soc2008/diego-audit/src/sys/dev/ata/atapi-fd.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.114 2008/04/17 12:29:35 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.115 2008/05/08 17:55:44 grehan Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -105,7 +105,7 @@ fdp->disk->d_ioctl = afd_ioctl; fdp->disk->d_name = "afd"; fdp->disk->d_drv1 = dev; - fdp->disk->d_maxsize = ch->dma.max_iosize; + fdp->disk->d_maxsize = ch->dma.max_iosize ? ch->dma.max_iosize : DFLTPHYS; fdp->disk->d_unit = device_get_unit(dev); disk_create(fdp->disk, DISK_VERSION); return 0; ==== //depot/projects/soc2008/diego-audit/src/sys/dev/ata/atapi-tape.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.107 2008/04/17 12:29:35 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.108 2008/05/08 17:55:44 grehan Exp $"); #include "opt_ata.h" #include <sys/param.h> @@ -142,7 +142,7 @@ UID_ROOT, GID_OPERATOR, 0640, "ast%d", device_get_unit(dev)); device->si_drv1 = dev; - device->si_iosize_max = ch->dma.max_iosize; + device->si_iosize_max = ch->dma.max_iosize ? ch->dma.max_iosize : DFLTPHYS; stp->dev1 = device; device = make_dev(&ast_cdevsw, 2 * device_get_unit(dev) + 1, UID_ROOT, GID_OPERATOR, 0640, "nast%d", ==== //depot/projects/soc2008/diego-audit/src/sys/dev/ath/if_ath.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.183 2008/05/01 04:54:58 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.185 2008/05/03 21:55:02 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -85,6 +85,11 @@ #endif /* + * We require a HAL w/ the changes for split tx/rx MIC. + */ +CTASSERT(HAL_ABI_VERSION > 0x06052200); + +/* * ATH_BCBUF determines the number of vap's that can transmit * beacons and also (currently) the number of vap's that can * have unique mac addresses/bssid. When staggering beacons @@ -2067,13 +2072,11 @@ printf(" %s ", sc->sc_splitmic ? "mic" : "rxmic"); for (i = 0; i < sizeof(hk->kv_mic); i++) printf("%02x", hk->kv_mic[i]); -#if HAL_ABI_VERSION > 0x06052200 if (!sc->sc_splitmic) { printf(" txmic "); for (i = 0; i < sizeof(hk->kv_txmic); i++) printf("%02x", hk->kv_txmic[i]); } -#endif } printf("\n"); } @@ -2116,18 +2119,19 @@ * will handle the rest. */ memcpy(hk->kv_mic, k->wk_rxmic, sizeof(hk->kv_mic)); -#if HAL_ABI_VERSION > 0x06052200 memcpy(hk->kv_txmic, k->wk_txmic, sizeof(hk->kv_txmic)); -#endif KEYPRINTF(sc, k->wk_keyix, hk, mac); return ath_hal_keyset(ah, k->wk_keyix, hk, mac); } } else if (k->wk_flags & IEEE80211_KEY_XMIT) { -#if HAL_ABI_VERSION > 0x06052200 - memcpy(hk->kv_txmic, k->wk_txmic, sizeof(hk->kv_txmic)); -#else - memcpy(hk->kv_mic, k->wk_mic, sizeof(hk->kv_mic)); -#endif + if (sc->sc_splitmic) { + /* + * NB: must pass MIC key in expected location when + * the keycache only holds one MIC key per entry. + */ + memcpy(hk->kv_mic, k->wk_txmic, sizeof(hk->kv_txmic)); + } else + memcpy(hk->kv_txmic, k->wk_txmic, sizeof(hk->kv_txmic)); KEYPRINTF(sc, k->wk_keyix, hk, mac); return ath_hal_keyset(ah, k->wk_keyix, hk, mac); } else if (k->wk_flags & IEEE80211_KEY_RECV) { @@ -5941,7 +5945,6 @@ struct ifnet *ifp = sc->sc_ifp; struct ieee80211com *ic = ifp->if_l2com; struct ath_hal *ah = sc->sc_ah; - u_int32_t rd, cc; int error; /* @@ -5949,19 +5952,19 @@ */ error = getchannels(sc, &ic->ic_nchans, ic->ic_channels, CTRY_DEFAULT, AH_TRUE, AH_FALSE); - (void) ath_hal_getregdomain(ah, &rd); - ath_hal_getcountrycode(ah, &cc); /* NB: cannot fail */ + (void) ath_hal_getregdomain(ah, &sc->sc_eerd); + ath_hal_getcountrycode(ah, &sc->sc_eecc); /* NB: cannot fail */ if (error) { if_printf(ifp, "%s: unable to collect channel list from hal, " "error %d\n", __func__, error); if (error == EINVAL) { if_printf(ifp, "%s: regdomain likely %u country code %u\n", - __func__, rd, cc); + __func__, sc->sc_eerd, sc->sc_eecc); } return error; } - ic->ic_regdomain.regdomain = ath_mapregdomain(sc, rd); - ic->ic_regdomain.country = cc; + ic->ic_regdomain.regdomain = ath_mapregdomain(sc, sc->sc_eerd); + ic->ic_regdomain.country = sc->sc_eecc; ic->ic_regdomain.ecm = 1; ic->ic_regdomain.location = 'I'; ic->ic_regdomain.isocc[0] = ' '; /* XXX don't know */ @@ -6585,6 +6588,12 @@ struct sysctl_oid *tree = device_get_sysctl_tree(sc->sc_dev); struct ath_hal *ah = sc->sc_ah; + SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "countrycode", CTLFLAG_RD, &sc->sc_eecc, 0, + "EEPROM country code"); + SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "regdomain", CTLFLAG_RD, &sc->sc_eerd, 0, + "EEPROM regdomain code"); #ifdef ATH_DEBUG sc->sc_debug = ath_debug; SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, ==== //depot/projects/soc2008/diego-audit/src/sys/dev/ath/if_athvar.h#2 (text+ko) ==== @@ -26,7 +26,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. * - * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.63 2008/04/20 20:35:35 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.64 2008/05/03 21:52:05 sam Exp $ */ /* @@ -246,6 +246,8 @@ sc_swbmiss : 1,/* sta mode using sw bmiss */ sc_stagbeacons:1,/* use staggered beacons */ sc_wmetkipmic:1;/* can do WME+TKIP MIC */ + uint32_t sc_eerd; /* regdomain from EEPROM */ + uint32_t sc_eecc; /* country code from EEPROM */ /* rate tables */ #define IEEE80211_MODE_HALF (IEEE80211_MODE_MAX+0) #define IEEE80211_MODE_QUARTER (IEEE80211_MODE_MAX+1) ==== //depot/projects/soc2008/diego-audit/src/sys/dev/bce/if_bce.c#3 (text) ==== @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.38 2008/04/26 14:13:48 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.39 2008/05/08 15:05:38 scottl Exp $"); /* * The following controllers are supported by this driver: @@ -776,7 +776,11 @@ ifp->if_capenable = ifp->if_capabilities; /* Use standard mbuf sizes for buffer allocation. */ +#ifdef BCE_USE_SPLIT_HEADER sc->rx_bd_mbuf_alloc_size = MHLEN; +#else + sc->rx_bd_mbuf_alloc_size = MCLBYTES;; +#endif sc->pg_bd_mbuf_alloc_size = MCLBYTES; ifp->if_snd.ifq_drv_maxlen = USABLE_TX_BD; @@ -3804,7 +3808,11 @@ goto bce_get_rx_buf_exit); /* This is a new mbuf allocation. */ +#ifdef BCE_USE_SPLIT_HEADER MGETHDR(m_new, M_DONTWAIT, MT_DATA); +#else + m_new = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR); +#endif if (m_new == NULL) { sc->mbuf_alloc_failed++; rc = ENOBUFS; ==== //depot/projects/soc2008/diego-audit/src/sys/dev/bge/if_bge.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.209 2008/05/01 13:10:03 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.210 2008/05/05 18:42:17 bz Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -2356,7 +2356,7 @@ { struct ifnet *ifp; struct bge_softc *sc; - uint32_t hwcfg = 0; + uint32_t hwcfg = 0, misccfg; u_char eaddr[ETHER_ADDR_LEN]; int error, reg, rid, trys; @@ -2446,6 +2446,16 @@ sc->bge_flags |= BGE_FLAG_BER_BUG; } + + /* + * We could possibly check for BCOM_DEVICEID_BCM5788 in bge_probe() + * but I do not know the DEVICEID for the 5788M. + */ + misccfg = CSR_READ_4(sc, BGE_MISC_CFG) & BGE_MISCCFG_BOARD_ID; + if (misccfg == BGE_MISCCFG_BOARD_ID_5788 || + misccfg == BGE_MISCCFG_BOARD_ID_5788M) + sc->bge_flags |= BGE_FLAG_5788; + /* * Check if this is a PCI-X or PCI Express device. */ @@ -3410,7 +3420,11 @@ #endif { sc->bge_link_evt++; - BGE_SETBIT(sc, BGE_MISC_LOCAL_CTL, BGE_MLC_INTR_SET); + if (sc->bge_asicrev == BGE_ASICREV_BCM5700 || + sc->bge_flags & BGE_FLAG_5788) + BGE_SETBIT(sc, BGE_MISC_LOCAL_CTL, BGE_MLC_INTR_SET); + else + BGE_SETBIT(sc, BGE_HCC_MODE, BGE_HCCMODE_COAL_NOW); } } @@ -3950,10 +3964,11 @@ * need to do this here if BGE_FLAG_TBI is set but as * we poll for fiber anyway it should not harm. */ - BGE_SETBIT(sc, BGE_MISC_LOCAL_CTL, BGE_MLC_INTR_SET); -#ifdef notyet - BGE_SETBIT(sc, BGE_HCC_MODE, BGE_HCCMODE_COAL_NOW); -#endif + if (sc->bge_asicrev == BGE_ASICREV_BCM5700 || + sc->bge_flags & BGE_FLAG_5788) + BGE_SETBIT(sc, BGE_MISC_LOCAL_CTL, BGE_MLC_INTR_SET); + else + BGE_SETBIT(sc, BGE_HCC_MODE, BGE_HCCMODE_COAL_NOW); return (0); } ==== //depot/projects/soc2008/diego-audit/src/sys/dev/bge/if_bgereg.h#3 (text+ko) ==== @@ -30,7 +30,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.78 2008/04/29 19:47:12 jhb Exp $ + * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.79 2008/05/05 18:42:17 bz Exp $ */ /* @@ -1776,6 +1776,9 @@ /* Misc. config register */ #define BGE_MISCCFG_RESET_CORE_CLOCKS 0x00000001 #define BGE_MISCCFG_TIMER_PRESCALER 0x000000FE +#define BGE_MISCCFG_BOARD_ID 0x0001E000 +#define BGE_MISCCFG_BOARD_ID_5788 0x00010000 +#define BGE_MISCCFG_BOARD_ID_5788M 0x00018000 #define BGE_MISCCFG_EPHY_IDDQ 0x00200000 #define BGE_32BITTIME_66MHZ (0x41 << 1) @@ -2546,6 +2549,7 @@ #define BGE_FLAG_ADJUST_TRIM 0x04000000 #define BGE_FLAG_CRC_BUG 0x08000000 #define BGE_FLAG_NO_EEPROM 0x10000000 +#define BGE_FLAG_5788 0x20000000 uint32_t bge_chipid; uint8_t bge_asicrev; uint8_t bge_chiprev; ==== //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/cxgb_config.h#2 (text+ko) ==== @@ -1,6 +1,6 @@ /************************************************************************** -Copyright (c) 2007, Chelsio Inc. +Copyright (c) 2007-2008, Chelsio Inc. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -26,7 +26,7 @@ POSSIBILITY OF SUCH DAMAGE. -$FreeBSD: src/sys/dev/cxgb/cxgb_config.h,v 1.6 2007/12/17 08:17:49 kmacy Exp $ +$FreeBSD: src/sys/dev/cxgb/cxgb_config.h,v 1.7 2008/05/05 01:41:53 kmacy Exp $ ***************************************************************************/ #ifndef _CXGB_CONFIG_H_ ==== //depot/projects/soc2008/diego-audit/src/sys/dev/cxgb/cxgb_main.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_main.c,v 1.54 2008/04/19 03:22:41 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_main.c,v 1.55 2008/05/05 01:41:53 kmacy Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1741,6 +1741,10 @@ adapter->port[0].ifp->if_mtu : 0xffff); init_smt(adapter); + /* Call back all registered clients */ + cxgb_add_clients(tdev); + + /* restore them in case the offload module has changed them */ if (err) { t3_tp_set_offload_mode(adapter, 0); @@ -1757,7 +1761,10 @@ if (!isset(&adapter->open_device_map, OFFLOAD_DEVMAP_BIT)) return (0); - + >>> TRUNCATED FOR MAIL (1000 lines) <<<help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805101222.m4ACMMuu023944>
