PERFORCE change 169593 for review
John Baldwin
jhb at FreeBSD.org
Mon Oct 19 14:27:59 UTC 2009
http://p4web.freebsd.org/chv.cgi?CH=169593
Change 169593 by jhb at jhb_jhbbsd on 2009/10/19 14:27:26
IFC @169589
Affected files ...
.. //depot/projects/smpng/share/man/man9/BUS_BIND_INTR.9#1 branch
.. //depot/projects/smpng/share/man/man9/BUS_DESCRIBE_INTR.9#1 branch
.. //depot/projects/smpng/share/man/man9/Makefile#11 integrate
.. //depot/projects/smpng/share/man/man9/fetch.9#2 integrate
.. //depot/projects/smpng/share/man/man9/store.9#2 integrate
.. //depot/projects/smpng/sys/amd64/acpica/acpi_machdep.c#15 integrate
.. //depot/projects/smpng/sys/amd64/acpica/acpi_wakecode.S#4 integrate
.. //depot/projects/smpng/sys/amd64/acpica/acpi_wakeup.c#9 integrate
.. //depot/projects/smpng/sys/amd64/amd64/elf_machdep.c#19 integrate
.. //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#37 integrate
.. //depot/projects/smpng/sys/amd64/amd64/nexus.c#30 integrate
.. //depot/projects/smpng/sys/amd64/conf/GENERIC#85 integrate
.. //depot/projects/smpng/sys/amd64/include/atomic.h#33 integrate
.. //depot/projects/smpng/sys/amd64/include/elf.h#8 integrate
.. //depot/projects/smpng/sys/amd64/include/intr_machdep.h#22 integrate
.. //depot/projects/smpng/sys/arm/arm/cpufunc.c#20 integrate
.. //depot/projects/smpng/sys/arm/arm/elf_machdep.c#14 integrate
.. //depot/projects/smpng/sys/arm/arm/pmap.c#54 integrate
.. //depot/projects/smpng/sys/arm/conf/HL200#10 integrate
.. //depot/projects/smpng/sys/arm/conf/KB920X#17 integrate
.. //depot/projects/smpng/sys/arm/include/elf.h#9 integrate
.. //depot/projects/smpng/sys/arm/xscale/i80321/i80321_timer.c#13 integrate
.. //depot/projects/smpng/sys/arm/xscale/xscalereg.h#3 delete
.. //depot/projects/smpng/sys/arm/xscale/xscalevar.h#3 delete
.. //depot/projects/smpng/sys/boot/i386/zfsboot/zfsboot.c#4 integrate
.. //depot/projects/smpng/sys/cam/ata/ata_da.c#4 integrate
.. //depot/projects/smpng/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c#6 integrate
.. //depot/projects/smpng/sys/cddl/compat/opensolaris/sys/policy.h#4 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#9 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#5 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#17 integrate
.. //depot/projects/smpng/sys/compat/ia32/ia32_sysvec.c#26 integrate
.. //depot/projects/smpng/sys/conf/files#254 integrate
.. //depot/projects/smpng/sys/conf/files.amd64#70 integrate
.. //depot/projects/smpng/sys/conf/files.i386#129 integrate
.. //depot/projects/smpng/sys/dev/agp/agp_i810.c#10 integrate
.. //depot/projects/smpng/sys/dev/ahci/ahci.c#3 integrate
.. //depot/projects/smpng/sys/dev/ata/chipsets/ata-ati.c#4 integrate
.. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_eeprom_v4k.c#1 branch
.. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_eeprom_v4k.h#1 branch
.. //depot/projects/smpng/sys/dev/bge/if_bge.c#110 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bgereg.h#61 integrate
.. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_ael1002.c#12 integrate
.. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_aq100x.c#1 branch
.. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_common.h#11 integrate
.. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#6 integrate
.. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_regs.h#4 integrate
.. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_t3_hw.c#13 integrate
.. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_tn1010.c#3 integrate
.. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_vsc8211.c#6 integrate
.. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_xgmac.c#9 integrate
.. //depot/projects/smpng/sys/dev/cxgb/cxgb_adapter.h#17 integrate
.. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#26 integrate
.. //depot/projects/smpng/sys/dev/cxgb/cxgb_osdep.h#12 integrate
.. //depot/projects/smpng/sys/dev/cxgb/cxgb_t3fw.h#3 integrate
.. //depot/projects/smpng/sys/dev/drm/drm_pciids.h#17 integrate
.. //depot/projects/smpng/sys/dev/drm/i915_drv.h#12 integrate
.. //depot/projects/smpng/sys/dev/fdc/fdc.c#34 integrate
.. //depot/projects/smpng/sys/dev/gem/if_gem_pci.c#26 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_mod.c#31 integrate
.. //depot/projects/smpng/sys/dev/pci/pci.c#114 integrate
.. //depot/projects/smpng/sys/dev/ppbus/lpt.c#26 integrate
.. //depot/projects/smpng/sys/dev/siis/siis.c#3 integrate
.. //depot/projects/smpng/sys/dev/uart/uart_bus.h#12 integrate
.. //depot/projects/smpng/sys/dev/uart/uart_core.c#20 integrate
.. //depot/projects/smpng/sys/dev/uart/uart_tty.c#25 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ehci.c#15 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ehci.h#8 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ehci_ixp4xx.c#7 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ehci_mbus.c#6 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ehci_pci.c#9 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ehcireg.h#1 branch
.. //depot/projects/smpng/sys/dev/usb/controller/ohci.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ohci.h#7 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ohci_atmelarm.c#6 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ohci_pci.c#8 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/ohcireg.h#1 branch
.. //depot/projects/smpng/sys/dev/usb/controller/uhci.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/uhci.h#7 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/uhci_pci.c#8 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/uhcireg.h#1 branch
.. //depot/projects/smpng/sys/dev/usb/input/ukbd.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/net/if_cdce.c#13 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#146 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_rum.c#11 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_uath.c#10 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_upgt.c#10 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_ural.c#10 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_urtw.c#7 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_urtwreg.h#2 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_urtwvar.h#3 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_zyd.c#13 integrate
.. //depot/projects/smpng/sys/fs/tmpfs/tmpfs.h#7 integrate
.. //depot/projects/smpng/sys/fs/tmpfs/tmpfs_subr.c#11 integrate
.. //depot/projects/smpng/sys/fs/tmpfs/tmpfs_vnops.c#14 integrate
.. //depot/projects/smpng/sys/geom/concat/g_concat.c#19 integrate
.. //depot/projects/smpng/sys/geom/label/g_label.c#17 integrate
.. //depot/projects/smpng/sys/geom/part/g_part.c#23 integrate
.. //depot/projects/smpng/sys/geom/part/g_part_gpt.c#12 integrate
.. //depot/projects/smpng/sys/geom/shsec/g_shsec.c#6 integrate
.. //depot/projects/smpng/sys/geom/stripe/g_stripe.c#21 integrate
.. //depot/projects/smpng/sys/geom/uzip/g_uzip.c#11 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_create.c#3 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_events.c#3 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_init.c#14 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_move.c#5 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_rm.c#17 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_subr.c#18 integrate
.. //depot/projects/smpng/sys/i386/conf/GENERIC#116 integrate
.. //depot/projects/smpng/sys/i386/i386/elf_machdep.c#22 integrate
.. //depot/projects/smpng/sys/i386/i386/intr_machdep.c#38 integrate
.. //depot/projects/smpng/sys/i386/i386/nexus.c#31 integrate
.. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#93 integrate
.. //depot/projects/smpng/sys/i386/include/atomic.h#52 integrate
.. //depot/projects/smpng/sys/i386/include/cpufunc.h#43 integrate
.. //depot/projects/smpng/sys/i386/include/elf.h#11 integrate
.. //depot/projects/smpng/sys/i386/include/intr_machdep.h#24 integrate
.. //depot/projects/smpng/sys/i386/xen/xen_machdep.c#10 integrate
.. //depot/projects/smpng/sys/ia64/ia64/elf_machdep.c#28 integrate
.. //depot/projects/smpng/sys/ia64/include/elf.h#15 integrate
.. //depot/projects/smpng/sys/kern/bus_if.m#18 integrate
.. //depot/projects/smpng/sys/kern/imgact_elf.c#69 integrate
.. //depot/projects/smpng/sys/kern/init_main.c#83 integrate
.. //depot/projects/smpng/sys/kern/kern_event.c#61 integrate
.. //depot/projects/smpng/sys/kern/kern_exec.c#125 integrate
.. //depot/projects/smpng/sys/kern/kern_exit.c#146 integrate
.. //depot/projects/smpng/sys/kern/kern_intr.c#101 integrate
.. //depot/projects/smpng/sys/kern/kern_lock.c#80 integrate
.. //depot/projects/smpng/sys/kern/kern_proc.c#109 integrate
.. //depot/projects/smpng/sys/kern/kern_sig.c#152 integrate
.. //depot/projects/smpng/sys/kern/kern_thr.c#53 integrate
.. //depot/projects/smpng/sys/kern/sched_ule.c#97 integrate
.. //depot/projects/smpng/sys/kern/subr_bus.c#86 integrate
.. //depot/projects/smpng/sys/kern/subr_trap.c#93 integrate
.. //depot/projects/smpng/sys/kern/tty.c#99 integrate
.. //depot/projects/smpng/sys/kern/tty_ttydisc.c#9 integrate
.. //depot/projects/smpng/sys/kern/uipc_socket.c#134 integrate
.. //depot/projects/smpng/sys/kern/uipc_usrreq.c#92 integrate
.. //depot/projects/smpng/sys/kern/vfs_acl.c#10 integrate
.. //depot/projects/smpng/sys/mips/include/elf.h#4 integrate
.. //depot/projects/smpng/sys/mips/mips/elf64_machdep.c#4 integrate
.. //depot/projects/smpng/sys/mips/mips/elf_machdep.c#8 integrate
.. //depot/projects/smpng/sys/modules/acpi/acpi/Makefile#20 integrate
.. //depot/projects/smpng/sys/modules/cxgb/cxgb/Makefile#9 integrate
.. //depot/projects/smpng/sys/modules/nfsclient/Makefile#17 integrate
.. //depot/projects/smpng/sys/modules/nfslockd/Makefile#5 integrate
.. //depot/projects/smpng/sys/modules/pf/Makefile#17 integrate
.. //depot/projects/smpng/sys/modules/ubser/Makefile#4 integrate
.. //depot/projects/smpng/sys/net/flowtable.c#9 integrate
.. //depot/projects/smpng/sys/net/flowtable.h#8 integrate
.. //depot/projects/smpng/sys/net/if_bridge.c#63 integrate
.. //depot/projects/smpng/sys/net/if_enc.c#15 integrate
.. //depot/projects/smpng/sys/net/if_ethersubr.c#103 integrate
.. //depot/projects/smpng/sys/net/pfil.c#13 integrate
.. //depot/projects/smpng/sys/net/pfil.h#13 integrate
.. //depot/projects/smpng/sys/net/route.c#53 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_hwmp.c#4 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_mesh.c#4 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_mesh.h#4 integrate
.. //depot/projects/smpng/sys/netgraph/ng_bridge.c#23 integrate
.. //depot/projects/smpng/sys/netinet/if_ether.c#78 integrate
.. //depot/projects/smpng/sys/netinet/in.c#63 integrate
.. //depot/projects/smpng/sys/netinet/ip_fastfwd.c#40 integrate
.. //depot/projects/smpng/sys/netinet/ip_icmp.c#55 integrate
.. //depot/projects/smpng/sys/netinet/ip_input.c#107 integrate
.. //depot/projects/smpng/sys/netinet/ip_output.c#116 integrate
.. //depot/projects/smpng/sys/netinet/ip_var.h#45 integrate
.. //depot/projects/smpng/sys/netinet/ipfw/ip_fw2.c#8 integrate
.. //depot/projects/smpng/sys/netinet/ipfw/ip_fw_pfil.c#6 integrate
.. //depot/projects/smpng/sys/netinet/raw_ip.c#88 integrate
.. //depot/projects/smpng/sys/netinet/sctp_bsd_addr.c#15 integrate
.. //depot/projects/smpng/sys/netinet/sctp_os_bsd.h#28 integrate
.. //depot/projects/smpng/sys/netinet/sctp_output.c#33 integrate
.. //depot/projects/smpng/sys/netinet/sctp_pcb.c#32 integrate
.. //depot/projects/smpng/sys/netinet/tcp_input.c#132 integrate
.. //depot/projects/smpng/sys/netinet6/icmp6.c#62 integrate
.. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#44 integrate
.. //depot/projects/smpng/sys/netinet6/ip6_forward.c#30 integrate
.. //depot/projects/smpng/sys/netinet6/ip6_input.c#72 integrate
.. //depot/projects/smpng/sys/netinet6/ip6_output.c#70 integrate
.. //depot/projects/smpng/sys/netinet6/ip6_var.h#32 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_kdtrace.c#3 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#95 integrate
.. //depot/projects/smpng/sys/nlm/nlm.h#5 integrate
.. //depot/projects/smpng/sys/nlm/nlm_prot_impl.c#8 integrate
.. //depot/projects/smpng/sys/nlm/nlm_prot_server.c#4 integrate
.. //depot/projects/smpng/sys/pc98/conf/GENERIC#88 integrate
.. //depot/projects/smpng/sys/powerpc/aim/platform_chrp.c#3 integrate
.. //depot/projects/smpng/sys/powerpc/aim/swtch.S#7 integrate
.. //depot/projects/smpng/sys/powerpc/aim/trap_subr.S#9 integrate
.. //depot/projects/smpng/sys/powerpc/include/elf.h#10 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/elf_machdep.c#20 integrate
.. //depot/projects/smpng/sys/sparc64/conf/GENERIC#100 integrate
.. //depot/projects/smpng/sys/sparc64/include/elf.h#15 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/elf_machdep.c#26 integrate
.. //depot/projects/smpng/sys/sun4v/include/elf.h#5 integrate
.. //depot/projects/smpng/sys/sys/bus.h#39 integrate
.. //depot/projects/smpng/sys/sys/errno.h#12 integrate
.. //depot/projects/smpng/sys/sys/interrupt.h#29 integrate
.. //depot/projects/smpng/sys/sys/pmc.h#17 integrate
.. //depot/projects/smpng/sys/sys/signalvar.h#33 integrate
.. //depot/projects/smpng/sys/teken/sequences#3 integrate
.. //depot/projects/smpng/sys/teken/teken.c#3 integrate
.. //depot/projects/smpng/sys/teken/teken_subr.h#3 integrate
.. //depot/projects/smpng/sys/vm/swap_pager.c#82 integrate
.. //depot/projects/smpng/sys/vm/vm_mmap.c#82 integrate
.. //depot/projects/smpng/sys/vm/vm_page.c#108 integrate
.. //depot/projects/smpng/sys/vm/vm_page.h#47 integrate
Differences ...
==== //depot/projects/smpng/share/man/man9/Makefile#11 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/man/man9/Makefile,v 1.360 2009/09/22 15:15:03 trasz Exp $
+# $FreeBSD: src/share/man/man9/Makefile,v 1.363 2009/10/15 14:54:35 jhb Exp $
MAN= accept_filter.9 \
accf_data.9 \
@@ -23,8 +23,10 @@
bus_activate_resource.9 \
BUS_ADD_CHILD.9 \
bus_alloc_resource.9 \
+ BUS_BIND_INTR.9 \
bus_child_present.9 \
BUS_CONFIG_INTR.9 \
+ BUS_DESCRIBE_INTR.9 \
bus_dma.9 \
bus_generic_attach.9 \
bus_generic_detach.9 \
@@ -403,6 +405,8 @@
MLINKS+=buf.9 bp.9
MLINKS+=bus_activate_resource.9 bus_deactivate_resource.9
MLINKS+=bus_alloc_resource.9 bus_alloc_resource_any.9
+MLINKS+=BUS_BIND_INTR.9 bus_bind_intr.9
+MLINKS+=BUS_DESCRIBE_INTR.9 bus_describe_intr.9
MLINKS+=bus_dma.9 busdma.9 \
bus_dma.9 bus_dmamap_create.9 \
bus_dma.9 bus_dmamap_destroy.9 \
@@ -606,8 +610,10 @@
EVENTHANDLER.9 eventhandler_register.9
MLINKS+=fetch.9 fubyte.9 \
fetch.9 fuswintr.9 \
- fetch.9 fusword.9 \
- fetch.9 fuword.9
+ fetch.9 fuword.9 \
+ fetch.9 fuword16.9 \
+ fetch.9 fuword32.9 \
+ fetch.9 fuword64.9
MLINKS+=g_attach.9 g_detach.9
MLINKS+=g_bio.9 g_clone_bio.9 \
g_bio.9 g_destroy_bio.9 \
@@ -1142,8 +1148,10 @@
stack.9 stack_zero.9
MLINKS+=store.9 subyte.9 \
store.9 suswintr.9 \
- store.9 susword.9 \
- store.9 suword.9
+ store.9 suword.9 \
+ store.9 suword16.9 \
+ store.9 suword32.9 \
+ store.9 suword64.9
MLINKS+=swi.9 swi_add.9 \
swi.9 swi_sched.9
MLINKS+=sx.9 sx_assert.9 \
==== //depot/projects/smpng/share/man/man9/fetch.9#2 (text+ko) ====
@@ -32,31 +32,37 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/share/man/man9/fetch.9,v 1.10 2001/10/01 16:09:24 ru Exp $
+.\" $FreeBSD: src/share/man/man9/fetch.9,v 1.11 2009/10/05 15:16:28 trasz Exp $
.\"
-.Dd January 7, 1996
+.Dd October 5, 2009
.Dt FETCH 9
.Os
.Sh NAME
.Nm fetch ,
.Nm fubyte ,
-.Nm fusword ,
.Nm fuswintr ,
-.Nm fuword
+.Nm fuword ,
+.Nm fuword16 ,
+.Nm fuword32 ,
+.Nm fuword64
.Nd fetch data from user-space
.Sh SYNOPSIS
.In sys/types.h
.In sys/time.h
.In sys/systm.h
-.In sys/resourcevar.h
.Ft int
.Fn fubyte "const void *base"
+.Ft long
+.Fn fuword "const void *base"
.Ft int
-.Fn fusword "void *base"
+.Fn fuword16 "void *base"
+.Ft int32_t
+.Fn fuword32 "const void *base"
+.Ft int64_t
+.Fn fuword64 "const void *base"
+.In sys/resourcevar.h
.Ft int
.Fn fuswintr "void *base"
-.Ft long
-.Fn fuword "const void *base"
.Sh DESCRIPTION
The
.Nm
@@ -69,16 +75,22 @@
.It Fn fubyte
Fetches a byte of data from the user-space address
.Pa base .
-.It Fn fusword
-Fetches a short word of data from the user-space address
+.It Fn fuword
+Fetches a word of data from the user-space address
+.Pa base .
+.It Fn fuword16
+Fetches 16 bits of data from the user-space address
+.Pa base .
+.It Fn fuword32
+Fetches 32 bits of data from the user-space address
+.Pa base .
+.It Fn fuword64
+Fetches 64 bits of data from the user-space address
.Pa base .
.It Fn fuswintr
Fetches a short word of data from the user-space address
.Pa base .
This function is safe to call during an interrupt context.
-.It Fn fuword
-Fetches a word of data from the user-space address
-.Pa base .
.El
.Sh RETURN VALUES
The
==== //depot/projects/smpng/share/man/man9/store.9#2 (text+ko) ====
@@ -32,15 +32,14 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/share/man/man9/store.9,v 1.11 2001/10/01 16:09:25 ru Exp $
+.\" $FreeBSD: src/share/man/man9/store.9,v 1.12 2009/10/05 15:16:28 trasz Exp $
.\"
-.Dd January 7, 1996
+.Dd October 5, 2009
.Dt STORE 9
.Os
.Sh NAME
.Nm store ,
.Nm subyte ,
-.Nm susword ,
.Nm suswintr ,
.Nm suword
.Nd store data to user-space
@@ -48,15 +47,19 @@
.In sys/types.h
.In sys/time.h
.In sys/systm.h
-.In sys/resourcevar.h
.Ft int
.Fn subyte "void *base" "int byte"
.Ft int
-.Fn susword "void *base" "int word"
+.Fn suword "void *base" "long word"
+.Ft int
+.Fn suword16 "void *base" "int word"
+.Ft int
+.Fn suword32 "void *base" "int32_t word"
+.Ft int
+.Fn suword64 "void *base" "int64_t word"
+.In sys/resourcevar.h
.Ft int
.Fn suswintr "void *base" "int word"
-.Ft int
-.Fn suword "void *base" "long word"
.Sh DESCRIPTION
The
.Nm
@@ -69,16 +72,22 @@
.It Fn subyte
Stores a byte of data to the user-space address
.Pa base .
-.It Fn susword
-Stores a short word of data to the user-space address
+.It Fn suword
+Stores a word of data to the user-space address
+.Pa base .
+.It Fn suword16
+Stores 16 bits of of data to the user-space address
+.Pa base .
+.It Fn suword32
+Stores 32 bits of of data to the user-space address
+.Pa base .
+.It Fn suword64
+Stores 64 bits of of data to the user-space address
.Pa base .
.It Fn suswintr
Stores a short word of data to the user-space address
.Pa base .
This function is safe to call during an interrupt context.
-.It Fn suword
-Stores a word of data to the user-space address
-.Pa base .
.El
.Sh RETURN VALUES
The
==== //depot/projects/smpng/sys/amd64/acpica/acpi_machdep.c#15 (text+ko) ====
@@ -25,13 +25,14 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.23 2009/09/27 14:00:16 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.24 2009/10/08 17:41:53 jkim Exp $");
#include <sys/param.h>
#include <sys/bus.h>
#include <sys/kernel.h>
#include <sys/module.h>
#include <sys/sysctl.h>
+
#include <vm/vm.h>
#include <vm/pmap.h>
@@ -511,7 +512,6 @@
sc->acpi_clone = apm_create_clone(sc->acpi_dev_t, sc);
clone_setup(&apm_clones);
EVENTHANDLER_REGISTER(dev_clone, apm_clone, 0, 1000);
- acpi_install_wakeup_handler(sc);
if (intr_model != ACPI_INTR_PIC)
acpi_SetIntrModel(intr_model);
@@ -801,13 +801,20 @@
static int
nexus_acpi_attach(device_t dev)
{
+ device_t acpi_dev;
+ int error;
nexus_init_resources();
bus_generic_probe(dev);
- if (BUS_ADD_CHILD(dev, 10, "acpi", 0) == NULL)
+ acpi_dev = BUS_ADD_CHILD(dev, 10, "acpi", 0);
+ if (acpi_dev == NULL)
panic("failed to add acpi0 device");
- return (bus_generic_attach(dev));
+ error = bus_generic_attach(dev);
+ if (error == 0)
+ acpi_install_wakeup_handler(device_get_softc(acpi_dev));
+
+ return (error);
}
static device_method_t nexus_acpi_methods[] = {
==== //depot/projects/smpng/sys/amd64/acpica/acpi_wakecode.S#4 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.3 2009/04/02 00:23:56 jkim Exp $
+ * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.4 2009/10/08 17:41:53 jkim Exp $
*/
#define LOCORE
@@ -54,18 +54,17 @@
.data /* So we can modify it */
ALIGN_TEXT
+ .code16
wakeup_start:
- .code16
/*
* Set up segment registers for real mode, a small stack for
* any calls we make, and clear any flags.
*/
cli /* make sure no interrupts */
- cld
mov %cs, %ax /* copy %cs to %ds. Remember these */
mov %ax, %ds /* are offsets rather than selectors */
mov %ax, %ss
- movw $PAGE_SIZE - 8, %sp
+ movw $PAGE_SIZE, %sp
xorw %ax, %ax
pushw %ax
popfw
@@ -129,6 +128,7 @@
/*
* At this point, we are running in 32 bit legacy protected mode.
*/
+ ALIGN_TEXT
.code32
wakeup_32:
==== //depot/projects/smpng/sys/amd64/acpica/acpi_wakeup.c#9 (text+ko) ====
@@ -28,16 +28,14 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.26 2009/06/05 18:44:36 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.27 2009/10/08 17:41:53 jkim Exp $");
#include <sys/param.h>
-#include <sys/systm.h>
#include <sys/bus.h>
#include <sys/kernel.h>
#include <sys/malloc.h>
#include <sys/memrange.h>
#include <sys/smp.h>
-#include <sys/types.h>
#include <vm/vm.h>
#include <vm/pmap.h>
@@ -46,11 +44,11 @@
#include <machine/pcb.h>
#include <machine/pmap.h>
#include <machine/specialreg.h>
-#include <machine/vmparam.h>
#ifdef SMP
#include <machine/apicreg.h>
#include <machine/smp.h>
+#include <machine/vmparam.h>
#endif
#include <contrib/dev/acpica/include/acpi.h>
@@ -63,10 +61,6 @@
/* Make sure the code is less than a page and leave room for the stack. */
CTASSERT(sizeof(wakecode) < PAGE_SIZE - 1024);
-#ifndef _SYS_CDEFS_H_
-#error this file needs sys/cdefs.h as a prerequisite
-#endif
-
extern int acpi_resume_beep;
extern int acpi_reset_video;
@@ -79,7 +73,7 @@
int acpi_restorecpu(struct xpcb *, vm_offset_t);
int acpi_savecpu(struct xpcb *);
-static void acpi_alloc_wakeup_handler(void);
+static void *acpi_alloc_wakeup_handler(void);
static void acpi_stop_beep(void *);
#ifdef SMP
@@ -322,49 +316,50 @@
return (ret);
}
-static vm_offset_t acpi_wakeaddr;
-
-static void
+static void *
acpi_alloc_wakeup_handler(void)
{
void *wakeaddr;
- if (!cold)
- return;
-
/*
* Specify the region for our wakeup code. We want it in the low 1 MB
- * region, excluding video memory and above (0xa0000). We ask for
- * it to be page-aligned, just to be safe.
+ * region, excluding real mode IVT (0-0x3ff), BDA (0x400-0x4ff), EBDA
+ * (less than 128KB, below 0xa0000, must be excluded by SMAP and DSDT),
+ * and ROM area (0xa0000 and above). The temporary page tables must be
+ * page-aligned.
*/
- wakeaddr = contigmalloc(4 * PAGE_SIZE, M_DEVBUF, M_NOWAIT, 0, 0x9ffff,
- PAGE_SIZE, 0ul);
+ wakeaddr = contigmalloc(4 * PAGE_SIZE, M_DEVBUF, M_NOWAIT, 0x500,
+ 0xa0000, PAGE_SIZE, 0ul);
if (wakeaddr == NULL) {
printf("%s: can't alloc wake memory\n", __func__);
- return;
+ return (NULL);
}
stopxpcbs = malloc(mp_ncpus * sizeof(*stopxpcbs), M_DEVBUF, M_NOWAIT);
if (stopxpcbs == NULL) {
contigfree(wakeaddr, 4 * PAGE_SIZE, M_DEVBUF);
printf("%s: can't alloc CPU state memory\n", __func__);
- return;
+ return (NULL);
}
- acpi_wakeaddr = (vm_offset_t)wakeaddr;
+
+ return (wakeaddr);
}
-SYSINIT(acpiwakeup, SI_SUB_KMEM, SI_ORDER_ANY, acpi_alloc_wakeup_handler, 0);
-
void
acpi_install_wakeup_handler(struct acpi_softc *sc)
{
+ static void *wakeaddr = NULL;
uint64_t *pt4, *pt3, *pt2;
int i;
- if (acpi_wakeaddr == 0ul)
+ if (wakeaddr != NULL)
+ return;
+
+ wakeaddr = acpi_alloc_wakeup_handler();
+ if (wakeaddr == NULL)
return;
- sc->acpi_wakeaddr = acpi_wakeaddr;
- sc->acpi_wakephys = vtophys(acpi_wakeaddr);
+ sc->acpi_wakeaddr = (vm_offset_t)wakeaddr;
+ sc->acpi_wakephys = vtophys(wakeaddr);
bcopy(wakecode, (void *)WAKECODE_VADDR(sc), sizeof(wakecode));
@@ -390,7 +385,7 @@
WAKECODE_FIXUP(wakeup_sfmask, uint64_t, rdmsr(MSR_SF_MASK));
/* Build temporary page tables below realmode code. */
- pt4 = (uint64_t *)acpi_wakeaddr;
+ pt4 = wakeaddr;
pt3 = pt4 + (PAGE_SIZE) / sizeof(uint64_t);
pt2 = pt3 + (PAGE_SIZE) / sizeof(uint64_t);
==== //depot/projects/smpng/sys/amd64/amd64/elf_machdep.c#19 (text+ko) ====
@@ -24,7 +24,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.32 2009/08/30 14:38:17 bz Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.33 2009/10/03 11:57:21 bz Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -89,7 +89,7 @@
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-SYSINIT(elf64, SI_SUB_EXEC, SI_ORDER_ANY,
+SYSINIT(elf64, SI_SUB_EXEC, SI_ORDER_FIRST,
(sysinit_cfunc_t) elf64_insert_brand_entry,
&freebsd_brand_info);
==== //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#37 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.45 2009/07/01 17:20:07 jhb Exp $
+ * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.47 2009/10/16 12:00:59 kib Exp $
*/
/*
@@ -400,6 +400,23 @@
}
#endif
+/* Add a description to an active interrupt handler. */
+int
+intr_describe(u_int vector, void *ih, const char *descr)
+{
+ struct intsrc *isrc;
+ int error;
+
+ isrc = intr_lookup_source(vector);
+ if (isrc == NULL)
+ return (EINVAL);
+ error = intr_event_describe_handler(isrc->is_event, ih, descr);
+ if (error)
+ return (error);
+ intrcnt_updatename(isrc);
+ return (0);
+}
+
#ifdef DDB
/*
* Dump data about interrupt handlers
==== //depot/projects/smpng/sys/amd64/amd64/nexus.c#30 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.80 2008/03/20 21:24:32 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.81 2009/10/15 14:54:35 jhb Exp $");
/*
* This code implements a `root nexus' for Intel Architecture
@@ -92,6 +92,9 @@
#endif
static int nexus_config_intr(device_t, int, enum intr_trigger,
enum intr_polarity);
+static int nexus_describe_intr(device_t dev, device_t child,
+ struct resource *irq, void *cookie,
+ const char *descr);
static int nexus_activate_resource(device_t, device_t, int, int,
struct resource *);
static int nexus_deactivate_resource(device_t, device_t, int, int,
@@ -135,6 +138,7 @@
DEVMETHOD(bus_bind_intr, nexus_bind_intr),
#endif
DEVMETHOD(bus_config_intr, nexus_config_intr),
+ DEVMETHOD(bus_describe_intr, nexus_describe_intr),
DEVMETHOD(bus_get_resource_list, nexus_get_reslist),
DEVMETHOD(bus_set_resource, nexus_set_resource),
DEVMETHOD(bus_get_resource, nexus_get_resource),
@@ -479,6 +483,14 @@
return (intr_config_intr(irq, trig, pol));
}
+static int
+nexus_describe_intr(device_t dev, device_t child, struct resource *irq,
+ void *cookie, const char *descr)
+{
+
+ return (intr_describe(rman_get_start(irq), cookie, descr));
+}
+
static struct resource_list *
nexus_get_reslist(device_t dev, device_t child)
{
==== //depot/projects/smpng/sys/amd64/conf/GENERIC#85 (text+ko) ====
@@ -16,7 +16,7 @@
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.533 2009/10/01 02:08:42 rpaulo Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.534 2009/10/13 19:02:03 jhb Exp $
cpu HAMMER
ident GENERIC
@@ -297,10 +297,6 @@
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
-device rum # Ralink Technology RT2501USB wireless NICs
-device uath # Atheros AR5523 wireless NICs
-device ural # Ralink Technology RT2500USB wireless NICs
-device zyd # ZyDAS zb1211/zb1211b wireless NICs
device urio # Diamond Rio 500 MP3 player
# USB Serial devices
device uark # Technologies ARK3116 based serial adapters
@@ -319,6 +315,11 @@
device kue # Kawasaki LSI USB Ethernet
device rue # RealTek RTL8150 USB Ethernet
device udav # Davicom DM9601E USB
+# USB Wireless
+device rum # Ralink Technology RT2501USB wireless NICs
+device uath # Atheros AR5523 wireless NICs
+device ural # Ralink Technology RT2500USB wireless NICs
+device zyd # ZyDAS zb1211/zb1211b wireless NICs
# FireWire support
device firewire # FireWire bus code
==== //depot/projects/smpng/sys/amd64/include/atomic.h#33 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.46 2008/11/22 05:55:56 kmacy Exp $
+ * $FreeBSD: src/sys/amd64/include/atomic.h,v 1.49 2009/10/09 15:51:40 attilio Exp $
*/
#ifndef _MACHINE_ATOMIC_H_
#define _MACHINE_ATOMIC_H_
@@ -32,9 +32,9 @@
#error this file needs sys/cdefs.h as a prerequisite
#endif
-#define mb() __asm__ __volatile__ ("mfence;": : :"memory")
-#define wmb() __asm__ __volatile__ ("sfence;": : :"memory")
-#define rmb() __asm__ __volatile__ ("lfence;": : :"memory")
+#define mb() __asm __volatile("mfence;" : : : "memory")
+#define wmb() __asm __volatile("sfence;" : : : "memory")
+#define rmb() __asm __volatile("lfence;" : : : "memory")
/*
* Various simple operations on memory, each of which is atomic in the
@@ -73,7 +73,8 @@
*/
#if defined(KLD_MODULE) || !defined(__GNUCLIKE_ASM)
#define ATOMIC_ASM(NAME, TYPE, OP, CONS, V) \
-void atomic_##NAME##_##TYPE(volatile u_##TYPE *p, u_##TYPE v)
+void atomic_##NAME##_##TYPE(volatile u_##TYPE *p, u_##TYPE v); \
+void atomic_##NAME##_barr_##TYPE(volatile u_##TYPE *p, u_##TYPE v)
int atomic_cmpset_int(volatile u_int *dst, u_int exp, u_int src);
int atomic_cmpset_long(volatile u_long *dst, u_long exp, u_long src);
@@ -97,8 +98,9 @@
#endif
/*
- * The assembly is volatilized to demark potential before-and-after side
- * effects if an interrupt or SMP collision were to occur.
+ * The assembly is volatilized to avoid code chunk removal by the compiler.
+ * GCC aggressively reorders operations and memory clobbering is necessary
+ * in order to avoid that for memory barriers.
*/
#define ATOMIC_ASM(NAME, TYPE, OP, CONS, V) \
static __inline void \
@@ -108,6 +110,15 @@
: "=m" (*p) \
: CONS (V), "m" (*p)); \
} \
+ \
+static __inline void \
+atomic_##NAME##_barr_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\
+{ \
+ __asm __volatile(MPLOCKED OP \
+ : "=m" (*p) \
+ : CONS (V), "m" (*p) \
+ : "memory"); \
+} \
struct __hack
/*
@@ -205,18 +216,23 @@
* PentiumPro or higher, reads may pass writes, so for that case we have
* to use a serializing instruction (i.e. with LOCK) to do the load in
* SMP kernels. For UP kernels, however, the cache of the single processor
- * is always consistent, so we don't need any memory barriers.
+ * is always consistent, so we only need to take care of compiler.
*/
#define ATOMIC_STORE_LOAD(TYPE, LOP, SOP) \
static __inline u_##TYPE \
atomic_load_acq_##TYPE(volatile u_##TYPE *p) \
{ \
- return (*p); \
+ u_##TYPE tmp; \
+ \
+ tmp = *p; \
+ __asm __volatile ("" : : : "memory"); \
+ return (tmp); \
} \
\
static __inline void \
atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\
{ \
+ __asm __volatile ("" : : : "memory"); \
*p = v; \
} \
struct __hack
@@ -247,7 +263,8 @@
__asm __volatile(SOP \
: "=m" (*p), /* 0 */ \
"+r" (v) /* 1 */ \
- : "m" (*p)); /* 2 */ \
+ : "m" (*p) /* 2 */ \
+ : "memory"); \
} \
struct __hack
@@ -327,44 +344,43 @@
#endif /* __GNUCLIKE_ASM */
-/* Acquire and release variants are identical to the normal ones. */
-#define atomic_set_acq_char atomic_set_char
-#define atomic_set_rel_char atomic_set_char
-#define atomic_clear_acq_char atomic_clear_char
-#define atomic_clear_rel_char atomic_clear_char
-#define atomic_add_acq_char atomic_add_char
-#define atomic_add_rel_char atomic_add_char
-#define atomic_subtract_acq_char atomic_subtract_char
-#define atomic_subtract_rel_char atomic_subtract_char
+#define atomic_set_acq_char atomic_set_barr_char
+#define atomic_set_rel_char atomic_set_barr_char
+#define atomic_clear_acq_char atomic_clear_barr_char
+#define atomic_clear_rel_char atomic_clear_barr_char
+#define atomic_add_acq_char atomic_add_barr_char
+#define atomic_add_rel_char atomic_add_barr_char
+#define atomic_subtract_acq_char atomic_subtract_barr_char
+#define atomic_subtract_rel_char atomic_subtract_barr_char
-#define atomic_set_acq_short atomic_set_short
-#define atomic_set_rel_short atomic_set_short
-#define atomic_clear_acq_short atomic_clear_short
-#define atomic_clear_rel_short atomic_clear_short
-#define atomic_add_acq_short atomic_add_short
-#define atomic_add_rel_short atomic_add_short
-#define atomic_subtract_acq_short atomic_subtract_short
-#define atomic_subtract_rel_short atomic_subtract_short
+#define atomic_set_acq_short atomic_set_barr_short
+#define atomic_set_rel_short atomic_set_barr_short
+#define atomic_clear_acq_short atomic_clear_barr_short
+#define atomic_clear_rel_short atomic_clear_barr_short
+#define atomic_add_acq_short atomic_add_barr_short
+#define atomic_add_rel_short atomic_add_barr_short
+#define atomic_subtract_acq_short atomic_subtract_barr_short
+#define atomic_subtract_rel_short atomic_subtract_barr_short
-#define atomic_set_acq_int atomic_set_int
-#define atomic_set_rel_int atomic_set_int
-#define atomic_clear_acq_int atomic_clear_int
-#define atomic_clear_rel_int atomic_clear_int
-#define atomic_add_acq_int atomic_add_int
-#define atomic_add_rel_int atomic_add_int
-#define atomic_subtract_acq_int atomic_subtract_int
-#define atomic_subtract_rel_int atomic_subtract_int
+#define atomic_set_acq_int atomic_set_barr_int
+#define atomic_set_rel_int atomic_set_barr_int
+#define atomic_clear_acq_int atomic_clear_barr_int
+#define atomic_clear_rel_int atomic_clear_barr_int
+#define atomic_add_acq_int atomic_add_barr_int
+#define atomic_add_rel_int atomic_add_barr_int
+#define atomic_subtract_acq_int atomic_subtract_barr_int
+#define atomic_subtract_rel_int atomic_subtract_barr_int
#define atomic_cmpset_acq_int atomic_cmpset_int
#define atomic_cmpset_rel_int atomic_cmpset_int
-#define atomic_set_acq_long atomic_set_long
-#define atomic_set_rel_long atomic_set_long
-#define atomic_clear_acq_long atomic_clear_long
-#define atomic_clear_rel_long atomic_clear_long
-#define atomic_add_acq_long atomic_add_long
-#define atomic_add_rel_long atomic_add_long
-#define atomic_subtract_acq_long atomic_subtract_long
-#define atomic_subtract_rel_long atomic_subtract_long
+#define atomic_set_acq_long atomic_set_barr_long
+#define atomic_set_rel_long atomic_set_barr_long
+#define atomic_clear_acq_long atomic_clear_barr_long
+#define atomic_clear_rel_long atomic_clear_barr_long
+#define atomic_add_acq_long atomic_add_barr_long
+#define atomic_add_rel_long atomic_add_barr_long
+#define atomic_subtract_acq_long atomic_subtract_barr_long
+#define atomic_subtract_rel_long atomic_subtract_barr_long
#define atomic_cmpset_acq_long atomic_cmpset_long
#define atomic_cmpset_rel_long atomic_cmpset_long
==== //depot/projects/smpng/sys/amd64/include/elf.h#8 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/include/elf.h,v 1.21 2009/03/17 12:50:16 kib Exp $
+ * $FreeBSD: src/sys/amd64/include/elf.h,v 1.22 2009/10/10 15:31:24 kib Exp $
*/
#ifndef _MACHINE_ELF_H_
@@ -106,4 +106,10 @@
#define ELF_TARG_MACH EM_X86_64
#define ELF_TARG_VER 1
+#if __ELF_WORD_SIZE == 32
+#define ET_DYN_LOAD_ADDR 0x01001000
+#else
+#define ET_DYN_LOAD_ADDR 0x01021000
+#endif
+
#endif /* !_MACHINE_ELF_H_ */
==== //depot/projects/smpng/sys/amd64/include/intr_machdep.h#22 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.24 2009/07/01 17:20:07 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.25 2009/10/15 14:54:35 jhb Exp $
*/
#ifndef __MACHINE_INTR_MACHDEP_H__
@@ -151,6 +151,7 @@
#endif
int intr_config_intr(int vector, enum intr_trigger trig,
enum intr_polarity pol);
+int intr_describe(u_int vector, void *ih, const char *descr);
void intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame);
u_int intr_next_cpu(void);
struct intsrc *intr_lookup_source(int vector);
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list