Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Mar 2005 19:30:32 GMT
From:      John-Mark Gurney <jmg@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 72279 for review
Message-ID:  <200503011930.j21JUV8O083786@repoman.freebsd.org>

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

Change 72279 by jmg@jmg_carbon on 2005/03/01 19:29:45

	bring up projects/arm to HEAD..
	
	I'm keeping cognet's fixup till we figure out what the correct
	fix is...

Affected files ...

.. //depot/projects/arm/src/sys/alpha/include/exec.h#2 integrate
.. //depot/projects/arm/src/sys/amd64/acpica/madt.c#2 integrate
.. //depot/projects/arm/src/sys/amd64/amd64/apic_vector.S#2 integrate
.. //depot/projects/arm/src/sys/amd64/amd64/io_apic.c#2 integrate
.. //depot/projects/arm/src/sys/amd64/amd64/local_apic.c#2 integrate
.. //depot/projects/arm/src/sys/amd64/amd64/machdep.c#2 integrate
.. //depot/projects/arm/src/sys/amd64/amd64/mp_machdep.c#2 integrate
.. //depot/projects/arm/src/sys/amd64/amd64/mp_watchdog.c#2 integrate
.. //depot/projects/arm/src/sys/amd64/amd64/mptable.c#2 integrate
.. //depot/projects/arm/src/sys/amd64/conf/GENERIC#2 integrate
.. //depot/projects/arm/src/sys/amd64/conf/NOTES#2 integrate
.. //depot/projects/arm/src/sys/amd64/include/apicvar.h#2 integrate
.. //depot/projects/arm/src/sys/amd64/include/exec.h#2 integrate
.. //depot/projects/arm/src/sys/amd64/include/sf_buf.h#2 integrate
.. //depot/projects/arm/src/sys/amd64/include/smp.h#2 integrate
.. //depot/projects/arm/src/sys/amd64/isa/clock.c#2 integrate
.. //depot/projects/arm/src/sys/arm/arm/cpufunc_asm.S#3 integrate
.. //depot/projects/arm/src/sys/arm/arm/fusu.S#2 integrate
.. //depot/projects/arm/src/sys/arm/arm/genassym.c#2 integrate
.. //depot/projects/arm/src/sys/arm/arm/locore.S#8 integrate
.. //depot/projects/arm/src/sys/arm/arm/machdep.c#2 integrate
.. //depot/projects/arm/src/sys/arm/arm/pmap.c#4 integrate
.. //depot/projects/arm/src/sys/arm/arm/swtch.S#2 integrate
.. //depot/projects/arm/src/sys/arm/arm/sys_machdep.c#2 integrate
.. //depot/projects/arm/src/sys/arm/include/exec.h#2 integrate
.. //depot/projects/arm/src/sys/arm/include/machdep.h#2 integrate
.. //depot/projects/arm/src/sys/arm/include/pmap.h#2 integrate
.. //depot/projects/arm/src/sys/arm/include/proc.h#2 integrate
.. //depot/projects/arm/src/sys/arm/include/sysarch.h#2 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/iq31244_machdep.c#3 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/std.i80321#2 integrate
.. //depot/projects/arm/src/sys/arm/xscale/std.xscale#1 branch
.. //depot/projects/arm/src/sys/cam/cam_periph.c#2 integrate
.. //depot/projects/arm/src/sys/cam/cam_xpt.c#2 integrate
.. //depot/projects/arm/src/sys/cam/scsi/scsi_all.c#2 integrate
.. //depot/projects/arm/src/sys/coda/coda_vfsops.c#2 integrate
.. //depot/projects/arm/src/sys/coda/coda_vfsops.h#2 integrate
.. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_misc.c#2 integrate
.. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_proto.h#2 integrate
.. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate
.. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate
.. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate
.. //depot/projects/arm/src/sys/compat/freebsd32/syscalls.master#2 integrate
.. //depot/projects/arm/src/sys/compat/linux/linux_stats.c#2 integrate
.. //depot/projects/arm/src/sys/compat/linux/linux_util.c#2 integrate
.. //depot/projects/arm/src/sys/compat/linux/linux_util.h#2 integrate
.. //depot/projects/arm/src/sys/compat/ndis/kern_ndis.c#2 integrate
.. //depot/projects/arm/src/sys/compat/ndis/kern_windrv.c#2 integrate
.. //depot/projects/arm/src/sys/compat/ndis/ntoskrnl_var.h#2 integrate
.. //depot/projects/arm/src/sys/compat/ndis/subr_ntoskrnl.c#2 integrate
.. //depot/projects/arm/src/sys/compat/ndis/subr_pe.c#2 integrate
.. //depot/projects/arm/src/sys/compat/ndis/subr_usbd.c#1 branch
.. //depot/projects/arm/src/sys/compat/ndis/usbd_var.h#1 branch
.. //depot/projects/arm/src/sys/compat/pecoff/imgact_pecoff.c#2 integrate
.. //depot/projects/arm/src/sys/compat/svr4/svr4_signal.c#2 integrate
.. //depot/projects/arm/src/sys/compat/svr4/svr4_signal.h#2 integrate
.. //depot/projects/arm/src/sys/compat/svr4/svr4_sysvec.c#2 integrate
.. //depot/projects/arm/src/sys/conf/NOTES#2 integrate
.. //depot/projects/arm/src/sys/conf/files#2 integrate
.. //depot/projects/arm/src/sys/conf/files.amd64#2 integrate
.. //depot/projects/arm/src/sys/conf/files.i386#2 integrate
.. //depot/projects/arm/src/sys/conf/kern.post.mk#3 integrate
.. //depot/projects/arm/src/sys/conf/majors#2 integrate
.. //depot/projects/arm/src/sys/conf/options#2 integrate
.. //depot/projects/arm/src/sys/conf/options.arm#3 integrate
.. //depot/projects/arm/src/sys/conf/options.i386#2 integrate
.. //depot/projects/arm/src/sys/contrib/altq/altq/altq_subr.c#2 integrate
.. //depot/projects/arm/src/sys/contrib/altq/altq/altq_var.h#2 integrate
.. //depot/projects/arm/src/sys/contrib/dev/hptmv/i386-elf.raid.o.uu#2 integrate
.. //depot/projects/arm/src/sys/contrib/dev/hptmv/ioctl.c#2 integrate
.. //depot/projects/arm/src/sys/contrib/ipfilter/netinet/mlfk_ipl.c#2 integrate
.. //depot/projects/arm/src/sys/contrib/pf/net/pf_if.c#2 integrate
.. //depot/projects/arm/src/sys/dev/acpica/acpi.c#2 integrate
.. //depot/projects/arm/src/sys/dev/acpica/acpi_ec.c#2 integrate
.. //depot/projects/arm/src/sys/dev/acpica/acpi_pcibvar.h#2 integrate
.. //depot/projects/arm/src/sys/dev/acpica/acpi_perf.c#2 integrate
.. //depot/projects/arm/src/sys/dev/acpica/acpi_quirks#2 integrate
.. //depot/projects/arm/src/sys/dev/acpica/acpi_thermal.c#2 integrate
.. //depot/projects/arm/src/sys/dev/acpica/acpi_throttle.c#2 integrate
.. //depot/projects/arm/src/sys/dev/acpica/acpiio.h#2 integrate
.. //depot/projects/arm/src/sys/dev/acpica/acpivar.h#2 integrate
.. //depot/projects/arm/src/sys/dev/advansys/adwlib.c#2 integrate
.. //depot/projects/arm/src/sys/dev/ata/atapi-tape.c#2 integrate
.. //depot/projects/arm/src/sys/dev/cardbus/cardbus.c#2 integrate
.. //depot/projects/arm/src/sys/dev/cardbus/cardbus_cis.c#2 integrate
.. //depot/projects/arm/src/sys/dev/ciss/ciss.c#2 integrate
.. //depot/projects/arm/src/sys/dev/cp/if_cp.c#2 integrate
.. //depot/projects/arm/src/sys/dev/cpufreq/ichss.c#2 integrate
.. //depot/projects/arm/src/sys/dev/ctau/if_ct.c#2 integrate
.. //depot/projects/arm/src/sys/dev/digi/digi.c#2 integrate
.. //depot/projects/arm/src/sys/dev/dpt/dpt_eisa.c#2 integrate
.. //depot/projects/arm/src/sys/dev/dpt/dpt_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/drm/drm_bufs.h#2 integrate
.. //depot/projects/arm/src/sys/dev/drm/radeon_state.c#2 integrate
.. //depot/projects/arm/src/sys/dev/ed/if_ed.c#2 integrate
.. //depot/projects/arm/src/sys/dev/ed/if_ed_isa.c#2 integrate
.. //depot/projects/arm/src/sys/dev/ed/if_ed_pccard.c#2 integrate
.. //depot/projects/arm/src/sys/dev/ed/if_ed_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/ed/if_ed_sic.c#2 integrate
.. //depot/projects/arm/src/sys/dev/ed/if_ed_wd80x3.c#2 integrate
.. //depot/projects/arm/src/sys/dev/ed/if_edvar.h#2 integrate
.. //depot/projects/arm/src/sys/dev/fb/vgareg.h#2 integrate
.. //depot/projects/arm/src/sys/dev/fdc/fdc.c#2 integrate
.. //depot/projects/arm/src/sys/dev/fe/if_fe.c#2 integrate
.. //depot/projects/arm/src/sys/dev/fe/if_fe_cbus.c#2 integrate
.. //depot/projects/arm/src/sys/dev/fe/if_fe_isa.c#2 integrate
.. //depot/projects/arm/src/sys/dev/fe/if_fe_pccard.c#2 integrate
.. //depot/projects/arm/src/sys/dev/fe/if_fereg.h#2 integrate
.. //depot/projects/arm/src/sys/dev/fe/if_fevar.h#2 integrate
.. //depot/projects/arm/src/sys/dev/fe/mb86960.h#2 integrate
.. //depot/projects/arm/src/sys/dev/fxp/if_fxp.c#2 integrate
.. //depot/projects/arm/src/sys/dev/hme/if_hme_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/hptmv/access601.h#1 branch
.. //depot/projects/arm/src/sys/dev/hptmv/array.h#1 branch
.. //depot/projects/arm/src/sys/dev/hptmv/atapi.h#1 branch
.. //depot/projects/arm/src/sys/dev/hptmv/command.h#1 branch
.. //depot/projects/arm/src/sys/dev/hptmv/entry.c#2 integrate
.. //depot/projects/arm/src/sys/dev/hptmv/gui_lib.c#1 branch
.. //depot/projects/arm/src/sys/dev/hptmv/hptproc.c#1 branch
.. //depot/projects/arm/src/sys/dev/hptmv/i386-elf.raid.o.uu#1 branch
.. //depot/projects/arm/src/sys/dev/hptmv/ioctl.c#1 branch
.. //depot/projects/arm/src/sys/dev/hptmv/mvSata.h#1 branch
.. //depot/projects/arm/src/sys/dev/hptmv/mvStorageDev.h#1 branch
.. //depot/projects/arm/src/sys/dev/hptmv/raid5n.h#1 branch
.. //depot/projects/arm/src/sys/dev/hptmv/readme.txt#1 branch
.. //depot/projects/arm/src/sys/dev/hptmv/vdevice.h#1 branch
.. //depot/projects/arm/src/sys/dev/if_ndis/if_ndis.c#2 integrate
.. //depot/projects/arm/src/sys/dev/if_ndis/if_ndis_pccard.c#2 integrate
.. //depot/projects/arm/src/sys/dev/if_ndis/if_ndis_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/if_ndis/if_ndis_usb.c#1 branch
.. //depot/projects/arm/src/sys/dev/kbd/atkbd.c#2 integrate
.. //depot/projects/arm/src/sys/dev/null/null.c#2 integrate
.. //depot/projects/arm/src/sys/dev/pccard/pccarddevs#2 integrate
.. //depot/projects/arm/src/sys/dev/pci/pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/pci/pci_private.h#2 integrate
.. //depot/projects/arm/src/sys/dev/pci/pci_user.c#2 integrate
.. //depot/projects/arm/src/sys/dev/puc/puc.c#2 integrate
.. //depot/projects/arm/src/sys/dev/puc/puc_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/puc/puc_sbus.c#2 integrate
.. //depot/projects/arm/src/sys/dev/re/if_re.c#2 integrate
.. //depot/projects/arm/src/sys/dev/rp/rp_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/safe/safe.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sbsh/if_sbsh.c#2 integrate
.. //depot/projects/arm/src/sys/dev/si/si_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/snc/dp83932.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/isa/ad1816.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/isa/mss.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/als4000.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/au88x0.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/aureal.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/cmi.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/cs4281.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/csa.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/ds1.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/emu10k1.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/es137x.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/fm801.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/ich.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/maestro.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/maestro3.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/solo.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/t4dwave.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/via8233.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/via82c686.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/vibes.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pcm/dsp.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pcm/mixer.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pcm/sndstat.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/pcm/sound.h#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/sbus/cs4231.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sound/usb/uaudio_pcm.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sr/if_sr_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/stg/tmc18c30_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sx/sx_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/sym/sym_hipd.c#2 integrate
.. //depot/projects/arm/src/sys/dev/syscons/syscons.c#2 integrate
.. //depot/projects/arm/src/sys/dev/syscons/sysmouse.c#2 integrate
.. //depot/projects/arm/src/sys/dev/tdfx/tdfx_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/tga/tga_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/trm/trm.c#2 integrate
.. //depot/projects/arm/src/sys/dev/twa/twa_freebsd.c#2 integrate
.. //depot/projects/arm/src/sys/dev/twe/twe_freebsd.c#2 integrate
.. //depot/projects/arm/src/sys/dev/tx/if_tx.c#2 integrate
.. //depot/projects/arm/src/sys/dev/txp/if_txp.c#2 integrate
.. //depot/projects/arm/src/sys/dev/ubsec/ubsec.c#2 integrate
.. //depot/projects/arm/src/sys/dev/usb/ehci_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/usb/ohci_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/usb/uhci_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/usb/usb_subr.c#2 integrate
.. //depot/projects/arm/src/sys/dev/usb/usbcdc.h#2 integrate
.. //depot/projects/arm/src/sys/dev/usb/usbdi.c#2 integrate
.. //depot/projects/arm/src/sys/dev/usb/usbdi.h#2 integrate
.. //depot/projects/arm/src/sys/dev/usb/usbdi_util.c#2 integrate
.. //depot/projects/arm/src/sys/dev/usb/usbdi_util.h#2 integrate
.. //depot/projects/arm/src/sys/dev/utopia/idtphy.c#1 branch
.. //depot/projects/arm/src/sys/dev/utopia/suni.c#1 branch
.. //depot/projects/arm/src/sys/dev/utopia/utopia.c#2 integrate
.. //depot/projects/arm/src/sys/dev/utopia/utopia.h#2 integrate
.. //depot/projects/arm/src/sys/dev/utopia/utopia_priv.h#1 branch
.. //depot/projects/arm/src/sys/dev/vge/if_vge.c#2 integrate
.. //depot/projects/arm/src/sys/dev/vkbd/vkbd.c#2 integrate
.. //depot/projects/arm/src/sys/dev/vx/if_vx_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/wi/if_wi_pci.c#2 integrate
.. //depot/projects/arm/src/sys/dev/zs/zs_sbus.c#2 delete
.. //depot/projects/arm/src/sys/fs/devfs/devfs.h#2 integrate
.. //depot/projects/arm/src/sys/fs/devfs/devfs_vnops.c#2 integrate
.. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_vfsops.c#2 integrate
.. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate
.. //depot/projects/arm/src/sys/fs/nwfs/nwfs_vnops.c#2 integrate
.. //depot/projects/arm/src/sys/fs/pseudofs/pseudofs_vncache.c#2 integrate
.. //depot/projects/arm/src/sys/fs/smbfs/smbfs_vnops.c#2 integrate
.. //depot/projects/arm/src/sys/fs/unionfs/union_vfsops.c#2 integrate
.. //depot/projects/arm/src/sys/geom/concat/g_concat.c#2 integrate
.. //depot/projects/arm/src/sys/geom/concat/g_concat.h#2 integrate
.. //depot/projects/arm/src/sys/geom/geom_vfs.c#2 integrate
.. //depot/projects/arm/src/sys/geom/label/g_label.c#2 integrate
.. //depot/projects/arm/src/sys/geom/label/g_label.h#2 integrate
.. //depot/projects/arm/src/sys/geom/mirror/g_mirror.c#2 integrate
.. //depot/projects/arm/src/sys/geom/mirror/g_mirror.h#2 integrate
.. //depot/projects/arm/src/sys/geom/raid3/g_raid3.c#2 integrate
.. //depot/projects/arm/src/sys/geom/raid3/g_raid3.h#2 integrate
.. //depot/projects/arm/src/sys/geom/shsec/g_shsec.c#2 integrate
.. //depot/projects/arm/src/sys/geom/shsec/g_shsec.h#2 integrate
.. //depot/projects/arm/src/sys/geom/stripe/g_stripe.c#2 integrate
.. //depot/projects/arm/src/sys/geom/stripe/g_stripe.h#2 integrate
.. //depot/projects/arm/src/sys/geom/vinum/geom_vinum_var.h#2 integrate
.. //depot/projects/arm/src/sys/geom/vinum/geom_vinum_volume.c#2 integrate
.. //depot/projects/arm/src/sys/gnu/ext2fs/ext2_alloc.c#2 integrate
.. //depot/projects/arm/src/sys/gnu/ext2fs/ext2_linux_balloc.c#2 integrate
.. //depot/projects/arm/src/sys/gnu/ext2fs/ext2_vnops.c#2 integrate
.. //depot/projects/arm/src/sys/i386/acpica/madt.c#2 integrate
.. //depot/projects/arm/src/sys/i386/conf/NOTES#2 integrate
.. //depot/projects/arm/src/sys/i386/cpufreq/est.c#1 branch
.. //depot/projects/arm/src/sys/i386/cpufreq/p4tcc.c#1 branch
.. //depot/projects/arm/src/sys/i386/i386/io_apic.c#2 integrate
.. //depot/projects/arm/src/sys/i386/i386/machdep.c#2 integrate
.. //depot/projects/arm/src/sys/i386/i386/mp_watchdog.c#2 integrate
.. //depot/projects/arm/src/sys/i386/i386/p4tcc.c#2 delete
.. //depot/projects/arm/src/sys/i386/ibcs2/ibcs2_msg.c#2 integrate
.. //depot/projects/arm/src/sys/i386/include/_types.h#2 integrate
.. //depot/projects/arm/src/sys/i386/include/exec.h#2 integrate
.. //depot/projects/arm/src/sys/i386/isa/ic/mb86960.h#2 delete
.. //depot/projects/arm/src/sys/i386/isa/pcf.c#2 integrate
.. //depot/projects/arm/src/sys/i386/isa/vesa.c#2 integrate
.. //depot/projects/arm/src/sys/ia64/conf/NOTES#2 integrate
.. //depot/projects/arm/src/sys/ia64/include/exec.h#2 integrate
.. //depot/projects/arm/src/sys/isa/vga_isa.c#2 integrate
.. //depot/projects/arm/src/sys/kern/imgact_shell.c#2 integrate
.. //depot/projects/arm/src/sys/kern/init_sysent.c#2 integrate
.. //depot/projects/arm/src/sys/kern/kern_acct.c#2 integrate
.. //depot/projects/arm/src/sys/kern/kern_conf.c#2 integrate
.. //depot/projects/arm/src/sys/kern/kern_cpu.c#2 integrate
.. //depot/projects/arm/src/sys/kern/kern_event.c#2 integrate
.. //depot/projects/arm/src/sys/kern/kern_exec.c#2 integrate
.. //depot/projects/arm/src/sys/kern/kern_kse.c#2 integrate
.. //depot/projects/arm/src/sys/kern/kern_mib.c#2 integrate
.. //depot/projects/arm/src/sys/kern/kern_module.c#2 integrate
.. //depot/projects/arm/src/sys/kern/kern_poll.c#2 integrate
.. //depot/projects/arm/src/sys/kern/kern_sig.c#2 integrate
.. //depot/projects/arm/src/sys/kern/sched_ule.c#2 integrate
.. //depot/projects/arm/src/sys/kern/subr_bus.c#2 integrate
.. //depot/projects/arm/src/sys/kern/subr_eventhandler.c#2 integrate
.. //depot/projects/arm/src/sys/kern/subr_log.c#2 integrate
.. //depot/projects/arm/src/sys/kern/syscalls.c#2 integrate
.. //depot/projects/arm/src/sys/kern/syscalls.master#2 integrate
.. //depot/projects/arm/src/sys/kern/tty_cons.c#2 integrate
.. //depot/projects/arm/src/sys/kern/tty_pty.c#2 integrate
.. //depot/projects/arm/src/sys/kern/tty_tty.c#2 integrate
.. //depot/projects/arm/src/sys/kern/uipc_mbuf.c#2 integrate
.. //depot/projects/arm/src/sys/kern/uipc_sem.c#2 integrate
.. //depot/projects/arm/src/sys/kern/uipc_socket.c#2 integrate
.. //depot/projects/arm/src/sys/kern/uipc_socket2.c#2 integrate
.. //depot/projects/arm/src/sys/kern/uipc_syscalls.c#3 integrate
.. //depot/projects/arm/src/sys/kern/uipc_usrreq.c#2 integrate
.. //depot/projects/arm/src/sys/kern/vfs_default.c#2 integrate
.. //depot/projects/arm/src/sys/kern/vfs_init.c#2 integrate
.. //depot/projects/arm/src/sys/kern/vfs_mount.c#2 integrate
.. //depot/projects/arm/src/sys/kern/vfs_subr.c#2 integrate
.. //depot/projects/arm/src/sys/kern/vfs_vnops.c#2 integrate
.. //depot/projects/arm/src/sys/modules/acpi/Makefile#2 integrate
.. //depot/projects/arm/src/sys/modules/acpi/acpi/Makefile#2 integrate
.. //depot/projects/arm/src/sys/modules/acpi/acpi_perf/Makefile#2 delete
.. //depot/projects/arm/src/sys/modules/auxio/Makefile#2 integrate
.. //depot/projects/arm/src/sys/modules/cpufreq/Makefile#2 integrate
.. //depot/projects/arm/src/sys/modules/ndis/Makefile#2 integrate
.. //depot/projects/arm/src/sys/modules/utopia/Makefile#2 integrate
.. //depot/projects/arm/src/sys/net/bpf.c#2 integrate
.. //depot/projects/arm/src/sys/net/bridge.c#2 integrate
.. //depot/projects/arm/src/sys/net/if.c#2 integrate
.. //depot/projects/arm/src/sys/net/if.h#2 integrate
.. //depot/projects/arm/src/sys/net/if_clone.c#2 integrate
.. //depot/projects/arm/src/sys/net/if_disc.c#2 integrate
.. //depot/projects/arm/src/sys/net/if_ethersubr.c#2 integrate
.. //depot/projects/arm/src/sys/net/if_faith.c#2 integrate
.. //depot/projects/arm/src/sys/net/if_loop.c#2 integrate
.. //depot/projects/arm/src/sys/net/if_media.h#2 integrate
.. //depot/projects/arm/src/sys/net/if_stf.c#2 integrate
.. //depot/projects/arm/src/sys/net/if_types.h#2 integrate
.. //depot/projects/arm/src/sys/net/if_var.h#2 integrate
.. //depot/projects/arm/src/sys/net/if_vlan.c#2 integrate
.. //depot/projects/arm/src/sys/net/if_vlan_var.h#2 integrate
.. //depot/projects/arm/src/sys/net/rtsock.c#2 integrate
.. //depot/projects/arm/src/sys/net80211/ieee80211_input.c#2 integrate
.. //depot/projects/arm/src/sys/netatalk/aarp.c#2 integrate
.. //depot/projects/arm/src/sys/netatalk/at_control.c#2 integrate
.. //depot/projects/arm/src/sys/netatalk/at_extern.h#2 integrate
.. //depot/projects/arm/src/sys/netatalk/at_var.h#2 integrate
.. //depot/projects/arm/src/sys/netatalk/ddp_output.c#2 integrate
.. //depot/projects/arm/src/sys/netatm/atm_cm.c#2 integrate
.. //depot/projects/arm/src/sys/netatm/atm_socket.c#2 integrate
.. //depot/projects/arm/src/sys/netatm/atm_var.h#2 integrate
.. //depot/projects/arm/src/sys/netatm/ipatm/ipatm_load.c#2 integrate
.. //depot/projects/arm/src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate
.. //depot/projects/arm/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate
.. //depot/projects/arm/src/sys/netgraph/ng_ksocket.c#2 integrate
.. //depot/projects/arm/src/sys/netgraph/ng_parse.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/if_ether.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/if_ether.h#2 integrate
.. //depot/projects/arm/src/sys/netinet/in.h#2 integrate
.. //depot/projects/arm/src/sys/netinet/in_pcb.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/in_proto.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/ip_carp.c#1 branch
.. //depot/projects/arm/src/sys/netinet/ip_carp.h#1 branch
.. //depot/projects/arm/src/sys/netinet/ip_dummynet.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/ip_fw2.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/ip_input.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/ip_mroute.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/ip_output.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/tcp_sack.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/tcp_subr.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/tcp_syncache.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/tcp_usrreq.c#2 integrate
.. //depot/projects/arm/src/sys/netinet/udp_usrreq.c#2 integrate
.. //depot/projects/arm/src/sys/netinet6/icmp6.c#2 integrate
.. //depot/projects/arm/src/sys/netinet6/in6.c#2 integrate
.. //depot/projects/arm/src/sys/netinet6/in6_ifattach.c#2 integrate
.. //depot/projects/arm/src/sys/netinet6/in6_proto.c#2 integrate
.. //depot/projects/arm/src/sys/netinet6/in6_var.h#2 integrate
.. //depot/projects/arm/src/sys/netinet6/ip6_output.c#2 integrate
.. //depot/projects/arm/src/sys/netinet6/ipsec.c#2 integrate
.. //depot/projects/arm/src/sys/netinet6/nd6.c#2 integrate
.. //depot/projects/arm/src/sys/netinet6/nd6_nbr.c#2 integrate
.. //depot/projects/arm/src/sys/netipx/spx_usrreq.c#2 integrate
.. //depot/projects/arm/src/sys/netncp/ncp_nls.c#2 integrate
.. //depot/projects/arm/src/sys/nfs4client/nfs4_vnops.c#2 integrate
.. //depot/projects/arm/src/sys/nfsclient/nfs_socket.c#2 integrate
.. //depot/projects/arm/src/sys/nfsclient/nfs_vnops.c#2 integrate
.. //depot/projects/arm/src/sys/opencrypto/cryptodev.c#2 integrate
.. //depot/projects/arm/src/sys/pc98/conf/NOTES#2 integrate
.. //depot/projects/arm/src/sys/pc98/i386/machdep.c#2 integrate
.. //depot/projects/arm/src/sys/pc98/pc98/pc98gdc.c#2 integrate
.. //depot/projects/arm/src/sys/pci/agp_ali.c#2 integrate
.. //depot/projects/arm/src/sys/pci/agp_amd.c#2 integrate
.. //depot/projects/arm/src/sys/pci/agp_amd64.c#2 integrate
.. //depot/projects/arm/src/sys/pci/agp_i810.c#2 integrate
.. //depot/projects/arm/src/sys/pci/agp_intel.c#2 integrate
.. //depot/projects/arm/src/sys/pci/agp_nvidia.c#2 integrate
.. //depot/projects/arm/src/sys/pci/agp_sis.c#2 integrate
.. //depot/projects/arm/src/sys/pci/agp_via.c#2 integrate
.. //depot/projects/arm/src/sys/pci/alpm.c#2 integrate
.. //depot/projects/arm/src/sys/pci/amdpm.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_dc.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_de.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_mn.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_pcn.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_rl.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_sf.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_sis.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_sk.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_ste.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_ti.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_tl.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_vr.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_wb.c#2 integrate
.. //depot/projects/arm/src/sys/pci/if_xl.c#2 integrate
.. //depot/projects/arm/src/sys/pci/intpm.c#2 integrate
.. //depot/projects/arm/src/sys/pci/ncr.c#2 integrate
.. //depot/projects/arm/src/sys/pci/viapm.c#2 integrate
.. //depot/projects/arm/src/sys/pci/xrpu.c#2 integrate
.. //depot/projects/arm/src/sys/powerpc/include/exec.h#2 integrate
.. //depot/projects/arm/src/sys/powerpc/ofw/ofw_syscons.c#2 integrate
.. //depot/projects/arm/src/sys/powerpc/ofw/ofw_syscons.h#2 integrate
.. //depot/projects/arm/src/sys/powerpc/powerpc/machdep.c#2 integrate
.. //depot/projects/arm/src/sys/powerpc/powerpc/pmap.c#2 integrate
.. //depot/projects/arm/src/sys/security/mac/mac_sysv_msg.c#2 integrate
.. //depot/projects/arm/src/sys/sparc64/conf/GENERIC#2 integrate
.. //depot/projects/arm/src/sys/sparc64/conf/NOTES#2 integrate
.. //depot/projects/arm/src/sys/sparc64/sparc64/pmap.c#2 integrate
.. //depot/projects/arm/src/sys/sys/bufobj.h#2 integrate
.. //depot/projects/arm/src/sys/sys/bus.h#2 integrate
.. //depot/projects/arm/src/sys/sys/conf.h#2 integrate
.. //depot/projects/arm/src/sys/sys/cpu.h#2 integrate
.. //depot/projects/arm/src/sys/sys/event.h#2 integrate
.. //depot/projects/arm/src/sys/sys/imgact.h#2 integrate
.. //depot/projects/arm/src/sys/sys/mbuf.h#2 integrate
.. //depot/projects/arm/src/sys/sys/mount.h#2 integrate
.. //depot/projects/arm/src/sys/sys/mutex.h#2 integrate
.. //depot/projects/arm/src/sys/sys/param.h#2 integrate
.. //depot/projects/arm/src/sys/sys/socketvar.h#2 integrate
.. //depot/projects/arm/src/sys/sys/syscall.h#2 integrate
.. //depot/projects/arm/src/sys/sys/syscall.mk#2 integrate
.. //depot/projects/arm/src/sys/sys/syscallsubr.h#2 integrate
.. //depot/projects/arm/src/sys/sys/sysctl.h#2 integrate
.. //depot/projects/arm/src/sys/sys/sysproto.h#2 integrate
.. //depot/projects/arm/src/sys/sys/systm.h#2 integrate
.. //depot/projects/arm/src/sys/sys/vnode.h#2 integrate
.. //depot/projects/arm/src/sys/ufs/ffs/ffs_alloc.c#2 integrate
.. //depot/projects/arm/src/sys/ufs/ffs/ffs_inode.c#2 integrate
.. //depot/projects/arm/src/sys/ufs/ffs/ffs_snapshot.c#2 integrate
.. //depot/projects/arm/src/sys/ufs/ffs/ffs_softdep.c#2 integrate
.. //depot/projects/arm/src/sys/ufs/ffs/ffs_vfsops.c#2 integrate
.. //depot/projects/arm/src/sys/ufs/ffs/fs.h#2 integrate
.. //depot/projects/arm/src/sys/ufs/ufs/ufs_inode.c#2 integrate
.. //depot/projects/arm/src/sys/ufs/ufs/ufs_vnops.c#2 integrate
.. //depot/projects/arm/src/sys/vm/uma_core.c#2 integrate
.. //depot/projects/arm/src/sys/vm/vnode_pager.c#2 integrate
.. //depot/user/jmg/arm/src/sys/arm/conf/TS7200#7 edit

Differences ...

==== //depot/projects/arm/src/sys/alpha/include/exec.h#2 (text+ko) ====

@@ -29,7 +29,12 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/alpha/include/exec.h,v 1.3 2005/01/05 20:05:50 imp Exp $
+ * $FreeBSD: src/sys/alpha/include/exec.h,v 1.4 2005/02/19 21:16:48 ru Exp $
  */
 
-#define __LDPGSZ	8192
+#ifndef	_MACHINE_EXEC_H_
+#define	_MACHINE_EXEC_H_
+
+#define	__LDPGSZ	8192
+
+#endif /* !_MACHINE_EXEC_H_ */

==== //depot/projects/arm/src/sys/amd64/acpica/madt.c#2 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.14 2004/06/10 21:30:08 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.15 2005/02/22 21:52:51 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -367,7 +367,7 @@
 	}
 		    
 	/* First, we run through adding I/O APIC's. */
-	if (madt->PCATCompat)
+	if (madt->PCATCompat && !(acpi_quirks & ACPI_Q_MADT_IRQ0))
 		ioapic_enable_mixed_mode();
 	madt_walk_table(madt_parse_apics, NULL);
 
@@ -596,8 +596,14 @@
 	enum intr_polarity pol;
 	char buf[64];
 
+	if (acpi_quirks & ACPI_Q_MADT_IRQ0 && intr->Source == 0 &&
+	    intr->Interrupt == 2) {
+		if (bootverbose)
+			printf("MADT: Skipping timer override\n");
+		return;
+	}
 	if (bootverbose)
-		printf("MADT: intr override: source %u, irq %u\n",
+		printf("MADT: Interrupt override: source %u, irq %u\n",
 		    intr->Source, intr->Interrupt);
 	KASSERT(intr->Bus == 0, ("bus for interrupt overrides must be zero"));
 	if (madt_find_interrupt(intr->Interrupt, &new_ioapic,

==== //depot/projects/arm/src/sys/amd64/amd64/apic_vector.S#2 (text+ko) ====

@@ -28,7 +28,7 @@
  * SUCH DAMAGE.
  *
  *	from: vector.s, 386BSD 0.1 unknown origin
- * $FreeBSD: src/sys/amd64/amd64/apic_vector.S,v 1.101 2005/01/21 06:01:19 peter Exp $
+ * $FreeBSD: src/sys/amd64/amd64/apic_vector.S,v 1.102 2005/02/28 23:37:35 peter Exp $
  */
 
 /*
@@ -137,6 +137,23 @@
 	ISR_VEC(6, apic_isr6)
 	ISR_VEC(7, apic_isr7)
 
+/*
+ * Local APIC periodic timer handler.
+ */
+	.text
+	SUPERALIGN_TEXT
+IDTVEC(timerint)
+	PUSH_FRAME
+
+	movq	lapic, %rdx
+	movl	$0, LA_EOI(%rdx)	/* End Of Interrupt to APIC */
+
+	FAKE_MCOUNT(TF_EIP(%esp))
+
+	call	lapic_handle_timer
+	MEXITCOUNT
+	jmp	doreti
+
 #ifdef SMP
 /*
  * Global address space TLB shootdown.

==== //depot/projects/arm/src/sys/amd64/amd64/io_apic.c#2 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.12 2005/01/21 06:01:19 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.14 2005/02/28 23:37:35 peter Exp $");
 
 #include "opt_atpic.h"
 #include "opt_isa.h"
@@ -66,7 +66,7 @@
 
 #define	TODO		printf("%s: not implemented!\n", __func__)
 
-MALLOC_DEFINE(M_IOAPIC, "I/O APIC", "I/O APIC structures");
+static MALLOC_DEFINE(M_IOAPIC, "I/O APIC", "I/O APIC structures");
 
 /*
  * New interrupt support code..
@@ -548,10 +548,11 @@
 
 		/*
 		 * Assume that pin 0 on the first I/O APIC is an ExtINT pin
-		 * and that pins 1-15 are ISA interrupts.  Assume that all
+		 * if mixed mode is enabled and an ISA interrupt if not.
+		 * Assume that pins 1-15 are ISA interrupts and that all
 		 * other pins are PCI interrupts.
 		 */
-		if (intpin->io_vector == 0)
+		if (intpin->io_vector == 0 && mixed_mode_enabled)
 			ioapic_set_extint(io, i);
 		else if (intpin->io_vector < IOAPIC_ISA_INTS) {
 			intpin->io_bus = APIC_BUS_ISA;

==== //depot/projects/arm/src/sys/amd64/amd64/local_apic.c#2 (text+ko) ====

@@ -32,13 +32,14 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.11 2005/01/21 06:01:19 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.12 2005/02/28 23:37:35 peter Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/bus.h>
 #include <sys/kernel.h>
 #include <sys/pcpu.h>
+#include <sys/smp.h>
 #include <sys/proc.h>
 
 #include <vm/vm.h>
@@ -66,6 +67,10 @@
 CTASSERT(APIC_LOCAL_INTS == 240);
 CTASSERT(IPI_STOP < APIC_SPURIOUS_INT);
 
+#define	LAPIC_TIMER_HZ_DIVIDER		3
+#define	LAPIC_TIMER_STATHZ_DIVIDER	23
+#define	LAPIC_TIMER_PROFHZ_DIVIDER	2
+
 /*
  * Support for local APICs.  Local APICs manage interrupts on each
  * individual processor as opposed to I/O APICs which receive interrupts
@@ -90,6 +95,10 @@
 	u_int la_cluster:4;
 	u_int la_cluster_id:2;
 	u_int la_present:1;
+	u_long *la_timer_count;
+	u_long la_hard_ticks;
+	u_long la_stat_ticks;
+	u_long la_prof_ticks;
 } static lapics[MAX_APICID];
 
 /* XXX: should thermal be an NMI? */
@@ -115,9 +124,21 @@
 	IDTVEC(apic_isr7),	/* 224 - 255 */
 };
 
+static u_int32_t lapic_timer_divisors[] = { 
+	APIC_TDCR_1, APIC_TDCR_2, APIC_TDCR_4, APIC_TDCR_8, APIC_TDCR_16,
+	APIC_TDCR_32, APIC_TDCR_64, APIC_TDCR_128
+};
+
 volatile lapic_t *lapic;
+static u_long lapic_timer_divisor, lapic_timer_period, lapic_timer_hz;
+static u_long *lapic_virtual_hardclock, *lapic_virtual_statclock,
+	*lapic_virtual_profclock;
 
 static void	lapic_enable(void);
+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);
 
 static uint32_t
@@ -180,7 +201,10 @@
 	/* Set BSP's per-CPU local APIC ID. */
 	PCPU_SET(apic_id, lapic_id());
 
-	/* XXX: timer/error/thermal interrupts */
+	/* Local APIC timer interrupt. */
+	setidt(APIC_TIMER_INT, IDTVEC(timerint), SDT_SYSIGT, SEL_KPL, 0);
+
+	/* XXX: error/thermal interrupts */
 }
 
 /*
@@ -251,6 +275,7 @@
 	struct lapic *la;
 	u_int32_t value, maxlvt;
 	register_t eflags;
+	char buf[MAXCOMLEN + 1];
 
 	la = &lapics[lapic_id()];
 	KASSERT(la->la_present, ("missing APIC structure"));
@@ -280,11 +305,84 @@
 	lapic->lvt_lint0 = lvt_mode(la, LVT_LINT0, lapic->lvt_lint0);
 	lapic->lvt_lint1 = lvt_mode(la, LVT_LINT1, lapic->lvt_lint1);
 
-	/* XXX: more LVT entries */
+	/* Program timer LVT and setup handler. */
+	lapic->lvt_timer = lvt_mode(la, LVT_TIMER, lapic->lvt_timer);
+	snprintf(buf, sizeof(buf), "lapic%d: timer", lapic_id());
+	intrcnt_add(buf, &la->la_timer_count);
+	if (PCPU_GET(cpuid) != 0) {
+		KASSERT(lapic_timer_period != 0, ("lapic%u: zero divisor",
+		    lapic_id()));
+		lapic_timer_set_divisor(lapic_timer_divisor);
+		lapic_timer_periodic(lapic_timer_period);
+		lapic_timer_enable_intr();
+	}
+
+	/* XXX: Performance counter, error, and thermal LVTs */
 
 	intr_restore(eflags);
 }
 
+/*
+ * Called by cpu_initclocks() on the BSP to setup the local APIC timer so
+ * that it can drive hardclock, statclock, and profclock.  This function
+ * returns true if it is able to use the local APIC timer to drive the
+ * clocks and false if it is not able.
+ */
+int
+lapic_setup_clock(void)
+{
+	u_long value;
+
+	/* Can't drive the timer without a local APIC. */
+	if (lapic == NULL)
+		return (0);
+
+	/* If we've only got one CPU, then use the RTC and ISA timer instead. */
+	if (mp_ncpus == 1)
+		return (0);
+
+	/* Start off with a divisor of 2 (power on reset default). */
+	lapic_timer_divisor = 2;
+
+	/* Try to calibrate the local APIC timer. */
+	do {
+		lapic_timer_set_divisor(lapic_timer_divisor);
+		lapic_timer_oneshot(APIC_TIMER_MAX_COUNT);
+		DELAY(2000000);
+		value = APIC_TIMER_MAX_COUNT - lapic->ccr_timer;
+		if (value != APIC_TIMER_MAX_COUNT)
+			break;
+		lapic_timer_divisor <<= 1;
+	} while (lapic_timer_divisor <= 128);
+	if (lapic_timer_divisor > 128)
+		panic("lapic: Divisor too big");
+	value /= 2;
+	if (bootverbose)
+		printf("lapic: Divisor %lu, Frequency %lu hz\n",
+		    lapic_timer_divisor, value);
+
+	/*
+	 * We will drive the timer at a small multiple of hz and drive
+	 * both of the other timers with similarly small but relatively
+	 * prime divisors.
+	 */
+	lapic_timer_hz = hz * LAPIC_TIMER_HZ_DIVIDER;
+	stathz = lapic_timer_hz / LAPIC_TIMER_STATHZ_DIVIDER;
+	profhz = lapic_timer_hz / LAPIC_TIMER_PROFHZ_DIVIDER;
+	lapic_timer_period = value / lapic_timer_hz;
+	intrcnt_add("lapic: hardclock", &lapic_virtual_hardclock);
+	intrcnt_add("lapic: statclock", &lapic_virtual_statclock);
+	intrcnt_add("lapic: profclock", &lapic_virtual_profclock);
+
+	/*
+	 * Start up the timer on the BSP.  The APs will kick off their
+	 * timer during lapic_setup().
+	 */
+	lapic_timer_periodic(lapic_timer_period);
+	lapic_timer_enable_intr();
+	return (1);
+}
+
 void
 lapic_disable(void)
 {
@@ -516,6 +614,91 @@
 	intr_execute_handlers(isrc, &frame);
 }
 
+void
+lapic_handle_timer(struct clockframe frame)
+{
+	struct lapic *la;
+
+	la = &lapics[PCPU_GET(apic_id)];
+	(*la->la_timer_count)++;
+	critical_enter();
+
+	/* Fire hardclock at hz. */
+	la->la_hard_ticks += hz;
+	if (la->la_hard_ticks >= lapic_timer_hz) {
+		la->la_hard_ticks -= lapic_timer_hz;
+		if (PCPU_GET(cpuid) == 0) {
+			(*lapic_virtual_hardclock)++;
+			hardclock(&frame);
+		} else
+			hardclock_process(&frame);
+	}
+
+	/* Fire statclock at stathz. */
+	la->la_stat_ticks += stathz;
+	if (la->la_stat_ticks >= lapic_timer_hz) {
+		la->la_stat_ticks -= lapic_timer_hz;
+		if (PCPU_GET(cpuid) == 0)
+			(*lapic_virtual_statclock)++;
+		statclock(&frame);
+	}
+
+	/* Fire profclock at profhz, but only when needed. */
+	la->la_prof_ticks += profhz;
+	if (la->la_prof_ticks >= lapic_timer_hz) {
+		la->la_prof_ticks -= lapic_timer_hz;
+		if (PCPU_GET(cpuid) == 0)
+			(*lapic_virtual_profclock)++;
+		if (profprocs != 0)
+			profclock(&frame);
+	}
+	critical_exit();
+}
+
+static void
+lapic_timer_set_divisor(u_int divisor)
+{
+
+	KASSERT(powerof2(divisor), ("lapic: invalid divisor %u", divisor));
+	KASSERT(ffs(divisor) <= sizeof(lapic_timer_divisors) /
+	    sizeof(u_int32_t), ("lapic: invalid divisor %u", divisor));
+	lapic->dcr_timer = lapic_timer_divisors[ffs(divisor) - 1];
+}
+
+static void
+lapic_timer_oneshot(u_int count)
+{
+	u_int32_t value;
+
+	value = lapic->lvt_timer;
+	value &= ~APIC_LVTT_TM;
+	value |= APIC_LVTT_TM_ONE_SHOT;
+	lapic->lvt_timer = value;
+	lapic->icr_timer = count;
+}
+
+static void
+lapic_timer_periodic(u_int count)
+{
+	u_int32_t value;
+
+	value = lapic->lvt_timer;
+	value &= ~APIC_LVTT_TM;
+	value |= APIC_LVTT_TM_PERIODIC;
+	lapic->lvt_timer = value;
+	lapic->icr_timer = count;
+}
+
+static void
+lapic_timer_enable_intr(void)
+{
+	u_int32_t value;
+
+	value = lapic->lvt_timer;
+	value &= ~APIC_LVT_M;
+	lapic->lvt_timer = value;
+}
+
 /* Translate between IDT vectors and IRQ vectors. */
 u_int
 apic_irq_to_idt(u_int irq)

==== //depot/projects/arm/src/sys/amd64/amd64/machdep.c#2 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.629 2005/02/06 01:55:06 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.630 2005/03/01 04:18:32 obrien Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -156,6 +156,7 @@
 int cold = 1;
 
 long Maxmem = 0;
+long realmem = 0;
 
 vm_paddr_t phys_avail[20];
 
@@ -188,6 +189,7 @@
 #endif
 	printf("real memory  = %ju (%ju MB)\n", ptoa((uintmax_t)Maxmem),
 	    ptoa((uintmax_t)Maxmem) / 1048576);
+	realmem = Maxmem;
 	/*
 	 * Display any holes after the first chunk of extended memory.
 	 */

==== //depot/projects/arm/src/sys/amd64/amd64/mp_machdep.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.249 2005/01/21 06:01:19 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.250 2005/02/28 23:37:35 peter Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -872,82 +872,15 @@
 }
 
 
-/*
- * For statclock, we send an IPI to all CPU's to have them call this
- * function.
- */
-
 void
-forward_statclock(void)
-{
-	int map;
-
-	CTR0(KTR_SMP, "forward_statclock");
-
-	if (!smp_started || cold || panicstr)
-		return;
-
-	map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask);
-	if (map != 0)
-		ipi_selected(map, IPI_STATCLOCK);
-}
-
-/*
- * For each hardclock(), we send an IPI to all other CPU's to have them
- * execute this function.  It would be nice to reduce contention on
- * sched_lock if we could simply peek at the CPU to determine the user/kernel
- * state and call hardclock_process() on the CPU receiving the clock interrupt
- * and then just use a simple IPI to handle any ast's if needed.
- */
-
-void 
-forward_hardclock(void)
-{
-	u_int map;
-
-	CTR0(KTR_SMP, "forward_hardclock");
-
-	if (!smp_started || cold || panicstr)
-		return;
-
-	map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask);
-	if (map != 0)
-		ipi_selected(map, IPI_HARDCLOCK);
-}
-
-void
 ipi_bitmap_handler(struct clockframe frame)
 {
 	int cpu = PCPU_GET(cpuid);
 	u_int ipi_bitmap;
-	struct thread *td;
 
 	ipi_bitmap = atomic_readandclear_int(&cpu_ipi_pending[cpu]);
 
-	critical_enter();
-
 	/* Nothing to do for AST */
-
-	if (ipi_bitmap & (1 << IPI_HARDCLOCK)) {
-		td = curthread;	
-		td->td_intr_nesting_level++;
-		hardclock_process(&frame);
-		td->td_intr_nesting_level--;	
-	}
-
-	if (ipi_bitmap & (1 << IPI_STATCLOCK)) {
-		CTR0(KTR_SMP, "forwarded_statclock");
-
-		td = curthread;
-		td->td_intr_nesting_level++;
-		if (profprocs != 0)
-			profclock(&frame);
-		if (pscnt == psdiv)
-			statclock(&frame);
-		td->td_intr_nesting_level--;
-	}
-
-	critical_exit();
 }
 
 /*

==== //depot/projects/arm/src/sys/amd64/amd64/mp_watchdog.c#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/amd64/mp_watchdog.c,v 1.2 2004/08/15 20:32:40 rwatson Exp $
+ * $FreeBSD: src/sys/amd64/amd64/mp_watchdog.c,v 1.4 2005/02/28 08:55:53 pjd Exp $
  */
 
 #include "opt_mp_watchdog.h"
@@ -49,11 +49,11 @@
 #include <machine/mp_watchdog.h>
 
 /*
- * mp_swatchdog hijacks the idle thread on a specified CPU, prevents new work
+ * mp_watchdog hijacks the idle thread on a specified CPU, prevents new work
  * from being scheduled there, and uses it as a "watchdog" to detect kernel
  * failure on other CPUs.  This is made reasonable by inclusion of logical
  * processors in Xeon hardware.  The watchdog is configured by setting the
- * debug.watchdog_cpu sysctl to the CPU of interest.  A callout will then
+ * debug.watchdog sysctl/tunable to the CPU of interest.  A callout will then
  * begin executing reseting a timer that is gradually lowered by the watching
  * thread.  If the timer reaches 0, the watchdog fires by ether dropping
  * directly to the debugger, or by sending an NMI IPI to the boot processor.
@@ -68,11 +68,14 @@
 static int	watchdog_timer = -1;
 static int	watchdog_nmi = 1;
 
+TUNABLE_INT("debug.watchdog", &watchdog_cpu);
 SYSCTL_INT(_debug, OID_AUTO, watchdog_nmi, CTLFLAG_RW, &watchdog_nmi, 0,
     "IPI the boot processor with an NMI to enter the debugger");
 
 static struct callout	watchdog_callout;
 
+static void watchdog_change(int wdcpu);
+
 /*
  * Number of seconds before the watchdog will fire if the callout fails to
  * reset the timer.
@@ -84,6 +87,8 @@
 {
 
 	callout_init(&watchdog_callout, CALLOUT_MPSAFE);
+	if (watchdog_cpu != -1)
+		watchdog_change(watchdog_cpu);
 }
 
 /*
@@ -108,6 +113,27 @@
 }
 SYSINIT(watchdog_init, SI_SUB_DRIVERS, SI_ORDER_ANY, watchdog_init, NULL);
 
+static void
+watchdog_change(int wdcpu)
+{
+
+	if (wdcpu == -1 || wdcpu == 0xffffffff) {
+		/*
+		 * Disable the watchdog.
+		 */

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



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