PERFORCE change 90517 for review

John Baldwin jhb at FreeBSD.org
Fri Jan 27 14:53:45 PST 2006


http://perforce.freebsd.org/chv.cgi?CH=90517

Change 90517 by jhb at jhb_slimer on 2006/01/27 22:52:38

	IFC @90516.

Affected files ...

.. //depot/projects/smpng/sys/amd64/amd64/trap.c#41 integrate
.. //depot/projects/smpng/sys/arm/arm/elf_trampoline.c#4 integrate
.. //depot/projects/smpng/sys/arm/arm/vm_machdep.c#18 integrate
.. //depot/projects/smpng/sys/arm/xscale/i80321/i80321_pci.c#6 integrate
.. //depot/projects/smpng/sys/boot/ia64/efi/start.S#2 integrate
.. //depot/projects/smpng/sys/cam/cam_ccb.h#7 integrate
.. //depot/projects/smpng/sys/cam/cam_xpt.c#34 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#63 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_ses.h#3 integrate
.. //depot/projects/smpng/sys/coda/coda_vnops.c#25 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#31 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#26 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#26 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#26 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#26 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#26 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#43 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_ioctl.h#12 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_stats.c#29 integrate
.. //depot/projects/smpng/sys/conf/Makefile.arm#18 integrate
.. //depot/projects/smpng/sys/conf/files#164 integrate
.. //depot/projects/smpng/sys/conf/files.amd64#38 integrate
.. //depot/projects/smpng/sys/contrib/pf/net/pf_norm.c#13 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_pci.c#20 integrate
.. //depot/projects/smpng/sys/dev/amr/amr.c#38 integrate
.. //depot/projects/smpng/sys/dev/amr/amr_linux.c#1 branch
.. //depot/projects/smpng/sys/dev/an/if_an.c#50 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-all.c#78 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-all.h#42 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#62 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-disk.c#55 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-lowlevel.c#34 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-pci.c#60 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-pci.h#40 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-queue.c#30 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-raid.c#44 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-raid.h#26 integrate
.. //depot/projects/smpng/sys/dev/ath/if_ath.c#34 integrate
.. //depot/projects/smpng/sys/dev/auxio/auxio.c#5 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bge.c#69 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bgereg.h#38 integrate
.. //depot/projects/smpng/sys/dev/bktr/bktr_os.c#26 integrate
.. //depot/projects/smpng/sys/dev/cardbus/cardbus.c#29 integrate
.. //depot/projects/smpng/sys/dev/ce/ceddk.c#1 branch
.. //depot/projects/smpng/sys/dev/ce/ceddk.h#1 branch
.. //depot/projects/smpng/sys/dev/ce/if_ce.c#1 branch
.. //depot/projects/smpng/sys/dev/ce/ng_ce.h#1 branch
.. //depot/projects/smpng/sys/dev/ce/tau32-ddk.c#1 branch
.. //depot/projects/smpng/sys/dev/ce/tau32-ddk.h#1 branch
.. //depot/projects/smpng/sys/dev/ed/if_ed.c#37 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed_3c503.c#4 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed_cbus.c#15 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed_hpp.c#4 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed_isa.c#16 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed_novell.c#4 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed_sic.c#4 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed_wd80x3.c#4 integrate
.. //depot/projects/smpng/sys/dev/ed/if_edvar.h#14 integrate
.. //depot/projects/smpng/sys/dev/em/if_em.c#63 integrate
.. //depot/projects/smpng/sys/dev/iir/iir.h#13 integrate
.. //depot/projects/smpng/sys/dev/isp/isp.c#37 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_freebsd.c#36 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_freebsd.h#27 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_inline.h#14 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_ioctl.h#13 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_pci.c#32 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_sbus.c#11 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_target.c#15 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_target.h#10 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_tpublic.h#6 integrate
.. //depot/projects/smpng/sys/dev/isp/ispmbox.h#18 integrate
.. //depot/projects/smpng/sys/dev/isp/ispreg.h#6 integrate
.. //depot/projects/smpng/sys/dev/isp/ispvar.h#27 integrate
.. //depot/projects/smpng/sys/dev/md/md.c#72 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi.h#6 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_cnfg.h#6 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_fc.h#5 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_inb.h#1 branch
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_init.h#6 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_ioc.h#6 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_lan.h#5 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_log_fc.h#1 branch
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_log_sas.h#1 branch
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_raid.h#6 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_sas.h#1 branch
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_targ.h#5 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_tool.h#1 branch
.. //depot/projects/smpng/sys/dev/mpt/mpilib/mpi_type.h#7 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpt_debug.c#8 integrate
.. //depot/projects/smpng/sys/dev/pci/pci.c#68 integrate
.. //depot/projects/smpng/sys/dev/pci/pci_private.h#15 integrate
.. //depot/projects/smpng/sys/dev/rp/rp_pci.c#9 integrate
.. //depot/projects/smpng/sys/dev/sound/driver.c#6 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/atiixp.c#3 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/cmi.c#27 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/ds1.c#20 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/emu10k1.c#26 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/maestro.c#18 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/solo.c#16 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/vibes.c#14 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/channel.c#35 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/dsp.c#34 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/feeder.c#13 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/feeder.h#7 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/feeder_fmt.c#15 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/feeder_rate.c#11 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/vchan.c#14 integrate
.. //depot/projects/smpng/sys/dev/tx/if_tx.c#25 integrate
.. //depot/projects/smpng/sys/dev/usb/if_ural.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/if_uralreg.h#3 integrate
.. //depot/projects/smpng/sys/dev/usb/umass.c#52 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#84 integrate
.. //depot/projects/smpng/sys/fs/hpfs/hpfs_vnops.c#31 integrate
.. //depot/projects/smpng/sys/fs/msdosfs/direntry.h#7 integrate
.. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_conv.c#14 integrate
.. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_denode.c#26 integrate
.. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_lookup.c#12 integrate
.. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_vnops.c#33 integrate
.. //depot/projects/smpng/sys/fs/ntfs/ntfs_vnops.c#25 integrate
.. //depot/projects/smpng/sys/fs/nwfs/nwfs_node.c#18 integrate
.. //depot/projects/smpng/sys/fs/smbfs/smbfs_node.c#23 integrate
.. //depot/projects/smpng/sys/fs/udf/udf_vnops.c#33 integrate
.. //depot/projects/smpng/sys/geom/label/g_label_ntfs.c#5 integrate
.. //depot/projects/smpng/sys/geom/mirror/g_mirror.c#23 integrate
.. //depot/projects/smpng/sys/geom/raid3/g_raid3.c#20 integrate
.. //depot/projects/smpng/sys/geom/uzip/g_uzip.c#8 integrate
.. //depot/projects/smpng/sys/i386/conf/GENERIC#71 integrate
.. //depot/projects/smpng/sys/i386/i386/mem.c#23 integrate
.. //depot/projects/smpng/sys/i386/i386/swtch.s#28 integrate
.. //depot/projects/smpng/sys/i386/i386/trap.c#91 integrate
.. //depot/projects/smpng/sys/ia64/ia64/elf_machdep.c#19 integrate
.. //depot/projects/smpng/sys/ia64/ia64/genassym.c#27 integrate
.. //depot/projects/smpng/sys/ia64/ia64/locore.S#7 integrate
.. //depot/projects/smpng/sys/ia64/include/elf.h#10 integrate
.. //depot/projects/smpng/sys/isofs/cd9660/cd9660_node.c#17 integrate
.. //depot/projects/smpng/sys/kern/imgact_elf.c#52 integrate
.. //depot/projects/smpng/sys/kern/init_sysent.c#65 integrate
.. //depot/projects/smpng/sys/kern/kern_alq.c#9 integrate
.. //depot/projects/smpng/sys/kern/kern_exit.c#108 integrate
.. //depot/projects/smpng/sys/kern/kern_ktr.c#32 integrate
.. //depot/projects/smpng/sys/kern/kern_ktrace.c#48 integrate
.. //depot/projects/smpng/sys/kern/kern_mbuf.c#13 integrate
.. //depot/projects/smpng/sys/kern/kern_mutex.c#117 integrate
.. //depot/projects/smpng/sys/kern/kern_proc.c#83 integrate
.. //depot/projects/smpng/sys/kern/kern_resource.c#57 integrate
.. //depot/projects/smpng/sys/kern/kern_sysctl.c#48 integrate
.. //depot/projects/smpng/sys/kern/subr_bus.c#58 integrate
.. //depot/projects/smpng/sys/kern/subr_lock.c#2 integrate
.. //depot/projects/smpng/sys/kern/subr_sleepqueue.c#21 integrate
.. //depot/projects/smpng/sys/kern/subr_turnstile.c#22 integrate
.. //depot/projects/smpng/sys/kern/subr_witness.c#149 integrate
.. //depot/projects/smpng/sys/kern/syscalls.c#65 integrate
.. //depot/projects/smpng/sys/kern/syscalls.master#67 integrate
.. //depot/projects/smpng/sys/kern/tty_pts.c#1 branch
.. //depot/projects/smpng/sys/kern/tty_pty.c#44 integrate
.. //depot/projects/smpng/sys/kern/uipc_sem.c#17 integrate
.. //depot/projects/smpng/sys/kern/vfs_aio.c#68 integrate
.. //depot/projects/smpng/sys/kern/vfs_bio.c#89 integrate
.. //depot/projects/smpng/sys/kern/vfs_lookup.c#32 integrate
.. //depot/projects/smpng/sys/kern/vfs_subr.c#118 integrate
.. //depot/projects/smpng/sys/kern/vfs_syscalls.c#96 integrate
.. //depot/projects/smpng/sys/libkern/fnmatch.c#5 integrate
.. //depot/projects/smpng/sys/modules/amr/Makefile#3 integrate
.. //depot/projects/smpng/sys/modules/amr/amr_linux/Makefile#1 branch
.. //depot/projects/smpng/sys/modules/bktr/bktr/Makefile#7 integrate
.. //depot/projects/smpng/sys/modules/linux/Makefile#14 integrate
.. //depot/projects/smpng/sys/modules/nwfs/Makefile#6 integrate
.. //depot/projects/smpng/sys/modules/smbfs/Makefile#10 integrate
.. //depot/projects/smpng/sys/modules/svr4/Makefile#6 integrate
.. //depot/projects/smpng/sys/net/if.c#77 integrate
.. //depot/projects/smpng/sys/net/if_arcsubr.c#21 integrate
.. //depot/projects/smpng/sys/net/if_bridge.c#22 integrate
.. //depot/projects/smpng/sys/net/if_ef.c#23 integrate
.. //depot/projects/smpng/sys/net/if_ethersubr.c#69 integrate
.. //depot/projects/smpng/sys/net/if_fddisubr.c#27 integrate
.. //depot/projects/smpng/sys/net/if_fwsubr.c#12 integrate
.. //depot/projects/smpng/sys/net/if_gre.c#28 integrate
.. //depot/projects/smpng/sys/net/if_iso88025subr.c#24 integrate
.. //depot/projects/smpng/sys/net/if_ppp.c#39 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211.c#19 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_input.c#27 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_ioctl.c#23 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_ioctl.h#11 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_node.c#24 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_proto.c#17 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_var.h#18 integrate
.. //depot/projects/smpng/sys/netatm/atm_signal.c#7 integrate
.. //depot/projects/smpng/sys/netatm/ipatm/ipatm_vcm.c#10 integrate
.. //depot/projects/smpng/sys/netgraph/ng_parse.c#18 integrate
.. //depot/projects/smpng/sys/netgraph/ng_pppoe.c#29 integrate
.. //depot/projects/smpng/sys/netgraph/ng_pppoe.h#12 integrate
.. //depot/projects/smpng/sys/netgraph/ng_source.c#15 integrate
.. //depot/projects/smpng/sys/netinet/in.c#32 integrate
.. //depot/projects/smpng/sys/netinet/in_pcb.c#58 integrate
.. //depot/projects/smpng/sys/netinet/in_var.h#15 integrate
.. //depot/projects/smpng/sys/netinet/ip_fastfwd.c#23 integrate
.. //depot/projects/smpng/sys/netinet/ip_fw2.c#67 integrate
.. //depot/projects/smpng/sys/netinet/ip_gre.c#17 integrate
.. //depot/projects/smpng/sys/netinet/ip_gre.h#5 integrate
.. //depot/projects/smpng/sys/netinet/ip_icmp.c#38 integrate
.. //depot/projects/smpng/sys/netinet/ip_input.c#74 integrate
.. //depot/projects/smpng/sys/netinet/ip_mroute.c#45 integrate
.. //depot/projects/smpng/sys/netinet/ip_output.c#81 integrate
.. //depot/projects/smpng/sys/netinet/tcp_input.c#79 integrate
.. //depot/projects/smpng/sys/netinet/tcp_syncache.c#45 integrate
.. //depot/projects/smpng/sys/netinet/udp_usrreq.c#64 integrate
.. //depot/projects/smpng/sys/netinet6/in6_cksum.c#9 integrate
.. //depot/projects/smpng/sys/netinet6/ip6_input.c#42 integrate
.. //depot/projects/smpng/sys/netipsec/keysock.c#11 integrate
.. //depot/projects/smpng/sys/netipsec/keysock.h#3 integrate
.. //depot/projects/smpng/sys/netkey/keysock.c#24 integrate
.. //depot/projects/smpng/sys/netkey/keysock.h#5 integrate
.. //depot/projects/smpng/sys/nfs4client/nfs4_vfsops.c#15 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_node.c#22 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_socket.c#41 integrate
.. //depot/projects/smpng/sys/nfsserver/nfs_serv.c#43 integrate
.. //depot/projects/smpng/sys/pci/if_xl.c#66 integrate
.. //depot/projects/smpng/sys/rpc/rpcclnt.c#12 integrate
.. //depot/projects/smpng/sys/sparc64/central/central.c#7 integrate
.. //depot/projects/smpng/sys/sparc64/ebus/ebus.c#22 integrate
.. //depot/projects/smpng/sys/sparc64/fhc/fhc_central.c#7 integrate
.. //depot/projects/smpng/sys/sparc64/fhc/fhc_nexus.c#7 integrate
.. //depot/projects/smpng/sys/sparc64/pci/ofw_pcibus.c#8 integrate
.. //depot/projects/smpng/sys/sparc64/pci/psycho.c#37 integrate
.. //depot/projects/smpng/sys/sparc64/sbus/dma_sbus.c#3 integrate
.. //depot/projects/smpng/sys/sparc64/sbus/sbus.c#23 integrate
.. //depot/projects/smpng/sys/sys/ata.h#24 integrate
.. //depot/projects/smpng/sys/sys/cdefs.h#32 integrate
.. //depot/projects/smpng/sys/sys/ktr.h#25 integrate
.. //depot/projects/smpng/sys/sys/lock.h#37 integrate
.. //depot/projects/smpng/sys/sys/mbuf.h#58 integrate
.. //depot/projects/smpng/sys/sys/param.h#96 integrate
.. //depot/projects/smpng/sys/sys/proc.h#159 integrate
.. //depot/projects/smpng/sys/sys/syscall.h#64 integrate
.. //depot/projects/smpng/sys/sys/syscall.mk#64 integrate
.. //depot/projects/smpng/sys/sys/sysproto.h#66 integrate
.. //depot/projects/smpng/sys/sys/tree.h#7 integrate
.. //depot/projects/smpng/sys/sys/ttycom.h#7 integrate
.. //depot/projects/smpng/sys/sys/turnstile.h#8 integrate
.. //depot/projects/smpng/sys/sys/user.h#26 integrate
.. //depot/projects/smpng/sys/vm/swap_pager.c#60 integrate
.. //depot/projects/smpng/sys/vm/uma_core.c#62 integrate
.. //depot/projects/smpng/sys/vm/vm_contig.c#34 integrate
.. //depot/projects/smpng/sys/vm/vm_fault.c#54 integrate
.. //depot/projects/smpng/sys/vm/vm_map.c#77 integrate
.. //depot/projects/smpng/sys/vm/vm_object.c#75 integrate
.. //depot/projects/smpng/sys/vm/vm_object.h#31 integrate
.. //depot/projects/smpng/sys/vm/vm_page.c#70 integrate
.. //depot/projects/smpng/sys/vm/vm_page.h#32 integrate
.. //depot/projects/smpng/sys/vm/vm_pageout.c#56 integrate
.. //depot/projects/smpng/sys/vm/vm_pageq.c#16 integrate

Differences ...

==== //depot/projects/smpng/sys/amd64/amd64/trap.c#41 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.299 2006/01/06 18:02:11 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.300 2006/01/27 22:22:10 jhb Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -237,8 +237,16 @@
 		 * do the VM lookup, so just consider it a fatal trap so the
 		 * kernel can print out a useful trap message and even get
 		 * to the debugger.
+		 *
+		 * If we get a page fault while holding a non-sleepable
+		 * lock, then it is most likely a fatal kernel page fault.
+		 * If WITNESS is enabled, then it's going to whine about
+		 * bogus LORs with various VM locks, so just skip to the
+		 * fatal trap handling directly.
 		 */
-		if (td->td_critnest != 0)
+		if (td->td_critnest != 0 ||
+		    WITNESS_CHECK(WARN_SLEEPOK | WARN_GIANTOK, NULL,
+		    "Kernel page fault") != 0)
 			trap_fatal(&frame, frame.tf_addr);
 	}
 

==== //depot/projects/smpng/sys/arm/arm/elf_trampoline.c#4 (text+ko) ====

@@ -23,13 +23,15 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.4 2005/12/20 01:28:17 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.5 2006/01/20 00:46:44 cognet Exp $");
 #include <machine/asm.h>
 #include <sys/types.h>
 #include <sys/elf32.h>
 #include <sys/param.h>
 #include <sys/inflate.h>
 #include <machine/elf.h>
+#include <machine/pte.h>
+
 #include <stdlib.h>
 
 #include "opt_global.h"
@@ -204,7 +206,7 @@
 {
 	Elf32_Ehdr *eh;
 	Elf32_Phdr phdr[512] /* XXX */, *php;
-	Elf32_Shdr *shdr;
+	Elf32_Shdr shdr[512] /* XXX */;
 	int i,j;
 	void *entry_point;
 	int symtabindex = -1;
@@ -228,9 +230,6 @@
 	}
 	
 	/* Save the symbol tables, as there're about to be scratched. */
-	lastaddr = roundup(lastaddr, sizeof(long));
-	shdr = (Elf_Shdr *)lastaddr;
-	lastaddr += sizeof(*shdr) * eh->e_shnum;
 	memcpy(shdr, (void *)(kstart + eh->e_shoff),
 	    sizeof(*shdr) * eh->e_shnum);
 	if (eh->e_shnum * eh->e_shentsize != 0 &&
@@ -337,7 +336,51 @@
 extern char func_end[];
 
 extern void *_end;
-void __start(void)
+
+#define PMAP_DOMAIN_KERNEL	15 /*
+				    * Just define it instead of including the
+				    * whole VM headers set.
+				    */
+int __hack;
+static __inline void
+setup_pagetables(unsigned int pt_addr, vm_paddr_t physstart, vm_paddr_t physend)
+{
+	unsigned int *pd = (unsigned int *)pt_addr;
+	vm_paddr_t addr;
+	int domain = (DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL * 2)) | DOMAIN_CLIENT;
+	int tmp;
+
+	bzero(pd, L1_TABLE_SIZE);
+	for (addr = physstart; addr < physend; addr += L1_S_SIZE)
+		pd[addr >> L1_S_SHIFT] = L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW)|
+		    L1_S_DOM(PMAP_DOMAIN_KERNEL) | addr;
+	/* XXX: See below */
+	if (0xfff00000 < physstart || 0xfff00000 > physend)
+		pd[0xfff00000 >> L1_S_SHIFT] = L1_TYPE_S|L1_S_AP(AP_KRW)|
+		    L1_S_DOM(PMAP_DOMAIN_KERNEL)|physstart;
+	__asm __volatile("mcr p15, 0, %1, c2, c0, 0\n" /* set TTB */
+	    		 "mcr p15, 0, %1, c8, c7, 0\n" /* Flush TTB */
+			 "mcr p15, 0, %2, c3, c0, 0\n" /* Set DAR */
+			 "mrc p15, 0, %0, c1, c0, 0\n"
+			 "orr %0, %0, #1\n" /* MMU_ENABLE */
+			 "mcr p15, 0, %0, c1, c0, 0\n"
+			 "mrc p15, 0, %0, c2, c0, 0\n" /* CPWAIT */
+			 "mov r0, r0\n"
+			 "sub pc, pc, #4\n" :
+			 "=r" (tmp) : "r" (pd), "r" (domain));
+	
+	/* 
+	 * XXX: This is the most stupid workaround I've ever wrote.
+	 * For some reason, the KB9202 won't boot the kernel unless
+	 * we access an address which is not in the 
+	 * 0x20000000 - 0x20ffffff range. I hope I'll understand
+	 * what's going on later.
+	 */
+	__hack = *(volatile int *)0xfffff21c;
+}
+
+void
+__start(void)
 {
 	void *curaddr;
 	void *dst;
@@ -348,6 +391,10 @@
 	curaddr = (void*)((unsigned int)curaddr & 0xfff00000);
 #ifdef KZIP
 	if (*kernel == 0x1f && kernel[1] == 0x8b) {
+		int pt_addr = (((int)&_end + KERNSIZE + 0x100) & 
+		    ~(L1_TABLE_SIZE - 1)) + L1_TABLE_SIZE;
+		setup_pagetables(pt_addr, (vm_paddr_t)curaddr,
+		    (vm_paddr_t)curaddr + 0x10000000);
 		/* Gzipped kernel */
 		dst = inflate_kernel(kernel, &_end);
 		kernel = (char *)&_end;

==== //depot/projects/smpng/sys/arm/arm/vm_machdep.c#18 (text+ko) ====

@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.20 2005/12/05 12:58:44 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.21 2006/01/27 21:07:04 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -477,9 +477,11 @@
 			    "smallalloc", 0);
 			in_sleep--;
 			goto retry;
+		} else if (in_alloc) {
+			mtx_unlock(&smallalloc_mtx);
+			return (NULL);
 		}
-		if (wait & M_WAITOK)
-			in_alloc = 1;
+		in_alloc = 1;
 		mtx_unlock(&smallalloc_mtx);
 		/* Try to alloc 1MB of contiguous memory. */
 		ret = arm_uma_do_alloc(&sp, bytes, zone == l2zone ?

==== //depot/projects/smpng/sys/arm/xscale/i80321/i80321_pci.c#6 (text+ko) ====

@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_pci.c,v 1.5 2005/09/25 21:06:50 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_pci.c,v 1.6 2006/01/23 14:03:14 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -368,15 +368,17 @@
 		rm = &sc->sc_io_rman;
 		bt = sc->sc_pciio;
 		bh = sc->sc_io;
-		start = start - 0x90000000 + sc->sc_io;
-		end = end - 0x90000000 + sc->sc_io;
+		if (start < sc->sc_io) {
+			start = start - 0x90000000 + sc->sc_io;
+			end = end - 0x90000000 + sc->sc_io;
+		}
 		break;
 	default:
 		return (NULL);
 	}
 
 	rv = rman_reserve_resource(rm, start, end, count, flags, child);
-	if (rv == NULL) 
+	if (rv == NULL)
 		return (NULL);
 	if (type != SYS_RES_IRQ) {
 		bh += (rman_get_start(rv));

==== //depot/projects/smpng/sys/boot/ia64/efi/start.S#2 (text+ko) ====

@@ -23,56 +23,32 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$FreeBSD: src/sys/boot/ia64/efi/start.S,v 1.8 2004/11/23 05:38:30 marcel Exp $
+ *	$FreeBSD: src/sys/boot/ia64/efi/start.S,v 1.10 2006/01/18 18:49:25 marcel Exp $
  */
 
 	.text
 
 #include <machine/asm.h>
-		
+
 #define EFI_SUCCESS		0
 #define EFI_LOAD_ERROR		1
 #define EFI_BUFFER_TOO_SMALL	5
-	
+
 #define DT_NULL		0	/* Terminating entry. */
-#define DT_NEEDED	1	/* String table offset of a needed shared
-				   library. */
 #define DT_PLTRELSZ	2	/* Total size in bytes of PLT relocations. */
-#define DT_PLTGOT	3	/* Processor-dependent address. */
-#define DT_HASH		4	/* Address of symbol hash table. */
-#define DT_STRTAB	5	/* Address of string table. */
 #define DT_SYMTAB	6	/* Address of symbol table. */
 #define DT_RELA		7	/* Address of ElfNN_Rela relocations. */
 #define DT_RELASZ	8	/* Total size of ElfNN_Rela relocations. */
 #define DT_RELAENT	9	/* Size of each ElfNN_Rela relocation entry. */
-#define DT_STRSZ	10	/* Size of string table. */
 #define DT_SYMENT	11	/* Size of each symbol table entry. */
-#define DT_INIT		12	/* Address of initialization function. */
-#define DT_FINI		13	/* Address of finalization function. */
-#define DT_SONAME	14	/* String table offset of shared object
-				   name. */
-#define DT_RPATH	15	/* String table offset of library path. */
-#define DT_SYMBOLIC	16	/* Indicates "symbolic" linking. */
-#define DT_REL		17	/* Address of ElfNN_Rel relocations. */
-#define DT_RELSZ	18	/* Total size of ElfNN_Rel relocations. */
-#define DT_RELENT	19	/* Size of each ElfNN_Rel relocation. */
-#define DT_PLTREL	20	/* Type of relocation used for PLT. */
-#define DT_DEBUG	21	/* Reserved (not used). */
-#define DT_TEXTREL	22	/* Indicates there may be relocations in
-				   non-writable segments. */
 #define DT_JMPREL	23	/* Address of PLT relocations. */
 
-#define DT_COUNT	24	/* Number of defined d_tag values. */
-	
-#define R_IA64_NONE		0	/* None */
-#define R_IA64_DIR64MSB		0x26	/* word64 MSB	S + A */
-#define R_IA64_DIR64LSB		0x27	/* word64 LSB	S + A */
-#define R_IA64_FPTR64MSB	0x46	/* word64 MSB	@fptr(S + A) */
-#define R_IA64_FPTR64LSB	0x47	/* word64 LSB	@fptr(S + A) */
-#define R_IA64_REL64MSB		0x6e	/* word64 MSB	BD + A */
-#define R_IA64_REL32LSB		0x6d	/* word32 LSB	BD + A */
-#define R_IA64_REL64LSB		0x6f	/* word64 LSB	BD + A */
-#define	R_IA64_IPLTLSB		0x81	/* function descriptor LSB speciaal */
+#define R_IA_64_NONE		0	/* None */
+#define R_IA_64_DIR64LSB	0x27	/* word64 LSB	S + A */
+#define R_IA_64_FPTR64LSB	0x47	/* word64 LSB	@fptr(S + A) */
+#define R_IA_64_REL32LSB	0x6d	/* word32 LSB	BD + A */
+#define R_IA_64_REL64LSB	0x6f	/* word64 LSB	BD + A */
+#define	R_IA_64_IPLTLSB		0x81	/* function descriptor LSB speciaal */
 
 ENTRY(_start, 2)
 	alloc	loc0=ar.pfs,2,3,3,0
@@ -134,7 +110,7 @@
 // r22 = size of PLT relocations
 // r23 = relocation type
 // r24 = address of symbol
-// r28 = R_IA64_IPLTLSB
+// r28 = R_IA_64_IPLTLSB
 // f8 = address of symbol table
 // f9 = size of symtab element
 
@@ -155,7 +131,7 @@
 	mov	r19=0
 	mov	r22=0
 	mov	r20=24
-	mov	r28=R_IA64_IPLTLSB
+	mov	r28=R_IA_64_IPLTLSB
 	;;
 1:
 	ld8	r16=[r15],8		// read r15->d_tag
@@ -214,13 +190,13 @@
 	sub	r19=r19,r20		// update relasz
 	extr.u	r23=r16,0,32		// ELF64_R_TYPE(r16)
 	;;
-	cmp.eq	p6,p0=R_IA64_NONE,r23
+	cmp.eq	p6,p0=R_IA_64_NONE,r23
 (p6)	br.cond.dpnt.few 2b
 	;;
-	cmp.eq	p6,p0=R_IA64_REL32LSB,r23
+	cmp.eq	p6,p0=R_IA_64_REL32LSB,r23
 (p6)	br.cond.dptk.few 3f
 	;;
-	cmp.eq	p6,p0=R_IA64_REL64LSB,r23
+	cmp.eq	p6,p0=R_IA_64_REL64LSB,r23
 (p6)	br.cond.dptk.few 4f
 	;;
 	extr.u	r29=r16,32,32		// ELF64_R_SYM(r16)
@@ -237,10 +213,10 @@
 	;;
 	add	r24=r29,in0		// relocate symbol value
 	;;
-	cmp.eq	p6,p0=R_IA64_DIR64LSB,r23
+	cmp.eq	p6,p0=R_IA_64_DIR64LSB,r23
 (p6)	br.cond.dptk.few 5f
 	;;
-	cmp.eq	p6,p0=R_IA64_FPTR64LSB,r23
+	cmp.eq	p6,p0=R_IA_64_FPTR64LSB,r23
 (p6)	br.cond.dptk.few 6f
 	;;
 	cmp.ne	p6,p0=r28,r23		// IPLTLSB

==== //depot/projects/smpng/sys/cam/cam_ccb.h#7 (text+ko) ====

@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/cam/cam_ccb.h,v 1.28 2005/01/05 22:34:34 imp Exp $
+ * $FreeBSD: src/sys/cam/cam_ccb.h,v 1.29 2006/01/20 19:21:38 mjacob Exp $
  */
 
 #ifndef _CAM_CAM_CCB_H
@@ -226,13 +226,14 @@
 	XPORT_SSA,	/* Serial Storage Architecture */
 	XPORT_USB,	/* Universal Serial Bus */
 	XPORT_PPB,	/* Parallel Port Bus */
-	XPORT_ATA	/* AT Attachment */
+	XPORT_ATA,	/* AT Attachment */
+	XPORT_SAS,	/* Serial Attached SCSI */
 } cam_xport;
 
-#define PROTO_VERSION_UNKNOWN (UINT_MAX - 1) 
-#define PROTO_VERSION_UNSPECIFIED UINT_MAX 
-#define XPORT_VERSION_UNKNOWN (UINT_MAX - 1) 
-#define XPORT_VERSION_UNSPECIFIED UINT_MAX 
+#define PROTO_VERSION_UNKNOWN (UINT_MAX - 1)
+#define PROTO_VERSION_UNSPECIFIED UINT_MAX
+#define XPORT_VERSION_UNKNOWN (UINT_MAX - 1)
+#define XPORT_VERSION_UNSPECIFIED UINT_MAX
 #endif /* CAM_NEW_TRAN_CODE */
 
 typedef union {
@@ -527,6 +528,9 @@
 	u_int32_t port;		/* 24 bit port id, if known */
 	u_int32_t bitrate;	/* Mbps */
 };
+struct ccb_pathinq_settings_sas {
+	u_int32_t bitrate;	/* Mbps */
+};
 #define	PATHINQ_SETTINGS_SIZE	128
 #endif /* CAM_NEW_TRAN_CODE */
 
@@ -558,6 +562,7 @@
 	union {
 		struct ccb_pathinq_settings_spi spi;
 		struct ccb_pathinq_settings_fc fc;
+		struct ccb_pathinq_settings_sas sas;
 		char ccb_pathinq_settings_opaque[PATHINQ_SETTINGS_SIZE];
 	} xport_specific;
 #endif /* CAM_NEW_TRAN_CODE */
@@ -761,6 +766,13 @@
 	u_int32_t 	bitrate;	/* Mbps */
 };
 
+struct ccb_trans_settings_sas {
+	u_int     	valid;		/* Which fields to honor */
+#define	CTS_SAS_VALID_SPEED		0x1000
+	u_int32_t 	bitrate;	/* Mbps */
+};
+
+
 /* Get/Set transfer rate/width/disconnection/tag queueing settings */
 struct ccb_trans_settings {
 	struct	  ccb_hdr ccb_h;
@@ -777,6 +789,7 @@
 		u_int  valid;	/* Which fields to honor */
 		struct ccb_trans_settings_spi spi;
 		struct ccb_trans_settings_fc fc;
+		struct ccb_trans_settings_sas sas;
 	} xport_specific;
 };
 

==== //depot/projects/smpng/sys/cam/cam_xpt.c#34 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.157 2006/01/11 02:06:08 iedowse Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.158 2006/01/20 19:21:38 mjacob Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -1632,6 +1632,13 @@
 		}
 	}
 
+	if (cts.ccb_h.status == CAM_REQ_CMP && cts.transport == XPORT_SAS) {
+		struct	ccb_trans_settings_sas *sas = &cts.xport_specific.sas;
+		if (sas->valid & CTS_SAS_VALID_SPEED) {
+			speed = sas->bitrate;
+		}
+	}
+
 	mb = speed / 1000;
 	if (mb > 0)
 		printf("%s%d: %d.%03dMB/s transfers",

==== //depot/projects/smpng/sys/cam/scsi/scsi_da.c#63 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.184 2006/01/13 11:33:40 mnag Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.185 2006/01/26 00:35:53 flz Exp $");
 
 #include <sys/param.h>
 
@@ -379,6 +379,54 @@
 		{T_DIRECT, SIP_MEDIA_REMOVABLE, "USB2.0*", "(FS) FLASH DISK*",
 		"*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE
 	},
+	{
+		/*
+		 * Samsung USB key 128Mb
+		 * PR: usb/90081
+		 */
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "USB-DISK", "FreeDik-FlashUsb",
+		"*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE
+	},
+	{
+		/*
+		 * Kingston DataTraveler 2.0 USB Flash memory.
+		 * PR: usb/89196
+		 */
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "Kingston", "DataTraveler 2.0",
+		"*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE
+	},
+	{
+		/*
+		 * Creative MUVO Slim mp3 player (USB)
+		 * PR: usb/86131
+		 */
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "CREATIVE", "MuVo Slim",
+		"*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT
+		},
+	{
+		/*
+		 * United MP5512 Portable MP3 Player (2-in-1 USB DISK/MP3)
+		 * PR: usb/80487
+		 */
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "Generic*", "MUSIC DISK",
+		"*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE
+	},
+	{
+		/*
+		 * SanDisk Micro Cruzer 128MB
+		 * PR: usb/75970
+		 */
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "SanDisk" , "Micro Cruzer",
+		"*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE
+	},
+	{
+		/*
+		 * PNY USB Flash keys
+		 * PR: usb/75578, usb/72344, usb/65436 
+		 */
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "*" , "USB DISK*",
+		"*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE
+	},
 };
 
 static	disk_strategy_t	dastrategy;

==== //depot/projects/smpng/sys/cam/scsi/scsi_ses.h#3 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/cam/scsi/scsi_ses.h,v 1.3 2005/01/05 22:34:35 imp Exp $ */
+/* $FreeBSD: src/sys/cam/scsi/scsi_ses.h,v 1.4 2006/01/18 08:37:27 mjacob Exp $ */
 /*-
  * Copyright (c) 2000 by Matthew Jacob
  * All rights reserved.
@@ -29,7 +29,7 @@
  *
  */
 
-#define	SESIOC			(('s' - 040) << 8)
+#define	SESIOC			('s' - 040)
 #define	SESIOC_GETNOBJ		_IO(SESIOC, 1)
 #define	SESIOC_GETOBJMAP	_IO(SESIOC, 2)
 #define	SESIOC_GETENCSTAT	_IO(SESIOC, 3)

==== //depot/projects/smpng/sys/coda/coda_vnops.c#25 (text+ko) ====

@@ -42,7 +42,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/coda/coda_vnops.c,v 1.66 2005/04/13 10:59:07 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/coda/coda_vnops.c,v 1.67 2006/01/21 19:51:47 rwatson Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -345,13 +345,8 @@
 }
 
 int
-coda_rdwr(vp, uiop, rw, ioflag, cred, td)
-    struct vnode *vp;
-    struct uio *uiop;
-    enum uio_rw rw;
-    int ioflag;
-    struct ucred *cred;
-    struct thread *td;
+coda_rdwr(struct vnode *vp, struct uio *uiop, enum uio_rw rw, int ioflag,
+    struct ucred *cred, struct thread *td)
 { 
 /* upcall decl */
   /* NOTE: container file operation!!! */
@@ -1710,8 +1705,7 @@
 }
 
 void
-print_vattr( attr )
-	struct vattr *attr;
+print_vattr(struct vattr *attr)
 {
     char *typestr;
 
@@ -1769,8 +1763,7 @@
 
 /* How to print a ucred */
 void
-print_cred(cred)
-	struct ucred *cred;
+print_cred(struct ucred *cred)
 {
 
 	int i;
@@ -1792,8 +1785,7 @@
  * table when coda_inactive calls coda_unsave.
  */
 struct cnode *
-make_coda_node(fid, vfsp, type)
-     CodaFid *fid; struct mount *vfsp; short type;
+make_coda_node(CodaFid *fid, struct mount *vfsp, short type)
 {
     struct cnode *cp;
     int          err;
@@ -1821,7 +1813,7 @@
 }
 
 int
-coda_pathconf( struct vop_pathconf_args *ap)
+coda_pathconf(struct vop_pathconf_args *ap)
 {
 	int error;
 	register_t *retval;

==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#31 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.48 2005/12/08 22:14:25 ambrisko Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.49 2006/01/20 16:22:06 ambrisko Exp $");
 
 #include "opt_compat.h"
 
@@ -1221,6 +1221,27 @@
 }
 
 int
+freebsd32_lutimes(struct thread *td, struct freebsd32_lutimes_args *uap)
+{
+	struct timeval32 s32[2];
+	struct timeval s[2], *sp;
+	int error;
+
+	if (uap->tptr != NULL) {
+		error = copyin(uap->tptr, s32, sizeof(s32));
+		if (error)
+			return (error);
+		CP(s32[0], s[0], tv_sec);
+		CP(s32[0], s[0], tv_usec);
+		CP(s32[1], s[1], tv_sec);
+		CP(s32[1], s[1], tv_usec);
+		sp = s;
+	} else
+		sp = NULL;
+	return (kern_lutimes(td, uap->path, UIO_USERSPACE, sp, UIO_SYSSPACE));
+}
+
+int
 freebsd32_futimes(struct thread *td, struct freebsd32_futimes_args *uap)
 {
 	struct timeval32 s32[2];

==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#26 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.48 2005/12/23 20:06:50 ru Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.61 2005/12/23 20:06:14 ru Exp 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.51 2006/01/20 21:10:37 ambrisko Exp $
+ * created from FreeBSD
  */
 
 #ifndef _FREEBSD32_SYSPROTO_H_
@@ -220,6 +220,10 @@
 	char rqtp_l_[PADL_(const struct timespec32 *)]; const struct timespec32 * rqtp; char rqtp_r_[PADR_(const struct timespec32 *)];
 	char rmtp_l_[PADL_(struct timespec32 *)]; struct timespec32 * rmtp; char rmtp_r_[PADR_(struct timespec32 *)];
 };
+struct freebsd32_lutimes_args {
+	char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+	char tptr_l_[PADL_(struct timeval32 *)]; struct timeval32 * tptr; char tptr_r_[PADR_(struct timeval32 *)];
+};
 struct freebsd32_preadv_args {
 	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
 	char iovp_l_[PADL_(struct iovec32 *)]; struct iovec32 * iovp; char iovp_r_[PADR_(struct iovec32 *)];
@@ -306,6 +310,7 @@
 int	freebsd32_clock_settime(struct thread *, struct freebsd32_clock_settime_args *);
 int	freebsd32_clock_getres(struct thread *, struct freebsd32_clock_getres_args *);
 int	freebsd32_nanosleep(struct thread *, struct freebsd32_nanosleep_args *);
+int	freebsd32_lutimes(struct thread *, struct freebsd32_lutimes_args *);
 int	freebsd32_preadv(struct thread *, struct freebsd32_preadv_args *);
 int	freebsd32_pwritev(struct thread *, struct freebsd32_pwritev_args *);
 int	freebsd32_modstat(struct thread *, struct freebsd32_modstat_args *);

==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#26 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.48 2005/12/23 20:06:50 ru Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.49 2006/01/20 16:22:37 ambrisko Exp $
  * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.61 2005/12/23 20:06:14 ru Exp 
  */
 
@@ -213,7 +213,7 @@
 #define	FREEBSD32_SYS_getdents	272
 #define	FREEBSD32_SYS_lchmod	274
 #define	FREEBSD32_SYS_netbsd_lchown	275
-#define	FREEBSD32_SYS_lutimes	276
+#define	FREEBSD32_SYS_freebsd32_lutimes	276
 #define	FREEBSD32_SYS_netbsd_msync	277
 #define	FREEBSD32_SYS_nstat	278
 #define	FREEBSD32_SYS_nfstat	279

==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#26 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.39 2005/12/23 20:06:50 ru Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.40 2006/01/20 16:22:37 ambrisko Exp $
  * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.61 2005/12/23 20:06:14 ru Exp 
  */
 
@@ -283,7 +283,7 @@
 	"#273",			/* 273 = nosys */
 	"lchmod",			/* 274 = lchmod */
 	"netbsd_lchown",			/* 275 = netbsd_lchown */
-	"lutimes",			/* 276 = lutimes */
+	"freebsd32_lutimes",			/* 276 = freebsd32_lutimes */
 	"netbsd_msync",			/* 277 = netbsd_msync */
 	"nstat",			/* 278 = nstat */
 	"nfstat",			/* 279 = nfstat */

==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#26 (text+ko) ====

@@ -2,7 +2,7 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.49 2005/12/23 20:06:50 ru Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.50 2006/01/20 16:22:37 ambrisko Exp $
  * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.61 2005/12/23 20:06:14 ru Exp 
  */
 
@@ -308,7 +308,7 @@
 	{ 0, (sy_call_t *)nosys, AUE_NULL },			/* 273 = nosys */
 	{ SYF_MPSAFE | AS(lchmod_args), (sy_call_t *)lchmod, AUE_NULL },	/* 274 = lchmod */
 	{ SYF_MPSAFE | AS(lchown_args), (sy_call_t *)lchown, AUE_NULL },	/* 275 = netbsd_lchown */
-	{ SYF_MPSAFE | AS(lutimes_args), (sy_call_t *)lutimes, AUE_NULL },	/* 276 = lutimes */
+	{ SYF_MPSAFE | AS(freebsd32_lutimes_args), (sy_call_t *)freebsd32_lutimes, AUE_NULL },	/* 276 = freebsd32_lutimes */
 	{ SYF_MPSAFE | AS(msync_args), (sy_call_t *)msync, AUE_NULL },	/* 277 = netbsd_msync */
 	{ SYF_MPSAFE | AS(nstat_args), (sy_call_t *)nstat, AUE_NULL },	/* 278 = nstat */
 	{ SYF_MPSAFE | AS(nfstat_args), (sy_call_t *)nfstat, AUE_NULL },	/* 279 = nfstat */

==== //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#26 (text+ko) ====

@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.61 2005/12/23 20:06:14 ru Exp $
+ $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.62 2006/01/20 16:22:06 ambrisko Exp $
 ;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
 ;	from: src/sys/kern/syscalls.master 1.107
 ;
@@ -476,8 +476,8 @@
 275	AUE_NULL	MNOPROTO { int lchown(char *path, uid_t uid, \
 				    gid_t gid); } netbsd_lchown \
 				    lchown_args int
-276	AUE_NULL	MNOPROTO	{ int lutimes(char *path, \
-				    struct timeval *tptr); }
+276	AUE_NULL	MSTD	{ int freebsd32_lutimes(char *path, \
+				    struct timeval32 *tptr); }
 277	AUE_NULL	MNOPROTO { int msync(void *addr, size_t len, \
 				    int flags); } netbsd_msync msync_args int
 278	AUE_NULL	MNOPROTO	{ int nstat(char *path, struct nstat *ub); }

==== //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#43 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.131 2005/12/13 15:32:52 delphij Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.132 2006/01/26 01:32:46 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1010,7 +1010,15 @@
 		args->cmd = TIOCCBRK;
 		error = (ioctl(td, (struct ioctl_args *)args));
 		break;
-
+	case LINUX_TIOCGPTN: {
+		int nb;
+		
+		error = fo_ioctl(fp, TIOCGPTN, (caddr_t)&nb, td->td_ucred, td);
+		if (!error)
+			error = copyout(&nb, (void *)args->arg,
+			    sizeof(int));
+		break;
+	}

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list