History log of /freebsd-10-stable/sys/pc98/cbus/pcrtc.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 178315 19-Apr-2008 nyan

MFi386: Merge yet another the RTC related work.

Split the pcrtc driver into pcrtc.c which is repo-copied from clock.c


# 178169 13-Apr-2008 nyan

MFi386: RTC related cleanups.

- Use generic RTC handling code.
- Make clock_if.m and subr_rtc.c standard.
- Nuke MD inittodr(), resettodr() functions.
- Add new "pcrtc" device driver.
- Add hints for "pcrtc" driver.


# 177651 26-Mar-2008 phk

Back in the good old days, PC's had random pieces of rock for
frequency generation and what frequency the generated was anyones
guess.

In general the 32.768kHz RTC clock x-tal was the best, because that
was a regular wrist-watch Xtal, whereas the X-tal generating the
ISA bus frequency was much lower quality, often costing as much as
several cents a piece, so it made good sense to check the ISA bus
frequency against the RTC clock.

The other relevant property of those machines, is that they
typically had no more than 16MB RAM.

These days, CPU chips croak if their clocks are not tightly within
specs and all necessary frequencies are derived from the master
crystal by means if PLL's.

Considering that it takes on average 1.5 second to calibrate the
frequency of the i8254 counter, that more likely than not, we will
not actually use the result of the calibration, and as the final
clincher, we seldom use the i8254 for anything besides BEL in
syscons anyway, it has become time to drop the calibration code.

If you need to tell the system what frequency your i8254 runs,
you can do so from the loader using hw.i8254.freq or using the
sysctl kern.timecounter.tc.i8254.frequency.


# 177642 26-Mar-2008 phk

The "free-lance" timer in the i8254 is only used for the speaker
these days, so de-generalize the acquire_timer/release_timer api
to just deal with speakers.

The new (optional) MD functions are:
timer_spkr_acquire()
timer_spkr_release()
and
timer_spkr_setfreq()

the last of which configures the timer to generate a tone of a given
frequency, in Hz instead of 1/1193182th of seconds.

Drop entirely timer2 on pc98, it is not used anywhere at all.

Move sysbeep() to kern/tty_cons.c and use the timer_spkr*() if
they exist, and do nothing otherwise.

Remove prototypes and empty acquire-/release-timer() and sysbeep()
functions from the non-beeping archs.

This eliminate the need for the speaker driver to know about
i8254frequency at all. In theory this makes the speaker driver MI,
contingent on the timer_spkr_*() functions existing but the driver
does not know this yet and still attaches to the ISA bus.

Syscons is more tricky, in one function, sc_tone(), it knows the hz
and things are just fine.

In the other function, sc_bell() it seems to get the period from
the KDMKTONE ioctl in terms if 1/1193182th second, so we hardcode
the 1193182 and leave it at that. It's probably not important.

Change a few other sysbeep() uses which obviously knew that the
argument was in terms of i8254 frequency, and leave alone those
that look like people thought sysbeep() took frequency in hertz.

This eliminates the knowledge of i8254_freq from all but the actual
clock.c code and the prof_machdep.c on amd64 and i386, where I think
it would be smart to ask for help from the timecounters anyway [TBD].


# 177631 26-Mar-2008 phk

Rename timer0_max_count to i8254_max_count.
Rename timer0_real_max_count to i8254_real_max_count and make it static.
Rename timer_freq to i8254_freq and make it a loader tunable.


# 177628 26-Mar-2008 phk

The RTC related pscnt and psdiv variables have no business being public.


# 171653 29-Jul-2007 dwmalone

Mfi386 revision 1.239 of src/sys/i386/isa/clock.c. Seemingly some
pc98 motherboards do not provide us with the correct day of week
either. Ignore the day of week when setting the clock here too.

Approved by: re (bmah)
Requested from: nyan
MFC after: 3 weeks


# 171553 23-Jul-2007 dwmalone

If clock_ct_to_ts fails to convert time time from the real time clock,
print a one line error message. Add some comments on not being able to
trust the day of week field (I'll act on these comments in a follow up
commit).

Approved by: re
MFC after: 3 weeks


# 170289 04-Jun-2007 dwmalone

Despite several examples in the kernel, the third argument of
sysctl_handle_int is not sizeof the int type you want to export.
The type must always be an int or an unsigned int.

Remove the instances where a sizeof(variable) is passed to stop
people accidently cut and pasting these examples.

In a few places this was sysctl_handle_int was being used on 64 bit
types, which would truncate the value to be exported. In these
cases use sysctl_handle_quad to export them and change the format
to Q so that sysctl(1) can still print them.


# 167198 04-Mar-2007 nyan

- Use mtx_{lock,unlock}_spin rather than {disable,enable}_intr.
- Remove unnecessary findcpuspeed() function.
- Initialize the timer_freq in i8254_init().
- Fix inittodr() and resettodr(). These are broken by rev.1.154.


# 167193 04-Mar-2007 nyan

Reduce diffs with i386.


# 166976 25-Feb-2007 piso

Garbage collect a reference to INTR_FAST.


# 166901 23-Feb-2007 piso

o break newbus api: add a new argument of type driver_filter_t to
bus_setup_intr()

o add an int return code to all fast handlers

o retire INTR_FAST/IH_FAST

For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current

Reviewed by: many
Approved by: re@


# 166189 23-Jan-2007 bde

Oops, pc98 is independent of i386 for clock.c and machdep.c but not
for clock.h, so changing th i386 clock.h broke it. MFi386 (not tested):

Cleaned up declaration and initialization of clock_lock. It is only
used by clock code, so don't export it to the world for machdep.c to
initialize. There is a minor problem initializing it before it is
used, since although clock initialization is split up so that parts
of it can be done early, the first part was never done early enough
to actually work. Split it up a bit more and do the first part as
late as possible to document the necessary order. The functions that
implement the split are still bogusly exported.

Cleaned up initialization of the i8254 clock hardware using the new
split. Actually initialize it early enough, and don't work around it
not being initialized in DELAY() when DELAY() is called early for
initialization of some console drivers.

This unfortunately moves a little more code before the early debugger
breakpoint so that it is harder to debug. The ordering of console and
related initialization is delicate because we want to do as little as
possible before the breakpoint, but must initialize a console.


# 162964 02-Oct-2006 phk

Use Calendrical Calculations from subr_clock.c instead of home copy&pasted.


# 162958 02-Oct-2006 phk

Second part of a little cleanup in the calendar/timezone/RTC handling.

Split subr_clock.c in two parts (by repo-copy):
subr_clock.c contains generic RTC and calendaric stuff. etc.
subr_rtc.c contains the newbus'ified RTC interface.

Centralize the machdep.{adjkerntz,disable_rtc_set,wall_cmos_clock}
sysctls and associated variables into subr_clock.c. They are
not machine dependent and we have generic code that relies on being
present so they are not even optional.


# 162954 02-Oct-2006 phk

First part of a little cleanup in the calendar/timezone/RTC handling.

Move relevant variables to <sys/clock.h> and fix #includes as necessary.

Use libkern's much more time- & spamce-efficient BCD routines.


# 153682 23-Dec-2005 nyan

Fix build error.


# 153666 22-Dec-2005 jhb

Tweak how the MD code calls the fooclock() methods some. Instead of
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)


# 147969 13-Jul-2005 jhb

Fixup some more fallout from the lapic/i8254 changes:
- 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


# 147783 05-Jul-2005 jhb

Remove a || 1 that crept into the i8254 commit and was subsequently
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


# 147754 03-Jul-2005 nyan

MFi386: r1.221 (Use a simpler implementation for the i8254 timecounter).

Approved by: re (scottl)


# 146211 14-May-2005 nyan

- Move timerreg.h to <arch>/include and split i8253 specific defines into
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


# 146049 10-May-2005 nyan

Change a directory layout for pc98.
- 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


# 144079 24-Mar-2005 jhb

Merge from i386:
- 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.


# 143456 12-Mar-2005 nyan

MFi386: revision 1.217.


# 143324 09-Mar-2005 jhb

- Remove the BURN_BRIDGES marked support for hooking into the ISA timer 0
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


# 141594 09-Feb-2005 jhb

Fix pc98 compile: merge in changes to use the local APIC timer. Also, add
missing initialization of i8254_intsrc while I am here.


# 132101 13-Jul-2004 nyan

MFi386: revision 1.213.
Fix miss merging in previous change.


# 131977 11-Jul-2004 nyan

MFi386: revision 1.212.


# 130174 07-Jun-2004 phk

Add missing <sys/module.h> includes.


# 127977 07-Apr-2004 imp

Remove advertising clause from University of California Regent's
license, per letter dated July 22, 1999 and email from Peter Wemm,
Alan Cox and Robert Watson.

Approved by: core, peter, alc, rwatson


# 127567 29-Mar-2004 nyan

Add a comment about time stamper.

Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)


# 127016 15-Mar-2004 imp

including isa_device.h was historical in this file, remove it


# 122053 04-Nov-2003 nyan

MFi386: revision 1.206


# 120799 05-Oct-2003 nyan

MFi386: revision 1.205


# 119987 11-Sep-2003 nyan

MFi386: revision 1.204.


# 119353 23-Aug-2003 nyan

MFi386: revisions 1.202 and 1.203.


# 118991 16-Aug-2003 imp

bandaide to make this build again


# 118650 08-Aug-2003 nyan

MFi386: revision 1.201.


# 115599 01-Jun-2003 nyan

MFi386: revision 1.199


# 114216 29-Apr-2003 kan

Deprecate machine/limits.h in favor of new sys/limits.h.
Change all in-tree consumers to include <sys/limits.h>

Discussed on: standards@
Partially submitted by: Craig Rodrigues <rodrigc@attbi.com>


# 112550 24-Mar-2003 mdodd

PC98 systems don't need to worry about the MCA bus.


# 112367 18-Mar-2003 phk

Including <sys/stdint.h> is (almost?) universally only to be able to use
%j in printfs, so put a newsted include in <sys/systm.h> where the printf
prototype lives and save everybody else the trouble.


# 110688 11-Feb-2003 phk

Switch to use the TSC code i386/i386/tsc.c


# 110373 05-Feb-2003 phk

Reduce diff to i386/isa/clock.c by unifdef -DPC98


# 110372 05-Feb-2003 phk

Typo in last commit


# 110371 05-Feb-2003 phk

MFi386: write the correct weekday back to the RTC.


# 110299 03-Feb-2003 phk

Split the global timezone structure into two integer fields to
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


# 110296 03-Feb-2003 jake

Split statclock into statclock and profclock, and made the method for driving
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


# 110098 30-Jan-2003 nyan

MFi386: revision 1.192.


# 110048 29-Jan-2003 phk

Make tsc_freq a 64bit on PC98 also.


# 105710 22-Oct-2002 nyan

MFi386: revisions 1.189 and 1.190.


# 103734 21-Sep-2002 phk

Remove #ifdef/#endif 3 years after the stuff they protected was removed.

Spotted by: peter.


# 98736 24-Jun-2002 kato

MFi386: sys/i386/isa/clock.c revision 1.187.


# 95814 30-Apr-2002 phk

Don't export timecounter structures under debug. with sysctl, they
contain no truly interesting data anymore.


# 95489 26-Apr-2002 phk

Remove the tc_update() function. Any frequency change to the
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.


# 93264 27-Mar-2002 dillon

Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt
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


# 92793 20-Mar-2002 kato

Remove __P.


# 90007 31-Jan-2002 nyan

MFi386: revision 1.180


# 88395 21-Dec-2001 nyan

MFi386: revision 1.178


# 88387 21-Dec-2001 nyan

MFi386: revision 1.179


# 85151 19-Oct-2001 nyan

MFi386: sys/i386/isa/clock.c revision 1.177


# 83536 16-Sep-2001 nyan

MFi386: sys/i386/isa/clock.c revision 1.175 and 1.176.


# 76650 15-May-2001 jhb

Remove unneeded includes of sys/ipl.h and machine/ipl.h.


# 76209 02-May-2001 kato

Merged from sys/i386/isa/clock.c revisions 1.172 and 1.173.


# 75056 01-Apr-2001 nyan

Merged from sys/i386/isa/clock.c revision 1.171.


# 72792 21-Feb-2001 kato

Merged from sys/i386/isa/clock.c revision 1.170.


# 72434 13-Feb-2001 kato

Merged from sys/i386/isa/clock.c revision 1.169.


# 72200 09-Feb-2001 bmilekic

Change and clean the mutex lock interface.

mtx_enter(lock, type) becomes:

mtx_lock(lock) for sleep locks (MTX_DEF-initialized locks)
mtx_lock_spin(lock) for spin locks (MTX_SPIN-initialized)

similarily, for releasing a lock, we now have:

mtx_unlock(lock) for MTX_DEF and mtx_unlock_spin(lock) for MTX_SPIN.
We change the caller interface for the two different types of locks
because the semantics are entirely different for each case, and this
makes it explicitly clear and, at the same time, it rids us of the
extra `type' argument.

The enter->lock and exit->unlock change has been made with the idea
that we're "locking data" and not "entering locked code" in mind.

Further, remove all additional "flags" previously passed to the
lock acquire/release routines with the exception of two:

MTX_QUIET and MTX_NOSWITCH

The functionality of these flags is preserved and they can be passed
to the lock/unlock routines by calling the corresponding wrappers:

mtx_{lock, unlock}_flags(lock, flag(s)) and
mtx_{lock, unlock}_spin_flags(lock, flag(s)) for MTX_DEF and MTX_SPIN
locks, respectively.

Re-inline some lock acq/rel code; in the sleep lock case, we only
inline the _obtain_lock()s in order to ensure that the inlined code
fits into a cache line. In the spin lock case, we inline recursion and
actually only perform a function call if we need to spin. This change
has been made with the idea that we generally tend to avoid spin locks
and that also the spin locks that we do have and are heavily used
(i.e. sched_lock) do recurse, and therefore in an effort to reduce
function call overhead for some architectures (such as alpha), we
inline recursion for this case.

Create a new malloc type for the witness code and retire from using
the M_DEV type. The new type is called M_WITNESS and is only declared
if WITNESS is enabled.

Begin cleaning up some machdep/mutex.h code - specifically updated the
"optimized" inlined code in alpha/mutex.h and wrote MTX_LOCK_SPIN
and MTX_UNLOCK_SPIN asm macros for the i386/mutex.h as we presently
need those.

Finally, caught up to the interface changes in all sys code.

Contributors: jake, jhb, jasone (in no particular order)


# 71797 29-Jan-2001 peter

Convert mca (microchannel bus support) from something that we count
(bogus) to something that we test for the presence of.


# 71320 21-Jan-2001 jasone

Remove MUTEX_DECLARE() and MTX_COLD. Instead, postpone full mutex
initialization until after malloc() is safe to call, then iterate through
all mutexes and complete their initialization.

This change is necessary in order to avoid some circular bootstrapping
dependencies.


# 71262 19-Jan-2001 peter

Convert apm from a bogus 'count' into a plain option. Clean out some
other cruft from the files.alpha and files.ia64 that were related to this.


# 69614 05-Dec-2000 kato

Merged from sys/i386/isa/clock.c revision 1.164.


# 67580 25-Oct-2000 jhb

Catch up to the new swi code.

Noticed by: phk


# 67551 25-Oct-2000 jhb

- Overhaul the software interrupt code to use interrupt threads for each
type of software interrupt. Roughly, what used to be a bit in spending
now maps to a swi thread. Each thread can have multiple handlers, just
like a hardware interrupt thread.
- Instead of using a bitmask of pending interrupts, we schedule the specific
software interrupt thread to run, so spending, NSWI, and the shandlers
array are no longer needed. We can now have an arbitrary number of
software interrupt threads. When you register a software interrupt
thread via sinthand_add(), you get back a struct intrhand that you pass
to sched_swi() when you wish to schedule your swi thread to run.
- Convert the name of 'struct intrec' to 'struct intrhand' as it is a bit
more intuitive. Also, prefix all the members of struct intrhand with
'ih_'.
- Make swi_net() a MI function since there is now no point in it being
MD.

Submitted by: cp


# 67368 20-Oct-2000 kato

Merged from sys/i386/isa/clock.c revision 1.160.


# 67142 15-Oct-2000 nyan

Fixed warnings.


# 66736 06-Oct-2000 kato

Merged from sys/i386/isa/clock.c revisions 1.158 and 1.159.


# 65876 15-Sep-2000 kato

Merged from sys/i386/isa/clock.c revision 1.157.


# 65566 07-Sep-2000 kato

Merged from sys/i386/isa/clock.c revision 1.156.


# 64228 04-Aug-2000 kato

Merged from sys/i386/isa/clock.c revision 1.155.


# 62573 04-Jul-2000 phk

Previous commit changing SYSCTL_HANDLER_ARGS violated KNF.

Pointed out by: bde


# 62454 03-Jul-2000 phk

Style police catches up with rev 1.26 of src/sys/sys/sysctl.h:

Sanitize SYSCTL_HANDLER_ARGS so that simplistic tools can grog our
sources:

-sysctl_vm_zone SYSCTL_HANDLER_ARGS
+sysctl_vm_zone (SYSCTL_HANDLER_ARGS)


# 62200 28-Jun-2000 kato

Merged from sys/i386/isa/clock.c revision 1.152.


# 61329 06-Jun-2000 kato

Merged from sys/i386/isa/{clock.c,npx.c} revisions 1.151 and 1.82,
respectively.


# 58477 23-Mar-2000 kato

Merged from sys/i386/isa/clock.c and sys/isa/sio.c revisions 1.150 and
1.292, respectively.


# 55456 05-Jan-2000 kato

Synced with sys/i386/isa/clock.c rev 1.149.


# 55150 27-Dec-1999 kato

Synced with sys/i386/isa/clock.c rev 1.148. This is a cosmetic change
because PC-98 doesn't have RTC and RTC related code is included by
`#ifndef PC98' and `#endif'.


# 54891 20-Dec-1999 peter

merge i386/isa/clock.c 1.147: don't talk about register_intr in comments.


# 52828 03-Nov-1999 nyan

Sync with sys/i386/isa/clock.c revision 1.146.


# 50869 03-Sep-1999 kato

Merge from sys/i386/isa/clock.c revision 1.145.


# 50477 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 49558 09-Aug-1999 phk

Merge the cons.c and cons.h to the best of my ability. alpha may or
may not compile, I can't test it.


# 49260 30-Jul-1999 kato

Sync with sys/i386/isa/clock.c revision up to 1.142.


# 49120 26-Jul-1999 kato

Sync with sys/i386/isa/clock.c revision up to 1.140.
This commit may break 8MHz system clock mode.


# 48322 28-Jun-1999 kato

Sync with sys/i386/isa/clock.c revision 1.138.


# 48176 24-Jun-1999 kato

Sync with sys/i386/isa/clock.c revision 1.137.


# 47667 01-Jun-1999 kato

Sync with sys/i386/isa/clock.c revision 1.136.


# 46868 10-May-1999 kato

Sync with sys/i386/isa/clock.c revision 1.133.


# 46148 28-Apr-1999 kato

Sync with sys/i386/isa/clock.c revision 1.132.


# 45918 21-Apr-1999 kato

Sync with sys/i386/isa/clock.c revision 1.131.


# 43339 28-Jan-1999 kato

The "easy" fixe for compiling the kernel -Wunused: remove unreferenced
local variable.


# 41894 17-Dec-1998 kato

Sync with sys/i386/isa/clock.c revision 1.129.


# 40613 23-Oct-1998 kato

Sync with sys/i386/isa/clock.c revision 1.128.


# 40279 13-Oct-1998 kato

Fix for wrap arround.


# 40278 13-Oct-1998 kato

Implement TSC clock calibration for PC-98.


# 39569 22-Sep-1998 kato

Sync with sys/i386/isa/clock.c revision 1.127.


# 39519 20-Sep-1998 kato

Sync with sys/i386/isa/clock.c revision 1.126.


# 38941 08-Sep-1998 kato

Sync with sys/i386/isa/clock.c revision 1.125.


# 36843 10-Jun-1998 kato

Sync with sys/i386/isa/clock.c revision 1.124.


# 36763 08-Jun-1998 kato

Sync with sys/i386/isa/clock.c revision 1.123.


# 36720 07-Jun-1998 kato

Sync with sys/i386/isa/clock.c revision 1.122.


# 36448 28-May-1998 kato

Sync with sys/i386/isa/clock.c revision 1.121.


# 36254 20-May-1998 kato

Sync with sys/i386/isa/clock.c revision 1.120.


# 35678 04-May-1998 kato

System clock speed is always detected automatically.


# 35053 06-Apr-1998 kato

Sync with sys/i386/isa/clock.c revision 1.119.


# 34972 31-Mar-1998 kato

Sync with sys/i386/i386/trap.c revision 1.125 and sys/i386/isa/clock.c
revision 1.118.


# 34641 17-Mar-1998 kato

Sync with sys/i386/isa/clock.c revision 1.117.


# 34594 15-Mar-1998 kato

Sync with sys/i386/isa/clock.c revision 1.116.


# 34187 07-Mar-1998 kato

Sync with sys/i386/isa/clock.c revision 1.115.


# 33938 01-Mar-1998 kato

Sync with sys/i386/isa/clock.c revision 1.114.


# 33764 23-Feb-1998 kato

Sync with sys/i386/isa/clock.c revision 1.113.


# 33746 22-Feb-1998 kato

Sync with sys/i386/isa/clock.c revision 1.112.


# 33714 21-Feb-1998 kato

Oops, previous commit was incomplete.


# 33713 21-Feb-1998 kato

Sync with sys/i386/isa/clock.c revision 1.111.


# 33318 13-Feb-1998 kato

Sync with sys/i386/isa/clock.c revision 1.110.


# 33191 09-Feb-1998 kato

Sync with sys/i386/isa/clock.c and spker.c revision 1.109 and 1.32,
resplectivley.


# 32852 28-Jan-1998 kato

Sync with sys/i386/isa/clock.c revision 1.108.


# 32090 29-Dec-1997 kato

Sync with sys/i386/isa/clock.c revision up to 1.107.


# 32005 26-Dec-1997 phk

Rename "i586_ctr" to "tsc" (both upper and lower case instances).
Fix a couple of printfs too.

Warning: This changes the names of a couple of kernel options!


# 31293 19-Nov-1997 kato

Synchronize with sys/i386/isa/clock.c revision 1.104.


# 30811 28-Oct-1997 kato

Synchronize with sys/i386/isa/npx.c and clock.c revisions 1.53 and
1.103, respectively.


# 29009 01-Sep-1997 kato

Synchronize with sys/i386/isa/clock.c revision 1.102.


# 28939 30-Aug-1997 kato

Synchronize with sys/i386/isa/clock.c and sio.c revisions 1.101 and
i.178, respectively.


# 28570 22-Aug-1997 kato

Synchronize with sys/i386/i386/userconfig.c and sys/i386/isa/clock.c
revisions 1.89 and 1.100, respectively.


# 28511 21-Aug-1997 kato

Synchronize with sys/i386/isa/clock.c revision 1.99.


# 27700 26-Jul-1997 kato

Synchronize with sys/i386/isa/clock.c revision 1.98.


# 27627 23-Jul-1997 kato

Synchronize with sys/i386/isa/clock.c revision up to 1.97.


# 27578 21-Jul-1997 kato

Synchronize with sys/i386/isa/clock.c revision up to 1.95.


# 27546 20-Jul-1997 kato

Synchronize with sys/i386/isa/clock.c revision up to 1.92.


# 27364 13-Jul-1997 kato

Synchronize with sys/i386/isa/clock.c revision 1.89.


# 26961 26-Jun-1997 kato

Synchronize with sys/i386/isa/clock.c and isa.c revisions 1.88 and
1.93, respectively.


# 26384 02-Jun-1997 kato

Synchronize with following files:

Revision Changes Path
> 1.165 +2 -1 src/sys/i386/conf/files.i386
> 1.246 +2 -1 src/sys/i386/i386/machdep.c
> 1.98 +2 -2 src/sys/i386/i386/trap.c
> 1.87 +2 -2 src/sys/i386/isa/clock.c
> 1.89 +2 -356 src/sys/i386/isa/isa.c
> 1.45 +2 -1 src/sys/i386/isa/npx.c


# 26318 31-May-1997 kato

Synchronize with following changes:

> Revision Changes Path
> 1.97 +2 -1 src/sys/i386/i386/trap.c
> 1.86 +2 -1 src/sys/i386/isa/clock.c
> 1.88 +2 -1 src/sys/i386/isa/isa.c
> 1.44 +3 -2 src/sys/i386/isa/npx.c


# 26278 30-May-1997 kato

Synchronize with sys/i386/isa/clock.c and sio.c revisions 1.85 and
1.168, respectively.


# 26225 28-May-1997 kato

Synchronize with sys/i386/isa/clock.c revision 1.84.


# 25490 05-May-1997 kato

Synchornize with sys/i386/isa/clock.c revision upto 1.94.


# 25195 27-Apr-1997 kato

Merge SMP code from IBM-PC tree into PC-98 tree.


# 24700 07-Apr-1997 kato

Synchronize with sys/i386/isa/clock.c revision 1.80.


# 23407 05-Mar-1997 kato

Synchronize with sys/i386/isa/clock.c revision 1.79.


# 22975 22-Feb-1997 peter

Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not
ready for it yet.


# 22407 07-Feb-1997 kato

Moved macros which are related to BIOS work area from pc98.h
(corresponds to isa.h) to pc98_machdep.h.


# 22118 30-Jan-1997 kato

Synchronize with sys/i386/isa/clock.c revision 1.75.


# 21843 18-Jan-1997 kato

Synchronize with sys/i386/isa/clock.c (revision 1.74).


# 21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


# 21493 10-Jan-1997 kato

Staticize the functions rtc_inb, rtc_outb, rtc_serialcombit, and
rtc_serialcom. These functions are only used by PC98.


# 21268 04-Jan-1997 kato

Add `#ifdef PC98' to include PC98-specific code. Add declaration of the
function rtc_outb().
This is a 2.2 candidate.


# 19269 30-Oct-1996 asami

More merge and update.

(1) deleted #if 0

pc98/pc98/mse.c

(2) hold per-unit I/O ports in ed_softc

pc98/pc98/if_ed.c
pc98/pc98/if_ed98.h

(3) merge more files by segregating changes into headers.

new file (moved from pc98/pc98):

i386/isa/aic_98.h

deleted:

well, it's already in the commit message so I won't repeat the
long list here ;)

Submitted by: The FreeBSD(98) Development Team


# 19248 29-Oct-1996 asami

Another round of merge/updates.

(1) Add #ifdef PC98:

sys/pc98/boot/biosboot/boot2.S

(2) Fix bug that made it impossible to boot from sd's other than unit 0:
sys/pc98/boot/biosboot/sys.c

(3) Delete redundant $Id$:

sys/pc98/pc98/clock.c (reject?\027$B$5$l$k$+$b$7$l$J$$?\027(B)

(4) unt -> u_int:
sys/pc98/pc98/if_ed.c

(5) Add support for rebooting by the hot-key sequence:

sys/pc98/pc98/kbdtables.h

(6) Display now looks like PC/AT version:

sys/pc98/pc98/npx.c

(7) Change comment to match that of PC/AT version:

sys/pc98/pc98/pc98.c

(8) Add function prototypes:

sys/pc98/pc98/pc98_machdep.c

(9) Include PC98 headers:

sys/pc98/pc98/sound/adlib_card.c
sys/pc98/pc98/sound/audio.c
sys/pc98/pc98/sound/dev_table.c
sys/pc98/pc98/sound/dmabuf.c
sys/pc98/pc98/sound/midi_synth.c
sys/pc98/pc98/sound/midibuf.c
sys/pc98/pc98/sound/opl3.c
sys/pc98/pc98/sound/oatmgr.c
sys/pc98/pc98/sound/sb16_dsp.c
sys/pc98/pc98/sound/sb16_midi.c
sys/pc98/pc98/sound/sb_card.c
sys/pc98/pc98/sound/sb_dsp.c
sys/pc98/pc98/sound/sb_midi.c
sys/pc98/pc98/sound/sb_mixer.c
sys/pc98/pc98/sound/sequencer.c
sys/pc98/pc98/sound/sound_config.h
sys/pc98/pc98/sound/sound_switch.c
sys/pc98/pc98/sound/soundcard.c
sys/pc98/pc98/sound/sys_timer.c

(10) Merge in PC98 changes:

sys/i386/isa/sound/os.h

(11) Deleted as result of 9. and 10. above:

sys/pc98/pc98/sound/ad1848_mixer.h
sys/pc98/pc98/sound/aedsp16.c
sys/pc98/pc98/sound/coproc.h
sys/pc98/pc98/sound/finetune.h
sys/pc98/pc98/sound/gus_hw.h
sys/pc98/pc98/sound/gus_linearvol.h
sys/pc98/pc98/sound/hex2hex.h
sys/pc98/pc98/sound/mad16.h
sys/pc98/pc98/sound/midi_ctrl.h
sys/pc98/pc98/sound/midi_synth.h
sys/pc98/pc98/sound/opl3.h
sys/pc98/pc98/sound/os.h
sys/pc98/pc98/sound/pas.h
sys/pc98/pc98/sound/sb_mixer.h
sys/pc98/pc98/sound/soundvers.h
sys/pc98/pc98/sound/tuning.h

Submitted by: The FreeBSD(98) Development Team


# 19122 23-Oct-1996 asami

Another round of merge.

(1) Bug fix (pass boot drive):

pc98/boot/biosboot/boot2.S

(2) Delete code for unsupported high-resolution modes and move old
Epson notebook code to epsonio.h:

pc98/boot/biosboot/io.c
pc98/i386/vm_machdep.c
pc98/pc98/fd.c
pc98/pc98/pc98.c
pc98/pc98/pc98.h
pc98/pc98/epsonio.h (new)

(3) Change aic driver so that PCMCIA cards (I/O port same as PC/AT)
and PC-9801-100 cards can be selected with a flag in kernel config
file:

pc98/pc98/aic6360.c
pc98/pc98/aic_98.h (new)

(4) Fix wcd entry (it was broken). Delete mcd, it doesn't work on
98. Change aic entry according to above:

pc98/conf/GENERIC98

(5) Move pc98_machdep.c to top of files in pc98/pc98:

pc98/conf/files.pc98

(6) Delete empty lines:

pc98/i386/locore.s

(7) Fix (it didn't work if I586 was specified):

pc98/pc98/clock.c

(8) Staticize:

pc98/pc98/pc98_machdep.c

(9) Enable workaround for Cyrix bug for 5x86 also:

pc98/i386/machdep.c
pc98/i386/trap.c

All the above deletes this file too:

pc98/i386/pmap.c

(phew!)
Submitted by: The FreeBSD(98) Development Team


# 18846 09-Oct-1996 asami

Another round of updates. Highlights:

(1) Merged i386/i386/sb.h, deleted pc98/pc98/sb.h.

(2) pc98/conf/GENERIC8 looks more like i386/conf/GENERIC now.

(3) Fixed display bug in pc98/boot/biosboot/io.c.

(4) Prepare to merge memory allocation routines:

pc98/i386/locore.s
pc98/i386/machdep.c
pc98/pc98/pc98_machdep.c
pc98/pc98/pc98_machdep.h

(5) Support new board "C-NET(98)":

pc98/pc98/if_ed98.h
pc98/pc98/if_ed.c

(6) Make sure FPU is recognized for non-Intel CPUs:

pc98/pc98/npx.c

(7) Do not expect bss to be zero-allocated:

pc98/pc98/pc98.c

Submitted by: The FreeBSD(98) Development Team


# 18842 09-Oct-1996 bde

Put I*86_CPU defines in opt_cpu.h.


# 18095 07-Sep-1996 asami

Yet another merge. Remove support.s by deleting memcopy. Remove
autoconf.c by merging icu.h. Fix a couple of typos.

Submitted by: The FreeBSD(98) Development Team.


# 18010 03-Sep-1996 asami

Second phase of merge, get rid of more machine-independent-dependencies.
Get rid of pc98/pc98/pc98_device.h.

Submitted by: The FreeBSD(98) Development Team


# 17947 30-Aug-1996 asami

Re-sync with the state of PC98 world. This will be the last commit before
we start merging things in earnest...

Submitted by: The FreeBSD(98) Development Team


# 17256 23-Jul-1996 asami

Update to current state of PC98 world.

Submitted by: The FreeBSD(98) development team


# 16359 14-Jun-1996 asami

The PC98-specific files.

Ok'd by: core
Submitted by: FreeBSD(98) development team