Date: Wed, 9 Jan 2008 10:44:44 GMT From: Rui Paulo <rpaulo@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 132873 for review Message-ID: <200801091044.m09Aii5u074343@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=132873 Change 132873 by rpaulo@rpaulo_alpha on 2008/01/09 10:44:22 IFC Affected files ... .. //depot/projects/tcpecn/amd64/amd64/pmap.c#4 integrate .. //depot/projects/tcpecn/amd64/conf/GENERIC#4 integrate .. //depot/projects/tcpecn/amd64/conf/NOTES#3 integrate .. //depot/projects/tcpecn/amd64/include/pmap.h#2 integrate .. //depot/projects/tcpecn/amd64/include/vmparam.h#2 integrate .. //depot/projects/tcpecn/arm/arm/pmap.c#3 integrate .. //depot/projects/tcpecn/arm/at91/if_ate.c#3 integrate .. //depot/projects/tcpecn/arm/include/vmparam.h#2 integrate .. //depot/projects/tcpecn/boot/powerpc/ofw/Makefile#2 integrate .. //depot/projects/tcpecn/cam/cam_xpt.c#3 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_sysent.c#3 integrate .. //depot/projects/tcpecn/compat/freebsd32/syscalls.master#3 integrate .. //depot/projects/tcpecn/compat/linux/linux_file.c#2 integrate .. //depot/projects/tcpecn/compat/linux/linux_stats.c#2 integrate .. //depot/projects/tcpecn/compat/svr4/svr4_stream.c#2 integrate .. //depot/projects/tcpecn/conf/NOTES#4 integrate .. //depot/projects/tcpecn/conf/files#3 integrate .. //depot/projects/tcpecn/conf/options#4 integrate .. //depot/projects/tcpecn/dev/acpica/acpi_thermal.c#3 integrate .. //depot/projects/tcpecn/dev/ata/ata-all.h#3 integrate .. //depot/projects/tcpecn/dev/ata/ata-disk.c#2 integrate .. //depot/projects/tcpecn/dev/atkbdc/atkbd.c#2 integrate .. //depot/projects/tcpecn/dev/atkbdc/atkbd_atkbdc.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_l2t.c#3 integrate .. //depot/projects/tcpecn/dev/cxgb/sys/mvec.h#3 integrate .. //depot/projects/tcpecn/dev/cxgb/sys/uipc_mvec.c#3 integrate .. //depot/projects/tcpecn/dev/ed/if_ed_pci.c#2 integrate .. //depot/projects/tcpecn/dev/ed/if_ed_rtl80x9.c#2 integrate .. //depot/projects/tcpecn/dev/fb/creator.c#2 integrate .. //depot/projects/tcpecn/dev/fb/fb.c#2 integrate .. //depot/projects/tcpecn/dev/fb/fbreg.h#2 integrate .. //depot/projects/tcpecn/dev/fb/machfb.c#2 integrate .. //depot/projects/tcpecn/dev/fb/splash_bmp.c#2 integrate .. //depot/projects/tcpecn/dev/fb/splash_pcx.c#2 integrate .. //depot/projects/tcpecn/dev/fb/vga.c#2 integrate .. //depot/projects/tcpecn/dev/gem/if_gem.c#2 integrate .. //depot/projects/tcpecn/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/tcpecn/dev/gem/if_gemreg.h#2 integrate .. //depot/projects/tcpecn/dev/gem/if_gemvar.h#2 integrate .. //depot/projects/tcpecn/dev/ichwd/ichwd.c#2 integrate .. //depot/projects/tcpecn/dev/ichwd/ichwd.h#2 integrate .. //depot/projects/tcpecn/dev/kbd/kbd.c#2 integrate .. //depot/projects/tcpecn/dev/kbd/kbdreg.h#2 integrate .. //depot/projects/tcpecn/dev/kbdmux/kbdmux.c#2 integrate .. //depot/projects/tcpecn/dev/le/am7990.c#2 integrate .. //depot/projects/tcpecn/dev/le/am79900.c#2 integrate .. //depot/projects/tcpecn/dev/pci/pci_user.c#2 integrate .. //depot/projects/tcpecn/dev/streams/streams.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/blank/blank_saver.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/daemon/daemon_saver.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/dragon/dragon_saver.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/fade/fade_saver.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/fire/fire_saver.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/green/green_saver.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/logo/logo_saver.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/rain/rain_saver.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/scgfbrndr.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/scvgarndr.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/scvidctl.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/snake/snake_saver.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/star/star_saver.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/syscons.c#3 integrate .. //depot/projects/tcpecn/dev/syscons/syscons.h#2 integrate .. //depot/projects/tcpecn/dev/syscons/warp/warp_saver.c#2 integrate .. //depot/projects/tcpecn/dev/usb/if_rum.c#2 integrate .. //depot/projects/tcpecn/dev/usb/if_zyd.c#3 integrate .. //depot/projects/tcpecn/dev/usb/ukbd.c#2 integrate .. //depot/projects/tcpecn/dev/usb/usbdevs#4 integrate .. //depot/projects/tcpecn/dev/vkbd/vkbd.c#2 integrate .. //depot/projects/tcpecn/fs/devfs/devfs_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/hpfs/hpfs_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/unionfs/union_vnops.c#2 integrate .. //depot/projects/tcpecn/i386/conf/GENERIC#4 integrate .. //depot/projects/tcpecn/i386/conf/NOTES#3 integrate .. //depot/projects/tcpecn/i386/i386/machdep.c#3 integrate .. //depot/projects/tcpecn/i386/i386/pmap.c#4 integrate .. //depot/projects/tcpecn/i386/include/pmap.h#2 integrate .. //depot/projects/tcpecn/i386/include/vmparam.h#2 integrate .. //depot/projects/tcpecn/i386/xbox/xboxfb.c#2 integrate .. //depot/projects/tcpecn/ia64/conf/GENERIC#3 integrate .. //depot/projects/tcpecn/ia64/ia64/pmap.c#2 integrate .. //depot/projects/tcpecn/ia64/include/vmparam.h#2 integrate .. //depot/projects/tcpecn/isa/vga_isa.c#2 integrate .. //depot/projects/tcpecn/kern/imgact_elf.c#3 integrate .. //depot/projects/tcpecn/kern/init_sysent.c#2 integrate .. //depot/projects/tcpecn/kern/kern_descrip.c#3 integrate .. //depot/projects/tcpecn/kern/kern_event.c#3 integrate .. //depot/projects/tcpecn/kern/kern_exec.c#3 integrate .. //depot/projects/tcpecn/kern/kern_lock.c#3 integrate .. //depot/projects/tcpecn/kern/kern_mib.c#3 integrate .. //depot/projects/tcpecn/kern/kern_proc.c#3 integrate .. //depot/projects/tcpecn/kern/kern_tc.c#2 integrate .. //depot/projects/tcpecn/kern/sched_ule.c#3 integrate .. //depot/projects/tcpecn/kern/subr_lock.c#3 integrate .. //depot/projects/tcpecn/kern/subr_smp.c#2 integrate .. //depot/projects/tcpecn/kern/sys_generic.c#3 integrate .. //depot/projects/tcpecn/kern/sys_pipe.c#3 integrate .. //depot/projects/tcpecn/kern/sys_socket.c#2 integrate .. //depot/projects/tcpecn/kern/syscalls.c#2 integrate .. //depot/projects/tcpecn/kern/syscalls.master#2 integrate .. //depot/projects/tcpecn/kern/systrace_args.c#2 integrate .. //depot/projects/tcpecn/kern/tty.c#2 integrate .. //depot/projects/tcpecn/kern/uipc_debug.c#2 integrate .. //depot/projects/tcpecn/kern/uipc_mqueue.c#2 integrate .. //depot/projects/tcpecn/kern/uipc_sem.c#2 integrate .. //depot/projects/tcpecn/kern/uipc_shm.c#1 branch .. //depot/projects/tcpecn/kern/uipc_syscalls.c#2 integrate .. //depot/projects/tcpecn/kern/uipc_usrreq.c#2 integrate .. //depot/projects/tcpecn/kern/vfs_bio.c#3 integrate .. //depot/projects/tcpecn/kern/vfs_mount.c#3 integrate .. //depot/projects/tcpecn/kern/vfs_subr.c#3 integrate .. //depot/projects/tcpecn/kern/vfs_syscalls.c#2 integrate .. //depot/projects/tcpecn/kern/vfs_vnops.c#2 integrate .. //depot/projects/tcpecn/net/ieee8023ad_lacp.c#2 integrate .. //depot/projects/tcpecn/net/ieee8023ad_lacp.h#2 integrate .. //depot/projects/tcpecn/net/if_lagg.c#4 integrate .. //depot/projects/tcpecn/net/netisr.h#2 integrate .. //depot/projects/tcpecn/net/route.c#3 integrate .. //depot/projects/tcpecn/net/route.h#3 integrate .. //depot/projects/tcpecn/netgraph/ng_pppoe.c#2 integrate .. //depot/projects/tcpecn/netgraph/ng_pppoe.h#2 integrate .. //depot/projects/tcpecn/netgraph/ng_socket.c#2 integrate .. //depot/projects/tcpecn/netinet/if_ether.c#3 integrate .. //depot/projects/tcpecn/netinet/if_ether.h#3 integrate .. //depot/projects/tcpecn/netinet6/frag6.c#3 integrate .. //depot/projects/tcpecn/netinet6/icmp6.c#3 integrate .. //depot/projects/tcpecn/netinet6/in6.c#3 integrate .. //depot/projects/tcpecn/netinet6/in6_ifattach.c#3 integrate .. //depot/projects/tcpecn/netinet6/in6_pcb.c#3 integrate .. //depot/projects/tcpecn/netinet6/in6_proto.c#3 integrate .. //depot/projects/tcpecn/netinet6/in6_rmx.c#3 integrate .. //depot/projects/tcpecn/netinet6/in6_src.c#3 integrate .. //depot/projects/tcpecn/netinet6/ip6_input.c#3 integrate .. //depot/projects/tcpecn/netinet6/ip6_mroute.c#3 integrate .. //depot/projects/tcpecn/netinet6/ip6_output.c#3 integrate .. //depot/projects/tcpecn/netinet6/mld6.c#3 integrate .. //depot/projects/tcpecn/netinet6/nd6.c#3 integrate .. //depot/projects/tcpecn/netinet6/nd6_nbr.c#3 integrate .. //depot/projects/tcpecn/netinet6/nd6_rtr.c#3 integrate .. //depot/projects/tcpecn/netinet6/raw_ip6.c#3 integrate .. //depot/projects/tcpecn/netinet6/udp6_usrreq.c#3 integrate .. //depot/projects/tcpecn/opencrypto/cryptodev.c#2 integrate .. //depot/projects/tcpecn/pc98/cbus/gdc.c#2 integrate .. //depot/projects/tcpecn/pc98/cbus/pckbd.c#2 integrate .. //depot/projects/tcpecn/pc98/cbus/scgdcrndr.c#2 integrate .. //depot/projects/tcpecn/pc98/conf/GENERIC#3 integrate .. //depot/projects/tcpecn/powerpc/conf/GENERIC#3 integrate .. //depot/projects/tcpecn/powerpc/include/vmparam.h#2 integrate .. //depot/projects/tcpecn/powerpc/powerpc/pmap_dispatch.c#2 integrate .. //depot/projects/tcpecn/security/mac/mac_framework.h#2 integrate .. //depot/projects/tcpecn/security/mac/mac_policy.h#2 integrate .. //depot/projects/tcpecn/security/mac/mac_posix_shm.c#1 branch .. //depot/projects/tcpecn/security/mac_stub/mac_stub.c#2 integrate .. //depot/projects/tcpecn/security/mac_test/mac_test.c#3 integrate .. //depot/projects/tcpecn/sparc64/conf/GENERIC#4 integrate .. //depot/projects/tcpecn/sparc64/include/vmparam.h#2 integrate .. //depot/projects/tcpecn/sparc64/sparc64/pmap.c#2 integrate .. //depot/projects/tcpecn/sparc64/sparc64/tsb.c#2 integrate .. //depot/projects/tcpecn/sun4v/include/vmparam.h#2 integrate .. //depot/projects/tcpecn/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/tcpecn/sys/copyright.h#2 integrate .. //depot/projects/tcpecn/sys/fcntl.h#2 integrate .. //depot/projects/tcpecn/sys/file.h#2 integrate .. //depot/projects/tcpecn/sys/lockmgr.h#2 integrate .. //depot/projects/tcpecn/sys/mman.h#2 integrate .. //depot/projects/tcpecn/sys/param.h#4 integrate .. //depot/projects/tcpecn/sys/syscall.h#2 integrate .. //depot/projects/tcpecn/sys/syscall.mk#2 integrate .. //depot/projects/tcpecn/sys/syscallsubr.h#2 integrate .. //depot/projects/tcpecn/sys/sysctl.h#4 integrate .. //depot/projects/tcpecn/sys/sysproto.h#2 integrate .. //depot/projects/tcpecn/sys/tree.h#2 integrate .. //depot/projects/tcpecn/sys/unpcb.h#2 integrate .. //depot/projects/tcpecn/ufs/ffs/ffs_balloc.c#2 integrate .. //depot/projects/tcpecn/ufs/ffs/ffs_vnops.c#2 integrate .. //depot/projects/tcpecn/vm/pmap.h#2 integrate .. //depot/projects/tcpecn/vm/swap_pager.c#2 integrate .. //depot/projects/tcpecn/vm/vm.h#2 integrate .. //depot/projects/tcpecn/vm/vm_fault.c#2 integrate .. //depot/projects/tcpecn/vm/vm_kern.c#2 integrate .. //depot/projects/tcpecn/vm/vm_map.c#2 integrate .. //depot/projects/tcpecn/vm/vm_mmap.c#2 integrate .. //depot/projects/tcpecn/vm/vm_object.c#2 integrate .. //depot/projects/tcpecn/vm/vm_object.h#2 integrate .. //depot/projects/tcpecn/vm/vm_page.c#3 integrate .. //depot/projects/tcpecn/vm/vm_reserv.c#1 branch .. //depot/projects/tcpecn/vm/vm_reserv.h#1 branch Differences ... ==== //depot/projects/tcpecn/amd64/amd64/pmap.c#4 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.599 2007/12/09 21:00:35 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.603 2008/01/08 08:30:30 alc Exp $"); /* * Manages physical address maps. @@ -614,7 +614,6 @@ { TAILQ_INIT(&m->md.pv_list); - m->md.pv_list_count = 0; } /* @@ -1554,7 +1553,7 @@ /* We need a new PDP entry */ nkpg = vm_page_alloc(NULL, nkpt, VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED); - if (!nkpg) + if (nkpg == NULL) panic("pmap_growkernel: no memory to grow kernel"); pmap_zero_page(nkpg); paddr = VM_PAGE_TO_PHYS(nkpg); @@ -1572,12 +1571,9 @@ continue; } - /* - * This index is bogus, but out of the way - */ - nkpg = vm_page_alloc(NULL, nkpt, + nkpg = vm_page_alloc(NULL, pmap_pde_pindex(kernel_vm_end), VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED); - if (!nkpg) + if (nkpg == NULL) panic("pmap_growkernel: no memory to grow kernel"); nkpt++; @@ -1702,7 +1698,6 @@ TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); - m->md.pv_list_count--; free_pv_entry(pmap, pv); if (pmap != locked_pmap) PMAP_UNLOCK(pmap); @@ -1850,7 +1845,6 @@ } KASSERT(pv != NULL, ("pmap_remove_entry: pv not found")); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); - m->md.pv_list_count--; if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); free_pv_entry(pmap, pv); @@ -1870,7 +1864,6 @@ pv = get_pv_entry(pmap, FALSE); pv->pv_va = va; TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); - m->md.pv_list_count++; } /* @@ -1887,7 +1880,6 @@ (pv = get_pv_entry(pmap, TRUE)) != NULL) { pv->pv_va = va; TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); - m->md.pv_list_count++; return (TRUE); } else return (FALSE); @@ -2083,15 +2075,8 @@ pd_entry_t ptepde; vm_page_t free; -#if defined(PMAP_DIAGNOSTIC) - /* - * XXX This makes pmap_remove_all() illegal for non-managed pages! - */ - if (m->flags & PG_FICTITIOUS) { - panic("pmap_remove_all: illegal for unmanaged page, va: 0x%lx", - VM_PAGE_TO_PHYS(m)); - } -#endif + KASSERT((m->flags & PG_FICTITIOUS) == 0, + ("pmap_remove_all: page %p is fictitious", m)); mtx_assert(&vm_page_queue_mtx, MA_OWNED); while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) { pmap = PV_PMAP(pv); @@ -2121,7 +2106,6 @@ pmap_invalidate_page(pmap, pv->pv_va); pmap_free_zero_pages(free); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); - m->md.pv_list_count--; free_pv_entry(pmap, pv); PMAP_UNLOCK(pmap); } @@ -2253,8 +2237,8 @@ * insert this page into the given map NOW. */ void -pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, - boolean_t wired) +pmap_enter(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t m, + vm_prot_t prot, boolean_t wired) { vm_paddr_t pa; pd_entry_t *pde; @@ -3048,7 +3032,6 @@ PV_STAT(pv_entry_spare++); pv_entry_count--; pc->pc_map[field] |= bitmask; - m->md.pv_list_count--; TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); ==== //depot/projects/tcpecn/amd64/conf/GENERIC#4 (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.490 2007/12/15 00:56:16 scottl Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.491 2008/01/07 21:40:09 jhb Exp $ cpu HAMMER ident GENERIC @@ -52,6 +52,7 @@ options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options COMPAT_FREEBSD6 # Compatible with FreeBSD6 +options COMPAT_FREEBSD7 # Compatible with FreeBSD7 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options STACK # stack(9) support ==== //depot/projects/tcpecn/amd64/conf/NOTES#3 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.73 2007/12/15 00:56:16 scottl Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.74 2007/12/28 22:50:04 rpaulo Exp $ # # @@ -411,6 +411,7 @@ # vpd: Vital Product Data kernel interface # cy: Cyclades serial driver # digi: Digiboard driver +# asmc: Apple System Management Controller # Notes on the Specialix SI/XIO driver: # The host card is memory, not IO mapped. @@ -436,7 +437,7 @@ hint.pbio.0.port="0x360" device smbios device vpd - +device asmc # # Laptop/Notebook options: # ==== //depot/projects/tcpecn/amd64/include/pmap.h#2 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.138 2006/12/05 11:31:33 ru Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.139 2008/01/06 18:51:04 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -231,7 +231,6 @@ struct pv_chunk; struct md_page { - int pv_list_count; TAILQ_HEAD(,pv_entry) pv_list; }; ==== //depot/projects/tcpecn/amd64/include/vmparam.h#2 (text+ko) ==== @@ -38,7 +38,7 @@ * SUCH DAMAGE. * * from: @(#)vmparam.h 5.9 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.49 2007/09/25 06:25:04 alc Exp $ + * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.50 2007/12/27 16:45:38 alc Exp $ */ @@ -132,6 +132,20 @@ #define VM_NFREEORDER 13 /* + * Enable superpage reservations: 1 level. + */ +#ifndef VM_NRESERVLEVEL +#define VM_NRESERVLEVEL 1 +#endif + +/* + * Level 0 reservations consist of 512 pages. + */ +#ifndef VM_LEVEL_0_ORDER +#define VM_LEVEL_0_ORDER 9 +#endif + +/* * Virtual addresses of things. Derived from the page directory and * page table indexes from pmap.h for precision. * Because of the page that is both a PD and PT, it looks a little ==== //depot/projects/tcpecn/arm/arm/pmap.c#3 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.93 2007/12/11 20:35:44 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.96 2008/01/03 07:34:33 alc Exp $"); #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> @@ -3170,11 +3170,10 @@ #if defined(PMAP_DEBUG) /* - * XXX this makes pmap_page_protect(NONE) illegal for non-managed - * pages! + * XXX This makes pmap_remove_all() illegal for non-managed pages! */ if (m->flags & PG_FICTITIOUS) { - panic("pmap_page_protect: illegal for unmanaged page, va: 0x%x", VM_PAGE_TO_PHYS(m)); + panic("pmap_remove_all: illegal for unmanaged page, va: 0x%x", VM_PAGE_TO_PHYS(m)); } #endif @@ -3325,8 +3324,8 @@ */ void -pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, - boolean_t wired) +pmap_enter(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t m, + vm_prot_t prot, boolean_t wired) { vm_page_lock_queues(); ==== //depot/projects/tcpecn/arm/at91/if_ate.c#3 (text) ==== @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.22 2007/12/16 12:57:12 stas Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.23 2008/01/07 00:36:09 cognet Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -191,7 +191,7 @@ callout_init_mtx(&sc->tick_ch, &sc->sc_mtx, 0); if ((err = ate_get_mac(sc, eaddr)) != 0) { - device_printf(dev, "No MAC address set"); + device_printf(dev, "No MAC address set\n"); goto out; } ate_set_mac(sc, eaddr); ==== //depot/projects/tcpecn/arm/include/vmparam.h#2 (text+ko) ==== @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.11 2007/09/25 06:25:04 alc Exp $ + * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.12 2007/12/27 16:45:38 alc Exp $ */ #ifndef _MACHINE_VMPARAM_H_ @@ -85,6 +85,13 @@ */ #define VM_NFREEORDER 9 +/* + * Disable superpage reservations. + */ +#ifndef VM_NRESERVLEVEL +#define VM_NRESERVLEVEL 0 +#endif + #define UPT_MAX_ADDRESS VADDR(UPTPTDI + 3, 0) #define UPT_MIN_ADDRESS VADDR(UPTPTDI, 0) ==== //depot/projects/tcpecn/boot/powerpc/ofw/Makefile#2 (text+ko) ==== @@ -1,9 +1,9 @@ -# $FreeBSD: src/sys/boot/powerpc/ofw/Makefile,v 1.20 2007/12/17 22:18:07 marcel Exp $ +# $FreeBSD: src/sys/boot/powerpc/ofw/Makefile,v 1.21 2007/12/26 19:15:58 marcel Exp $ .include <bsd.own.mk> PROG= loader -NEWVERSWHAT= "bootstrap loader" "Open Firmware/PowerPC" +NEWVERSWHAT= "Open Firmware loader" ${MACHINE_ARCH} BINDIR?= /boot INSTALLFLAGS= -b ==== //depot/projects/tcpecn/cam/cam_xpt.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.192 2007/12/16 07:49:44 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.193 2008/01/02 01:45:31 obrien Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -172,12 +172,12 @@ * identify, and removed when a device fails to respond after a number * of retries, or a bus rescan finds the device missing. */ -struct cam_et { +struct cam_et { TAILQ_HEAD(, cam_ed) ed_entries; TAILQ_ENTRY(cam_et) links; - struct cam_eb *bus; + struct cam_eb *bus; target_id_t target_id; - u_int32_t refcount; + u_int32_t refcount; u_int generation; struct timeval last_reset; }; @@ -187,7 +187,7 @@ * are created by calls to xpt_bus_register and deleted by calls to * xpt_bus_deregister. */ -struct cam_eb { +struct cam_eb { TAILQ_HEAD(, cam_et) et_entries; TAILQ_ENTRY(cam_eb) links; path_id_t path_id; @@ -275,7 +275,7 @@ static const char seagate[] = "SEAGATE"; static const char microp[] = "MICROP"; -static struct xpt_quirk_entry xpt_quirk_table[] = +static struct xpt_quirk_entry xpt_quirk_table[] = { { /* Reports QUEUE FULL for temporary resource shortages */ @@ -315,12 +315,12 @@ * * For future reference, the drive with the problem was: * QUANTUM QM39100TD-SW N1B0 - * + * * It's possible that Quantum will fix the problem in later * firmware revisions. If that happens, the quirk entry * will need to be made specific to the firmware revisions * with the problem. - * + * */ /* Reports QUEUE FULL for temporary resource shortages */ { T_DIRECT, SIP_MEDIA_FIXED, quantum, "QM39100*", "*" }, @@ -351,7 +351,7 @@ /* * The Seagate Medalist Pro drives have very poor write * performance with anything more than 2 tags. - * + * * Reported by: Paul van der Zwan <paulz@trantor.xs4all.nl> * Drive: <SEAGATE ST36530N 1444> * @@ -406,7 +406,7 @@ /*quirks*/0, /*mintags*/0, /*maxtags*/0 }, { - /* Broken tagged queuing drive */ + /* Broken tagged queuing drive */ { T_DIRECT, SIP_MEDIA_FIXED, "CONNER", "CFP2107*", "*" }, /*quirks*/0, /*mintags*/0, /*maxtags*/0 }, @@ -924,7 +924,7 @@ */ retval = xpt_schedule_dev(&bus->sim->devq->alloc_queue, &dev->alloc_ccb_entry.pinfo, - CAMQ_GET_HEAD(&dev->drvq)->priority); + CAMQ_GET_HEAD(&dev->drvq)->priority); } else { retval = 0; } @@ -1025,7 +1025,7 @@ mtx_lock(&xsoftc.xpt_lock); xsoftc.flags |= XPT_FLAG_OPEN; mtx_unlock(&xsoftc.xpt_lock); - + return(0); } @@ -1225,7 +1225,7 @@ * (or rather should be) impossible for the device peripheral driver * list to change since we look at the whole thing in one pass, and * we do it with lock protection. - * + * */ case CAMGETPASSTHRU: { union ccb *ccb; @@ -1280,7 +1280,7 @@ ccb->cgdl.unit_number = 0; error = ENOENT; break; - } + } /* * Run through every peripheral instance of this driver @@ -1318,7 +1318,7 @@ periph = SLIST_NEXT(periph, periph_links), i++) { /* * Check to see whether we have a - * passthrough device or not. + * passthrough device or not. */ if (strcmp(periph->periph_name, "pass") == 0) { /* @@ -1638,7 +1638,7 @@ struct periph_list *periph_head; periph_head = &device->periphs; - + /* Release the slot for this peripheral */ camq_resize(&device->drvq, device->drvq.array_size - 1); @@ -1867,7 +1867,7 @@ continue; /* - * If we get to this point, the user definitely wants + * If we get to this point, the user definitely wants * information on this bus. So tell the caller to copy the * data out. */ @@ -1945,7 +1945,7 @@ /* set the copy flag */ retval |= DM_RET_COPY; - + /* * If we've already decided on an action, go ahead * and return. @@ -1980,7 +1980,7 @@ continue; /* - * If we get to this point, the user definitely wants + * If we get to this point, the user definitely wants * information on this device. So tell the caller to copy * the data out. */ @@ -2103,7 +2103,7 @@ continue; /* - * If we get to this point, the user definitely wants + * If we get to this point, the user definitely wants * information on this peripheral. So tell the caller to * copy the data out. */ @@ -2167,7 +2167,7 @@ */ if (spaceleft < sizeof(struct dev_match_result)) { bzero(&cdm->pos, sizeof(cdm->pos)); - cdm->pos.position_type = + cdm->pos.position_type = CAM_DEV_POS_EDT | CAM_DEV_POS_BUS; cdm->pos.cookie.bus = bus; @@ -2298,7 +2298,7 @@ */ if (spaceleft < sizeof(struct dev_match_result)) { bzero(&cdm->pos, sizeof(cdm->pos)); - cdm->pos.position_type = + cdm->pos.position_type = CAM_DEV_POS_EDT | CAM_DEV_POS_BUS | CAM_DEV_POS_TARGET | CAM_DEV_POS_DEVICE; @@ -2309,7 +2309,7 @@ cdm->pos.generations[CAM_TARGET_GENERATION] = device->target->bus->generation; cdm->pos.cookie.device = device; - cdm->pos.generations[CAM_DEV_GENERATION] = + cdm->pos.generations[CAM_DEV_GENERATION] = device->target->generation; cdm->status = CAM_DEV_MATCH_MORE; return(0); @@ -2407,7 +2407,7 @@ */ if (spaceleft < sizeof(struct dev_match_result)) { bzero(&cdm->pos, sizeof(cdm->pos)); - cdm->pos.position_type = + cdm->pos.position_type = CAM_DEV_POS_EDT | CAM_DEV_POS_BUS | CAM_DEV_POS_TARGET | CAM_DEV_POS_DEVICE | CAM_DEV_POS_PERIPH; @@ -2419,7 +2419,7 @@ cdm->pos.generations[CAM_TARGET_GENERATION] = periph->path->bus->generation; cdm->pos.cookie.device = periph->path->device; - cdm->pos.generations[CAM_DEV_GENERATION] = + cdm->pos.generations[CAM_DEV_GENERATION] = periph->path->target->generation; cdm->pos.cookie.periph = periph; cdm->pos.generations[CAM_PERIPH_GENERATION] = @@ -2545,7 +2545,7 @@ pdrv = NULL; bzero(&cdm->pos, sizeof(cdm->pos)); - cdm->pos.position_type = + cdm->pos.position_type = CAM_DEV_POS_PDRV | CAM_DEV_POS_PDPTR | CAM_DEV_POS_PERIPH; @@ -3139,7 +3139,7 @@ start_ccb->ccb_h.status = CAM_REQ_CMP; break; } - } + } if (XPT_FC_IS_QUEUED(abort_ccb) && (abort_ccb->ccb_h.pinfo.index == CAM_DONEQ_INDEX)) { /* @@ -3204,7 +3204,7 @@ bcopy(dev->serial_num, cgd->serial_num, dev->serial_num_len); } - break; + break; } case XPT_GDEV_STATS: { @@ -3257,17 +3257,17 @@ /* * Check and see if the list has changed since the user * last requested a list member. If so, tell them that the - * list has changed, and therefore they need to start over + * list has changed, and therefore they need to start over * from the beginning. */ - if ((cgdl->index != 0) && + if ((cgdl->index != 0) && (cgdl->generation != device->generation)) { cgdl->status = CAM_GDEVLIST_LIST_CHANGED; break; } /* - * Traverse the list of peripherals and attempt to find + * Traverse the list of peripherals and attempt to find * the requested peripheral. */ for (nperiph = SLIST_FIRST(periph_head), i = 0; @@ -3496,7 +3496,7 @@ */ start_ccb->ccb_h.flags &= ~CAM_DEV_QFREEZE; } else { - + dev->flags |= CAM_DEV_REL_ON_COMPLETE; start_ccb->ccb_h.flags |= CAM_DEV_QFREEZE; } @@ -3509,7 +3509,7 @@ start_ccb->ccb_h.flags &= ~CAM_DEV_QFREEZE; } else { - + dev->flags |= CAM_DEV_REL_ON_QUEUE_EMPTY; start_ccb->ccb_h.flags |= CAM_DEV_QFREEZE; } @@ -3584,7 +3584,7 @@ xpt_polled_action(union ccb *start_ccb) { u_int32_t timeout; - struct cam_sim *sim; + struct cam_sim *sim; struct cam_devq *devq; struct cam_ed *dev; @@ -3601,18 +3601,18 @@ * can get it before us while we simulate interrupts. */ dev->ccbq.devq_openings--; - dev->ccbq.dev_openings--; - + dev->ccbq.dev_openings--; + while(((devq != NULL && devq->send_openings <= 0) || dev->ccbq.dev_openings < 0) && (--timeout > 0)) { DELAY(1000); (*(sim->sim_poll))(sim); camisr_runqueue(&sim->sim_doneq); } - + dev->ccbq.devq_openings++; dev->ccbq.dev_openings++; - + if (timeout != 0) { xpt_action(start_ccb); while(--timeout > 0) { @@ -3636,7 +3636,7 @@ start_ccb->ccb_h.status = CAM_RESRC_UNAVAIL; } } - + /* * Schedule a peripheral driver to receive a ccb when it's * target device has space for more transactions. @@ -3759,7 +3759,7 @@ union ccb *work_ccb; struct cam_periph *drv; struct camq *drvq; - + qinfo = (struct cam_ed_qinfo *)camq_remove(&devq->alloc_queue, CAMQ_HEAD); device = qinfo->device; @@ -3796,7 +3796,7 @@ */ break; } - + if (drvq->entries > 0) { /* We have more work. Attempt to reschedule */ xpt_schedule_dev_allocq(bus, device); @@ -3811,7 +3811,7 @@ struct cam_devq *devq; CAM_DEBUG_PRINT(CAM_DEBUG_XPT, ("xpt_run_dev_sendq\n")); - + devq = bus->sim->devq; devq->send_queue.qfrozen_cnt++; @@ -3858,8 +3858,8 @@ * available. */ device->qfrozen_cnt++; - STAILQ_INSERT_TAIL(&xsoftc.highpowerq, - &work_ccb->ccb_h, + STAILQ_INSERT_TAIL(&xsoftc.highpowerq, + &work_ccb->ccb_h, xpt_links.stqe); mtx_unlock(&xsoftc.xpt_lock); @@ -3879,8 +3879,8 @@ cam_ccbq_send_ccb(&device->ccbq, work_ccb); devq->send_openings--; - devq->send_active++; - + devq->send_active++; + if (device->ccbq.queue.entries > 0) xpt_schedule_dev_sendq(bus, device); @@ -4549,7 +4549,7 @@ bus = path->bus; - if (async_code == AC_BUS_RESET) { + if (async_code == AC_BUS_RESET) { /* Update our notion of when the last reset occurred */ microtime(&bus->last_reset); } @@ -4576,7 +4576,7 @@ next_device = TAILQ_NEXT(device, links); - if (path->device != device + if (path->device != device && path->device->lun_id != CAM_LUN_WILDCARD && device->lun_id != CAM_LUN_WILDCARD) continue; @@ -4588,7 +4588,7 @@ path, async_arg); } } - + /* * If this wasn't a fully wildcarded async, tell all * clients that want all async events. @@ -4722,7 +4722,7 @@ sim->devq->send_queue.qfrozen_cnt += count; if (sim->devq->active_dev != NULL) { struct ccb_hdr *ccbh; - + ccbh = TAILQ_LAST(&sim->devq->active_dev->ccbq.active_ccbs, ccb_hdr_tailq); if (ccbh && ccbh->status == CAM_REQ_INPROG) @@ -5278,7 +5278,7 @@ scan_info->counter--; } } - + for (i = 0; i <= max_target; i++) { cam_status status; if (i == initiator_id) @@ -5367,7 +5367,7 @@ } } else { struct cam_ed *device; - + device = request_ccb->ccb_h.path->device; if ((device->quirk->quirks & CAM_QUIRK_NOLUNS) == 0) { @@ -5394,7 +5394,7 @@ done = 0; if (scan_info->cpi->hba_misc & PIM_SEQSCAN) { scan_info->counter++; - if (scan_info->counter == + if (scan_info->counter == scan_info->cpi->initiator_id) { scan_info->counter++; } @@ -5506,7 +5506,7 @@ CAM_DEBUG(request_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("xpt_scan_lun\n")); - + xpt_setup_ccb(&cpi.ccb_h, path, /*priority*/1); cpi.ccb_h.func_code = XPT_PATH_INQ; xpt_action((union ccb *)&cpi); @@ -5616,7 +5616,7 @@ if (softc == NULL) { printf("proberegister: Unable to probe new device. " - "Unable to allocate softc\n"); + "Unable to allocate softc\n"); return(CAM_REQ_CMP_ERR); } TAILQ_INIT(&softc->request_ccbs); @@ -5661,7 +5661,7 @@ * condition pending. It will not report the unit attention in * response to an inquiry, which may leave invalid transfer * negotiations in effect. The TUR will reveal the unit attention - * condition. Only send the TUR for lun 0, since some devices + * condition. Only send the TUR for lun 0, since some devices * will get confused by commands other than inquiry to non-existent * luns. If you think a device has gone away start your scan from * lun 0. This will insure that any bogus transfer settings are @@ -5736,7 +5736,7 @@ * whether we still have the same device. */ if ((periph->path->device->flags & CAM_DEV_UNCONFIGURED) == 0) { - + MD5Init(&softc->context); MD5Update(&softc->context, (unsigned char *)inq_buf, sizeof(struct scsi_inquiry_data)); @@ -5748,7 +5748,7 @@ softc->flags |= PROBE_SERIAL_CKSUM; } MD5Final(softc->digest, &softc->context); - } + } if (softc->action == PROBE_INQUIRY) inquiry_len = SHORT_INQUIRY_LENGTH; @@ -5762,7 +5762,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801091044.m09Aii5u074343>