Date: Tue, 30 Sep 2008 19:04:24 GMT From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 150717 for review Message-ID: <200809301904.m8UJ4OL7017275@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=150717 Change 150717 by jhb@jhb_mutex on 2008/09/30 19:03:32 IFC @150715 Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/mem.c#13 integrate .. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#48 integrate .. //depot/projects/smpng/sys/amd64/include/smp.h#18 integrate .. //depot/projects/smpng/sys/arm/arm/mem.c#6 integrate .. //depot/projects/smpng/sys/arm/arm/pmap.c#44 integrate .. //depot/projects/smpng/sys/arm/at91/at91_mci.c#6 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_pass.c#19 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_sa.c#31 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_ses.c#19 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_sg.c#4 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_target.c#25 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#3 integrate .. //depot/projects/smpng/sys/cddl/dev/dtrace/dtrace_clone.c#2 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#51 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#46 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#46 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#46 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#46 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_util.h#4 integrate .. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#50 integrate .. //depot/projects/smpng/sys/compat/ia32/ia32_sysvec.c#20 integrate .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#66 integrate .. //depot/projects/smpng/sys/conf/files.powerpc#41 integrate .. //depot/projects/smpng/sys/conf/files.sparc64#69 integrate .. //depot/projects/smpng/sys/conf/options.sparc64#17 integrate .. //depot/projects/smpng/sys/contrib/ipfilter/netinet/ip_compat.h#17 integrate .. //depot/projects/smpng/sys/contrib/pf/net/pf_ioctl.c#26 integrate .. //depot/projects/smpng/sys/ddb/db_command.c#42 integrate .. //depot/projects/smpng/sys/ddb/db_command.h#5 integrate .. //depot/projects/smpng/sys/ddb/db_main.c#6 integrate .. //depot/projects/smpng/sys/dev/agp/agp.c#3 integrate .. //depot/projects/smpng/sys/dev/amr/amr.c#47 integrate .. //depot/projects/smpng/sys/dev/arcmsr/arcmsr.c#18 integrate .. //depot/projects/smpng/sys/dev/asr/asr.c#39 integrate .. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#88 integrate .. //depot/projects/smpng/sys/dev/ata/ata-pci.h#57 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-tape.c#38 integrate .. //depot/projects/smpng/sys/dev/atkbdc/psm.c#12 integrate .. //depot/projects/smpng/sys/dev/bktr/bktr_os.c#29 integrate .. //depot/projects/smpng/sys/dev/ce/if_ce.c#11 integrate .. //depot/projects/smpng/sys/dev/cfe/cfe_api.c#1 branch .. //depot/projects/smpng/sys/dev/cfe/cfe_api.h#1 branch .. //depot/projects/smpng/sys/dev/cfe/cfe_api_int.h#1 branch .. //depot/projects/smpng/sys/dev/cfe/cfe_console.c#1 branch .. //depot/projects/smpng/sys/dev/cfe/cfe_error.h#1 branch .. //depot/projects/smpng/sys/dev/cfe/cfe_ioctl.h#1 branch .. //depot/projects/smpng/sys/dev/cfe/cfe_resource.c#1 branch .. //depot/projects/smpng/sys/dev/cp/if_cp.c#23 integrate .. //depot/projects/smpng/sys/dev/cpuctl/cpuctl.c#3 integrate .. //depot/projects/smpng/sys/dev/ctau/if_ct.c#25 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/mvec.h#6 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/uipc_mvec.c#7 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_vm.c#3 integrate .. //depot/projects/smpng/sys/dev/drm/drm_drv.c#8 integrate .. //depot/projects/smpng/sys/dev/drm/drm_fops.c#4 integrate .. //depot/projects/smpng/sys/dev/fb/fb.c#14 integrate .. //depot/projects/smpng/sys/dev/fb/vgareg.h#6 integrate .. //depot/projects/smpng/sys/dev/firewire/firewire.h#16 integrate .. //depot/projects/smpng/sys/dev/firewire/fwdev.c#27 integrate .. //depot/projects/smpng/sys/dev/hptiop/hptiop.c#4 integrate .. //depot/projects/smpng/sys/dev/iir/iir_ctrl.c#14 integrate .. //depot/projects/smpng/sys/dev/iscsi/initiator/isc_cam.c#2 integrate .. //depot/projects/smpng/sys/dev/iscsi/initiator/iscsi.c#3 integrate .. //depot/projects/smpng/sys/dev/isp/isp_freebsd.c#59 integrate .. //depot/projects/smpng/sys/dev/joy/joy.c#11 integrate .. //depot/projects/smpng/sys/dev/kbd/kbd.c#21 integrate .. //depot/projects/smpng/sys/dev/led/led.c#16 integrate .. //depot/projects/smpng/sys/dev/mii/ciphy.c#10 integrate .. //depot/projects/smpng/sys/dev/mii/e1000phy.c#17 integrate .. //depot/projects/smpng/sys/dev/mii/miidevs#31 integrate .. //depot/projects/smpng/sys/dev/mlx/mlx.c#21 integrate .. //depot/projects/smpng/sys/dev/mly/mly.c#33 integrate .. //depot/projects/smpng/sys/dev/mmc/mmc.c#4 integrate .. //depot/projects/smpng/sys/dev/mmc/mmcbrvar.h#3 integrate .. //depot/projects/smpng/sys/dev/mmc/mmcreg.h#3 integrate .. //depot/projects/smpng/sys/dev/mmc/mmcsd.c#4 integrate .. //depot/projects/smpng/sys/dev/mmc/mmcvar.h#4 integrate .. //depot/projects/smpng/sys/dev/mse/mse.c#8 integrate .. //depot/projects/smpng/sys/dev/msk/if_msk.c#11 integrate .. //depot/projects/smpng/sys/dev/msk/if_mskreg.h#6 integrate .. //depot/projects/smpng/sys/dev/pbio/pbio.c#7 integrate .. //depot/projects/smpng/sys/dev/powermac_nvram/powermac_nvram.c#3 integrate .. //depot/projects/smpng/sys/dev/ppbus/lpt.c#19 integrate .. //depot/projects/smpng/sys/dev/ppbus/pcfclock.c#13 integrate .. //depot/projects/smpng/sys/dev/ppbus/ppi.c#16 integrate .. //depot/projects/smpng/sys/dev/rp/rpvar.h#8 integrate .. //depot/projects/smpng/sys/dev/siba/siba.c#1 branch .. //depot/projects/smpng/sys/dev/siba/siba_ids.h#1 branch .. //depot/projects/smpng/sys/dev/siba/siba_pcib.c#1 branch .. //depot/projects/smpng/sys/dev/siba/siba_pcibvar.h#1 branch .. //depot/projects/smpng/sys/dev/siba/sibareg.h#1 branch .. //depot/projects/smpng/sys/dev/siba/sibavar.h#1 branch .. //depot/projects/smpng/sys/dev/sound/midi/sequencer.c#22 integrate .. //depot/projects/smpng/sys/dev/sound/pci/emu10kx.c#8 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/dsp.c#44 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/mixer.c#29 integrate .. //depot/projects/smpng/sys/dev/speaker/spkr.c#5 integrate .. //depot/projects/smpng/sys/dev/streams/streams.c#36 integrate .. //depot/projects/smpng/sys/dev/tdfx/tdfx_pci.c#22 integrate .. //depot/projects/smpng/sys/dev/twa/tw_osl_freebsd.c#9 integrate .. //depot/projects/smpng/sys/dev/twe/twe_freebsd.c#26 integrate .. //depot/projects/smpng/sys/dev/usb/ubsa.c#25 integrate .. //depot/projects/smpng/sys/dev/usb/ucomvar.h#13 integrate .. //depot/projects/smpng/sys/dev/usb/ufm.c#17 integrate .. //depot/projects/smpng/sys/dev/usb/ugen.c#40 integrate .. //depot/projects/smpng/sys/dev/usb/uhid.c#33 integrate .. //depot/projects/smpng/sys/dev/usb/ulpt.c#25 integrate .. //depot/projects/smpng/sys/dev/usb/umass.c#67 integrate .. //depot/projects/smpng/sys/dev/usb/ums.c#32 integrate .. //depot/projects/smpng/sys/dev/usb/urio.c#24 integrate .. //depot/projects/smpng/sys/dev/usb/usb.c#39 integrate .. //depot/projects/smpng/sys/dev/usb/uscanner.c#39 integrate .. //depot/projects/smpng/sys/dev/vkbd/vkbd.c#13 integrate .. //depot/projects/smpng/sys/dev/xen/blkfront/blkfront.c#2 integrate .. //depot/projects/smpng/sys/dev/xen/console/console.c#2 integrate .. //depot/projects/smpng/sys/dev/xen/netfront/netfront.c#2 integrate .. //depot/projects/smpng/sys/fs/coda/coda_fbsd.c#3 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#72 integrate .. //depot/projects/smpng/sys/geom/geom_dev.c#49 integrate .. //depot/projects/smpng/sys/geom/part/g_part.c#11 integrate .. //depot/projects/smpng/sys/geom/part/g_part_bsd.c#5 integrate .. //depot/projects/smpng/sys/geom/part/g_part_pc98.c#3 integrate .. //depot/projects/smpng/sys/i386/acpica/acpi_machdep.c#30 integrate .. //depot/projects/smpng/sys/i386/bios/apm.c#16 integrate .. //depot/projects/smpng/sys/i386/bios/smapi.c#9 integrate .. //depot/projects/smpng/sys/i386/i386/db_trace.c#38 integrate .. //depot/projects/smpng/sys/i386/i386/mem.c#24 integrate .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#114 integrate .. //depot/projects/smpng/sys/i386/include/param.h#19 integrate .. //depot/projects/smpng/sys/i386/include/smp.h#26 integrate .. //depot/projects/smpng/sys/i386/include/xen/evtchn.h#2 integrate .. //depot/projects/smpng/sys/i386/xen/mp_machdep.c#3 integrate .. //depot/projects/smpng/sys/i386/xen/pmap.c#3 integrate .. //depot/projects/smpng/sys/i386/xen/xen_machdep.c#3 integrate .. //depot/projects/smpng/sys/ia64/ia64/interrupt.c#43 integrate .. //depot/projects/smpng/sys/ia64/ia64/mem.c#18 integrate .. //depot/projects/smpng/sys/ia64/ia64/mp_machdep.c#38 integrate .. //depot/projects/smpng/sys/ia64/ia64/sal.c#14 integrate .. //depot/projects/smpng/sys/ia64/include/smp.h#9 integrate .. //depot/projects/smpng/sys/kern/init_sysent.c#86 integrate .. //depot/projects/smpng/sys/kern/kern_condvar.c#53 integrate .. //depot/projects/smpng/sys/kern/kern_conf.c#56 integrate .. //depot/projects/smpng/sys/kern/kern_shutdown.c#71 integrate .. //depot/projects/smpng/sys/kern/kern_synch.c#125 integrate .. //depot/projects/smpng/sys/kern/makesyscalls.sh#26 integrate .. //depot/projects/smpng/sys/kern/syscalls.c#86 integrate .. //depot/projects/smpng/sys/kern/syscalls.master#92 integrate .. //depot/projects/smpng/sys/kern/systrace_args.c#13 integrate .. //depot/projects/smpng/sys/kern/tty.c#77 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#114 integrate .. //depot/projects/smpng/sys/mips/adm5120/if_admsw.c#3 integrate .. //depot/projects/smpng/sys/mips/include/param.h#2 integrate .. //depot/projects/smpng/sys/mips/include/smp.h#2 integrate .. //depot/projects/smpng/sys/mips/mips/mem.c#2 integrate .. //depot/projects/smpng/sys/mips/mips/mp_machdep.c#3 integrate .. //depot/projects/smpng/sys/mips/mips/pmap.c#2 integrate .. //depot/projects/smpng/sys/mips/mips/trap.c#2 integrate .. //depot/projects/smpng/sys/mips/sentry5/s5_machdep.c#3 integrate .. //depot/projects/smpng/sys/net/if.c#102 integrate .. //depot/projects/smpng/sys/net/if_lagg.c#13 integrate .. //depot/projects/smpng/sys/net/if_stf.c#43 integrate .. //depot/projects/smpng/sys/net/if_tap.c#48 integrate .. //depot/projects/smpng/sys/net/if_tun.c#53 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ddb.c#5 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_hostap.c#4 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_scan_sta.c#4 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#9 integrate .. //depot/projects/smpng/sys/netgraph/ng_device.c#19 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#84 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.h#53 integrate .. //depot/projects/smpng/sys/netinet/ip.h#15 integrate .. //depot/projects/smpng/sys/netinet/ip_fw2.c#95 integrate .. //depot/projects/smpng/sys/netinet/ip_input.c#89 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#116 integrate .. //depot/projects/smpng/sys/netsmb/smb_dev.c#25 integrate .. //depot/projects/smpng/sys/pc98/cbus/gdc.c#5 integrate .. //depot/projects/smpng/sys/pc98/cbus/olpt.c#4 integrate .. //depot/projects/smpng/sys/powerpc/include/dbdma.h#3 integrate .. //depot/projects/smpng/sys/powerpc/include/smp.h#4 integrate .. //depot/projects/smpng/sys/powerpc/powermac/ata_dbdma.c#1 branch .. //depot/projects/smpng/sys/powerpc/powermac/ata_dbdma.h#1 branch .. //depot/projects/smpng/sys/powerpc/powermac/ata_kauai.c#11 integrate .. //depot/projects/smpng/sys/powerpc/powermac/ata_macio.c#15 integrate .. //depot/projects/smpng/sys/powerpc/powermac/dbdma.c#3 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/cpu.c#11 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/intr_machdep.c#17 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/mem.c#3 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/mp_machdep.c#10 integrate .. //depot/projects/smpng/sys/security/audit/audit_pipe.c#11 integrate .. //depot/projects/smpng/sys/sparc64/pci/schizo.c#1 branch .. //depot/projects/smpng/sys/sparc64/pci/schizoreg.h#1 branch .. //depot/projects/smpng/sys/sparc64/pci/schizovar.h#1 branch .. //depot/projects/smpng/sys/sparc64/sparc64/mem.c#18 integrate .. //depot/projects/smpng/sys/sun4v/include/smp.h#6 integrate .. //depot/projects/smpng/sys/sys/conf.h#53 integrate .. //depot/projects/smpng/sys/sys/pmc.h#10 integrate .. //depot/projects/smpng/sys/sys/syscall.h#85 integrate .. //depot/projects/smpng/sys/sys/syscall.mk#85 integrate .. //depot/projects/smpng/sys/sys/sysent.h#30 integrate .. //depot/projects/smpng/sys/sys/sysproto.h#89 integrate .. //depot/projects/smpng/sys/sys/systm.h#89 integrate .. //depot/projects/smpng/sys/sys/types.h#36 integrate .. //depot/projects/smpng/sys/vm/device_pager.c#25 integrate .. //depot/projects/smpng/sys/vm/swap_pager.c#77 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#100 integrate .. //depot/projects/smpng/sys/vm/vm_page.h#43 integrate .. //depot/projects/smpng/sys/vm/vm_pageout.c#68 integrate .. //depot/projects/smpng/sys/vm/vm_pageout.h#17 integrate .. //depot/projects/smpng/sys/xen/evtchn/evtchn.c#2 integrate .. //depot/projects/smpng/sys/xen/gnttab.c#2 integrate .. //depot/projects/smpng/sys/xen/gnttab.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/arch-ia64.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/arch-powerpc.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/arch-x86/cpuid.h#1 branch .. //depot/projects/smpng/sys/xen/interface/arch-x86/hvm/save.h#1 branch .. //depot/projects/smpng/sys/xen/interface/arch-x86/xen-mca.h#1 branch .. //depot/projects/smpng/sys/xen/interface/arch-x86/xen-x86_32.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/arch-x86/xen-x86_64.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/arch-x86/xen.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/callback.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/domctl.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/features.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/foreign/mkchecker.py#2 integrate .. //depot/projects/smpng/sys/xen/interface/foreign/mkheader.py#2 integrate .. //depot/projects/smpng/sys/xen/interface/foreign/structs.py#2 integrate .. //depot/projects/smpng/sys/xen/interface/grant_table.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/hvm/hvm_op.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/hvm/ioreq.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/hvm/params.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/hvm/save.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/io/blkif.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/io/fbif.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/io/kbdif.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/io/netif.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/io/pciif.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/io/protocols.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/io/ring.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/io/xenbus.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/io/xs_wire.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/kexec.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/libelf.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/memory.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/physdev.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/platform.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/sysctl.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/trace.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/vcpu.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/xen-compat.h#2 integrate .. //depot/projects/smpng/sys/xen/interface/xen.h#2 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/mem.c#13 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mem.c,v 1.123 2008/06/20 05:22:09 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mem.c,v 1.124 2008/09/27 08:51:18 ed Exp $"); /* * Memory special file @@ -93,7 +93,7 @@ panic("memrw"); continue; } - if (minor(dev) == CDEV_MINOR_MEM) { + if (dev2unit(dev) == CDEV_MINOR_MEM) { v = uio->uio_offset; kmemphys: o = v & PAGE_MASK; @@ -101,7 +101,7 @@ error = uiomove((void *)PHYS_TO_DMAP(v), (int)c, uio); continue; } - else if (minor(dev) == CDEV_MINOR_KMEM) { + else if (dev2unit(dev) == CDEV_MINOR_KMEM) { v = uio->uio_offset; if (v >= DMAP_MIN_ADDRESS && v < DMAP_MAX_ADDRESS) { @@ -147,9 +147,9 @@ memmmap(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr, int prot __unused) { - if (minor(dev) == CDEV_MINOR_MEM) + if (dev2unit(dev) == CDEV_MINOR_MEM) *paddr = offset; - else if (minor(dev) == CDEV_MINOR_KMEM) + else if (dev2unit(dev) == CDEV_MINOR_KMEM) *paddr = vtophys(offset); /* else panic! */ return (0); ==== //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#48 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.293 2008/09/08 09:59:05 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.294 2008/09/28 18:34:14 marius Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -1013,21 +1013,6 @@ } /* - * send an IPI INTerrupt containing 'vector' to all CPUs, including myself - */ -void -ipi_all(u_int ipi) -{ - - if (IPI_IS_BITMAPED(ipi) || (ipi == IPI_STOP && stop_cpus_with_nmi)) { - ipi_selected(all_cpus, ipi); - return; - } - CTR2(KTR_SMP, "%s: ipi: %x", __func__, ipi); - lapic_ipi_vectored(ipi, APIC_IPI_DEST_ALL); -} - -/* * send an IPI to all CPUs EXCEPT myself */ void @@ -1042,21 +1027,6 @@ lapic_ipi_vectored(ipi, APIC_IPI_DEST_OTHERS); } -/* - * send an IPI to myself - */ -void -ipi_self(u_int ipi) -{ - - if (IPI_IS_BITMAPED(ipi) || (ipi == IPI_STOP && stop_cpus_with_nmi)) { - ipi_selected(PCPU_GET(cpumask), ipi); - return; - } - CTR2(KTR_SMP, "%s: ipi: %x", __func__, ipi); - lapic_ipi_vectored(ipi, APIC_IPI_DEST_SELF); -} - #ifdef STOP_NMI /* * send NMI IPI to selected CPUs ==== //depot/projects/smpng/sys/amd64/include/smp.h#18 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/amd64/include/smp.h,v 1.92 2008/03/02 07:58:40 jeff Exp $ + * $FreeBSD: src/sys/amd64/include/smp.h,v 1.93 2008/09/28 18:34:14 marius Exp $ * */ @@ -55,9 +55,7 @@ void cpustop_handler(void); void init_secondary(void); void ipi_selected(u_int cpus, u_int ipi); -void ipi_all(u_int ipi); void ipi_all_but_self(u_int ipi); -void ipi_self(u_int ipi); void ipi_bitmap_handler(struct trapframe frame); u_int mp_bootaddress(u_int); int mp_grab_cpu_hlt(void); ==== //depot/projects/smpng/sys/arm/arm/mem.c#6 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/mem.c,v 1.5 2007/02/13 15:35:57 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/mem.c,v 1.6 2008/09/27 08:51:18 ed Exp $"); /* * Memory special file @@ -91,7 +91,7 @@ panic("memrw"); continue; } - if (minor(dev) == CDEV_MINOR_MEM) { + if (dev2unit(dev) == CDEV_MINOR_MEM) { int i; int address_valid = 0; @@ -116,7 +116,7 @@ pmap_qremove((vm_offset_t)_tmppt, 1); continue; } - else if (minor(dev) == CDEV_MINOR_KMEM) { + else if (dev2unit(dev) == CDEV_MINOR_KMEM) { c = iov->iov_len; /* @@ -156,9 +156,9 @@ memmmap(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr, int prot __unused) { - if (minor(dev) == CDEV_MINOR_MEM) + if (dev2unit(dev) == CDEV_MINOR_MEM) *paddr = offset; - else if (minor(dev) == CDEV_MINOR_KMEM) + else if (dev2unit(dev) == CDEV_MINOR_KMEM) *paddr = vtophys(offset); /* else panic! */ return (0); ==== //depot/projects/smpng/sys/arm/arm/pmap.c#44 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.101 2008/05/18 04:16:55 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.102 2008/09/28 05:36:25 imp Exp $"); #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> @@ -2592,7 +2592,6 @@ cpu_tlb_flushD(); cpu_cpwait(); kernel_vm_end = pmap_curmaxkvaddr; - } ==== //depot/projects/smpng/sys/arm/at91/at91_mci.c#6 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_mci.c,v 1.5 2008/09/05 22:30:59 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_mci.c,v 1.7 2008/09/30 02:32:41 imp Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -455,7 +455,7 @@ static int at91_mci_get_ro(device_t brdev, device_t reqdev) { - return (-1); + return (0); } static int @@ -678,6 +678,7 @@ case MMCBR_IVAR_VDD: sc->host.ios.vdd = value; break; + /* These are read-only */ case MMCBR_IVAR_HOST_OCR: case MMCBR_IVAR_F_MIN: case MMCBR_IVAR_F_MAX: ==== //depot/projects/smpng/sys/cam/scsi/scsi_pass.c#19 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_pass.c,v 1.48 2007/05/16 16:54:23 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_pass.c,v 1.49 2008/09/26 14:19:52 ed Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -265,7 +265,7 @@ mtx_unlock(periph->sim->mtx); no_tags = (cgd->inq_data.flags & SID_CmdQue) == 0; softc->device_stats = devstat_new_entry("pass", - unit2minor(periph->unit_number), 0, + periph->unit_number, 0, DEVSTAT_NO_BLOCKSIZE | (no_tags ? DEVSTAT_NO_ORDERED_TAGS : 0), softc->pd_type | @@ -274,7 +274,7 @@ DEVSTAT_PRIORITY_PASS); /* Register the device */ - softc->dev = make_dev(&pass_cdevsw, unit2minor(periph->unit_number), + softc->dev = make_dev(&pass_cdevsw, periph->unit_number, UID_ROOT, GID_OPERATOR, 0600, "%s%d", periph->periph_name, periph->unit_number); mtx_lock(periph->sim->mtx); ==== //depot/projects/smpng/sys/cam/scsi/scsi_sa.c#31 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_sa.c,v 1.113 2007/06/16 18:20:29 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_sa.c,v 1.114 2008/09/27 08:51:18 ed Exp $"); #include <sys/param.h> #include <sys/queue.h> @@ -175,11 +175,11 @@ /* units are bits 4-7, 16-21 (1024 units) */ #define SAUNIT(DEV) \ - (((minor(DEV) & 0xF0) >> 4) | ((minor(DEV) & 0x3f0000) >> 16)) + (((dev2unit(DEV) & 0xF0) >> 4) | ((dev2unit(DEV) & 0x3f0000) >> 16)) -#define SAMODE(z) ((minor(z) & 0x3)) -#define SADENSITY(z) (((minor(z) >> 2) & 0x3)) -#define SA_IS_CTRL(z) (minor(z) & (1 << 29)) +#define SAMODE(z) ((dev2unit(z) & 0x3)) +#define SADENSITY(z) (((dev2unit(z) >> 2) & 0x3)) +#define SA_IS_CTRL(z) (dev2unit(z) & (1 << 29)) #define SA_NOT_CTLDEV 0 #define SA_CTLDEV 1 ==== //depot/projects/smpng/sys/cam/scsi/scsi_ses.c#19 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_ses.c,v 1.37 2008/03/17 17:18:16 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_ses.c,v 1.39 2008/09/27 08:51:18 ed Exp $"); #include <sys/param.h> #include <sys/queue.h> @@ -155,7 +155,7 @@ #define SES_FLAG_OPEN 0x02 #define SES_FLAG_INITIALIZED 0x04 -#define SESUNIT(x) (minor((x))) +#define SESUNIT(x) (dev2unit((x))) static d_open_t sesopen; static d_close_t sesclose; @@ -343,7 +343,7 @@ } cam_periph_unlock(periph); - softc->ses_dev = make_dev(&ses_cdevsw, unit2minor(periph->unit_number), + softc->ses_dev = make_dev(&ses_cdevsw, periph->unit_number, UID_ROOT, GID_OPERATOR, 0600, "%s%d", periph->periph_name, periph->unit_number); cam_periph_lock(periph); ==== //depot/projects/smpng/sys/cam/scsi/scsi_sg.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_sg.c,v 1.9 2007/05/16 16:54:23 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_sg.c,v 1.10 2008/09/26 14:19:52 ed Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -287,7 +287,7 @@ cam_periph_unlock(periph); no_tags = (cgd->inq_data.flags & SID_CmdQue) == 0; softc->device_stats = devstat_new_entry("sg", - unit2minor(periph->unit_number), 0, + periph->unit_number, 0, DEVSTAT_NO_BLOCKSIZE | (no_tags ? DEVSTAT_NO_ORDERED_TAGS : 0), softc->pd_type | @@ -296,7 +296,7 @@ DEVSTAT_PRIORITY_PASS); /* Register the device */ - softc->dev = make_dev(&sg_cdevsw, unit2minor(periph->unit_number), + softc->dev = make_dev(&sg_cdevsw, periph->unit_number, UID_ROOT, GID_OPERATOR, 0600, "%s%d", periph->periph_name, periph->unit_number); (void)make_dev_alias(softc->dev, "sg%c", 'a' + periph->unit_number); ==== //depot/projects/smpng/sys/cam/scsi/scsi_target.c#25 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.73 2007/04/15 08:49:11 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_target.c,v 1.75 2008/09/27 08:51:18 ed Exp $"); #include <sys/param.h> @@ -180,7 +180,7 @@ /* Create the targ device, allocate its softc, initialize it */ if ((dev->si_flags & SI_NAMED) == 0) { - make_dev(&targ_cdevsw, minor(dev), UID_ROOT, GID_WHEEL, 0600, + make_dev(&targ_cdevsw, dev2unit(dev), UID_ROOT, GID_WHEEL, 0600, "targ%d", dev2unit(dev)); } MALLOC(softc, struct targ_softc *, sizeof(*softc), M_TARG, @@ -1031,7 +1031,7 @@ return; if (dev_stdclone(name, NULL, "targ", &u) != 1) return; - *dev = make_dev(&targ_cdevsw, unit2minor(u), UID_ROOT, GID_WHEEL, + *dev = make_dev(&targ_cdevsw, u, UID_ROOT, GID_WHEEL, 0600, "targ%d", u); dev_ref(*dev); (*dev)->si_flags |= SI_CHEAPCLONE; ==== //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#3 (text+ko) ==== @@ -18,7 +18,7 @@ * * CDDL HEADER END * - * $FreeBSD: src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c,v 1.6 2008/08/19 21:28:58 jb Exp $ + * $FreeBSD: src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c,v 1.8 2008/09/27 17:52:48 jb Exp $ */ /* @@ -12815,8 +12815,12 @@ state = ddi_get_soft_state(dtrace_softstate, minor); #else if (dev != NULL) { - cr = dev->si_cred; - m = minor(dev); + /* + * Disable this until we have the ability to set user + * credentials for DTrace. + * cr = dev->si_cred; + */ + m = dev2unit(dev); } /* Allocate memory for the state. */ @@ -15266,7 +15270,7 @@ * The first minor device is the one that is cloned so there is * nothing more to do here. */ - if (minor(dev) == 0) + if (dev2unit(dev) == 0) return 0; /* @@ -15367,7 +15371,7 @@ dtrace_state_t *state = dev->si_drv1; /* Check if this is not a cloned device. */ - if (minor(dev) == 0) + if (dev2unit(dev) == 0) return (0); #endif ==== //depot/projects/smpng/sys/cddl/dev/dtrace/dtrace_clone.c#2 (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/cddl/dev/dtrace/dtrace_clone.c,v 1.1 2008/05/23 05:59:41 jb Exp $ + * $FreeBSD: src/sys/cddl/dev/dtrace/dtrace_clone.c,v 1.2 2008/09/26 14:19:52 ed Exp $ * */ @@ -52,7 +52,7 @@ /* Clone the device to the new minor number. */ if (clone_create(&dtrace_clones, &dtrace_cdevsw, &u, dev, 0) != 0) /* Create the /dev/dtrace/dtraceNN entry. */ - *dev = make_dev_cred(&dtrace_cdevsw, unit2minor(u), cred, + *dev = make_dev_cred(&dtrace_cdevsw, u, cred, UID_ROOT, GID_WHEEL, 0600, "dtrace/dtrace%d", u); if (*dev != NULL) { dev_ref(*dev); ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#51 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.79 2008/09/19 15:17:32 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.80 2008/09/25 20:50:21 jhb Exp $"); #include "opt_compat.h" @@ -2624,3 +2624,83 @@ return (error); } #endif + +int +syscall32_register(int *offset, struct sysent *new_sysent, + struct sysent *old_sysent) +{ + if (*offset == NO_SYSCALL) { + int i; + + for (i = 1; i < SYS_MAXSYSCALL; ++i) + if (freebsd32_sysent[i].sy_call == + (sy_call_t *)lkmnosys) + break; + if (i == SYS_MAXSYSCALL) + return (ENFILE); + *offset = i; + } else if (*offset < 0 || *offset >= SYS_MAXSYSCALL) + return (EINVAL); + else if (freebsd32_sysent[*offset].sy_call != (sy_call_t *)lkmnosys && + freebsd32_sysent[*offset].sy_call != (sy_call_t *)lkmressys) + return (EEXIST); + + *old_sysent = freebsd32_sysent[*offset]; + freebsd32_sysent[*offset] = *new_sysent; + return 0; +} + +int +syscall32_deregister(int *offset, struct sysent *old_sysent) +{ + + if (*offset) + freebsd32_sysent[*offset] = *old_sysent; + return 0; +} + +int +syscall32_module_handler(struct module *mod, int what, void *arg) +{ + struct syscall_module_data *data = (struct syscall_module_data*)arg; + modspecific_t ms; + int error; + + switch (what) { + case MOD_LOAD: + error = syscall32_register(data->offset, data->new_sysent, + &data->old_sysent); + if (error) { + /* Leave a mark so we know to safely unload below. */ + data->offset = NULL; + return error; + } + ms.intval = *data->offset; + MOD_XLOCK; + module_setspecific(mod, &ms); + MOD_XUNLOCK; + if (data->chainevh) + error = data->chainevh(mod, what, data->chainarg); + return (error); + case MOD_UNLOAD: + /* + * MOD_LOAD failed, so just return without calling the + * chained handler since we didn't pass along the MOD_LOAD + * event. + */ + if (data->offset == NULL) + return (0); + if (data->chainevh) { + error = data->chainevh(mod, what, data->chainarg); + if (error) + return (error); + } + error = syscall_deregister(data->offset, &data->old_sysent); + return (error); + default: + error = EOPNOTSUPP; + if (data->chainevh) + error = data->chainevh(mod, what, data->chainarg); + return (error); + } +} ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#46 (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.92 2008/09/22 16:09:43 obrien Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183270 2008-09-22 16:09:16Z obrien + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.93 2008/09/25 20:08:36 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183361 2008-09-25 20:07:42Z jhb */ #ifndef _FREEBSD32_SYSPROTO_H_ ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#46 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.91 2008/09/22 16:09:43 obrien Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183270 2008-09-22 16:09:16Z obrien + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.92 2008/09/25 20:08:36 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183361 2008-09-25 20:07:42Z jhb */ #define FREEBSD32_SYS_syscall 0 ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#46 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.82 2008/09/22 16:09:43 obrien Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183270 2008-09-22 16:09:16Z obrien + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.83 2008/09/25 20:08:36 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183361 2008-09-25 20:07:42Z jhb */ const char *freebsd32_syscallnames[] = { @@ -217,16 +217,16 @@ "getpgid", /* 207 = getpgid */ "#208", /* 208 = newreboot */ "poll", /* 209 = poll */ - "#210", /* 210 = */ - "#211", /* 211 = */ - "#212", /* 212 = */ - "#213", /* 213 = */ - "#214", /* 214 = */ - "#215", /* 215 = */ - "#216", /* 216 = */ - "#217", /* 217 = */ - "#218", /* 218 = */ - "#219", /* 219 = */ + "lkmnosys", /* 210 = lkmnosys */ + "lkmnosys", /* 211 = lkmnosys */ + "lkmnosys", /* 212 = lkmnosys */ + "lkmnosys", /* 213 = lkmnosys */ + "lkmnosys", /* 214 = lkmnosys */ + "lkmnosys", /* 215 = lkmnosys */ + "lkmnosys", /* 216 = lkmnosys */ + "lkmnosys", /* 217 = lkmnosys */ + "lkmnosys", /* 218 = lkmnosys */ + "lkmnosys", /* 219 = lkmnosys */ "freebsd32_semctl", /* 220 = freebsd32_semctl */ "semget", /* 221 = semget */ "semop", /* 222 = semop */ @@ -377,7 +377,7 @@ "#367", /* 367 = __cap_get_file */ "#368", /* 368 = __cap_set_fd */ "#369", /* 369 = __cap_set_file */ - "#370", /* 370 = lkmressys */ + "#370", /* 370 = nosys */ "extattr_set_fd", /* 371 = extattr_set_fd */ "extattr_get_fd", /* 372 = extattr_get_fd */ "extattr_delete_fd", /* 373 = extattr_delete_fd */ ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#46 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.92 2008/09/22 16:09:43 obrien Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183270 2008-09-22 16:09:16Z obrien + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.93 2008/09/25 20:08:36 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 183361 2008-09-25 20:07:42Z jhb */ #include "opt_compat.h" @@ -248,16 +248,16 @@ { AS(getpgid_args), (sy_call_t *)getpgid, AUE_GETPGID, NULL, 0, 0 }, /* 207 = getpgid */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 208 = newreboot */ { AS(poll_args), (sy_call_t *)poll, AUE_POLL, NULL, 0, 0 }, /* 209 = poll */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 210 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 211 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 212 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 213 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 214 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 215 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 216 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 217 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 218 = */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 219 = */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 210 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 211 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 212 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 213 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 214 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 215 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 216 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 217 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 218 = lkmnosys */ + { AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0 }, /* 219 = lkmnosys */ { AS(freebsd32_semctl_args), (sy_call_t *)freebsd32_semctl, AUE_SEMCTL, NULL, 0, 0 }, /* 220 = freebsd32_semctl */ { AS(semget_args), (sy_call_t *)semget, AUE_SEMGET, NULL, 0, 0 }, /* 221 = semget */ { AS(semop_args), (sy_call_t *)semop, AUE_SEMOP, NULL, 0, 0 }, /* 222 = semop */ @@ -408,7 +408,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 367 = __cap_get_file */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 368 = __cap_set_fd */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 369 = __cap_set_file */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 370 = lkmressys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 370 = nosys */ { AS(extattr_set_fd_args), (sy_call_t *)extattr_set_fd, AUE_EXTATTR_SET_FD, NULL, 0, 0 }, /* 371 = extattr_set_fd */ { AS(extattr_get_fd_args), (sy_call_t *)extattr_get_fd, AUE_EXTATTR_GET_FD, NULL, 0, 0 }, /* 372 = extattr_get_fd */ { AS(extattr_delete_fd_args), (sy_call_t *)extattr_delete_fd, AUE_EXTATTR_DELETE_FD, NULL, 0, 0 }, /* 373 = extattr_delete_fd */ ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_util.h#4 (text+ko) ==== @@ -25,18 +25,20 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_util.h,v 1.10 2005/06/29 15:16:20 jhb Exp $ + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_util.h,v 1.12 2008/09/25 20:50:21 jhb Exp $ */ +#ifndef _COMPAT_FREEBSD32_FREEBSD32_UTIL_H_ +#define _COMPAT_FREEBSD32_FREEBSD32_UTIL_H_ + +#include <sys/cdefs.h> +#include <sys/exec.h> +#include <sys/sysent.h> + #include <vm/vm.h> #include <vm/vm_param.h> #include <vm/pmap.h> - -#include <sys/exec.h> -#include <sys/sysent.h> -#include <sys/cdefs.h> - struct freebsd32_ps_strings { u_int32_t ps_argvstr; /* first of 0 or more argument strings */ int ps_nargvstr; /* the number of argument strings */ @@ -50,3 +52,35 @@ #define FREEBSD32_PS_STRINGS \ (FREEBSD32_USRSTACK - sizeof(struct freebsd32_ps_strings)) + +extern struct sysent freebsd32_sysent[]; + +#define SYSCALL32_MODULE(name, offset, new_sysent, evh, arg) \ +static struct syscall_module_data name##_syscall32_mod = { \ + evh, arg, offset, new_sysent, { 0, NULL } \ +}; \ + \ +static moduledata_t name##32_mod = { \ + #name, \ + syscall32_module_handler, \ + &name##_syscall32_mod \ +}; \ +DECLARE_MODULE(name##32, name##32_mod, SI_SUB_SYSCALLS, SI_ORDER_MIDDLE) + +#define SYSCALL32_MODULE_HELPER(syscallname) \ +static int syscallname##_syscall32 = FREEBSD32_SYS_##syscallname; \ +static struct sysent syscallname##_sysent32 = { \ + (sizeof(struct syscallname ## _args ) \ + / sizeof(register_t)), \ + (sy_call_t *)& syscallname \ +}; \ +SYSCALL32_MODULE(syscallname, \ + & syscallname##_syscall32, & syscallname##_sysent32,\ + NULL, NULL); + +int syscall32_register(int *offset, struct sysent *new_sysent, + struct sysent *old_sysent); +int syscall32_deregister(int *offset, struct sysent *old_sysent); +int syscall32_module_handler(struct module *mod, int what, void *arg); + +#endif /* !_COMPAT_FREEBSD32_FREEBSD32_UTIL_H_ */ ==== //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#50 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.107 2008/09/22 16:09:16 obrien Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.108 2008/09/25 20:07:42 jhb Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -33,7 +33,7 @@ ; so the SYSCALL_MODULE macro works ; NOARGS same as STD except do not create structure in sys/sysproto.h ; NODEF same as STD except only have the entry in the syscall table -; added. Meaning - do do not create structure or function +; added. Meaning - do not create structure or function ; prototype in sys/sysproto.h ; NOPROTO same as STD except do not create structure or ; function prototype in sys/sysproto.h. Does add a @@ -388,16 +388,16 @@ ; ; The following are reserved for loadable syscalls ; -210 AUE_NULL UNIMPL -211 AUE_NULL UNIMPL -212 AUE_NULL UNIMPL -213 AUE_NULL UNIMPL -214 AUE_NULL UNIMPL -215 AUE_NULL UNIMPL >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809301904.m8UJ4OL7017275>