summaryrefslogtreecommitdiffstats
path: root/sys/pc98/cbus/pcrtc.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix build error.nyan2005-12-231-0/+1
|
* Tweak how the MD code calls the fooclock() methods some. Instead ofjhb2005-12-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | passing a pointer to an opaque clockframe structure and requiring the MD code to supply CLKF_FOO() macros to extract needed values out of the opaque structure, just pass the needed values directly. In practice this means passing the pair (usermode, pc) to hardclock() and profclock() and passing the boolean (usermode) to hardclock_cpu() and hardclock_process(). Other details: - Axe clockframe and CLKF_FOO() macros on all architectures. Basically, all the archs were taking a trapframe and converting it into a clockframe one way or another. Now they can just extract the PC and usermode values directly out of the trapframe and pass it to fooclock(). - Renamed hardclock_process() to hardclock_cpu() as the latter is more accurate. - On Alpha, we now run profclock() at hz (profhz == hz) rather than at the slower stathz. - On Alpha, for the TurboLaser machines that don't have an 8254 timecounter, call hardclock() directly. This removes an extra conditional check from every clock interrupt on Alpha on the BSP. There is probably room for even further pruning here by changing Alpha to use the simplified timecounter we use on x86 with the lapic timer since we don't get interrupts from the 8254 on Alpha anyway. - On x86, clkintr() shouldn't ever be called now unless using_lapic_timer is false, so add a KASSERT() to that affect and remove a condition to slightly optimize the non-lapic case. - Change prototypeof arm_handler_execute() so that it's first arg is a trapframe pointer rather than a void pointer for clarity. - Use KCOUNT macro in profclock() to lookup the kernel profiling bucket. Tested on: alpha, amd64, arm, i386, ia64, sparc64 Reviewed by: bde (mostly)
* Fixup some more fallout from the lapic/i8254 changes:jhb2005-07-131-24/+20
| | | | | | | | | | | | - Make sure timer0_max_count is set to a correct value in the lapic case. - Revert i8254_restore() to explicitly reprogram timer 0 rather than calling set_timer_freq() to do it. set_timer_freq() only reprograms the counter if the max count changes which it never does on resume. This unbreaks suspend/resume for several people. Tested by: marks, others Reviewed by: bde MFC after: 3 days
* Remove a || 1 that crept into the i8254 commit and was subsequentlyjhb2005-07-051-1/+1
| | | | | | | | | copied and pasted. I had actually tested without this change in my trees as had the other testers. Reported by: bde, Rostislav Krasny rosti dot bsd at gmail dot com Approved by: re (scottl) Pointy hat to: jhb
* MFi386: r1.221 (Use a simpler implementation for the i8254 timecounter).nyan2005-07-031-12/+35
| | | | Approved by: re (scottl)
* - Move timerreg.h to <arch>/include and split i8253 specific defines intonyan2005-05-141-7/+7
| | | | | | | | | i8253reg.h, and add some defines to control a speaker. - Move PPI related defines from i386/isa/spkr.c into ppireg.h and use them. - Move IO_{PPI,TIMER} defines into ppireg.h and timerreg.h respectively. - Use isa/isareg.h rather than <arch>/isa/isa.h. Tested on: i386, pc98
* Change a directory layout for pc98.nyan2005-05-101-1/+1
| | | | | | | | | - Move MD files into <arch>/<arch>. - Move bus dependent files into <arch>/<bus>. Rename some files to more suitable names. Repo-copied by: peter Discussed with: imp
* Merge from i386:jhb2005-03-241-7/+16
| | | | | - Add a i8254_pending variable to save some indirections in clkintr(). - Don't bother setting up an IRQ0 handler if we are using the lapic timer.
* MFi386: revision 1.217.nyan2005-03-121-3/+0
|
* - Remove the BURN_BRIDGES marked support for hooking into the ISA timer 0jhb2005-03-091-144/+2
| | | | | | | | interrupt. - Remove the timer_func variable as it now has a static value of hardclock() and is only used in one place. Axe borrowed from: phk
* Fix pc98 compile: merge in changes to use the local APIC timer. Also, addjhb2005-02-091-14/+14
| | | | missing initialization of i8254_intsrc while I am here.
* MFi386: revision 1.213.nyan2004-07-131-16/+20
| | | | Fix miss merging in previous change.
* MFi386: revision 1.212.nyan2004-07-111-13/+11
|
* Add missing <sys/module.h> includes.phk2004-06-071-0/+1
|
* Remove advertising clause from University of California Regent'simp2004-04-071-4/+0
| | | | | | | license, per letter dated July 22, 1999 and email from Peter Wemm, Alan Cox and Robert Watson. Approved by: core, peter, alc, rwatson
* Add a comment about time stamper.nyan2004-03-291-1/+1
| | | | Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
* including isa_device.h was historical in this file, remove itimp2004-03-151-1/+0
|
* MFi386: revision 1.206nyan2003-11-041-166/+13
|
* MFi386: revision 1.205nyan2003-10-051-1/+146
|
* MFi386: revision 1.204.nyan2003-09-111-2/+18
|
* MFi386: revisions 1.202 and 1.203.nyan2003-08-231-139/+3
|
* bandaide to make this build againimp2003-08-161-2/+6
|
* MFi386: revision 1.201.nyan2003-08-081-0/+1
|
* MFi386: revision 1.199nyan2003-06-011-1/+1
|
* Deprecate machine/limits.h in favor of new sys/limits.h.kan2003-04-291-1/+1
| | | | | | | Change all in-tree consumers to include <sys/limits.h> Discussed on: standards@ Partially submitted by: Craig Rodrigues <rodrigc@attbi.com>
* PC98 systems don't need to worry about the MCA bus.mdodd2003-03-241-9/+0
|
* Including <sys/stdint.h> is (almost?) universally only to be able to usephk2003-03-181-1/+0
| | | | | %j in printfs, so put a newsted include in <sys/systm.h> where the printf prototype lives and save everybody else the trouble.
* Switch to use the TSC code i386/i386/tsc.cphk2003-02-111-110/+1
|
* Reduce diff to i386/isa/clock.c by unifdef -DPC98phk2003-02-051-415/+0
|
* Typo in last commitphk2003-02-051-1/+1
|
* MFi386: write the correct weekday back to the RTC.phk2003-02-051-1/+1
|
* Split the global timezone structure into two integer fields tophk2003-02-031-3/+3
| | | | | | | | | | prevent the compiler from optimizing assignments into byte-copy operations which might make access to the individual fields non-atomic. Use the individual fields throughout, and don't bother locking them with Giant: it is no longer needed. Inspired by: tjr
* Split statclock into statclock and profclock, and made the method for drivingjake2003-02-031-2/+15
| | | | | | | | | | | | | statclock based on profhz when profiling is enabled MD, since most platforms don't use this anyway. This removes the need for statclock_process, whose only purpose was to subdivide profhz, and gets the profiling clock running outside of sched_lock on platforms that implement suswintr. Also changed the interface for starting and stopping the profiling clock to do just that, instead of changing the rate of statclock, since they can now be separate. Reviewed by: jhb, tmm Tested on: i386, sparc64
* MFi386: revision 1.192.nyan2003-01-301-4/+5
|
* Make tsc_freq a 64bit on PC98 also.phk2003-01-291-2/+3
|
* MFi386: revisions 1.189 and 1.190.nyan2002-10-221-12/+10
|
* Remove #ifdef/#endif 3 years after the stuff they protected was removed.phk2002-09-211-2/+0
| | | | Spotted by: peter.
* MFi386: sys/i386/isa/clock.c revision 1.187.kato2002-06-241-2/+2
|
* Don't export timecounter structures under debug. with sysctl, theyphk2002-04-301-6/+0
| | | | contain no truly interesting data anymore.
* Remove the tc_update() function. Any frequency change to thephk2002-04-261-2/+0
| | | | | | timecounter will be used starting at the next second, which is good enough for sysctl purposes. If better adjustment is needed the NTP PLL should be used.
* Compromise for critical*()/cpu_critical*() recommit. Cleanup the interruptdillon2002-03-271-0/+11
| | | | | | | | | | | | | | | | | | | disablement assumptions in kern_fork.c by adding another API call, cpu_critical_fork_exit(). Cleanup the td_savecrit field by moving it from MI to MD. Temporarily move cpu_critical*() from <arch>/include/cpufunc.h to <arch>/<arch>/critical.c (stage-2 will clean this up). Implement interrupt deferral for i386 that allows interrupts to remain enabled inside critical sections. This also fixes an IPI interlock bug, and requires uses of icu_lock to be enclosed in a true interrupt disablement. This is the stage-1 commit. Stage-2 will occur after stage-1 has stabilized, and will move cpu_critical*() into its own header file(s) + other things. This commit may break non-i386 architectures in trivial ways. This should be temporary. Reviewed by: core Approved by: core
* Remove __P.kato2002-03-201-11/+11
|
* MFi386: revision 1.180nyan2002-01-311-0/+5
|
* MFi386: revision 1.178nyan2001-12-221-7/+4
|
* MFi386: revision 1.179nyan2001-12-221-0/+10
|
* MFi386: sys/i386/isa/clock.c revision 1.177nyan2001-10-191-4/+0
|
* MFi386: sys/i386/isa/clock.c revision 1.175 and 1.176.nyan2001-09-161-5/+36
|
* Remove unneeded includes of sys/ipl.h and machine/ipl.h.jhb2001-05-151-1/+0
|
* Merged from sys/i386/isa/clock.c revisions 1.172 and 1.173.kato2001-05-021-1/+15
|
* Merged from sys/i386/isa/clock.c revision 1.171.nyan2001-04-011-3/+1
|
OpenPOWER on IntegriCloud