#
1.47 |
|
24-Oct-2023 |
claudio |
Normally context switches happen in mi_switch() but there are 3 cases where a switch happens outside. Cleanup these code paths and make the machine independent.
- when a process forks (fork, tfork, kthread), the new proc needs to somehow be scheduled for the first time. This is done by proc_trampoline. Since proc_trampoline is machine dependent assembler code change the MP specific proc_trampoline_mp() to proc_trampoline_mi() and make sure it is now always called. - cpu_hatch: when booting APs the code needs to jump to the first proc running on that CPU. This should be the idle thread for that CPU. - sched_exit: when a proc exits it needs to switch away from itself and then instruct the reaper to clean up the rest. This is done by switching to the idle loop.
Since the last two cases require a context switch to the idle proc factor out the common code to sched_toidle() and use it in those places.
Tested by many on all archs. OK miod@ mpi@ cheloha@
|
Revision tags: OPENBSD_7_4_BASE
|
#
1.46 |
|
29-Aug-2023 |
claudio |
Remove p_rtime from struct proc and replace it by passing the timespec as argument to the tuagg_locked function.
- Remove incorrect use of p_rtime in other parts of the tree. p_rtime was almost always 0 so including it in any sum did not alter the result. - In main() the update of time can be further simplified since at that time only the primary cpu is running. - Add missing nanouptime() call in cpu_hatch() for hppa - Rename tuagg_unlocked to tuagg_locked like it is done in the rest of the tree.
OK cheloha@ dlg@
|
#
1.45 |
|
15-Jun-2023 |
cheloha |
all platforms, main(): call clockqueue_init() just before sched_init_cpu()
Move the clockqueue_init() call out of clockintr_cpu_init() and up just before the sched_init_cpu() call for a given CPU.
This will allow sched_init_cpu() to allocate clockintr handles for a given CPU's scheduler in a later patch.
Link: https://marc.info/?l=openbsd-tech&m=168661507607622&w=2
ok kettenis@, claudio@
|
Revision tags: OPENBSD_7_3_BASE
|
#
1.44 |
|
06-Dec-2022 |
cheloha |
hppa: switch to clockintr
- Remove hppa-specific clock interrupt scheduling bits from cpu_info. - Rename cpu_hardclock() to itmr_intr(); it doesn't exclusively run hardclock(9) anymore. - Wire up itmr_intrclock.
hppa now has a randomized statclock(), stathz = hz.
Patch help, testing, and review from kettenis@ (B2000) and miod@ (C3650). MP testing from guenther@ (dual-core J6700).
ok mlarkin@ kettenis@, "Ship it?" guenther@
|
Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
|
#
1.43 |
|
13-Mar-2022 |
mpi |
Constify struct cfattach.
ok miod@
|
Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
|
#
1.42 |
|
29-May-2020 |
deraadt |
dev/rndvar.h no longer has statistical interfaces (removed during various conversion steps). it only contains kernel prototypes for 4 interfaces, all of which legitimately belong in sys/systm.h, which are already included by all enqueue_randomness() users.
|
Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.41 |
|
19-Jan-2014 |
deraadt |
Initialize ci_randseed better using arc4random() + a trick. Remove the libkern srandom() API since it is not suitable for this use. ok kettenis miod
|
#
1.40 |
|
26-Nov-2013 |
deraadt |
1 << 31 cleanup. Eitan Adler pointed out that there has been a resurrection of the bad idiom in the tree. sufficient review by miod, kettenis, tedu
|
Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
|
#
1.39 |
|
02-Jan-2011 |
kettenis |
Make need_resched() call cpu_unidle() such that we wake up a process running on another CPU.
ok miod@
|
#
1.38 |
|
30-Dec-2010 |
jsing |
Implement cpu_unidle() for MP kernels.
ok kettenis@
|
Revision tags: OPENBSD_4_8_BASE
|
#
1.37 |
|
26-Jun-2010 |
jsing |
Allow processes to be scheduled onto secondary CPUs.
ok kettenis@
|
#
1.36 |
|
03-Jun-2010 |
jsing |
Rename ci_spinup_stack to ci_stack and use it as the stack for both CPU spin up and FPU emulation. Since all CPUs need a stack for FPU emulation, move the allocation code to cpuattach().
ok kettenis@
|
#
1.35 |
|
21-May-2010 |
jsing |
Add support for IPIs on hppa.
ok kettenis@
|
#
1.34 |
|
19-May-2010 |
jsing |
Spin up secondary CPUs on hppa multiprocessor kernels. At this stage we enable clock interrupts, however do not allow processes to be scheduled onto the secondary CPUs - hopefully we can change this shortly...
ok kettenis@
|
#
1.33 |
|
06-May-2010 |
jsing |
Ansify functions and use "clock" rather than the CPU name for clock interrupts.
ok kettenis@
|
#
1.32 |
|
01-Apr-2010 |
jsing |
Allow for multiple CPUs by moving to an array of cpu_info.
ok kettenis@
|
#
1.31 |
|
28-Mar-2010 |
jsing |
Allow a multiprocessor kernel to compile.
ok kettenis@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.30 |
|
29-Dec-2009 |
jsing |
Move hppa to a "cpu0 at mainbus0" configuration, rather than knocking CPUs out in the cpu match function. Whilst here also hardwire the clock to IRQ 31, thus preventing one from building a kernel without hardclock.
ok kettenis@ miod@
|
Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE
|
#
1.29 |
|
08-Feb-2009 |
miod |
Make sure than cpu_hardclock() never sets a ``next interrupt value'' which has already been hit by the running timer; this happens very often on oosiop-based machines, due to these machines being among the slowest hppa, and oosiop being interrupt greedy. Unfortunately, when this happened, one had to wait for the timer to wrap, which would take up to 128 seconds on the 33MHz machines.
Also, invoke hardclock() as many times as necessary if it turns out that we had to delay the interrupt 1/hz seconds to avoid the aforementioned wrap problem.
With help from kettenis@; ok kettenis@
|
Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE
|
#
1.28 |
|
28-Dec-2004 |
mickey |
fix new line in dmesg print on 8k cpus
|
#
1.27 |
|
26-Oct-2004 |
mickey |
simplify cache print a bit
|
#
1.26 |
|
14-Sep-2004 |
mickey |
store fpu version for later use. make sure to proper store/clear fpu state in fork/exec/exit/sendsig
|
#
1.25 |
|
14-Sep-2004 |
mickey |
do not print anything about btlb if there is none
|
Revision tags: OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.24 |
|
07-Apr-2004 |
mickey |
update copyright; miod@ is fine w/ files where he holds it too
|
Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
|
#
1.23 |
|
22-Aug-2003 |
mickey |
rework cpu identification
|
#
1.22 |
|
07-Aug-2003 |
mickey |
make all intr_establish take the same last arg for name
|
Revision tags: UBC_SYNC_A
|
#
1.21 |
|
29-Mar-2003 |
mickey |
fix fpu printout and remove dead code piece
|
Revision tags: OPENBSD_3_3_BASE
|
#
1.20 |
|
08-Dec-2002 |
mickey |
duh, provide a wrapper on the hardclock() since it's void
|
#
1.19 |
|
27-Nov-2002 |
mickey |
no wrapper arounf hardclock(), use CPU_CLOCKUPDATE, real microtime; miod ok
|
Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
|
#
1.18 |
|
23-May-2002 |
mickey |
fetch fpu id per the book (even it works otherwise), also, hppa_mod_info() always returns some string; idea by fredette@
|
#
1.17 |
|
08-May-2002 |
mickey |
print parisc level w/ the the parisc version, not for each cpu
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.16 |
|
26-Mar-2002 |
mickey |
need to mask out the upper part for the fpu version on print
|
#
1.15 |
|
21-Mar-2002 |
mickey |
better cache mode print
|
#
1.14 |
|
19-Mar-2002 |
mickey |
no need for reg.h in the frame.h
|
#
1.13 |
|
14-Mar-2002 |
millert |
First round of __P removal in sys
|
#
1.12 |
|
06-Mar-2002 |
mickey |
no need to mask
|
#
1.11 |
|
06-Mar-2002 |
mickey |
expand fpu name, makes line overflow a bit, maybe deal w/ it later
|
#
1.10 |
|
05-Mar-2002 |
mickey |
rearrange stuff, chat about cache
|
#
1.9 |
|
11-Feb-2002 |
mickey |
disable fpu on csw, print fpu version on cpu line, if present
|
Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
|
#
1.8 |
|
15-Aug-2000 |
mickey |
branches: 1.8.8; print cpu revision and type
|
#
1.7 |
|
03-Jul-2000 |
mickey |
add luseless comment
|
Revision tags: OPENBSD_2_7_BASE SMP_BASE kame_19991208
|
#
1.6 |
|
26-Nov-1999 |
mickey |
branches: 1.6.2; shorter text, so it fits in 80 columns
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.5 |
|
16-Aug-1999 |
mickey |
evcnt count the interrupts, also optimize diagnostic printing
|
#
1.4 |
|
14-Aug-1999 |
mickey |
next try to print cpu model number. attach clock interrupt.
|
#
1.3 |
|
20-Apr-1999 |
mickey |
print cpu ID (type) if available
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.2 |
|
17-Feb-1999 |
mickey |
better cpu capabilities printing. print cpu PA level move cpu_gethpa() to mainbus.c
|
#
1.1 |
|
29-Dec-1998 |
mickey |
some cpu
|
#
1.46 |
|
29-Aug-2023 |
claudio |
Remove p_rtime from struct proc and replace it by passing the timespec as argument to the tuagg_locked function.
- Remove incorrect use of p_rtime in other parts of the tree. p_rtime was almost always 0 so including it in any sum did not alter the result. - In main() the update of time can be further simplified since at that time only the primary cpu is running. - Add missing nanouptime() call in cpu_hatch() for hppa - Rename tuagg_unlocked to tuagg_locked like it is done in the rest of the tree.
OK cheloha@ dlg@
|
#
1.45 |
|
15-Jun-2023 |
cheloha |
all platforms, main(): call clockqueue_init() just before sched_init_cpu()
Move the clockqueue_init() call out of clockintr_cpu_init() and up just before the sched_init_cpu() call for a given CPU.
This will allow sched_init_cpu() to allocate clockintr handles for a given CPU's scheduler in a later patch.
Link: https://marc.info/?l=openbsd-tech&m=168661507607622&w=2
ok kettenis@, claudio@
|
Revision tags: OPENBSD_7_3_BASE
|
#
1.44 |
|
06-Dec-2022 |
cheloha |
hppa: switch to clockintr
- Remove hppa-specific clock interrupt scheduling bits from cpu_info. - Rename cpu_hardclock() to itmr_intr(); it doesn't exclusively run hardclock(9) anymore. - Wire up itmr_intrclock.
hppa now has a randomized statclock(), stathz = hz.
Patch help, testing, and review from kettenis@ (B2000) and miod@ (C3650). MP testing from guenther@ (dual-core J6700).
ok mlarkin@ kettenis@, "Ship it?" guenther@
|
Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
|
#
1.43 |
|
13-Mar-2022 |
mpi |
Constify struct cfattach.
ok miod@
|
Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
|
#
1.42 |
|
29-May-2020 |
deraadt |
dev/rndvar.h no longer has statistical interfaces (removed during various conversion steps). it only contains kernel prototypes for 4 interfaces, all of which legitimately belong in sys/systm.h, which are already included by all enqueue_randomness() users.
|
Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.41 |
|
19-Jan-2014 |
deraadt |
Initialize ci_randseed better using arc4random() + a trick. Remove the libkern srandom() API since it is not suitable for this use. ok kettenis miod
|
#
1.40 |
|
26-Nov-2013 |
deraadt |
1 << 31 cleanup. Eitan Adler pointed out that there has been a resurrection of the bad idiom in the tree. sufficient review by miod, kettenis, tedu
|
Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
|
#
1.39 |
|
02-Jan-2011 |
kettenis |
Make need_resched() call cpu_unidle() such that we wake up a process running on another CPU.
ok miod@
|
#
1.38 |
|
30-Dec-2010 |
jsing |
Implement cpu_unidle() for MP kernels.
ok kettenis@
|
Revision tags: OPENBSD_4_8_BASE
|
#
1.37 |
|
26-Jun-2010 |
jsing |
Allow processes to be scheduled onto secondary CPUs.
ok kettenis@
|
#
1.36 |
|
03-Jun-2010 |
jsing |
Rename ci_spinup_stack to ci_stack and use it as the stack for both CPU spin up and FPU emulation. Since all CPUs need a stack for FPU emulation, move the allocation code to cpuattach().
ok kettenis@
|
#
1.35 |
|
21-May-2010 |
jsing |
Add support for IPIs on hppa.
ok kettenis@
|
#
1.34 |
|
19-May-2010 |
jsing |
Spin up secondary CPUs on hppa multiprocessor kernels. At this stage we enable clock interrupts, however do not allow processes to be scheduled onto the secondary CPUs - hopefully we can change this shortly...
ok kettenis@
|
#
1.33 |
|
06-May-2010 |
jsing |
Ansify functions and use "clock" rather than the CPU name for clock interrupts.
ok kettenis@
|
#
1.32 |
|
01-Apr-2010 |
jsing |
Allow for multiple CPUs by moving to an array of cpu_info.
ok kettenis@
|
#
1.31 |
|
28-Mar-2010 |
jsing |
Allow a multiprocessor kernel to compile.
ok kettenis@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.30 |
|
29-Dec-2009 |
jsing |
Move hppa to a "cpu0 at mainbus0" configuration, rather than knocking CPUs out in the cpu match function. Whilst here also hardwire the clock to IRQ 31, thus preventing one from building a kernel without hardclock.
ok kettenis@ miod@
|
Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE
|
#
1.29 |
|
08-Feb-2009 |
miod |
Make sure than cpu_hardclock() never sets a ``next interrupt value'' which has already been hit by the running timer; this happens very often on oosiop-based machines, due to these machines being among the slowest hppa, and oosiop being interrupt greedy. Unfortunately, when this happened, one had to wait for the timer to wrap, which would take up to 128 seconds on the 33MHz machines.
Also, invoke hardclock() as many times as necessary if it turns out that we had to delay the interrupt 1/hz seconds to avoid the aforementioned wrap problem.
With help from kettenis@; ok kettenis@
|
Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE
|
#
1.28 |
|
28-Dec-2004 |
mickey |
fix new line in dmesg print on 8k cpus
|
#
1.27 |
|
26-Oct-2004 |
mickey |
simplify cache print a bit
|
#
1.26 |
|
14-Sep-2004 |
mickey |
store fpu version for later use. make sure to proper store/clear fpu state in fork/exec/exit/sendsig
|
#
1.25 |
|
14-Sep-2004 |
mickey |
do not print anything about btlb if there is none
|
Revision tags: OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.24 |
|
07-Apr-2004 |
mickey |
update copyright; miod@ is fine w/ files where he holds it too
|
Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
|
#
1.23 |
|
22-Aug-2003 |
mickey |
rework cpu identification
|
#
1.22 |
|
07-Aug-2003 |
mickey |
make all intr_establish take the same last arg for name
|
Revision tags: UBC_SYNC_A
|
#
1.21 |
|
29-Mar-2003 |
mickey |
fix fpu printout and remove dead code piece
|
Revision tags: OPENBSD_3_3_BASE
|
#
1.20 |
|
08-Dec-2002 |
mickey |
duh, provide a wrapper on the hardclock() since it's void
|
#
1.19 |
|
27-Nov-2002 |
mickey |
no wrapper arounf hardclock(), use CPU_CLOCKUPDATE, real microtime; miod ok
|
Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
|
#
1.18 |
|
23-May-2002 |
mickey |
fetch fpu id per the book (even it works otherwise), also, hppa_mod_info() always returns some string; idea by fredette@
|
#
1.17 |
|
08-May-2002 |
mickey |
print parisc level w/ the the parisc version, not for each cpu
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.16 |
|
26-Mar-2002 |
mickey |
need to mask out the upper part for the fpu version on print
|
#
1.15 |
|
21-Mar-2002 |
mickey |
better cache mode print
|
#
1.14 |
|
19-Mar-2002 |
mickey |
no need for reg.h in the frame.h
|
#
1.13 |
|
14-Mar-2002 |
millert |
First round of __P removal in sys
|
#
1.12 |
|
06-Mar-2002 |
mickey |
no need to mask
|
#
1.11 |
|
06-Mar-2002 |
mickey |
expand fpu name, makes line overflow a bit, maybe deal w/ it later
|
#
1.10 |
|
05-Mar-2002 |
mickey |
rearrange stuff, chat about cache
|
#
1.9 |
|
11-Feb-2002 |
mickey |
disable fpu on csw, print fpu version on cpu line, if present
|
Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
|
#
1.8 |
|
15-Aug-2000 |
mickey |
branches: 1.8.8; print cpu revision and type
|
#
1.7 |
|
03-Jul-2000 |
mickey |
add luseless comment
|
Revision tags: OPENBSD_2_7_BASE SMP_BASE kame_19991208
|
#
1.6 |
|
26-Nov-1999 |
mickey |
branches: 1.6.2; shorter text, so it fits in 80 columns
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.5 |
|
16-Aug-1999 |
mickey |
evcnt count the interrupts, also optimize diagnostic printing
|
#
1.4 |
|
14-Aug-1999 |
mickey |
next try to print cpu model number. attach clock interrupt.
|
#
1.3 |
|
20-Apr-1999 |
mickey |
print cpu ID (type) if available
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.2 |
|
17-Feb-1999 |
mickey |
better cpu capabilities printing. print cpu PA level move cpu_gethpa() to mainbus.c
|
#
1.1 |
|
29-Dec-1998 |
mickey |
some cpu
|
#
1.45 |
|
15-Jun-2023 |
cheloha |
all platforms, main(): call clockqueue_init() just before sched_init_cpu()
Move the clockqueue_init() call out of clockintr_cpu_init() and up just before the sched_init_cpu() call for a given CPU.
This will allow sched_init_cpu() to allocate clockintr handles for a given CPU's scheduler in a later patch.
Link: https://marc.info/?l=openbsd-tech&m=168661507607622&w=2
ok kettenis@, claudio@
|
Revision tags: OPENBSD_7_3_BASE
|
#
1.44 |
|
06-Dec-2022 |
cheloha |
hppa: switch to clockintr
- Remove hppa-specific clock interrupt scheduling bits from cpu_info. - Rename cpu_hardclock() to itmr_intr(); it doesn't exclusively run hardclock(9) anymore. - Wire up itmr_intrclock.
hppa now has a randomized statclock(), stathz = hz.
Patch help, testing, and review from kettenis@ (B2000) and miod@ (C3650). MP testing from guenther@ (dual-core J6700).
ok mlarkin@ kettenis@, "Ship it?" guenther@
|
Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
|
#
1.43 |
|
13-Mar-2022 |
mpi |
Constify struct cfattach.
ok miod@
|
Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
|
#
1.42 |
|
29-May-2020 |
deraadt |
dev/rndvar.h no longer has statistical interfaces (removed during various conversion steps). it only contains kernel prototypes for 4 interfaces, all of which legitimately belong in sys/systm.h, which are already included by all enqueue_randomness() users.
|
Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.41 |
|
19-Jan-2014 |
deraadt |
Initialize ci_randseed better using arc4random() + a trick. Remove the libkern srandom() API since it is not suitable for this use. ok kettenis miod
|
#
1.40 |
|
26-Nov-2013 |
deraadt |
1 << 31 cleanup. Eitan Adler pointed out that there has been a resurrection of the bad idiom in the tree. sufficient review by miod, kettenis, tedu
|
Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
|
#
1.39 |
|
02-Jan-2011 |
kettenis |
Make need_resched() call cpu_unidle() such that we wake up a process running on another CPU.
ok miod@
|
#
1.38 |
|
30-Dec-2010 |
jsing |
Implement cpu_unidle() for MP kernels.
ok kettenis@
|
Revision tags: OPENBSD_4_8_BASE
|
#
1.37 |
|
26-Jun-2010 |
jsing |
Allow processes to be scheduled onto secondary CPUs.
ok kettenis@
|
#
1.36 |
|
03-Jun-2010 |
jsing |
Rename ci_spinup_stack to ci_stack and use it as the stack for both CPU spin up and FPU emulation. Since all CPUs need a stack for FPU emulation, move the allocation code to cpuattach().
ok kettenis@
|
#
1.35 |
|
21-May-2010 |
jsing |
Add support for IPIs on hppa.
ok kettenis@
|
#
1.34 |
|
19-May-2010 |
jsing |
Spin up secondary CPUs on hppa multiprocessor kernels. At this stage we enable clock interrupts, however do not allow processes to be scheduled onto the secondary CPUs - hopefully we can change this shortly...
ok kettenis@
|
#
1.33 |
|
06-May-2010 |
jsing |
Ansify functions and use "clock" rather than the CPU name for clock interrupts.
ok kettenis@
|
#
1.32 |
|
01-Apr-2010 |
jsing |
Allow for multiple CPUs by moving to an array of cpu_info.
ok kettenis@
|
#
1.31 |
|
28-Mar-2010 |
jsing |
Allow a multiprocessor kernel to compile.
ok kettenis@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.30 |
|
29-Dec-2009 |
jsing |
Move hppa to a "cpu0 at mainbus0" configuration, rather than knocking CPUs out in the cpu match function. Whilst here also hardwire the clock to IRQ 31, thus preventing one from building a kernel without hardclock.
ok kettenis@ miod@
|
Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE
|
#
1.29 |
|
08-Feb-2009 |
miod |
Make sure than cpu_hardclock() never sets a ``next interrupt value'' which has already been hit by the running timer; this happens very often on oosiop-based machines, due to these machines being among the slowest hppa, and oosiop being interrupt greedy. Unfortunately, when this happened, one had to wait for the timer to wrap, which would take up to 128 seconds on the 33MHz machines.
Also, invoke hardclock() as many times as necessary if it turns out that we had to delay the interrupt 1/hz seconds to avoid the aforementioned wrap problem.
With help from kettenis@; ok kettenis@
|
Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE
|
#
1.28 |
|
28-Dec-2004 |
mickey |
fix new line in dmesg print on 8k cpus
|
#
1.27 |
|
26-Oct-2004 |
mickey |
simplify cache print a bit
|
#
1.26 |
|
14-Sep-2004 |
mickey |
store fpu version for later use. make sure to proper store/clear fpu state in fork/exec/exit/sendsig
|
#
1.25 |
|
14-Sep-2004 |
mickey |
do not print anything about btlb if there is none
|
Revision tags: OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.24 |
|
07-Apr-2004 |
mickey |
update copyright; miod@ is fine w/ files where he holds it too
|
Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
|
#
1.23 |
|
22-Aug-2003 |
mickey |
rework cpu identification
|
#
1.22 |
|
07-Aug-2003 |
mickey |
make all intr_establish take the same last arg for name
|
Revision tags: UBC_SYNC_A
|
#
1.21 |
|
29-Mar-2003 |
mickey |
fix fpu printout and remove dead code piece
|
Revision tags: OPENBSD_3_3_BASE
|
#
1.20 |
|
08-Dec-2002 |
mickey |
duh, provide a wrapper on the hardclock() since it's void
|
#
1.19 |
|
27-Nov-2002 |
mickey |
no wrapper arounf hardclock(), use CPU_CLOCKUPDATE, real microtime; miod ok
|
Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
|
#
1.18 |
|
23-May-2002 |
mickey |
fetch fpu id per the book (even it works otherwise), also, hppa_mod_info() always returns some string; idea by fredette@
|
#
1.17 |
|
08-May-2002 |
mickey |
print parisc level w/ the the parisc version, not for each cpu
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.16 |
|
26-Mar-2002 |
mickey |
need to mask out the upper part for the fpu version on print
|
#
1.15 |
|
21-Mar-2002 |
mickey |
better cache mode print
|
#
1.14 |
|
19-Mar-2002 |
mickey |
no need for reg.h in the frame.h
|
#
1.13 |
|
14-Mar-2002 |
millert |
First round of __P removal in sys
|
#
1.12 |
|
06-Mar-2002 |
mickey |
no need to mask
|
#
1.11 |
|
06-Mar-2002 |
mickey |
expand fpu name, makes line overflow a bit, maybe deal w/ it later
|
#
1.10 |
|
05-Mar-2002 |
mickey |
rearrange stuff, chat about cache
|
#
1.9 |
|
11-Feb-2002 |
mickey |
disable fpu on csw, print fpu version on cpu line, if present
|
Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
|
#
1.8 |
|
15-Aug-2000 |
mickey |
branches: 1.8.8; print cpu revision and type
|
#
1.7 |
|
03-Jul-2000 |
mickey |
add luseless comment
|
Revision tags: OPENBSD_2_7_BASE SMP_BASE kame_19991208
|
#
1.6 |
|
26-Nov-1999 |
mickey |
branches: 1.6.2; shorter text, so it fits in 80 columns
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.5 |
|
16-Aug-1999 |
mickey |
evcnt count the interrupts, also optimize diagnostic printing
|
#
1.4 |
|
14-Aug-1999 |
mickey |
next try to print cpu model number. attach clock interrupt.
|
#
1.3 |
|
20-Apr-1999 |
mickey |
print cpu ID (type) if available
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.2 |
|
17-Feb-1999 |
mickey |
better cpu capabilities printing. print cpu PA level move cpu_gethpa() to mainbus.c
|
#
1.1 |
|
29-Dec-1998 |
mickey |
some cpu
|
#
1.44 |
|
06-Dec-2022 |
cheloha |
hppa: switch to clockintr
- Remove hppa-specific clock interrupt scheduling bits from cpu_info. - Rename cpu_hardclock() to itmr_intr(); it doesn't exclusively run hardclock(9) anymore. - Wire up itmr_intrclock.
hppa now has a randomized statclock(), stathz = hz.
Patch help, testing, and review from kettenis@ (B2000) and miod@ (C3650). MP testing from guenther@ (dual-core J6700).
ok mlarkin@ kettenis@, "Ship it?" guenther@
|
Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
|
#
1.43 |
|
13-Mar-2022 |
mpi |
Constify struct cfattach.
ok miod@
|
Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
|
#
1.42 |
|
29-May-2020 |
deraadt |
dev/rndvar.h no longer has statistical interfaces (removed during various conversion steps). it only contains kernel prototypes for 4 interfaces, all of which legitimately belong in sys/systm.h, which are already included by all enqueue_randomness() users.
|
Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.41 |
|
19-Jan-2014 |
deraadt |
Initialize ci_randseed better using arc4random() + a trick. Remove the libkern srandom() API since it is not suitable for this use. ok kettenis miod
|
#
1.40 |
|
26-Nov-2013 |
deraadt |
1 << 31 cleanup. Eitan Adler pointed out that there has been a resurrection of the bad idiom in the tree. sufficient review by miod, kettenis, tedu
|
Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
|
#
1.39 |
|
02-Jan-2011 |
kettenis |
Make need_resched() call cpu_unidle() such that we wake up a process running on another CPU.
ok miod@
|
#
1.38 |
|
30-Dec-2010 |
jsing |
Implement cpu_unidle() for MP kernels.
ok kettenis@
|
Revision tags: OPENBSD_4_8_BASE
|
#
1.37 |
|
26-Jun-2010 |
jsing |
Allow processes to be scheduled onto secondary CPUs.
ok kettenis@
|
#
1.36 |
|
03-Jun-2010 |
jsing |
Rename ci_spinup_stack to ci_stack and use it as the stack for both CPU spin up and FPU emulation. Since all CPUs need a stack for FPU emulation, move the allocation code to cpuattach().
ok kettenis@
|
#
1.35 |
|
21-May-2010 |
jsing |
Add support for IPIs on hppa.
ok kettenis@
|
#
1.34 |
|
19-May-2010 |
jsing |
Spin up secondary CPUs on hppa multiprocessor kernels. At this stage we enable clock interrupts, however do not allow processes to be scheduled onto the secondary CPUs - hopefully we can change this shortly...
ok kettenis@
|
#
1.33 |
|
06-May-2010 |
jsing |
Ansify functions and use "clock" rather than the CPU name for clock interrupts.
ok kettenis@
|
#
1.32 |
|
01-Apr-2010 |
jsing |
Allow for multiple CPUs by moving to an array of cpu_info.
ok kettenis@
|
#
1.31 |
|
28-Mar-2010 |
jsing |
Allow a multiprocessor kernel to compile.
ok kettenis@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.30 |
|
29-Dec-2009 |
jsing |
Move hppa to a "cpu0 at mainbus0" configuration, rather than knocking CPUs out in the cpu match function. Whilst here also hardwire the clock to IRQ 31, thus preventing one from building a kernel without hardclock.
ok kettenis@ miod@
|
Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE
|
#
1.29 |
|
08-Feb-2009 |
miod |
Make sure than cpu_hardclock() never sets a ``next interrupt value'' which has already been hit by the running timer; this happens very often on oosiop-based machines, due to these machines being among the slowest hppa, and oosiop being interrupt greedy. Unfortunately, when this happened, one had to wait for the timer to wrap, which would take up to 128 seconds on the 33MHz machines.
Also, invoke hardclock() as many times as necessary if it turns out that we had to delay the interrupt 1/hz seconds to avoid the aforementioned wrap problem.
With help from kettenis@; ok kettenis@
|
Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE
|
#
1.28 |
|
28-Dec-2004 |
mickey |
fix new line in dmesg print on 8k cpus
|
#
1.27 |
|
26-Oct-2004 |
mickey |
simplify cache print a bit
|
#
1.26 |
|
14-Sep-2004 |
mickey |
store fpu version for later use. make sure to proper store/clear fpu state in fork/exec/exit/sendsig
|
#
1.25 |
|
14-Sep-2004 |
mickey |
do not print anything about btlb if there is none
|
Revision tags: OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.24 |
|
07-Apr-2004 |
mickey |
update copyright; miod@ is fine w/ files where he holds it too
|
Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
|
#
1.23 |
|
22-Aug-2003 |
mickey |
rework cpu identification
|
#
1.22 |
|
07-Aug-2003 |
mickey |
make all intr_establish take the same last arg for name
|
Revision tags: UBC_SYNC_A
|
#
1.21 |
|
29-Mar-2003 |
mickey |
fix fpu printout and remove dead code piece
|
Revision tags: OPENBSD_3_3_BASE
|
#
1.20 |
|
08-Dec-2002 |
mickey |
duh, provide a wrapper on the hardclock() since it's void
|
#
1.19 |
|
27-Nov-2002 |
mickey |
no wrapper arounf hardclock(), use CPU_CLOCKUPDATE, real microtime; miod ok
|
Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
|
#
1.18 |
|
23-May-2002 |
mickey |
fetch fpu id per the book (even it works otherwise), also, hppa_mod_info() always returns some string; idea by fredette@
|
#
1.17 |
|
08-May-2002 |
mickey |
print parisc level w/ the the parisc version, not for each cpu
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.16 |
|
26-Mar-2002 |
mickey |
need to mask out the upper part for the fpu version on print
|
#
1.15 |
|
21-Mar-2002 |
mickey |
better cache mode print
|
#
1.14 |
|
19-Mar-2002 |
mickey |
no need for reg.h in the frame.h
|
#
1.13 |
|
14-Mar-2002 |
millert |
First round of __P removal in sys
|
#
1.12 |
|
06-Mar-2002 |
mickey |
no need to mask
|
#
1.11 |
|
06-Mar-2002 |
mickey |
expand fpu name, makes line overflow a bit, maybe deal w/ it later
|
#
1.10 |
|
05-Mar-2002 |
mickey |
rearrange stuff, chat about cache
|
#
1.9 |
|
11-Feb-2002 |
mickey |
disable fpu on csw, print fpu version on cpu line, if present
|
Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
|
#
1.8 |
|
15-Aug-2000 |
mickey |
branches: 1.8.8; print cpu revision and type
|
#
1.7 |
|
03-Jul-2000 |
mickey |
add luseless comment
|
Revision tags: OPENBSD_2_7_BASE SMP_BASE kame_19991208
|
#
1.6 |
|
26-Nov-1999 |
mickey |
branches: 1.6.2; shorter text, so it fits in 80 columns
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.5 |
|
16-Aug-1999 |
mickey |
evcnt count the interrupts, also optimize diagnostic printing
|
#
1.4 |
|
14-Aug-1999 |
mickey |
next try to print cpu model number. attach clock interrupt.
|
#
1.3 |
|
20-Apr-1999 |
mickey |
print cpu ID (type) if available
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.2 |
|
17-Feb-1999 |
mickey |
better cpu capabilities printing. print cpu PA level move cpu_gethpa() to mainbus.c
|
#
1.1 |
|
29-Dec-1998 |
mickey |
some cpu
|
#
1.43 |
|
13-Mar-2022 |
mpi |
Constify struct cfattach.
ok miod@
|
Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
|
#
1.42 |
|
29-May-2020 |
deraadt |
dev/rndvar.h no longer has statistical interfaces (removed during various conversion steps). it only contains kernel prototypes for 4 interfaces, all of which legitimately belong in sys/systm.h, which are already included by all enqueue_randomness() users.
|
Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.41 |
|
19-Jan-2014 |
deraadt |
Initialize ci_randseed better using arc4random() + a trick. Remove the libkern srandom() API since it is not suitable for this use. ok kettenis miod
|
#
1.40 |
|
26-Nov-2013 |
deraadt |
1 << 31 cleanup. Eitan Adler pointed out that there has been a resurrection of the bad idiom in the tree. sufficient review by miod, kettenis, tedu
|
Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
|
#
1.39 |
|
02-Jan-2011 |
kettenis |
Make need_resched() call cpu_unidle() such that we wake up a process running on another CPU.
ok miod@
|
#
1.38 |
|
30-Dec-2010 |
jsing |
Implement cpu_unidle() for MP kernels.
ok kettenis@
|
Revision tags: OPENBSD_4_8_BASE
|
#
1.37 |
|
26-Jun-2010 |
jsing |
Allow processes to be scheduled onto secondary CPUs.
ok kettenis@
|
#
1.36 |
|
03-Jun-2010 |
jsing |
Rename ci_spinup_stack to ci_stack and use it as the stack for both CPU spin up and FPU emulation. Since all CPUs need a stack for FPU emulation, move the allocation code to cpuattach().
ok kettenis@
|
#
1.35 |
|
21-May-2010 |
jsing |
Add support for IPIs on hppa.
ok kettenis@
|
#
1.34 |
|
19-May-2010 |
jsing |
Spin up secondary CPUs on hppa multiprocessor kernels. At this stage we enable clock interrupts, however do not allow processes to be scheduled onto the secondary CPUs - hopefully we can change this shortly...
ok kettenis@
|
#
1.33 |
|
06-May-2010 |
jsing |
Ansify functions and use "clock" rather than the CPU name for clock interrupts.
ok kettenis@
|
#
1.32 |
|
01-Apr-2010 |
jsing |
Allow for multiple CPUs by moving to an array of cpu_info.
ok kettenis@
|
#
1.31 |
|
28-Mar-2010 |
jsing |
Allow a multiprocessor kernel to compile.
ok kettenis@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.30 |
|
29-Dec-2009 |
jsing |
Move hppa to a "cpu0 at mainbus0" configuration, rather than knocking CPUs out in the cpu match function. Whilst here also hardwire the clock to IRQ 31, thus preventing one from building a kernel without hardclock.
ok kettenis@ miod@
|
Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE
|
#
1.29 |
|
08-Feb-2009 |
miod |
Make sure than cpu_hardclock() never sets a ``next interrupt value'' which has already been hit by the running timer; this happens very often on oosiop-based machines, due to these machines being among the slowest hppa, and oosiop being interrupt greedy. Unfortunately, when this happened, one had to wait for the timer to wrap, which would take up to 128 seconds on the 33MHz machines.
Also, invoke hardclock() as many times as necessary if it turns out that we had to delay the interrupt 1/hz seconds to avoid the aforementioned wrap problem.
With help from kettenis@; ok kettenis@
|
Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE
|
#
1.28 |
|
28-Dec-2004 |
mickey |
fix new line in dmesg print on 8k cpus
|
#
1.27 |
|
26-Oct-2004 |
mickey |
simplify cache print a bit
|
#
1.26 |
|
14-Sep-2004 |
mickey |
store fpu version for later use. make sure to proper store/clear fpu state in fork/exec/exit/sendsig
|
#
1.25 |
|
14-Sep-2004 |
mickey |
do not print anything about btlb if there is none
|
Revision tags: OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.24 |
|
07-Apr-2004 |
mickey |
update copyright; miod@ is fine w/ files where he holds it too
|
Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
|
#
1.23 |
|
22-Aug-2003 |
mickey |
rework cpu identification
|
#
1.22 |
|
07-Aug-2003 |
mickey |
make all intr_establish take the same last arg for name
|
Revision tags: UBC_SYNC_A
|
#
1.21 |
|
29-Mar-2003 |
mickey |
fix fpu printout and remove dead code piece
|
Revision tags: OPENBSD_3_3_BASE
|
#
1.20 |
|
08-Dec-2002 |
mickey |
duh, provide a wrapper on the hardclock() since it's void
|
#
1.19 |
|
27-Nov-2002 |
mickey |
no wrapper arounf hardclock(), use CPU_CLOCKUPDATE, real microtime; miod ok
|
Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
|
#
1.18 |
|
23-May-2002 |
mickey |
fetch fpu id per the book (even it works otherwise), also, hppa_mod_info() always returns some string; idea by fredette@
|
#
1.17 |
|
08-May-2002 |
mickey |
print parisc level w/ the the parisc version, not for each cpu
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.16 |
|
26-Mar-2002 |
mickey |
need to mask out the upper part for the fpu version on print
|
#
1.15 |
|
21-Mar-2002 |
mickey |
better cache mode print
|
#
1.14 |
|
19-Mar-2002 |
mickey |
no need for reg.h in the frame.h
|
#
1.13 |
|
14-Mar-2002 |
millert |
First round of __P removal in sys
|
#
1.12 |
|
06-Mar-2002 |
mickey |
no need to mask
|
#
1.11 |
|
06-Mar-2002 |
mickey |
expand fpu name, makes line overflow a bit, maybe deal w/ it later
|
#
1.10 |
|
05-Mar-2002 |
mickey |
rearrange stuff, chat about cache
|
#
1.9 |
|
11-Feb-2002 |
mickey |
disable fpu on csw, print fpu version on cpu line, if present
|
Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
|
#
1.8 |
|
15-Aug-2000 |
mickey |
branches: 1.8.8; print cpu revision and type
|
#
1.7 |
|
03-Jul-2000 |
mickey |
add luseless comment
|
Revision tags: OPENBSD_2_7_BASE SMP_BASE kame_19991208
|
#
1.6 |
|
26-Nov-1999 |
mickey |
branches: 1.6.2; shorter text, so it fits in 80 columns
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.5 |
|
16-Aug-1999 |
mickey |
evcnt count the interrupts, also optimize diagnostic printing
|
#
1.4 |
|
14-Aug-1999 |
mickey |
next try to print cpu model number. attach clock interrupt.
|
#
1.3 |
|
20-Apr-1999 |
mickey |
print cpu ID (type) if available
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.2 |
|
17-Feb-1999 |
mickey |
better cpu capabilities printing. print cpu PA level move cpu_gethpa() to mainbus.c
|
#
1.1 |
|
29-Dec-1998 |
mickey |
some cpu
|
#
1.42 |
|
29-May-2020 |
deraadt |
dev/rndvar.h no longer has statistical interfaces (removed during various conversion steps). it only contains kernel prototypes for 4 interfaces, all of which legitimately belong in sys/systm.h, which are already included by all enqueue_randomness() users.
|
Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.41 |
|
19-Jan-2014 |
deraadt |
Initialize ci_randseed better using arc4random() + a trick. Remove the libkern srandom() API since it is not suitable for this use. ok kettenis miod
|
#
1.40 |
|
26-Nov-2013 |
deraadt |
1 << 31 cleanup. Eitan Adler pointed out that there has been a resurrection of the bad idiom in the tree. sufficient review by miod, kettenis, tedu
|
Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
|
#
1.39 |
|
02-Jan-2011 |
kettenis |
Make need_resched() call cpu_unidle() such that we wake up a process running on another CPU.
ok miod@
|
#
1.38 |
|
30-Dec-2010 |
jsing |
Implement cpu_unidle() for MP kernels.
ok kettenis@
|
Revision tags: OPENBSD_4_8_BASE
|
#
1.37 |
|
26-Jun-2010 |
jsing |
Allow processes to be scheduled onto secondary CPUs.
ok kettenis@
|
#
1.36 |
|
03-Jun-2010 |
jsing |
Rename ci_spinup_stack to ci_stack and use it as the stack for both CPU spin up and FPU emulation. Since all CPUs need a stack for FPU emulation, move the allocation code to cpuattach().
ok kettenis@
|
#
1.35 |
|
21-May-2010 |
jsing |
Add support for IPIs on hppa.
ok kettenis@
|
#
1.34 |
|
19-May-2010 |
jsing |
Spin up secondary CPUs on hppa multiprocessor kernels. At this stage we enable clock interrupts, however do not allow processes to be scheduled onto the secondary CPUs - hopefully we can change this shortly...
ok kettenis@
|
#
1.33 |
|
06-May-2010 |
jsing |
Ansify functions and use "clock" rather than the CPU name for clock interrupts.
ok kettenis@
|
#
1.32 |
|
01-Apr-2010 |
jsing |
Allow for multiple CPUs by moving to an array of cpu_info.
ok kettenis@
|
#
1.31 |
|
28-Mar-2010 |
jsing |
Allow a multiprocessor kernel to compile.
ok kettenis@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.30 |
|
29-Dec-2009 |
jsing |
Move hppa to a "cpu0 at mainbus0" configuration, rather than knocking CPUs out in the cpu match function. Whilst here also hardwire the clock to IRQ 31, thus preventing one from building a kernel without hardclock.
ok kettenis@ miod@
|
Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE
|
#
1.29 |
|
08-Feb-2009 |
miod |
Make sure than cpu_hardclock() never sets a ``next interrupt value'' which has already been hit by the running timer; this happens very often on oosiop-based machines, due to these machines being among the slowest hppa, and oosiop being interrupt greedy. Unfortunately, when this happened, one had to wait for the timer to wrap, which would take up to 128 seconds on the 33MHz machines.
Also, invoke hardclock() as many times as necessary if it turns out that we had to delay the interrupt 1/hz seconds to avoid the aforementioned wrap problem.
With help from kettenis@; ok kettenis@
|
Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE
|
#
1.28 |
|
28-Dec-2004 |
mickey |
fix new line in dmesg print on 8k cpus
|
#
1.27 |
|
26-Oct-2004 |
mickey |
simplify cache print a bit
|
#
1.26 |
|
14-Sep-2004 |
mickey |
store fpu version for later use. make sure to proper store/clear fpu state in fork/exec/exit/sendsig
|
#
1.25 |
|
14-Sep-2004 |
mickey |
do not print anything about btlb if there is none
|
Revision tags: OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.24 |
|
07-Apr-2004 |
mickey |
update copyright; miod@ is fine w/ files where he holds it too
|
Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
|
#
1.23 |
|
22-Aug-2003 |
mickey |
rework cpu identification
|
#
1.22 |
|
07-Aug-2003 |
mickey |
make all intr_establish take the same last arg for name
|
Revision tags: UBC_SYNC_A
|
#
1.21 |
|
29-Mar-2003 |
mickey |
fix fpu printout and remove dead code piece
|
Revision tags: OPENBSD_3_3_BASE
|
#
1.20 |
|
08-Dec-2002 |
mickey |
duh, provide a wrapper on the hardclock() since it's void
|
#
1.19 |
|
27-Nov-2002 |
mickey |
no wrapper arounf hardclock(), use CPU_CLOCKUPDATE, real microtime; miod ok
|
Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
|
#
1.18 |
|
23-May-2002 |
mickey |
fetch fpu id per the book (even it works otherwise), also, hppa_mod_info() always returns some string; idea by fredette@
|
#
1.17 |
|
08-May-2002 |
mickey |
print parisc level w/ the the parisc version, not for each cpu
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.16 |
|
26-Mar-2002 |
mickey |
need to mask out the upper part for the fpu version on print
|
#
1.15 |
|
21-Mar-2002 |
mickey |
better cache mode print
|
#
1.14 |
|
19-Mar-2002 |
mickey |
no need for reg.h in the frame.h
|
#
1.13 |
|
14-Mar-2002 |
millert |
First round of __P removal in sys
|
#
1.12 |
|
06-Mar-2002 |
mickey |
no need to mask
|
#
1.11 |
|
06-Mar-2002 |
mickey |
expand fpu name, makes line overflow a bit, maybe deal w/ it later
|
#
1.10 |
|
05-Mar-2002 |
mickey |
rearrange stuff, chat about cache
|
#
1.9 |
|
11-Feb-2002 |
mickey |
disable fpu on csw, print fpu version on cpu line, if present
|
Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
|
#
1.8 |
|
15-Aug-2000 |
mickey |
branches: 1.8.8; print cpu revision and type
|
#
1.7 |
|
03-Jul-2000 |
mickey |
add luseless comment
|
Revision tags: OPENBSD_2_7_BASE SMP_BASE kame_19991208
|
#
1.6 |
|
26-Nov-1999 |
mickey |
branches: 1.6.2; shorter text, so it fits in 80 columns
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.5 |
|
16-Aug-1999 |
mickey |
evcnt count the interrupts, also optimize diagnostic printing
|
#
1.4 |
|
14-Aug-1999 |
mickey |
next try to print cpu model number. attach clock interrupt.
|
#
1.3 |
|
20-Apr-1999 |
mickey |
print cpu ID (type) if available
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.2 |
|
17-Feb-1999 |
mickey |
better cpu capabilities printing. print cpu PA level move cpu_gethpa() to mainbus.c
|
#
1.1 |
|
29-Dec-1998 |
mickey |
some cpu
|
Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.41 |
|
19-Jan-2014 |
deraadt |
Initialize ci_randseed better using arc4random() + a trick. Remove the libkern srandom() API since it is not suitable for this use. ok kettenis miod
|
#
1.40 |
|
26-Nov-2013 |
deraadt |
1 << 31 cleanup. Eitan Adler pointed out that there has been a resurrection of the bad idiom in the tree. sufficient review by miod, kettenis, tedu
|
Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
|
#
1.39 |
|
02-Jan-2011 |
kettenis |
Make need_resched() call cpu_unidle() such that we wake up a process running on another CPU.
ok miod@
|
#
1.38 |
|
30-Dec-2010 |
jsing |
Implement cpu_unidle() for MP kernels.
ok kettenis@
|
Revision tags: OPENBSD_4_8_BASE
|
#
1.37 |
|
26-Jun-2010 |
jsing |
Allow processes to be scheduled onto secondary CPUs.
ok kettenis@
|
#
1.36 |
|
03-Jun-2010 |
jsing |
Rename ci_spinup_stack to ci_stack and use it as the stack for both CPU spin up and FPU emulation. Since all CPUs need a stack for FPU emulation, move the allocation code to cpuattach().
ok kettenis@
|
#
1.35 |
|
21-May-2010 |
jsing |
Add support for IPIs on hppa.
ok kettenis@
|
#
1.34 |
|
19-May-2010 |
jsing |
Spin up secondary CPUs on hppa multiprocessor kernels. At this stage we enable clock interrupts, however do not allow processes to be scheduled onto the secondary CPUs - hopefully we can change this shortly...
ok kettenis@
|
#
1.33 |
|
06-May-2010 |
jsing |
Ansify functions and use "clock" rather than the CPU name for clock interrupts.
ok kettenis@
|
#
1.32 |
|
01-Apr-2010 |
jsing |
Allow for multiple CPUs by moving to an array of cpu_info.
ok kettenis@
|
#
1.31 |
|
28-Mar-2010 |
jsing |
Allow a multiprocessor kernel to compile.
ok kettenis@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.30 |
|
29-Dec-2009 |
jsing |
Move hppa to a "cpu0 at mainbus0" configuration, rather than knocking CPUs out in the cpu match function. Whilst here also hardwire the clock to IRQ 31, thus preventing one from building a kernel without hardclock.
ok kettenis@ miod@
|
Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE
|
#
1.29 |
|
08-Feb-2009 |
miod |
Make sure than cpu_hardclock() never sets a ``next interrupt value'' which has already been hit by the running timer; this happens very often on oosiop-based machines, due to these machines being among the slowest hppa, and oosiop being interrupt greedy. Unfortunately, when this happened, one had to wait for the timer to wrap, which would take up to 128 seconds on the 33MHz machines.
Also, invoke hardclock() as many times as necessary if it turns out that we had to delay the interrupt 1/hz seconds to avoid the aforementioned wrap problem.
With help from kettenis@; ok kettenis@
|
Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE
|
#
1.28 |
|
28-Dec-2004 |
mickey |
fix new line in dmesg print on 8k cpus
|
#
1.27 |
|
26-Oct-2004 |
mickey |
simplify cache print a bit
|
#
1.26 |
|
14-Sep-2004 |
mickey |
store fpu version for later use. make sure to proper store/clear fpu state in fork/exec/exit/sendsig
|
#
1.25 |
|
14-Sep-2004 |
mickey |
do not print anything about btlb if there is none
|
Revision tags: OPENBSD_3_6_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.24 |
|
07-Apr-2004 |
mickey |
update copyright; miod@ is fine w/ files where he holds it too
|
Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE
|
#
1.23 |
|
22-Aug-2003 |
mickey |
rework cpu identification
|
#
1.22 |
|
07-Aug-2003 |
mickey |
make all intr_establish take the same last arg for name
|
Revision tags: UBC_SYNC_A
|
#
1.21 |
|
29-Mar-2003 |
mickey |
fix fpu printout and remove dead code piece
|
Revision tags: OPENBSD_3_3_BASE
|
#
1.20 |
|
08-Dec-2002 |
mickey |
duh, provide a wrapper on the hardclock() since it's void
|
#
1.19 |
|
27-Nov-2002 |
mickey |
no wrapper arounf hardclock(), use CPU_CLOCKUPDATE, real microtime; miod ok
|
Revision tags: OPENBSD_3_2_BASE UBC_SYNC_B
|
#
1.18 |
|
23-May-2002 |
mickey |
fetch fpu id per the book (even it works otherwise), also, hppa_mod_info() always returns some string; idea by fredette@
|
#
1.17 |
|
08-May-2002 |
mickey |
print parisc level w/ the the parisc version, not for each cpu
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.16 |
|
26-Mar-2002 |
mickey |
need to mask out the upper part for the fpu version on print
|
#
1.15 |
|
21-Mar-2002 |
mickey |
better cache mode print
|
#
1.14 |
|
19-Mar-2002 |
mickey |
no need for reg.h in the frame.h
|
#
1.13 |
|
14-Mar-2002 |
millert |
First round of __P removal in sys
|
#
1.12 |
|
06-Mar-2002 |
mickey |
no need to mask
|
#
1.11 |
|
06-Mar-2002 |
mickey |
expand fpu name, makes line overflow a bit, maybe deal w/ it later
|
#
1.10 |
|
05-Mar-2002 |
mickey |
rearrange stuff, chat about cache
|
#
1.9 |
|
11-Feb-2002 |
mickey |
disable fpu on csw, print fpu version on cpu line, if present
|
Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE UBC_BASE
|
#
1.8 |
|
15-Aug-2000 |
mickey |
branches: 1.8.8; print cpu revision and type
|
#
1.7 |
|
03-Jul-2000 |
mickey |
add luseless comment
|
Revision tags: OPENBSD_2_7_BASE SMP_BASE kame_19991208
|
#
1.6 |
|
26-Nov-1999 |
mickey |
branches: 1.6.2; shorter text, so it fits in 80 columns
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.5 |
|
16-Aug-1999 |
mickey |
evcnt count the interrupts, also optimize diagnostic printing
|
#
1.4 |
|
14-Aug-1999 |
mickey |
next try to print cpu model number. attach clock interrupt.
|
#
1.3 |
|
20-Apr-1999 |
mickey |
print cpu ID (type) if available
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.2 |
|
17-Feb-1999 |
mickey |
better cpu capabilities printing. print cpu PA level move cpu_gethpa() to mainbus.c
|
#
1.1 |
|
29-Dec-1998 |
mickey |
some cpu
|