created | 2023-07-29T21:34:12Z |
---|---|
begin | 2023-07-25T00:00:00Z |
end | 2023-07-26T00:00:00Z |
path | src/sys |
commits | 7 |
date | 2023-07-25T04:42:00Z | |||
---|---|---|---|---|
author | deraadt | |||
files | src/sys/arch/amd64/amd64/cpu.c | log | diff | annotate |
message |
Some hypervisors (such as Hertzner) allow msr read of DE_CFG (which does not indicate bit 9 set, but they could have a firmware fix) but then block a msr write to bit 9 (which disables enough AVX optimizations to prevent the exfiltration of data), with a fault. So let's also check the HV bit before we decide to modify the bit. hypervisors are expected to set that bit. tested by lucas at sexy dot is. with jsg, ok mlarkin |
date | 2023-07-25T04:42:02Z | |||
---|---|---|---|---|
author | deraadt | |||
files | src/sys/arch/i386/i386/machdep.c | log | diff | annotate |
message |
Some hypervisors (such as Hertzner) allow msr read of DE_CFG (which does not indicate bit 9 set, but they could have a firmware fix) but then block a msr write to bit 9 (which disables enough AVX optimizations to prevent the exfiltration of data), with a fault. So let's also check the HV bit before we decide to modify the bit. hypervisors are expected to set that bit. tested by lucas at sexy dot is. with jsg, ok mlarkin |
date | 2023-07-25T06:48:37Z | |||
---|---|---|---|---|
author | guenther | |||
files | src/sys/arch/amd64/amd64/locore.S | log | diff | annotate |
src/sys/arch/amd64/include/cpu.h | log | diff | annotate | |
message |
cpu_idle_{enter,leave} are no-ops on amd64 now, so just #define away the calls ok deraadt@ mpi@ miod@ |
date | 2023-07-25T10:00:44Z | |||
---|---|---|---|---|
author | miod | |||
files | src/sys/arch/hppa/gsc/gsckbc.c | log | diff | annotate |
src/sys/arch/sparc64/dev/pckbc_ebus.c | log | diff | annotate | |
src/sys/dev/ic/pckbc.c | log | diff | annotate | |
src/sys/dev/ic/pckbcvar.h | log | diff | annotate | |
src/sys/dev/pckbc/pckbd.c | log | diff | annotate | |
message |
Extend the PCKBC_CANT_TRANSLATE feature, specific to Tadpole/RDI hardware, to also support scan code set #3 in addition to the existing scan code set #2. This makes the built-in keyboard on the Tadpole UltraBook IIe work. |
date | 2023-07-25T18:16:19Z | |||
---|---|---|---|---|
author | cheloha | |||
files | src/sys/arch/alpha/alpha/clock.c | log | diff | annotate |
src/sys/arch/alpha/include/cpu.h | log | diff | annotate | |
src/sys/arch/amd64/include/cpu.h | log | diff | annotate | |
src/sys/arch/amd64/isa/clock.c | log | diff | annotate | |
src/sys/arch/arm/cortex/agtimer.c | log | diff | annotate | |
src/sys/arch/arm/cortex/amptimer.c | log | diff | annotate | |
src/sys/arch/arm/include/cpu.h | log | diff | annotate | |
src/sys/arch/arm64/dev/agtimer.c | log | diff | annotate | |
src/sys/arch/armv7/omap/dmtimer.c | log | diff | annotate | |
src/sys/arch/armv7/omap/gptimer.c | log | diff | annotate | |
src/sys/arch/armv7/sunxi/sxitimer.c | log | diff | annotate | |
src/sys/kern/kern_clock.c | log | diff | annotate | |
src/sys/kern/kern_clockintr.c | log | diff | annotate | |
src/sys/kern/kern_sched.c | log | diff | annotate | |
src/sys/kern/sched_bsd.c | log | diff | annotate | |
src/sys/kern/subr_prof.c | log | diff | annotate | |
src/sys/sys/clockintr.h | log | diff | annotate | |
src/sys/sys/resourcevar.h | log | diff | annotate | |
src/sys/sys/sched.h | log | diff | annotate | |
message |
statclock: move profil(2), GPROF code to profclock(), gmonclock() This patch isolates profil(2) and GPROF from statclock(). Currently, statclock() implements both profil(2) and GPROF through a complex mechanism involving both platform code (setstatclockrate) and the scheduler (pscnt, psdiv, and psratio). We have a machine-independent interface to the clock interrupt hardware now, so we no longer need to do it this way. - Move profil(2)-specific code from statclock() to a new clock interrupt callback, profclock(), in subr_prof.c. Each schedstate_percpu has its own profclock handle. The profclock is enabled/disabled for a given CPU when it is needed by the running thread during mi_switch() and sched_exit(). - Move GPROF-specific code from statclock() to a new clock interrupt callback, gmonclock(), in subr_prof.c. Where available, each cpu_info has its own gmonclock handle . The gmonclock is enabled/disabled for a given CPU via sysctl(2) in prof_state_toggle(). - Both profclock() and gmonclock() have a fixed period, profclock_period, that is initialized during initclocks(). - Export clockintr_advance(), clockintr_cancel(), clockintr_establish(), and clockintr_stagger() via <sys/clockintr.h>. They have external callers now. - Delete pscnt, psdiv, psratio. From schedstate_percpu, also delete spc_pscnt and spc_psdiv. The statclock frequency is not dynamic anymore so these variables are now useless. - Delete code/state related to the dynamic statclock frequency from kern_clockintr.c. The statclock frequency can still be pseudo-random, so move the contents of clockintr_statvar_init() into clockintr_init(). With input from miod@, deraadt@, and claudio@. Early revisions cleaned up by claudio. Early revisions tested by claudio@. Tested by cheloha@ on amd64, arm64, macppc, octeon, and sparc64 (sun4v). Compile- and boot- tested on i386 by mlarkin@. riscv64 compilation bugs found by mlarkin@. Tested on riscv64 by jca@. Tested on powerpc64 by gkoehler@. |
date | 2023-07-25T18:16:20Z | |||
---|---|---|---|---|
author | cheloha | |||
files | src/sys/arch/arm64/include/cpu.h | log | diff | annotate |
src/sys/arch/hppa/dev/clock.c | log | diff | annotate | |
src/sys/arch/hppa/include/cpu.h | log | diff | annotate | |
src/sys/arch/i386/include/cpu.h | log | diff | annotate | |
src/sys/arch/i386/isa/clock.c | log | diff | annotate | |
src/sys/arch/luna88k/luna88k/clock.c | log | diff | annotate | |
src/sys/arch/m88k/include/cpu.h | log | diff | annotate | |
src/sys/arch/macppc/macppc/clock.c | log | diff | annotate | |
src/sys/arch/mips64/include/cpu.h | log | diff | annotate | |
src/sys/arch/mips64/mips64/mips64_machdep.c | log | diff | annotate | |
src/sys/arch/powerpc/include/cpu.h | log | diff | annotate | |
message |
statclock: move profil(2), GPROF code to profclock(), gmonclock() This patch isolates profil(2) and GPROF from statclock(). Currently, statclock() implements both profil(2) and GPROF through a complex mechanism involving both platform code (setstatclockrate) and the scheduler (pscnt, psdiv, and psratio). We have a machine-independent interface to the clock interrupt hardware now, so we no longer need to do it this way. - Move profil(2)-specific code from statclock() to a new clock interrupt callback, profclock(), in subr_prof.c. Each schedstate_percpu has its own profclock handle. The profclock is enabled/disabled for a given CPU when it is needed by the running thread during mi_switch() and sched_exit(). - Move GPROF-specific code from statclock() to a new clock interrupt callback, gmonclock(), in subr_prof.c. Where available, each cpu_info has its own gmonclock handle . The gmonclock is enabled/disabled for a given CPU via sysctl(2) in prof_state_toggle(). - Both profclock() and gmonclock() have a fixed period, profclock_period, that is initialized during initclocks(). - Export clockintr_advance(), clockintr_cancel(), clockintr_establish(), and clockintr_stagger() via <sys/clockintr.h>. They have external callers now. - Delete pscnt, psdiv, psratio. From schedstate_percpu, also delete spc_pscnt and spc_psdiv. The statclock frequency is not dynamic anymore so these variables are now useless. - Delete code/state related to the dynamic statclock frequency from kern_clockintr.c. The statclock frequency can still be pseudo-random, so move the contents of clockintr_statvar_init() into clockintr_init(). With input from miod@, deraadt@, and claudio@. Early revisions cleaned up by claudio. Early revisions tested by claudio@. Tested by cheloha@ on amd64, arm64, macppc, octeon, and sparc64 (sun4v). Compile- and boot- tested on i386 by mlarkin@. riscv64 compilation bugs found by mlarkin@. Tested on riscv64 by jca@. Tested on powerpc64 by gkoehler@. |
date | 2023-07-25T18:16:21Z | |||
---|---|---|---|---|
author | cheloha | |||
files | src/sys/arch/powerpc64/powerpc64/clock.c | log | diff | annotate |
src/sys/arch/riscv64/include/cpu.h | log | diff | annotate | |
src/sys/arch/riscv64/riscv64/clock.c | log | diff | annotate | |
src/sys/arch/sh/include/cpu.h | log | diff | annotate | |
src/sys/arch/sh/sh/clock.c | log | diff | annotate | |
src/sys/arch/sparc64/include/cpu.h | log | diff | annotate | |
src/sys/arch/sparc64/sparc64/clock.c | log | diff | annotate | |
message |
statclock: move profil(2), GPROF code to profclock(), gmonclock() This patch isolates profil(2) and GPROF from statclock(). Currently, statclock() implements both profil(2) and GPROF through a complex mechanism involving both platform code (setstatclockrate) and the scheduler (pscnt, psdiv, and psratio). We have a machine-independent interface to the clock interrupt hardware now, so we no longer need to do it this way. - Move profil(2)-specific code from statclock() to a new clock interrupt callback, profclock(), in subr_prof.c. Each schedstate_percpu has its own profclock handle. The profclock is enabled/disabled for a given CPU when it is needed by the running thread during mi_switch() and sched_exit(). - Move GPROF-specific code from statclock() to a new clock interrupt callback, gmonclock(), in subr_prof.c. Where available, each cpu_info has its own gmonclock handle . The gmonclock is enabled/disabled for a given CPU via sysctl(2) in prof_state_toggle(). - Both profclock() and gmonclock() have a fixed period, profclock_period, that is initialized during initclocks(). - Export clockintr_advance(), clockintr_cancel(), clockintr_establish(), and clockintr_stagger() via <sys/clockintr.h>. They have external callers now. - Delete pscnt, psdiv, psratio. From schedstate_percpu, also delete spc_pscnt and spc_psdiv. The statclock frequency is not dynamic anymore so these variables are now useless. - Delete code/state related to the dynamic statclock frequency from kern_clockintr.c. The statclock frequency can still be pseudo-random, so move the contents of clockintr_statvar_init() into clockintr_init(). With input from miod@, deraadt@, and claudio@. Early revisions cleaned up by claudio. Early revisions tested by claudio@. Tested by cheloha@ on amd64, arm64, macppc, octeon, and sparc64 (sun4v). Compile- and boot- tested on i386 by mlarkin@. riscv64 compilation bugs found by mlarkin@. Tested on riscv64 by jca@. Tested on powerpc64 by gkoehler@. |