p4-projects@freebsd.org
[Top] [All Lists]

PERFORCE change 132873 for review

Subject: PERFORCE change 132873 for review
From: Rui Paulo
Date: Wed, 9 Jan 2008 10:44:44 GMT
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@xxxxxxxxxxxxxxxxx>
                 * 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) <<<
_______________________________________________
p4-projects@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/p4-projects
To unsubscribe, send any mail to "p4-projects-unsubscribe@xxxxxxxxxxx"

<Prev in Thread] Current Thread [Next in Thread>
  • PERFORCE change 132873 for review, Rui Paulo <=