Date: Fri, 27 Jan 2006 22:53:31 GMT From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 90517 for review Message-ID: <200601272253.k0RMrVcK063515@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=90517 Change 90517 by jhb@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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601272253.k0RMrVcK063515>