PERFORCE change 107799 for review
Matt Jacob
mjacob at FreeBSD.org
Thu Oct 12 23:41:49 PDT 2006
http://perforce.freebsd.org/chv.cgi?CH=107799
Change 107799 by mjacob at 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) <<<
More information about the p4-projects
mailing list