Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Oct 2006 06:41:30 GMT
From:      Matt Jacob <mjacob@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 107799 for review
Message-ID:  <200610130641.k9D6fUR1050332@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=107799

Change 107799 by mjacob@newisp on 2006/10/13 06:40:33

	IFC

Affected files ...

.. //depot/projects/newisp/amd64/amd64/intr_machdep.c#2 integrate
.. //depot/projects/newisp/amd64/amd64/io_apic.c#2 integrate
.. //depot/projects/newisp/amd64/amd64/local_apic.c#6 integrate
.. //depot/projects/newisp/amd64/amd64/machdep.c#4 integrate
.. //depot/projects/newisp/amd64/amd64/mp_machdep.c#3 integrate
.. //depot/projects/newisp/amd64/conf/GENERIC#3 integrate
.. //depot/projects/newisp/amd64/ia32/ia32_signal.c#2 integrate
.. //depot/projects/newisp/amd64/include/apicvar.h#2 integrate
.. //depot/projects/newisp/amd64/include/elf.h#2 integrate
.. //depot/projects/newisp/amd64/include/intr_machdep.h#2 integrate
.. //depot/projects/newisp/amd64/isa/atpic.c#2 integrate
.. //depot/projects/newisp/arm/include/elf.h#2 integrate
.. //depot/projects/newisp/boot/Makefile#2 integrate
.. //depot/projects/newisp/boot/i386/btx/btx/btx.S#3 integrate
.. //depot/projects/newisp/boot/i386/pxeldr/pxeboot.8#2 integrate
.. //depot/projects/newisp/boot/ofw/libofw/Makefile#2 integrate
.. //depot/projects/newisp/boot/ofw/libofw/openfirm.c#2 integrate
.. //depot/projects/newisp/boot/ofw/libofw/openfirm_mmu.c#1 branch
.. //depot/projects/newisp/boot/sparc64/loader/hcall.S#1 branch
.. //depot/projects/newisp/boot/sparc64/loader/main.c#2 integrate
.. //depot/projects/newisp/cam/scsi/scsi_da.c#3 integrate
.. //depot/projects/newisp/compat/freebsd32/freebsd32_misc.c#4 integrate
.. //depot/projects/newisp/compat/freebsd32/freebsd32_proto.h#8 integrate
.. //depot/projects/newisp/compat/freebsd32/freebsd32_signal.h#1 branch
.. //depot/projects/newisp/compat/freebsd32/freebsd32_syscall.h#8 integrate
.. //depot/projects/newisp/compat/freebsd32/freebsd32_syscalls.c#8 integrate
.. //depot/projects/newisp/compat/freebsd32/freebsd32_sysent.c#8 integrate
.. //depot/projects/newisp/compat/freebsd32/syscalls.master#8 integrate
.. //depot/projects/newisp/compat/ia32/ia32_genassym.c#2 integrate
.. //depot/projects/newisp/compat/ia32/ia32_signal.h#2 integrate
.. //depot/projects/newisp/compat/ia32/ia32_sysvec.c#2 integrate
.. //depot/projects/newisp/compat/linprocfs/linprocfs.c#2 integrate
.. //depot/projects/newisp/compat/linux/linux_emul.c#4 integrate
.. //depot/projects/newisp/compat/linux/linux_ipc.c#2 integrate
.. //depot/projects/newisp/compat/linux/linux_misc.c#3 integrate
.. //depot/projects/newisp/conf/Makefile.sun4v#1 branch
.. //depot/projects/newisp/conf/NOTES#7 integrate
.. //depot/projects/newisp/conf/files#6 integrate
.. //depot/projects/newisp/conf/files.sun4v#1 branch
.. //depot/projects/newisp/conf/options#4 integrate
.. //depot/projects/newisp/conf/options.sun4v#1 branch
.. //depot/projects/newisp/contrib/ipfilter/netinet/ip_fil_freebsd.c#2 integrate
.. //depot/projects/newisp/ddb/db_command.c#2 integrate
.. //depot/projects/newisp/ddb/db_examine.c#2 integrate
.. //depot/projects/newisp/ddb/db_output.c#2 integrate
.. //depot/projects/newisp/ddb/db_output.h#2 integrate
.. //depot/projects/newisp/dev/ata/ata-chipset.c#7 integrate
.. //depot/projects/newisp/dev/ath/if_athvar.h#3 integrate
.. //depot/projects/newisp/dev/bce/if_bce.c#4 integrate
.. //depot/projects/newisp/dev/bge/if_bge.c#8 edit
.. //depot/projects/newisp/dev/fxp/if_fxp.c#2 integrate
.. //depot/projects/newisp/dev/ipmi/ipmi.c#4 integrate
.. //depot/projects/newisp/dev/ipmi/ipmi_smic.c#2 integrate
.. //depot/projects/newisp/dev/ips/ips.c#2 integrate
.. //depot/projects/newisp/dev/ips/ipsreg.h#2 integrate
.. //depot/projects/newisp/dev/iwi/if_iwi.c#2 integrate
.. //depot/projects/newisp/dev/ofw/openfirm.c#2 integrate
.. //depot/projects/newisp/dev/ofw/openfirm.h#2 integrate
.. //depot/projects/newisp/dev/pci/pci.c#3 integrate
.. //depot/projects/newisp/dev/pci/pci_if.m#2 integrate
.. //depot/projects/newisp/dev/pci/pci_pci.c#2 integrate
.. //depot/projects/newisp/dev/pci/pci_private.h#2 integrate
.. //depot/projects/newisp/dev/pci/pci_user.c#2 integrate
.. //depot/projects/newisp/dev/pci/pcivar.h#2 integrate
.. //depot/projects/newisp/dev/sk/if_sk.c#2 integrate
.. //depot/projects/newisp/dev/sk/if_skreg.h#2 integrate
.. //depot/projects/newisp/dev/sound/pci/hda/hdac.c#2 integrate
.. //depot/projects/newisp/dev/sound/pci/hda/hdac_private.h#2 integrate
.. //depot/projects/newisp/dev/sound/pcm/dsp.c#4 integrate
.. //depot/projects/newisp/dev/usb/if_aue.c#3 integrate
.. //depot/projects/newisp/dev/usb/if_cdce.c#4 integrate
.. //depot/projects/newisp/dev/usb/if_kue.c#3 integrate
.. //depot/projects/newisp/dev/usb/if_ural.c#3 integrate
.. //depot/projects/newisp/dev/usb/umass.c#3 integrate
.. //depot/projects/newisp/dev/usb/usb_quirks.c#3 integrate
.. //depot/projects/newisp/dev/usb/usbdevs#2 integrate
.. //depot/projects/newisp/dev/usb/uscanner.c#3 integrate
.. //depot/projects/newisp/geom/cache/g_cache.c#1 branch
.. //depot/projects/newisp/geom/cache/g_cache.h#1 branch
.. //depot/projects/newisp/geom/raid3/g_raid3.c#5 integrate
.. //depot/projects/newisp/i386/conf/GENERIC#3 integrate
.. //depot/projects/newisp/i386/i386/intr_machdep.c#2 integrate
.. //depot/projects/newisp/i386/i386/io_apic.c#2 integrate
.. //depot/projects/newisp/i386/i386/local_apic.c#6 integrate
.. //depot/projects/newisp/i386/i386/mp_machdep.c#3 integrate
.. //depot/projects/newisp/i386/include/apicvar.h#2 integrate
.. //depot/projects/newisp/i386/include/elf.h#2 integrate
.. //depot/projects/newisp/i386/include/intr_machdep.h#2 integrate
.. //depot/projects/newisp/i386/isa/atpic.c#2 integrate
.. //depot/projects/newisp/ia64/conf/GENERIC#3 integrate
.. //depot/projects/newisp/ia64/ia32/ia32_signal.c#2 integrate
.. //depot/projects/newisp/ia64/include/elf.h#2 integrate
.. //depot/projects/newisp/kern/kern_sig.c#2 integrate
.. //depot/projects/newisp/kern/kern_timeout.c#2 integrate
.. //depot/projects/newisp/kern/kern_umtx.c#7 integrate
.. //depot/projects/newisp/kern/tty_pty.c#4 integrate
.. //depot/projects/newisp/modules/geom/Makefile#2 integrate
.. //depot/projects/newisp/modules/geom/geom_cache/Makefile#1 branch
.. //depot/projects/newisp/net/if_bridge.c#4 integrate
.. //depot/projects/newisp/net/if_vlan.c#3 integrate
.. //depot/projects/newisp/netgraph/netflow/netflow.c#2 integrate
.. //depot/projects/newisp/netgraph/netflow/ng_netflow.c#2 integrate
.. //depot/projects/newisp/netgraph/ng_base.c#2 integrate
.. //depot/projects/newisp/netinet/if_ether.c#3 integrate
.. //depot/projects/newisp/netinet/ip_carp.c#3 integrate
.. //depot/projects/newisp/netinet/ip_fw2.c#4 integrate
.. //depot/projects/newisp/netinet/libalias/libalias.3#3 integrate
.. //depot/projects/newisp/pc98/conf/GENERIC#3 integrate
.. //depot/projects/newisp/pci/agp_amd64.c#2 integrate
.. //depot/projects/newisp/powerpc/conf/GENERIC#3 integrate
.. //depot/projects/newisp/powerpc/include/elf.h#2 integrate
.. //depot/projects/newisp/powerpc/powerpc/clock.c#3 integrate
.. //depot/projects/newisp/powerpc/powerpc/db_interface.c#2 integrate
.. //depot/projects/newisp/security/audit/audit_syscalls.c#5 integrate
.. //depot/projects/newisp/security/mac_portacl/mac_portacl.c#2 integrate
.. //depot/projects/newisp/sparc64/conf/GENERIC#3 integrate
.. //depot/projects/newisp/sparc64/include/asi.h#2 integrate
.. //depot/projects/newisp/sparc64/include/elf.h#2 integrate
.. //depot/projects/newisp/sparc64/pci/ofw_pcib.c#2 integrate
.. //depot/projects/newisp/sparc64/pci/ofw_pcib_subr.c#2 integrate
.. //depot/projects/newisp/sparc64/pci/ofw_pcibus.c#2 integrate
.. //depot/projects/newisp/sparc64/sparc64/db_interface.c#2 integrate
.. //depot/projects/newisp/sparc64/sparc64/genassym.c#2 integrate
.. //depot/projects/newisp/sun4v/compile/.cvsignore#1 branch
.. //depot/projects/newisp/sun4v/conf/DEFAULTS#1 branch
.. //depot/projects/newisp/sun4v/conf/GENERIC#1 branch
.. //depot/projects/newisp/sun4v/conf/GENERIC.hints#1 branch
.. //depot/projects/newisp/sun4v/conf/MAC#1 branch
.. //depot/projects/newisp/sun4v/conf/Makefile#1 branch
.. //depot/projects/newisp/sun4v/conf/NOTES#1 branch
.. //depot/projects/newisp/sun4v/include/_bus.h#1 branch
.. //depot/projects/newisp/sun4v/include/_inttypes.h#1 branch
.. //depot/projects/newisp/sun4v/include/_limits.h#1 branch
.. //depot/projects/newisp/sun4v/include/_stdint.h#1 branch
.. //depot/projects/newisp/sun4v/include/_types.h#1 branch
.. //depot/projects/newisp/sun4v/include/asi.h#1 branch
.. //depot/projects/newisp/sun4v/include/asm.h#1 branch
.. //depot/projects/newisp/sun4v/include/asmacros.h#1 branch
.. //depot/projects/newisp/sun4v/include/atomic.h#1 branch
.. //depot/projects/newisp/sun4v/include/bus.h#1 branch
.. //depot/projects/newisp/sun4v/include/bus_common.h#1 branch
.. //depot/projects/newisp/sun4v/include/bus_dma.h#1 branch
.. //depot/projects/newisp/sun4v/include/bus_private.h#1 branch
.. //depot/projects/newisp/sun4v/include/cache.h#1 branch
.. //depot/projects/newisp/sun4v/include/ccr.h#1 branch
.. //depot/projects/newisp/sun4v/include/cddl/mdesc.h#1 branch
.. //depot/projects/newisp/sun4v/include/cddl/mdesc_impl.h#1 branch
.. //depot/projects/newisp/sun4v/include/clock.h#1 branch
.. //depot/projects/newisp/sun4v/include/cpu.h#1 branch
.. //depot/projects/newisp/sun4v/include/cpufunc.h#1 branch
.. //depot/projects/newisp/sun4v/include/db_machdep.h#1 branch
.. //depot/projects/newisp/sun4v/include/elf.h#1 branch
.. //depot/projects/newisp/sun4v/include/endian.h#1 branch
.. //depot/projects/newisp/sun4v/include/exec.h#1 branch
.. //depot/projects/newisp/sun4v/include/float.h#1 branch
.. //depot/projects/newisp/sun4v/include/floatingpoint.h#1 branch
.. //depot/projects/newisp/sun4v/include/fp.h#1 branch
.. //depot/projects/newisp/sun4v/include/frame.h#1 branch
.. //depot/projects/newisp/sun4v/include/fsr.h#1 branch
.. //depot/projects/newisp/sun4v/include/gdb_machdep.h#1 branch
.. //depot/projects/newisp/sun4v/include/hv_pcivar.h#1 branch
.. //depot/projects/newisp/sun4v/include/hviommu.h#1 branch
.. //depot/projects/newisp/sun4v/include/hypervisor_api.h#1 branch
.. //depot/projects/newisp/sun4v/include/hypervisorvar.h#1 branch
.. //depot/projects/newisp/sun4v/include/idprom.h#1 branch
.. //depot/projects/newisp/sun4v/include/ieee.h#1 branch
.. //depot/projects/newisp/sun4v/include/ieeefp.h#1 branch
.. //depot/projects/newisp/sun4v/include/in_cksum.h#1 branch
.. //depot/projects/newisp/sun4v/include/instr.h#1 branch
.. //depot/projects/newisp/sun4v/include/intr_machdep.h#1 branch
.. //depot/projects/newisp/sun4v/include/iommureg.h#1 branch
.. //depot/projects/newisp/sun4v/include/iommuvar.h#1 branch
.. //depot/projects/newisp/sun4v/include/kdb.h#1 branch
.. //depot/projects/newisp/sun4v/include/kerneldump.h#1 branch
.. //depot/projects/newisp/sun4v/include/ktr.h#1 branch
.. //depot/projects/newisp/sun4v/include/limits.h#1 branch
.. //depot/projects/newisp/sun4v/include/lsu.h#1 branch
.. //depot/projects/newisp/sun4v/include/md_var.h#1 branch
.. //depot/projects/newisp/sun4v/include/mdesc_bus.h#1 branch
.. //depot/projects/newisp/sun4v/include/mdesc_bus_subr.h#1 branch
.. //depot/projects/newisp/sun4v/include/memdev.h#1 branch
.. //depot/projects/newisp/sun4v/include/metadata.h#1 branch
.. //depot/projects/newisp/sun4v/include/mmu.h#1 branch
.. //depot/projects/newisp/sun4v/include/mutex.h#1 branch
.. //depot/projects/newisp/sun4v/include/nexusvar.h#1 branch
.. //depot/projects/newisp/sun4v/include/ofw_bus.h#1 branch
.. //depot/projects/newisp/sun4v/include/ofw_machdep.h#1 branch
.. //depot/projects/newisp/sun4v/include/ofw_mem.h#1 branch
.. //depot/projects/newisp/sun4v/include/ofw_nexus.h#1 branch
.. //depot/projects/newisp/sun4v/include/ofw_upa.h#1 branch
.. //depot/projects/newisp/sun4v/include/param.h#1 branch
.. //depot/projects/newisp/sun4v/include/pcb.h#1 branch
.. //depot/projects/newisp/sun4v/include/pcpu.h#1 branch
.. //depot/projects/newisp/sun4v/include/pmap.h#1 branch
.. //depot/projects/newisp/sun4v/include/pmc_mdep.h#1 branch
.. //depot/projects/newisp/sun4v/include/proc.h#1 branch
.. //depot/projects/newisp/sun4v/include/profile.h#1 branch
.. //depot/projects/newisp/sun4v/include/pstate.h#1 branch
.. //depot/projects/newisp/sun4v/include/ptrace.h#1 branch
.. //depot/projects/newisp/sun4v/include/reg.h#1 branch
.. //depot/projects/newisp/sun4v/include/reloc.h#1 branch
.. //depot/projects/newisp/sun4v/include/resource.h#1 branch
.. //depot/projects/newisp/sun4v/include/runq.h#1 branch
.. //depot/projects/newisp/sun4v/include/sc_machdep.h#1 branch
.. //depot/projects/newisp/sun4v/include/setjmp.h#1 branch
.. //depot/projects/newisp/sun4v/include/sf_buf.h#1 branch
.. //depot/projects/newisp/sun4v/include/sigframe.h#1 branch
.. //depot/projects/newisp/sun4v/include/signal.h#1 branch
.. //depot/projects/newisp/sun4v/include/smp.h#1 branch
.. //depot/projects/newisp/sun4v/include/stdarg.h#1 branch
.. //depot/projects/newisp/sun4v/include/sun4v_cpufunc.h#1 branch
.. //depot/projects/newisp/sun4v/include/sysarch.h#1 branch
.. //depot/projects/newisp/sun4v/include/tick.h#1 branch
.. //depot/projects/newisp/sun4v/include/tlb.h#1 branch
.. //depot/projects/newisp/sun4v/include/trap.h#1 branch
.. //depot/projects/newisp/sun4v/include/tsb.h#1 branch
.. //depot/projects/newisp/sun4v/include/tstate.h#1 branch
.. //depot/projects/newisp/sun4v/include/tte.h#1 branch
.. //depot/projects/newisp/sun4v/include/tte_hash.h#1 branch
.. //depot/projects/newisp/sun4v/include/ucontext.h#1 branch
.. //depot/projects/newisp/sun4v/include/upa.h#1 branch
.. //depot/projects/newisp/sun4v/include/utrap.h#1 branch
.. //depot/projects/newisp/sun4v/include/varargs.h#1 branch
.. //depot/projects/newisp/sun4v/include/ver.h#1 branch
.. //depot/projects/newisp/sun4v/include/vmparam.h#1 branch
.. //depot/projects/newisp/sun4v/include/watch.h#1 branch
.. //depot/projects/newisp/sun4v/include/wstate.h#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_bus_if.m#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_bus_subr.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_diff.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_findname.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_findnodeprop.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_fini.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_getbinsize.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_getgen.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_getpropdata.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_getpropstr.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_getpropval.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_init.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_init_intern.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_nodecount.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_rootnode.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_scandag.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_subr.c#1 branch
.. //depot/projects/newisp/sun4v/mdesc/mdesc_vdevfindval.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/autoconf.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/bus_machdep.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/clock.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/counter.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/db_disasm.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/db_hwwatch.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/db_interface.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/db_trace.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/dump_machdep.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/eeprom.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/elf_machdep.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/exception.S#1 branch
.. //depot/projects/newisp/sun4v/sun4v/gdb_machdep.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/genassym.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/hcall.S#1 branch
.. //depot/projects/newisp/sun4v/sun4v/hv_pci.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/hvcons.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/hviommu.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/identcpu.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/in_cksum.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/interrupt.S#1 branch
.. //depot/projects/newisp/sun4v/sun4v/intr_machdep.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/iommu.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/locore.S#1 branch
.. //depot/projects/newisp/sun4v/sun4v/machdep.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/mem.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/mp_exception.S#1 branch
.. //depot/projects/newisp/sun4v/sun4v/mp_locore.S#1 branch
.. //depot/projects/newisp/sun4v/sun4v/mp_machdep.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/nexus.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/ofw_bus.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/ofw_machdep.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/pmap.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/prof_machdep.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/rtc.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/rwindow.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/simdisk.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/support.S#1 branch
.. //depot/projects/newisp/sun4v/sun4v/swtch.S#1 branch
.. //depot/projects/newisp/sun4v/sun4v/sys_machdep.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/t1_copy.S#1 branch
.. //depot/projects/newisp/sun4v/sun4v/tick.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/tlb.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/trap.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/trap_trace.S#1 branch
.. //depot/projects/newisp/sun4v/sun4v/tsb.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/tte.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/tte_hash.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/uio_machdep.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/vm_machdep.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/vnex.c#1 branch
.. //depot/projects/newisp/sun4v/sun4v/wbuf.S#1 branch
.. //depot/projects/newisp/sys/_elf_solaris.h#1 branch
.. //depot/projects/newisp/sys/elf.h#1 branch
.. //depot/projects/newisp/sys/elf32.h#2 integrate
.. //depot/projects/newisp/sys/elf64.h#2 integrate
.. //depot/projects/newisp/sys/elf_common.h#2 integrate
.. //depot/projects/newisp/sys/signalvar.h#2 integrate
.. //depot/projects/newisp/ufs/ffs/ffs_inode.c#2 integrate
.. //depot/projects/newisp/ufs/ffs/ffs_snapshot.c#3 integrate
.. //depot/projects/newisp/ufs/ffs/ffs_vnops.c#2 integrate
.. //depot/projects/newisp/ufs/ufs/inode.h#3 integrate
.. //depot/projects/newisp/ufs/ufs/ufs_vnops.c#3 integrate
.. //depot/projects/newisp/vm/vm_contig.c#3 integrate
.. //depot/projects/newisp/vm/vnode_pager.c#2 integrate

Differences ...

==== //depot/projects/newisp/amd64/amd64/intr_machdep.c#2 (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.20 2006/07/12 21:22:42 jhb Exp $
+ * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.23 2006/10/13 04:53:22 jb Exp $
  */
 
 /*
@@ -37,6 +37,7 @@
  * that source.
  */
 
+#include "opt_atpic.h"
 #include "opt_ddb.h"
 
 #include <sys/param.h>
@@ -51,10 +52,17 @@
 #include <sys/systm.h>
 #include <machine/clock.h>
 #include <machine/intr_machdep.h>
+#include <machine/segments.h>
+#include <amd64/isa/isa.h>
 #ifdef DDB
 #include <ddb/ddb.h>
 #endif
 
+#ifndef DEV_ATPIC
+#include <dev/ic/i8259.h>
+#include <amd64/isa/icu.h>
+#endif
+
 #define	MAX_STRAY_LOG	5
 
 typedef void (*mask_fn)(void *);
@@ -62,6 +70,7 @@
 static int intrcnt_index;
 static struct intsrc *interrupt_sources[NUM_IO_INTS];
 static struct mtx intr_table_lock;
+static STAILQ_HEAD(, pic) pics;
 
 #ifdef SMP
 static int assign_cpu;
@@ -70,11 +79,46 @@
 #endif
 
 static void	intr_init(void *__dummy);
+static int	intr_pic_registered(struct pic *pic);
 static void	intrcnt_setname(const char *name, int index);
 static void	intrcnt_updatename(struct intsrc *is);
 static void	intrcnt_register(struct intsrc *is);
 
+static int
+intr_pic_registered(struct pic *pic)
+{
+	struct pic *p;
+
+	STAILQ_FOREACH(p, &pics, pics) {
+		if (p == pic)
+			return (1);
+	}
+	return (0);
+}
+
 /*
+ * Register a new interrupt controller (PIC).  This is to support suspend
+ * and resume where we suspend/resume controllers rather than individual
+ * sources.  This also allows controllers with no active sources (such as
+ * 8259As in a system using the APICs) to participate in suspend and resume.
+ */
+int
+intr_register_pic(struct pic *pic)
+{
+	int error;
+
+	mtx_lock_spin(&intr_table_lock);
+	if (intr_pic_registered(pic))
+		error = EBUSY;
+	else {
+		STAILQ_INSERT_TAIL(&pics, pic, pics);
+		error = 0;
+	}
+	mtx_unlock_spin(&intr_table_lock);
+	return (error);
+}
+
+/*
  * Register a new interrupt source with the global interrupt system.
  * The global interrupts need to be disabled when this function is
  * called.
@@ -84,6 +128,7 @@
 {
 	int error, vector;
 
+	KASSERT(intr_pic_registered(isrc->is_pic), ("unregistered PIC"));
 	vector = isrc->is_pic->pic_vector(isrc);
 	if (interrupt_sources[vector] != NULL)
 		return (EEXIST);
@@ -255,26 +300,29 @@
 void
 intr_resume(void)
 {
-	struct intsrc **isrc;
-	int i;
+	struct pic *pic;
 
+#ifndef DEV_ATPIC
+	atpic_reset();
+#endif
 	mtx_lock_spin(&intr_table_lock);
-	for (i = 0, isrc = interrupt_sources; i < NUM_IO_INTS; i++, isrc++)
-		if (*isrc != NULL && (*isrc)->is_pic->pic_resume != NULL)
-			(*isrc)->is_pic->pic_resume(*isrc);
+	STAILQ_FOREACH(pic, &pics, pics) {
+		if (pic->pic_resume != NULL)
+			pic->pic_resume(pic);
+	}
 	mtx_unlock_spin(&intr_table_lock);
 }
 
 void
 intr_suspend(void)
 {
-	struct intsrc **isrc;
-	int i;
+	struct pic *pic;
 
 	mtx_lock_spin(&intr_table_lock);
-	for (i = 0, isrc = interrupt_sources; i < NUM_IO_INTS; i++, isrc++)
-		if (*isrc != NULL && (*isrc)->is_pic->pic_suspend != NULL)
-			(*isrc)->is_pic->pic_suspend(*isrc);
+	STAILQ_FOREACH(pic, &pics, pics) {
+		if (pic->pic_suspend != NULL)
+			pic->pic_suspend(pic);
+	}
 	mtx_unlock_spin(&intr_table_lock);
 }
 
@@ -327,10 +375,33 @@
 
 	intrcnt_setname("???", 0);
 	intrcnt_index = 1;
+	STAILQ_INIT(&pics);
 	mtx_init(&intr_table_lock, "intr table", NULL, MTX_SPIN);
 }
 SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL)
 
+#ifndef DEV_ATPIC
+/* Initialize the two 8259A's to a known-good shutdown state. */
+void
+atpic_reset(void)
+{
+
+	outb(IO_ICU1, ICW1_RESET | ICW1_IC4);
+	outb(IO_ICU1 + ICU_IMR_OFFSET, IDT_IO_INTS);
+	outb(IO_ICU1 + ICU_IMR_OFFSET, 1 << 2);
+	outb(IO_ICU1 + ICU_IMR_OFFSET, ICW4_8086);
+	outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff);
+	outb(IO_ICU1, OCW3_SEL | OCW3_RR);
+
+	outb(IO_ICU2, ICW1_RESET | ICW1_IC4);
+	outb(IO_ICU2 + ICU_IMR_OFFSET, IDT_IO_INTS + 8);
+	outb(IO_ICU2 + ICU_IMR_OFFSET, 2);
+	outb(IO_ICU2 + ICU_IMR_OFFSET, ICW4_8086);
+	outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff);
+	outb(IO_ICU2, OCW3_SEL | OCW3_RR);
+}
+#endif
+
 #ifdef DDB
 /*
  * Dump data about interrupt handlers

==== //depot/projects/newisp/amd64/amd64/io_apic.c#2 (text+ko) ====

@@ -28,9 +28,8 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.24 2006/04/05 20:43:19 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.25 2006/10/10 23:23:11 jhb Exp $");
 
-#include "opt_atpic.h"
 #include "opt_isa.h"
 
 #include <sys/param.h>
@@ -61,8 +60,6 @@
 #define	IRQ_SMI			(NUM_IO_INTS + 3)
 #define	IRQ_DISABLED		(NUM_IO_INTS + 4)
 
-#define	TODO		printf("%s: not implemented!\n", __func__)
-
 static MALLOC_DEFINE(M_IOAPIC, "io_apic", "I/O APIC structures");
 
 /*
@@ -115,8 +112,7 @@
 static int	ioapic_source_pending(struct intsrc *isrc);
 static int	ioapic_config_intr(struct intsrc *isrc, enum intr_trigger trig,
 		    enum intr_polarity pol);
-static void	ioapic_suspend(struct intsrc *isrc);
-static void	ioapic_resume(struct intsrc *isrc);
+static void	ioapic_resume(struct pic *pic);
 static void	ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id);
 static void	ioapic_program_intpin(struct ioapic_intsrc *intpin);
 
@@ -124,7 +120,7 @@
 struct pic ioapic_template = { ioapic_enable_source, ioapic_disable_source,
 			       ioapic_eoi_source, ioapic_enable_intr,
 			       ioapic_vector, ioapic_source_pending,
-			       ioapic_suspend, ioapic_resume,
+			       NULL, ioapic_resume,
 			       ioapic_config_intr, ioapic_assign_cpu };
 
 static int next_ioapic_base;
@@ -419,17 +415,13 @@
 }
 
 static void
-ioapic_suspend(struct intsrc *isrc)
+ioapic_resume(struct pic *pic)
 {
+	struct ioapic *io = (struct ioapic *)pic;
+	int i;
 
-	TODO;
-}
-
-static void
-ioapic_resume(struct intsrc *isrc)
-{
-
-	ioapic_program_intpin((struct ioapic_intsrc *)isrc);
+	for (i = 0; i < io->io_numintr; i++)
+		ioapic_program_intpin(&io->io_pins[i]);
 }
 
 /*
@@ -727,6 +719,7 @@
 	    io->io_intbase + io->io_numintr - 1);
 
 	/* Register valid pins as interrupt sources. */
+	intr_register_pic(&io->io_pic);
 	for (i = 0, pin = io->io_pins; i < io->io_numintr; i++, pin++)
 		if (pin->io_irq < NUM_IO_INTS)
 			intr_register_source(&pin->io_intsrc);

==== //depot/projects/newisp/amd64/amd64/local_apic.c#6 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.31 2006/09/27 22:09:35 sobomax Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.32 2006/10/10 23:23:11 jhb Exp $");
 
 #include "opt_hwpmc_hooks.h"
 
@@ -151,12 +151,15 @@
 static u_long lapic_timer_divisor, lapic_timer_period, lapic_timer_hz;
 
 static void	lapic_enable(void);
+static void	lapic_resume(struct pic *pic);
 static void	lapic_timer_enable_intr(void);
 static void	lapic_timer_oneshot(u_int count);
 static void	lapic_timer_periodic(u_int count);
 static void	lapic_timer_set_divisor(u_int divisor);
 static uint32_t	lvt_mode(struct lapic *la, u_int pin, uint32_t value);
 
+struct pic lapic_pic = { .pic_resume = lapic_resume };
+
 static uint32_t
 lvt_mode(struct lapic *la, u_int pin, uint32_t value)
 {
@@ -277,7 +280,7 @@
 }
 
 void
-lapic_setup(void)
+lapic_setup(int boot)
 {
 	struct lapic *la;
 	u_int32_t maxlvt;
@@ -306,9 +309,13 @@
 
 	/* Program timer LVT and setup handler. */
 	lapic->lvt_timer = lvt_mode(la, LVT_TIMER, lapic->lvt_timer);
-	snprintf(buf, sizeof(buf), "cpu%d: timer", PCPU_GET(cpuid));
-	intrcnt_add(buf, &la->la_timer_count);
-	if (PCPU_GET(cpuid) != 0) {
+	if (boot) {
+		snprintf(buf, sizeof(buf), "cpu%d: timer", PCPU_GET(cpuid));
+		intrcnt_add(buf, &la->la_timer_count);
+	}
+
+	/* We don't setup the timer during boot on the BSP until later. */
+	if (!(boot && PCPU_GET(cpuid) == 0)) {
 		KASSERT(lapic_timer_period != 0, ("lapic%u: zero divisor",
 		    lapic_id()));
 		lapic_timer_set_divisor(lapic_timer_divisor);
@@ -398,6 +405,14 @@
 	lapic->svr = value;
 }
 
+/* Reset the local APIC on the BSP during resume. */
+static void
+lapic_resume(struct pic *pic)
+{
+
+	lapic_setup(0);
+}
+
 int
 lapic_id(void)
 {
@@ -983,7 +998,8 @@
 	 * Finish setting up the local APIC on the BSP once we know how to
 	 * properly program the LINT pins.
 	 */
-	lapic_setup();
+	lapic_setup(1);
+	intr_register_pic(&lapic_pic);
 	if (bootverbose)
 		lapic_dump("BSP");
 }

==== //depot/projects/newisp/amd64/amd64/machdep.c#4 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.654 2006/10/02 15:42:01 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.656 2006/10/12 12:48:21 jhb Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -125,9 +125,11 @@
 #include <machine/smp.h>
 #endif
 
-#include <dev/ic/i8259.h>
+#ifdef DEV_ATPIC
 #include <amd64/isa/icu.h>
+#else
 #include <machine/apicvar.h>
+#endif
 
 #include <isa/isareg.h>
 #include <isa/rtc.h>
@@ -1212,19 +1214,7 @@
 	atpic_startup();
 #else
 	/* Reset and mask the atpics and leave them shut down. */
-	outb(IO_ICU1, ICW1_RESET | ICW1_IC4);
-	outb(IO_ICU1 + ICU_IMR_OFFSET, IDT_IO_INTS);
-	outb(IO_ICU1 + ICU_IMR_OFFSET, 1 << 2);
-	outb(IO_ICU1 + ICU_IMR_OFFSET, ICW4_8086);
-	outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff);
-	outb(IO_ICU1, OCW3_SEL | OCW3_RR);
-
-	outb(IO_ICU2, ICW1_RESET | ICW1_IC4);
-	outb(IO_ICU2 + ICU_IMR_OFFSET, IDT_IO_INTS + 8);
-	outb(IO_ICU2 + ICU_IMR_OFFSET, 2);
-	outb(IO_ICU2 + ICU_IMR_OFFSET, ICW4_8086);
-	outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff);
-	outb(IO_ICU2, OCW3_SEL | OCW3_RR);
+	atpic_reset();
 
 	/*
 	 * Point the ICU spurious interrupt vectors at the APIC spurious

==== //depot/projects/newisp/amd64/amd64/mp_machdep.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.277 2006/09/11 20:10:42 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.278 2006/10/10 23:23:11 jhb Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -543,7 +543,7 @@
 	mtx_lock_spin(&ap_boot_mtx);
 
 	/* Init local apic for irq's */
-	lapic_setup();
+	lapic_setup(1);
 
 	/* Set memory range attributes for this CPU to match the BSP */
 	mem_range_AP_init();

==== //depot/projects/newisp/amd64/conf/GENERIC#3 (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.465 2006/09/26 12:36:33 ru Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.466 2006/10/05 20:31:57 simon Exp $
 
 cpu		HAMMER
 ident		GENERIC
@@ -26,7 +26,6 @@
 
 makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
 
-#options 	SCHED_ULE		# ULE scheduler
 options 	SCHED_4BSD		# 4BSD scheduler
 options 	PREEMPTION		# Enable kernel thread preemption
 options 	INET			# InterNETworking

==== //depot/projects/newisp/amd64/ia32/ia32_signal.c#2 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.14 2005/12/06 23:06:29 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.15 2006/10/05 01:56:10 davidxu Exp $");
 
 #include "opt_compat.h"
 
@@ -67,6 +67,7 @@
 #include <vm/vm_object.h>
 #include <vm/vm_extern.h>
 
+#include <compat/freebsd32/freebsd32_signal.h>
 #include <compat/freebsd32/freebsd32_util.h>
 #include <compat/freebsd32/freebsd32_proto.h>
 #include <compat/ia32/ia32_signal.h>
@@ -298,7 +299,7 @@
 freebsd4_ia32_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask)
 {
 	struct ia32_sigframe4 sf, *sfp;
-	struct ia32_siginfo siginfo;
+	struct siginfo32 siginfo;
 	struct proc *p;
 	struct thread *td;
 	struct sigacts *psp;
@@ -308,7 +309,7 @@
 
 	td = curthread;
 	p = td->td_proc;
-	siginfo_to_ia32siginfo(&ksi->ksi_info, &siginfo);
+	siginfo_to_siginfo32(&ksi->ksi_info, &siginfo);
 
 	PROC_LOCK_ASSERT(p, MA_OWNED);
 	sig = siginfo.si_signo;
@@ -407,7 +408,7 @@
 ia32_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask)
 {
 	struct ia32_sigframe sf, *sfp;
-	struct ia32_siginfo siginfo;
+	struct siginfo32 siginfo;
 	struct proc *p;
 	struct thread *td;
 	struct sigacts *psp;
@@ -416,7 +417,7 @@
 	int oonstack;
 	int sig;
 
-	siginfo_to_ia32siginfo(&ksi->ksi_info, &siginfo);
+	siginfo_to_siginfo32(&ksi->ksi_info, &siginfo);
 	td = curthread;
 	p = td->td_proc;
 	PROC_LOCK_ASSERT(p, MA_OWNED);
@@ -741,20 +742,3 @@
 	pcb->pcb_flags |= PCB_FULLCTX;
 	td->td_retval[1] = 0;
 }
-
-void
-siginfo_to_ia32siginfo(siginfo_t *src, struct ia32_siginfo *dst)
-{
-	dst->si_signo = src->si_signo;
-	dst->si_errno = src->si_errno;
-	dst->si_code = src->si_code;
-	dst->si_pid = src->si_pid;
-	dst->si_uid = src->si_uid;
-	dst->si_status = src->si_status;
-	dst->si_addr = dst->si_addr;
-	dst->si_value.sigval_int = src->si_value.sival_int;
-	dst->si_band = src->si_band;
-	dst->si_trapno = src->si_trapno;
-	dst->si_timerid = src->si_timerid;
-	dst->si_overrun = src->si_overrun;
-}

==== //depot/projects/newisp/amd64/include/apicvar.h#2 (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/include/apicvar.h,v 1.18 2006/05/01 21:36:47 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.19 2006/10/10 23:23:11 jhb Exp $
  */
 
 #ifndef _MACHINE_APICVAR_H_
@@ -211,7 +211,7 @@
 int	lapic_set_lvt_triggermode(u_int apic_id, u_int lvt,
 	    enum intr_trigger trigger);
 void	lapic_set_tpr(u_int vector);
-void	lapic_setup(void);
+void	lapic_setup(int boot);
 int	lapic_setup_clock(void);
 
 #endif /* !LOCORE */

==== //depot/projects/newisp/amd64/include/elf.h#2 (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.18 2004/08/03 08:21:48 dfr Exp $
+ * $FreeBSD: src/sys/amd64/include/elf.h,v 1.19 2006/10/04 21:37:09 jb Exp $
  */
 
 #ifndef _MACHINE_ELF_H_
@@ -108,31 +108,6 @@
  * Relocation types.
  */
 
-#define	R_X86_64_NONE	0	/* No relocation. */
-#define	R_X86_64_64	1	/* Add 64 bit symbol value. */
-#define	R_X86_64_PC32	2	/* PC-relative 32 bit signed sym value. */
-#define	R_X86_64_GOT32	3	/* PC-relative 32 bit GOT offset. */
-#define	R_X86_64_PLT32	4	/* PC-relative 32 bit PLT offset. */
-#define	R_X86_64_COPY	5	/* Copy data from shared object. */
-#define	R_X86_64_GLOB_DAT 6	/* Set GOT entry to data address. */
-#define	R_X86_64_JMP_SLOT 7	/* Set GOT entry to code address. */
-#define	R_X86_64_RELATIVE 8	/* Add load address of shared object. */
-#define	R_X86_64_GOTPCREL 9	/* Add 32 bit signed pcrel offset to GOT. */
-#define	R_X86_64_32	10	/* Add 32 bit zero extended symbol value */
-#define	R_X86_64_32S	11	/* Add 32 bit sign extended symbol value */
-#define	R_X86_64_16	12	/* Add 16 bit zero extended symbol value */
-#define	R_X86_64_PC16	13	/* Add 16 bit signed extended pc relative symbol value */
-#define	R_X86_64_8	14	/* Add 8 bit zero extended symbol value */
-#define	R_X86_64_PC8	15	/* Add 8 bit signed extended pc relative symbol value */
-#define	R_X86_64_DTPMOD64 16	/* ID of module containing symbol */
-#define	R_X86_64_DTPOFF64 17	/* Offset in TLS block */
-#define	R_X86_64_TPOFF64 18	/* Offset in static TLS block */
-#define	R_X86_64_TLSGD	19	/* PC relative offset to GD GOT entry */
-#define	R_X86_64_TLSLD	20	/* PC relative offset to LD GOT entry */
-#define	R_X86_64_DTPOFF32 21	/* Offset in TLS block */
-#define	R_X86_64_GOTTPOFF 22	/* PC relative offset to IE GOT entry */
-#define	R_X86_64_TPOFF32 23	/* Offset in static TLS block */
-
 #define	R_X86_64_COUNT	24	/* Count of defined relocation types. */
 
 /* Define "machine" characteristics */

==== //depot/projects/newisp/amd64/include/intr_machdep.h#2 (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.9 2006/02/28 22:24:54 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.11 2006/10/10 23:23:11 jhb Exp $
  */
 
 #ifndef __MACHINE_INTR_MACHDEP_H__
@@ -56,9 +56,9 @@
  * - 7 counters for each CPU for IPI counters for SMP.
  */
 #ifdef SMP
+#define	INTRCNT_COUNT	(1 + NUM_IO_INTS * 2 + (1 + 7) * MAXCPU)
+#else
 #define	INTRCNT_COUNT	(1 + NUM_IO_INTS * 2 + 1)
-#else
-#define	INTRCNT_COUNT	(1 + NUM_IO_INTS * 2 + (1 + 7) * MAXCPU)
 #endif
 
 #ifndef LOCORE
@@ -81,11 +81,12 @@
 	void (*pic_enable_intr)(struct intsrc *);
 	int (*pic_vector)(struct intsrc *);
 	int (*pic_source_pending)(struct intsrc *);
-	void (*pic_suspend)(struct intsrc *);
-	void (*pic_resume)(struct intsrc *);
+	void (*pic_suspend)(struct pic *);
+	void (*pic_resume)(struct pic *);
 	int (*pic_config_intr)(struct intsrc *, enum intr_trigger,
 	    enum intr_polarity);
 	void (*pic_assign_cpu)(struct intsrc *, u_int apic_id);
+	STAILQ_ENTRY(pic) pics;
 };
 
 /* Flags for pic_disable_source() */
@@ -114,6 +115,9 @@
 extern struct mtx icu_lock;
 extern int elcr_found;
 
+#ifndef DEV_ATPIC
+void	atpic_reset(void);
+#endif
 /* XXX: The elcr_* prototypes probably belong somewhere else. */
 int	elcr_probe(void);
 enum intr_trigger elcr_read_trigger(u_int irq);
@@ -130,6 +134,7 @@
     enum intr_polarity pol);
 void	intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame);
 struct intsrc *intr_lookup_source(int vector);
+int	intr_register_pic(struct pic *pic);
 int	intr_register_source(struct intsrc *isrc);
 int	intr_remove_handler(void *cookie);
 void	intr_resume(void);

==== //depot/projects/newisp/amd64/isa/atpic.c#2 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.19 2006/02/28 22:24:54 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.20 2006/10/10 23:23:11 jhb Exp $");
 
 #include "opt_auto_eoi.h"
 #include "opt_isa.h"
@@ -138,7 +138,7 @@
 static void atpic_eoi_slave(struct intsrc *isrc);
 static void atpic_enable_intr(struct intsrc *isrc);
 static int atpic_vector(struct intsrc *isrc);
-static void atpic_resume(struct intsrc *isrc);
+static void atpic_resume(struct pic *pic);
 static int atpic_source_pending(struct intsrc *isrc);
 static int atpic_config_intr(struct intsrc *isrc, enum intr_trigger trig,
     enum intr_polarity pol);
@@ -285,16 +285,13 @@
 }
 
 static void
-atpic_resume(struct intsrc *isrc)
+atpic_resume(struct pic *pic)
 {
-	struct atpic_intsrc *ai = (struct atpic_intsrc *)isrc;
-	struct atpic *ap = (struct atpic *)isrc->is_pic;
+	struct atpic *ap = (struct atpic *)pic;
 
-	if (ai->at_irq == 0) {
-		i8259_init(ap, ap == &atpics[SLAVE]);
-		if (ap == &atpics[SLAVE] && elcr_found)
-			elcr_resume();
-	}
+	i8259_init(ap, ap == &atpics[SLAVE]);
+	if (ap == &atpics[SLAVE] && elcr_found)
+		elcr_resume();
 }
 
 static int
@@ -465,6 +462,14 @@
 	int i;
 
 	/*
+	 * Register our PICs, even if we aren't going to use any of their
+	 * pins so that they are suspended and resumed.
+	 */
+	if (intr_register_pic(&atpics[0].at_pic) != 0 ||
+	    intr_register_pic(&atpics[1].at_pic) != 0)
+		panic("Unable to register ATPICs");
+
+	/*
 	 * If any of the ISA IRQs have an interrupt source already, then
 	 * assume that the APICs are being used and don't register any
 	 * of our interrupt sources.  This makes sure we don't accidentally

==== //depot/projects/newisp/arm/include/elf.h#2 (text+ko) ====

@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/include/elf.h,v 1.7 2006/08/24 23:00:03 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/elf.h,v 1.8 2006/10/04 21:37:09 jb Exp $
  */
 

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200610130641.k9D6fUR1050332>