Date: Wed, 4 Oct 2006 04:22:01 GMT From: Matt Jacob <mjacob@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 107237 for review Message-ID: <200610040422.k944M1HJ003511@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=107237 Change 107237 by mjacob@newisp on 2006/10/04 04:21:19 IFC Affected files ... .. //depot/projects/newisp/amd64/amd64/local_apic.c#5 integrate .. //depot/projects/newisp/amd64/amd64/machdep.c#3 integrate .. //depot/projects/newisp/amd64/include/clock.h#2 integrate .. //depot/projects/newisp/amd64/isa/clock.c#2 integrate .. //depot/projects/newisp/amd64/linux32/linux32_machdep.c#3 integrate .. //depot/projects/newisp/arm/include/clock.h#2 integrate .. //depot/projects/newisp/boot/common/merge_help.awk#2 integrate .. //depot/projects/newisp/boot/common/panic.c#2 integrate .. //depot/projects/newisp/boot/ficl/Makefile#2 integrate .. //depot/projects/newisp/boot/forth/loader.conf#2 integrate .. //depot/projects/newisp/boot/i386/Makefile.inc#2 integrate .. //depot/projects/newisp/boot/i386/btx/btx/btx.S#2 integrate .. //depot/projects/newisp/boot/i386/libi386/biospci.c#2 integrate .. //depot/projects/newisp/boot/i386/libi386/biossmap.c#2 integrate .. //depot/projects/newisp/boot/i386/libi386/bootinfo64.c#2 integrate .. //depot/projects/newisp/boot/i386/libi386/elf64_freebsd.c#2 integrate .. //depot/projects/newisp/boot/i386/libi386/libi386.h#2 integrate .. //depot/projects/newisp/boot/i386/loader/help.i386#2 integrate .. //depot/projects/newisp/cam/cam_periph.c#2 integrate .. //depot/projects/newisp/compat/freebsd32/freebsd32_misc.c#3 integrate .. //depot/projects/newisp/compat/freebsd32/freebsd32_proto.h#7 integrate .. //depot/projects/newisp/compat/freebsd32/freebsd32_syscall.h#7 integrate .. //depot/projects/newisp/compat/freebsd32/freebsd32_syscalls.c#7 integrate .. //depot/projects/newisp/compat/freebsd32/freebsd32_sysent.c#7 integrate .. //depot/projects/newisp/compat/freebsd32/syscalls.master#7 integrate .. //depot/projects/newisp/conf/NOTES#6 integrate .. //depot/projects/newisp/conf/files#5 integrate .. //depot/projects/newisp/dev/aic/aic_pccard.c#2 integrate .. //depot/projects/newisp/dev/atkbdc/atkbd.c#2 integrate .. //depot/projects/newisp/dev/bge/if_bge.c#7 integrate .. //depot/projects/newisp/dev/bge/if_bgereg.h#4 integrate .. //depot/projects/newisp/dev/digi/digi.c#2 integrate .. //depot/projects/newisp/dev/em/if_em.c#9 integrate .. //depot/projects/newisp/dev/kbdmux/kbdmux.c#4 integrate .. //depot/projects/newisp/dev/mfi/mfi.c#6 integrate .. //depot/projects/newisp/dev/mfi/mfi_debug.c#2 integrate .. //depot/projects/newisp/dev/sound/driver.c#2 integrate .. //depot/projects/newisp/dev/sound/midi/sequencer.c#2 integrate .. //depot/projects/newisp/dev/sound/pci/ak452x.c#2 delete .. //depot/projects/newisp/dev/sound/pci/ak452x.h#2 delete .. //depot/projects/newisp/dev/sound/pci/atiixp.c#2 integrate .. //depot/projects/newisp/dev/sound/pci/atiixp.h#2 integrate .. //depot/projects/newisp/dev/sound/pci/envy24.c#2 integrate .. //depot/projects/newisp/dev/sound/pci/envy24ht.c#1 branch .. //depot/projects/newisp/dev/sound/pci/envy24ht.h#1 branch .. //depot/projects/newisp/dev/sound/pci/hda/hda_reg.h#1 branch .. //depot/projects/newisp/dev/sound/pci/hda/hdac.c#1 branch .. //depot/projects/newisp/dev/sound/pci/hda/hdac.h#1 branch .. //depot/projects/newisp/dev/sound/pci/hda/hdac_private.h#1 branch .. //depot/projects/newisp/dev/sound/pci/hda/hdac_reg.h#1 branch .. //depot/projects/newisp/dev/sound/pci/spicds.c#1 branch .. //depot/projects/newisp/dev/sound/pci/spicds.h#1 branch .. //depot/projects/newisp/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/newisp/dev/sound/pcm/ac97_patch.c#2 integrate .. //depot/projects/newisp/dev/sound/pcm/ac97_patch.h#2 integrate .. //depot/projects/newisp/dev/sound/pcm/channel.c#3 integrate .. //depot/projects/newisp/dev/sound/pcm/dsp.c#3 integrate .. //depot/projects/newisp/dev/sound/pcm/mixer.c#3 integrate .. //depot/projects/newisp/dev/sound/pcm/mixer.h#3 integrate .. //depot/projects/newisp/dev/sound/pcm/sound.h#3 integrate .. //depot/projects/newisp/dev/sound/usb/uaudio_pcm.c#2 integrate .. //depot/projects/newisp/dev/syscons/scvidctl.c#2 integrate .. //depot/projects/newisp/dev/syscons/syscons.c#3 integrate .. //depot/projects/newisp/dev/twa/tw_osl_includes.h#2 integrate .. //depot/projects/newisp/dev/twa/tw_osl_inline.h#2 integrate .. //depot/projects/newisp/dev/twa/tw_osl_share.h#2 integrate .. //depot/projects/newisp/dev/uart/uart_kbd_sun.c#3 integrate .. //depot/projects/newisp/dev/ubsec/ubsec.c#2 integrate .. //depot/projects/newisp/dev/usb/ehci.c#3 integrate .. //depot/projects/newisp/dev/usb/ohci.c#3 integrate .. //depot/projects/newisp/dev/usb/ukbd.c#3 integrate .. //depot/projects/newisp/dev/usb/usb_subr.c#4 integrate .. //depot/projects/newisp/dev/usb/usbdi.c#3 integrate .. //depot/projects/newisp/dev/vkbd/vkbd.c#2 integrate .. //depot/projects/newisp/fs/msdosfs/msdosfs_conv.c#2 integrate .. //depot/projects/newisp/fs/nwfs/nwfs_subr.c#2 integrate .. //depot/projects/newisp/fs/procfs/procfs_ioctl.c#2 integrate .. //depot/projects/newisp/geom/eli/g_eli.c#2 integrate .. //depot/projects/newisp/geom/eli/g_eli_ctl.c#3 integrate .. //depot/projects/newisp/geom/label/g_label_msdosfs.c#2 integrate .. //depot/projects/newisp/geom/label/g_label_msdosfs.h#2 integrate .. //depot/projects/newisp/geom/nop/g_nop.h#3 integrate .. //depot/projects/newisp/geom/raid3/g_raid3.c#4 integrate .. //depot/projects/newisp/i386/bios/apm.c#2 integrate .. //depot/projects/newisp/i386/i386/local_apic.c#5 integrate .. //depot/projects/newisp/i386/i386/machdep.c#3 integrate .. //depot/projects/newisp/i386/ibcs2/ibcs2_xenix.c#2 integrate .. //depot/projects/newisp/i386/include/clock.h#2 integrate .. //depot/projects/newisp/i386/isa/clock.c#2 integrate .. //depot/projects/newisp/i386/isa/pmtimer.c#2 integrate .. //depot/projects/newisp/ia64/ia64/clock.c#2 integrate .. //depot/projects/newisp/ia64/include/clock.h#2 integrate .. //depot/projects/newisp/kern/init_sysent.c#6 integrate .. //depot/projects/newisp/kern/kern_lock.c#2 integrate .. //depot/projects/newisp/kern/kern_proc.c#4 integrate .. //depot/projects/newisp/kern/kern_time.c#2 integrate .. //depot/projects/newisp/kern/subr_clock.c#2 integrate .. //depot/projects/newisp/kern/subr_rtc.c#1 branch .. //depot/projects/newisp/kern/sys_generic.c#2 integrate .. //depot/projects/newisp/kern/syscalls.c#6 integrate .. //depot/projects/newisp/kern/syscalls.master#6 integrate .. //depot/projects/newisp/kern/systrace_args.c#6 integrate .. //depot/projects/newisp/kern/tty.c#5 integrate .. //depot/projects/newisp/kern/tty_pts.c#2 integrate .. //depot/projects/newisp/kern/tty_pty.c#3 integrate .. //depot/projects/newisp/kern/tty_tty.c#3 integrate .. //depot/projects/newisp/kern/vfs_bio.c#2 integrate .. //depot/projects/newisp/kern/vfs_mount.c#4 integrate .. //depot/projects/newisp/kern/vfs_subr.c#4 integrate .. //depot/projects/newisp/modules/digi/digi/Makefile#2 integrate .. //depot/projects/newisp/modules/if_tap/Makefile#2 integrate .. //depot/projects/newisp/modules/kbdmux/Makefile#2 integrate .. //depot/projects/newisp/modules/libalias/Makefile#3 integrate .. //depot/projects/newisp/modules/libalias/modules/Makefile#2 integrate .. //depot/projects/newisp/modules/procfs/Makefile#2 integrate .. //depot/projects/newisp/modules/sound/driver/Makefile#2 integrate .. //depot/projects/newisp/modules/sound/driver/ak452x/Makefile#2 delete .. //depot/projects/newisp/modules/sound/driver/envy24/Makefile#2 integrate .. //depot/projects/newisp/modules/sound/driver/envy24ht/Makefile#1 branch .. //depot/projects/newisp/modules/sound/driver/hda/Makefile#1 branch .. //depot/projects/newisp/modules/sound/driver/spicds/Makefile#1 branch .. //depot/projects/newisp/modules/ukbd/Makefile#2 integrate .. //depot/projects/newisp/modules/vkbd/Makefile#2 integrate .. //depot/projects/newisp/net/bridgestp.c#2 integrate .. //depot/projects/newisp/net/if_tap.c#2 integrate .. //depot/projects/newisp/net/if_tap.h#2 integrate .. //depot/projects/newisp/netgraph/atm/ccatm/ng_ccatm.c#2 integrate .. //depot/projects/newisp/netinet/in.c#2 integrate .. //depot/projects/newisp/netinet/in_var.h#3 integrate .. //depot/projects/newisp/netinet/ip_mroute.c#2 integrate .. //depot/projects/newisp/netinet/ip_mroute.h#2 integrate .. //depot/projects/newisp/netinet/ip_output.c#5 integrate .. //depot/projects/newisp/netinet/tcp_output.c#4 integrate .. //depot/projects/newisp/netinet/tcp_subr.c#6 integrate .. //depot/projects/newisp/netinet6/in6_ifattach.c#2 integrate .. //depot/projects/newisp/netinet6/ip6_mroute.h#2 integrate .. //depot/projects/newisp/netinet6/nd6.c#3 integrate .. //depot/projects/newisp/nfsclient/nfs_vfsops.c#4 integrate .. //depot/projects/newisp/pc98/cbus/clock.c#2 integrate .. //depot/projects/newisp/pc98/cbus/pckbd.c#2 integrate .. //depot/projects/newisp/pc98/pc98/machdep.c#2 integrate .. //depot/projects/newisp/pci/agp_i810.c#2 integrate .. //depot/projects/newisp/powerpc/include/clock.h#2 integrate .. //depot/projects/newisp/powerpc/powerpc/clock.c#2 integrate .. //depot/projects/newisp/security/audit/audit.c#5 integrate .. //depot/projects/newisp/security/audit/audit_bsm.c#6 integrate .. //depot/projects/newisp/security/audit/audit_syscalls.c#4 integrate .. //depot/projects/newisp/security/mac/mac_framework.h#1 branch .. //depot/projects/newisp/sparc64/include/clock.h#2 integrate .. //depot/projects/newisp/sys/buf.h#2 integrate .. //depot/projects/newisp/sys/clock.h#2 integrate .. //depot/projects/newisp/sys/consio.h#2 integrate .. //depot/projects/newisp/sys/digiio.h#2 integrate .. //depot/projects/newisp/sys/ioccom.h#2 integrate .. //depot/projects/newisp/sys/kbio.h#2 integrate .. //depot/projects/newisp/sys/kernel.h#2 integrate .. //depot/projects/newisp/sys/lockmgr.h#2 integrate .. //depot/projects/newisp/sys/mount.h#4 integrate .. //depot/projects/newisp/sys/param.h#6 integrate .. //depot/projects/newisp/sys/pioctl.h#2 integrate .. //depot/projects/newisp/sys/proc.h#2 integrate .. //depot/projects/newisp/sys/syscall.h#6 integrate .. //depot/projects/newisp/sys/syscall.mk#6 integrate .. //depot/projects/newisp/sys/sysproto.h#6 integrate .. //depot/projects/newisp/sys/systm.h#3 integrate .. //depot/projects/newisp/sys/time.h#2 integrate .. //depot/projects/newisp/sys/ttycom.h#2 integrate .. //depot/projects/newisp/ufs/ufs/ufs_vnops.c#2 integrate .. //depot/projects/newisp/vm/vm_page.c#3 integrate Differences ... ==== //depot/projects/newisp/amd64/amd64/local_apic.c#5 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.29 2006/09/11 20:12:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.31 2006/09/27 22:09:35 sobomax Exp $"); #include "opt_hwpmc_hooks.h" @@ -613,13 +613,17 @@ /* Send EOI first thing. */ lapic_eoi(); -#ifdef SMP +#if defined(SMP) && !defined(SCHED_ULE) /* * Don't do any accounting for the disabled HTT cores, since it * will provide misleading numbers for the userland. * * No locking is necessary here, since even if we loose the race * when hlt_cpus_mask changes it is not a big deal, really. + * + * Don't do that for ULE, since ULE doesn't consider hlt_cpus_mask + * and unlike other schedulers it actually schedules threads to + * those CPUs. */ if ((hlt_cpus_mask & (1 << PCPU_GET(cpuid))) != 0) return; ==== //depot/projects/newisp/amd64/amd64/machdep.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.652 2006/09/07 15:03:02 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.654 2006/10/02 15:42:01 phk Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -61,6 +61,7 @@ #include <sys/buf.h> #include <sys/bus.h> #include <sys/callout.h> +#include <sys/clock.h> #include <sys/cons.h> #include <sys/cpu.h> #include <sys/eventhandler.h> @@ -630,26 +631,6 @@ load_cr0(cr0); } -static int -sysctl_machdep_adjkerntz(SYSCTL_HANDLER_ARGS) -{ - int error; - error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, - req); - if (!error && req->newptr) - resettodr(); - return (error); -} - -SYSCTL_PROC(_machdep, OID_AUTO, adjkerntz, CTLTYPE_INT|CTLFLAG_RW, - &adjkerntz, 0, sysctl_machdep_adjkerntz, "I", ""); - -SYSCTL_INT(_machdep, OID_AUTO, disable_rtc_set, - CTLFLAG_RW, &disable_rtc_set, 0, ""); - -SYSCTL_INT(_machdep, OID_AUTO, wall_cmos_clock, - CTLFLAG_RW, &wall_cmos_clock, 0, ""); - /* * Initialize amd64 and configure to run kernel */ ==== //depot/projects/newisp/amd64/include/clock.h#2 (text+ko) ==== @@ -3,7 +3,7 @@ * Garrett Wollman, September 1994. * This file is in the public domain. * - * $FreeBSD: src/sys/amd64/include/clock.h,v 1.52 2006/05/19 18:53:50 sobomax Exp $ + * $FreeBSD: src/sys/amd64/include/clock.h,v 1.53 2006/10/02 12:59:55 phk Exp $ */ #ifndef _MACHINE_CLOCK_H_ @@ -14,9 +14,7 @@ * i386 to clock driver interface. * XXX large parts of the driver and its interface are misplaced. */ -extern int adjkerntz; extern int clkintr_pending; -extern int disable_rtc_set; extern int pscnt; extern int psdiv; extern int statclock_disable; @@ -24,7 +22,6 @@ extern int timer0_max_count; extern uint64_t tsc_freq; extern int tsc_is_broken; -extern int wall_cmos_clock; extern struct mtx clock_lock; /* ==== //depot/projects/newisp/amd64/isa/clock.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.224 2005/12/22 22:16:05 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.227 2006/10/02 18:23:36 phk Exp $"); /* * Routines to handle clock hardware. @@ -52,6 +52,7 @@ #include <sys/param.h> #include <sys/systm.h> #include <sys/bus.h> +#include <sys/clock.h> #include <sys/lock.h> #include <sys/kdb.h> #include <sys/mutex.h> @@ -92,9 +93,7 @@ #define TIMER_DIV(x) ((timer_freq + (x) / 2) / (x)) -int adjkerntz; /* local offset from GMT in seconds */ int clkintr_pending; -int disable_rtc_set; /* disable resettodr() if != 0 */ int pscnt = 1; int psdiv = 1; int statclock_disable; @@ -104,7 +103,6 @@ u_int timer_freq = TIMER_FREQ; int timer0_max_count; int timer0_real_max_count; -int wall_cmos_clock; /* wall CMOS clock assumed if != 0 */ struct mtx clock_lock; #define RTC_LOCK mtx_lock_spin(&clock_lock) #define RTC_UNLOCK mtx_unlock_spin(&clock_lock) @@ -664,7 +662,7 @@ /* sec now contains the number of seconds, since Jan 1 1970, in the local time zone */ - sec += tz_minuteswest * 60 + (wall_cmos_clock ? adjkerntz : 0); + sec += utc_offset(); y = time_second - sec; if (y <= -2 || y >= 2) { @@ -702,7 +700,7 @@ /* Calculate local time to put in RTC */ - tm -= tz_minuteswest * 60 + (wall_cmos_clock ? adjkerntz : 0); + tm -= utc_offset(); writertc(RTC_SEC, bin2bcd(tm%60)); tm /= 60; /* Write back Seconds */ writertc(RTC_MIN, bin2bcd(tm%60)); tm /= 60; /* Write back Minutes */ ==== //depot/projects/newisp/amd64/linux32/linux32_machdep.c#3 (text+ko) ==== @@ -29,11 +29,12 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.17 2006/08/28 13:09:24 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.18 2006/10/02 12:59:55 phk Exp $"); #include <sys/param.h> #include <sys/kernel.h> #include <sys/systm.h> +#include <sys/clock.h> #include <sys/imgact.h> #include <sys/limits.h> #include <sys/lock.h> ==== //depot/projects/newisp/arm/include/clock.h#2 (text+ko) ==== @@ -23,13 +23,10 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/clock.h,v 1.2 2005/07/27 21:19:28 imp Exp $ + * $FreeBSD: src/sys/arm/include/clock.h,v 1.3 2006/10/02 12:59:55 phk Exp $ */ #ifndef _MACHINE_CLOCK_H_ #define _MACHINE_CLOCK_H_ -#define wall_cmos_clock 0 -#define adjkerntz 0 - #endif /* !_MACHINE_CLOCK_H_ */ ==== //depot/projects/newisp/boot/common/merge_help.awk#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/usr/bin/awk -f # -# $FreeBSD: src/sys/boot/common/merge_help.awk,v 1.5 2001/11/07 17:53:25 fenner Exp $ +# $FreeBSD: src/sys/boot/common/merge_help.awk,v 1.6 2006/09/28 19:06:20 jhb Exp $ # # Merge two boot loader help files for FreeBSD 3.0 # Joe Abley <jabley@patho.gen.nz> @@ -25,9 +25,12 @@ match($0, " T[[:graph:]]+"); T = substr($0, RSTART + 2, RLENGTH - 2); match($0, " S[[:graph:]]+"); + SSTART = RSTART S = (RLENGTH == -1) ? "" : substr($0, RSTART + 2, RLENGTH - 2); match($0, " D[[:graph:]][[:print:]]*$"); D = substr($0, RSTART + 2); + if (SSTART > RSTART) + S = ""; # find a suitable place to store this one... ind++; ==== //depot/projects/newisp/boot/common/panic.c#2 (text+ko) ==== @@ -34,11 +34,13 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/boot/common/panic.c,v 1.7 2003/08/25 23:30:41 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/panic.c,v 1.8 2006/09/29 20:57:38 ru Exp $"); #include <stand.h> #include <machine/stdarg.h> +extern void exit(int) __dead2; + void panic(const char *fmt,...) { ==== //depot/projects/newisp/boot/ficl/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/ficl/Makefile,v 1.43 2006/05/12 04:07:42 jhb Exp $ +# $FreeBSD: src/sys/boot/ficl/Makefile,v 1.44 2006/09/28 10:02:03 ru Exp $ # .PATH: ${.CURDIR}/${MACHINE_ARCH:S/amd64/i386/} BASE_SRCS= dict.c ficl.c fileaccess.c float.c loader.c math64.c \ @@ -42,7 +42,7 @@ #SOFTWORDS+= oo.fr classes.fr .if ${MACHINE_ARCH} == "amd64" -CFLAGS+= -m32 -I. +CFLAGS+= -m32 -march=i386 -I. .endif CFLAGS+= -I${.CURDIR} -I${.CURDIR}/${MACHINE_ARCH:S/amd64/i386/} \ ==== //depot/projects/newisp/boot/forth/loader.conf#2 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.111 2006/08/18 19:03:28 brueffer Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.113 2006/10/01 14:58:30 ariff Exp $ ############################################################## ### Basic configuration options ############################ @@ -309,7 +309,6 @@ sound_load="NO" # Digital sound subsystem snd_ad1816_load="NO" # ad1816 -snd_ak452x_load="NO" # ak452x snd_als4000_load="NO" # als4000 snd_atiixp_load="NO" # atiixp snd_cmi_load="NO" # cmi @@ -319,9 +318,11 @@ snd_emu10k1_load="NO" # Creative Sound Blaster Live snd_emu10kx_load="NO" # Creative SoundBlaster Live! and Audigy snd_envy24_load="NO" # VIA Envy24 +snd_envy24ht_load="NO" # VIA Envy24HT snd_es137x_load="NO" # es137x snd_ess_load="NO" # ess snd_fm801_load="NO" # fm801 +snd_hda_load="NO" # Intel High Definition Audio (Controller) snd_ich_load="NO" # Intel ICH snd_maestro_load="NO" # Maestro snd_maestro3_load="NO" # Maestro3 @@ -331,6 +332,7 @@ snd_sb8_load="NO" # Sound Blaster Pro snd_sbc_load="NO" # Sbc snd_solo_load="NO" # Solo +snd_spicds_load="NO" # SPI codecs snd_t4dwave_load="NO" # t4dwave snd_via8233_load="NO" # via8233 snd_via82c686_load="NO" # via82c686 ==== //depot/projects/newisp/boot/i386/Makefile.inc#2 (text+ko) ==== @@ -1,6 +1,6 @@ # Common defines for all of /sys/boot/i386/ # -# $FreeBSD: src/sys/boot/i386/Makefile.inc,v 1.11 2005/07/15 12:22:14 ache Exp $ +# $FreeBSD: src/sys/boot/i386/Makefile.inc,v 1.12 2006/09/28 10:02:04 ru Exp $ BINDIR?= /boot @@ -10,7 +10,7 @@ LDFLAGS+= -nostdlib .if ${MACHINE_ARCH} == "amd64" -CFLAGS+= -m32 +CFLAGS+= -m32 -march=i386 LDFLAGS+= -m elf_i386_fbsd AFLAGS+= --32 .endif ==== //depot/projects/newisp/boot/i386/btx/btx/btx.S#2 (text+ko) ==== @@ -12,7 +12,7 @@ * warranties of merchantability and fitness for a particular * purpose. * - * $FreeBSD: src/sys/boot/i386/btx/btx/btx.S,v 1.38 2004/11/24 14:54:33 jhb Exp $ + * $FreeBSD: src/sys/boot/i386/btx/btx/btx.S,v 1.42 2006/09/28 19:42:10 jhb Exp $ */ /* @@ -208,7 +208,7 @@ #ifdef PAGING or $0x80000001,%eax # mode and enable paging #else - or $0x01,%eax # mode + inc %ax # mode #endif mov %eax,%cr0 # ljmp $SEL_SCODE,$init.8 # To 32-bit code @@ -493,9 +493,7 @@ je v86wrmsr # Yes cmpb $0x32,(%esi) # Is it a RDMSR? je v86rdmsr # Yes - cmpb $0x20,(%esi) # Is this a - jne v86mon.4 # MOV EAX,CR0 - cmpb $0xc0,0x1(%esi) # instruction? + cmpb $0x20,(%esi) # Is this a MOV reg,CRx? je v86mov # Yes v86mon.4: cmpb $0xfa,%al # CLI? je v86cli # Yes @@ -527,10 +525,24 @@ leal 0x8(%esp,1),%esp # Discard int no, error iret # To V86 mode /* - * Emulate MOV EAX,CR0. + * Emulate MOV reg,CRx. */ -v86mov: movl %cr0,%eax # CR0 to - movl %eax,0x1c(%ebp) # saved EAX +v86mov: movb 0x1(%esi),%bl # Fetch Mod R/M byte + testb $0x10,%bl # Read CR2 or CR3? + jnz v86mov.1 # Yes + movl %cr0,%eax # Read CR0 + testb $0x20,%bl # Read CR4 instead? + jz v86mov.2 # No + movl %cr4,%eax # Read CR4 + jmp v86mov.2 +v86mov.1: movl %cr2,%eax # Read CR2 + testb $0x08,%bl # Read CR3 instead? + jz v86mov.2 # No + movl %cr3,%eax # Read CR3 +v86mov.2: andl $0x7,%ebx # Compute offset in + shl $2,%ebx # frame of destination + neg %ebx # register + movl %eax,0x1c(%ebp,%ebx,1) # Store CR to reg incl %esi # Adjust IP /* * Return from emulating a 0x0f prefixed instruction @@ -606,41 +618,27 @@ * reads count of words from saved %cx * returns success by setting %ah to 0 */ -int15_87: pushl %eax # Save - pushl %ebx # some information - pushl %esi # onto the stack. - pushl %edi - xorl %eax,%eax # clean EAX - xorl %ebx,%ebx # clean EBX - movl 0x4(%ebp),%esi # Get user's ESI - movl 0x3C(%ebp),%ebx # store ES - movw %si,%ax # store SI - shll $0x4,%ebx # Make it a seg. - addl %eax,%ebx # ebx=(es<<4)+si - movb 0x14(%ebx),%al # Grab the - movb 0x17(%ebx),%ah # necessary - shll $0x10,%eax # information - movw 0x12(%ebx),%ax # from - movl %eax,%esi # the - movb 0x1c(%ebx),%al # GDT in order to - movb 0x1f(%ebx),%ah # have %esi offset - shll $0x10,%eax # of source and %edi - movw 0x1a(%ebx),%ax # of destination. - movl %eax,%edi +int15_87: pushl %esi # Save + pushl %edi # registers + movzwl 0x4(%ebp),%eax # Load user's SI + movl 0x3C(%ebp),%edi # Load ES + leal (%eax,%edi,4),%edi # EDI = (ES << 4) + SI + movl 0x11(%edi),%eax # Read base of + movb 0x17(%edi),%al # GDT entry + ror $8,%eax # for source + xchgl %eax,%esi # into %esi + movl 0x19(%edi),%eax # Read base of + movb 0x1f(%edi),%al # GDT entry for + ror $8,%eax # destination + xchgl %eax,%edi # into %edi pushl %ds # Make: popl %es # es = ds - pushl %ecx # stash ECX - xorl %ecx,%ecx # highw of ECX is clear - movw 0x18(%ebp),%cx # Get user's ECX - shll $0x1,%ecx # Convert from num words to num - # bytes + movzwl 0x18(%ebp),%ecx # Get user's CX + shll $0x1,%ecx # Convert count from words rep # repeat... movsb # perform copy. - popl %ecx # Restore - popl %edi - popl %esi # previous - popl %ebx # register - popl %eax # values. + popl %edi # Restore + popl %esi # registers movb $0x0,0x1d(%ebp) # set ah = 0 to indicate # success andb $0xfe,%dl # clear CF @@ -659,23 +657,16 @@ cmpb $0x19,%al # is it int 19? je reboot # yes, reboot the machine cmpb $0x15,%al # is it int 15? - jne v86intn.3 # no, skip parse - pushl %eax # stash EAX - movl 0x1c(%ebp),%eax # user's saved EAX - cmpb $0x87,%ah # is it the memcpy subfunction? - jne v86intn.1 # no, keep checking - popl %eax # get the stack straight - jmp int15_87 # it's our cue -v86intn.1: cmpw $0x4f53,%ax # is it the delete key callout? - jne v86intn.2 # no, handle the int normally - movb BDA_KEYFLAGS,%al # get the shift key state - andb $0xc,%al # mask off just Ctrl and Alt - cmpb $0xc,%al # are both Ctrl and Alt down? - jne v86intn.2 # no, handle the int normally - popl %eax # restore EAX - jmp reboot # reboot the machine -v86intn.2: popl %eax # restore EAX -v86intn.3: subl %edi,%esi # From + jne v86intn.1 # no, skip parse + cmpb $0x87,0x1d(%ebp) # is it the memcpy subfunction? + je int15_87 # yes + cmpw $0x4f53,0x1c(%ebp) # is it the delete key callout? + jne v86intn.1 # no, handle the int normally + movb BDA_KEYFLAGS,%ch # get the shift key state + andb $0xc,%ch # mask off just Ctrl and Alt + cmpb $0xc,%ch # are both Ctrl and Alt down? + je reboot # yes, reboot the machine +v86intn.1: subl %edi,%esi # From shrl $0x4,%edi # linear movw %dx,-0x2(%ebx) # Save flags movw %di,-0x4(%ebx) # Save CS @@ -907,8 +898,7 @@ dump.3: lodsl # Set offset xchgl %eax,%edx # Save lodsl # Get segment - shll $0x4,%eax # * 0x10 - addl %edx,%eax # + offset + leal (%edx,%eax,4),%eax # * 0x10 + offset xchgl %eax,%esi # Set pointer dump.4: movb $2,%dl # Num lines dump.4a: movb $0x10,%cl # Bytes to dump ==== //depot/projects/newisp/boot/i386/libi386/biospci.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biospci.c,v 1.5 2004/10/22 14:56:23 simokawa Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biospci.c,v 1.6 2006/09/29 20:27:41 ru Exp $"); /* * PnP enumerator using the PCI BIOS. @@ -36,6 +36,7 @@ #include <bootstrap.h> #include <isapnp.h> #include <btxv86.h> +#include "libi386.h" /* * Stupid PCI BIOS interface doesn't let you simply enumerate everything ==== //depot/projects/newisp/boot/i386/libi386/biossmap.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biossmap.c,v 1.4 2005/12/19 09:00:11 sobomax Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biossmap.c,v 1.6 2006/09/29 20:07:16 jhb Exp $"); /* * Obtain memory configuration information from the BIOS @@ -95,6 +95,7 @@ break; } while (v86.ebx != 0 && smaplen < n); } + void bios_addsmapdata(struct preloaded_file *kfp) { @@ -105,3 +106,18 @@ len = smaplen * sizeof(*smapbase); file_addmetadata(kfp, MODINFOMD_SMAP, len, smapbase); } + +COMMAND_SET(smap, "smap", "show BIOS SMAP", command_smap); + +static int +command_smap(int argc, char *argv[]) +{ + int i; + + if (smapbase == 0 || smaplen == 0) + return (CMD_ERROR); + for (i = 0; i < smaplen; i++) + printf("SMAP type=%02x base=%016llx len=%016llx\n", + smapbase[i].type, smapbase[i].base, smapbase[i].length); + return (CMD_OK); +} ==== //depot/projects/newisp/boot/i386/libi386/bootinfo64.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/bootinfo64.c,v 1.36 2003/08/25 23:28:31 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/bootinfo64.c,v 1.37 2006/09/29 20:27:41 ru Exp $"); #include <stand.h> #include <sys/param.h> @@ -143,9 +143,7 @@ u_int64_t envp; vm_offset_t size; char *rootdevname; - int i, howto; - char *kernelname; - const char *kernelpath; + int howto; howto = bi_getboothowto(args); ==== //depot/projects/newisp/boot/i386/libi386/elf64_freebsd.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf64_freebsd.c,v 1.15 2004/08/29 00:48:41 iedowse Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf64_freebsd.c,v 1.16 2006/09/29 20:27:41 ru Exp $"); #define __ELF_WORD_SIZE 64 #include <sys/param.h> @@ -61,7 +61,7 @@ u_int32_t entry_hi; u_int32_t entry_lo; -extern amd64_tramp(); +extern void amd64_tramp(); /* * There is an a.out kernel and one or more a.out modules loaded. ==== //depot/projects/newisp/boot/i386/libi386/libi386.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/boot/i386/libi386/libi386.h,v 1.25 2006/04/11 20:11:30 jhb Exp $ + * $FreeBSD: src/sys/boot/i386/libi386/libi386.h,v 1.26 2006/09/29 20:27:41 ru Exp $ */ @@ -96,8 +96,8 @@ /* when heap is at the top of extended memory */ /* for other cases - just the same as memtop */ -int biospci_find_devclass(uint32_t class, int index); -int biospci_write_config(uint32_t locator, int offset, int width, int val); +int biospci_find_devclass(uint32_t class, int index, uint32_t *locator); +int biospci_write_config(uint32_t locator, int offset, int width, uint32_t val); int biospci_read_config(uint32_t locator, int offset, int width, uint32_t *val); void biosacpi_detect(void); ==== //depot/projects/newisp/boot/i386/loader/help.i386#2 (text+ko) ==== @@ -54,3 +54,10 @@ forced by setting this variable. ################################################################################ +# Tsmap DDisplay BIOS SMAP table + + smap + + Displays the BIOS SMAP (system memory map) table. + +################################################################################ ==== //depot/projects/newisp/cam/cam_periph.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.62 2006/05/24 15:22:21 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.63 2006/10/01 20:23:50 mjacob Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -86,6 +86,14 @@ MALLOC_DEFINE(M_CAMPERIPH, "CAM periph", "CAM peripheral buffers"); +static int periph_selto_delay = 1000; +TUNABLE_INT("kern.cam.periph_selto_delay", &periph_selto_delay); +static int periph_noresrc_delay = 500; +TUNABLE_INT("kern.cam.periph_noresrc_delay", &periph_noresrc_delay); +static int periph_busy_delay = 500; +TUNABLE_INT("kern.cam.periph_busy_delay", &periph_busy_delay); + + void periphdriver_register(void *data) { @@ -1544,7 +1552,7 @@ int error, printed = 0; int openings; u_int32_t relsim_flags; - u_int32_t timeout; + u_int32_t timeout = 0; action_string = NULL; status = ccb->ccb_h.status; @@ -1636,11 +1644,11 @@ } /* - * Wait a second to give the device + * Wait a bit to give the device * time to recover before we try again. */ relsim_flags = RELSIM_RELEASE_AFTER_TIMEOUT; - timeout = 1000; + timeout = periph_selto_delay; break; } } @@ -1699,8 +1707,16 @@ } break; case CAM_RESRC_UNAVAIL: + /* Wait a bit for the resource shortage to abate. */ + timeout = periph_noresrc_delay; + /* FALLTHROUGH */ case CAM_BUSY: - /* timeout??? */ + if (timeout == 0) { + /* Wait a bit for the busy condition to abate. */ + timeout = periph_busy_delay; + } + relsim_flags = RELSIM_RELEASE_AFTER_TIMEOUT; + /* FALLTHROUGH */ default: /* decrement the number of retries */ if (ccb->ccb_h.retry_count > 0) { ==== //depot/projects/newisp/compat/freebsd32/freebsd32_misc.c#3 (text+ko) ==== @@ -25,13 +25,14 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.59 2006/09/22 15:04:28 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.60 2006/10/02 12:59:55 phk Exp $"); #include "opt_compat.h" #include <sys/param.h> #include <sys/systm.h> #include <sys/bus.h> +#include <sys/clock.h> #include <sys/exec.h> #include <sys/fcntl.h> #include <sys/filedesc.h> ==== //depot/projects/newisp/compat/freebsd32/freebsd32_proto.h#7 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.66 2006/09/23 00:27:53 davidxu Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.79 2006/09/23 00:27:11 davidxu Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.67 2006/10/03 20:48:11 rwatson Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.80 2006/10/03 20:48:03 rwatson Exp */ #ifndef _FREEBSD32_SYSPROTO_H_ ==== //depot/projects/newisp/compat/freebsd32/freebsd32_syscall.h#7 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.64 2006/09/23 00:27:53 davidxu Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.79 2006/09/23 00:27:11 davidxu Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.65 2006/10/03 20:48:11 rwatson Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.80 2006/10/03 20:48:03 rwatson Exp */ #define FREEBSD32_SYS_syscall 0 ==== //depot/projects/newisp/compat/freebsd32/freebsd32_syscalls.c#7 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.55 2006/09/23 00:27:53 davidxu Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.79 2006/09/23 00:27:11 davidxu Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.56 2006/10/03 20:48:11 rwatson Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.80 2006/10/03 20:48:03 rwatson Exp */ const char *freebsd32_syscallnames[] = { ==== //depot/projects/newisp/compat/freebsd32/freebsd32_sysent.c#7 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.65 2006/09/23 00:27:53 davidxu Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.79 2006/09/23 00:27:11 davidxu Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.66 2006/10/03 20:48:11 rwatson Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.80 2006/10/03 20:48:03 rwatson Exp */ #include "opt_compat.h" ==== //depot/projects/newisp/compat/freebsd32/syscalls.master#7 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.79 2006/09/23 00:27:11 davidxu Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.80 2006/10/03 20:48:03 rwatson Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -141,7 +141,7 @@ 61 AUE_CHROOT NOPROTO { int chroot(char *path); } 62 AUE_FSTAT OBSOL ofstat 63 AUE_NULL OBSOL ogetkerninfo -64 AUE_GETPAGESIZE OBSOL ogetpagesize +64 AUE_NULL OBSOL ogetpagesize ; XXX implement (not OBSOL at all) 65 AUE_MSYNC NOPROTO { int msync(void *addr, size_t len, \ int flags); } ==== //depot/projects/newisp/conf/NOTES#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1383 2006/09/26 12:36:33 ru Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1385 2006/10/01 14:56:10 ariff Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1923,7 +1923,6 @@ # since this is unsupported at the moment...). # # snd_ad1816: Analog Devices AD1816 ISA PnP/non-PnP. -# snd_ak452x: Asahi Kasei AK452x codec, needed by snd_envy24. # snd_als4000: Avance Logic ALS4000 PCI. # snd_atiixp: ATI IXP 200/300/400 PCI. # snd_au88x0 Aureal Vortex 1/2/Advantage PCI. This driver @@ -1937,12 +1936,15 @@ # snd_ds1: Yamaha DS-1 PCI. # snd_emu10k1: Creative EMU10K1 PCI and EMU10K2 (Audigy) PCI. # snd_emu10kx: Creative SoundBlaster Live! and Audigy -# snd_envy24: VIA Envy24 and compatible, needs snd_ak452x. +# snd_envy24: VIA Envy24 and compatible, needs snd_spicds. +# snd_envy24ht: VIA Envy24HT and compatible, needs snd_spicds. # snd_es137x: Ensoniq AudioPCI ES137x PCI. # snd_ess: Ensoniq ESS ISA PnP/non-PnP, to be used in # conjunction with snd_sbc. # snd_fm801: Forte Media FM801 PCI. # snd_gusc: Gravis UltraSound ISA PnP/non-PnP. +# snd_hda: Intel High Definition Audio (Controller) and +# compatible. # snd_ich: Intel ICH PCI and some more audio controllers # embedded in a chipset, for example nVidia # nForce controllers. @@ -1956,6 +1958,7 @@ # conjunction with snd_sbc. # snd_sbc: Creative SoundBlaster ISA PnP/non-PnP. # Supports ESS and Avance ISA chips as well. +# snd_spicds: SPI codec driver, needed by Envy24/Envy24HT drivers. # snd_solo: ESS Solo-1x PCI. >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200610040422.k944M1HJ003511>