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>