History log of /freebsd-10-stable/sys/pc98/cbus/
Revision Date Author Comments
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


245317 11-Jan-2013 imp

MFi386: Make similar changes that were made to atkbdc in r245315.


228631 17-Dec-2011 avg

kern cons: introduce infrastructure for console grabbing by kernel

At the moment grab and ungrab methods of all console drivers are no-ops.

Current intended meaning of the calls is that the kernel takes control of
console input. In the future the semantics may be extended to mean that
the calling thread takes full ownership of the console (e.g. console
output from other threads could be suspended).

Inspired by: bde
MFC after: 2 months


228471 13-Dec-2011 ed

Replace `inline static' by `static inline'.

If I interpret the C standard correctly, the storage specifier should be
placed before the inline keyword. While at it, replace __inline by
inline in the files affected.


225214 27-Aug-2011 rwatson

Follow up to r225203 refining break-to-debugger run-time configuration
improvements:

(1) Implement new model in previously missed at91 UART driver
(2) Move BREAK_TO_DEBUGGER and ALT_BREAK_TO_DEBUGGER from opt_comconsole.h
to opt_kdb.h (spotted by np)
(3) Garbage collect now-unused opt_comconsole.h

MFC after: 3 weeks
Approved by: re (bz)


225203 26-Aug-2011 rwatson

Attempt to make break-to-debugger and alternative break-to-debugger more
accessible:

(1) Always compile in support for breaking into the debugger if options
KDB is present in the kernel.

(2) Disable both by default, but allow them to be enabled via tunables
and sysctls debug.kdb.break_to_debugger and
debug.kdb.alt_break_to_debugger.

(3) options BREAK_TO_DEBUGGER and options ALT_BREAK_TO_DEBUGGER continue
to behave as before -- only now instead of compiling in
break-to-debugger support, they change the default values of the
above sysctls to enable those features by default. Current kernel
configurations should, therefore, continue to behave as expected.

(4) Migrate alternative break-to-debugger state machine logic out of
individual device drivers into centralised KDB code. This has a
number of upsides, but also one downside: it's now tricky to release
sio spin locks when entering the debugger, so we don't. However,
similar logic does not exist in other device drivers, including uart.

(5) dcons requires some special handling; unlike other console types, it
allows overriding KDB's own debugger selection, so we need a new
interface to KDB to allow that to work.

GENERIC kernels in -CURRENT will now support break-to-debugger as long as
appropriate boot/run-time options are set, which should improve the
debuggability of BETA kernels significantly.

MFC after: 3 weeks
Reviewed by: kib, nwhitehorn
Approved by: re (bz)


224126 17-Jul-2011 ed

Restore binary compatibility for GIO_KEYMAP and PIO_KEYMAP.

Back in 2009 I changed the ABI of the GIO_KEYMAP and PIO_KEYMAP ioctls
to support wide characters. I created a patch to add ABI compatibility
for the old calls, but I didn't get any feedback to that.

It seems now people are upgrading from 8 to 9 they experience this
issue, so add it anyway.


221708 09-May-2011 jkim

Move VT switching hack for suspend/resume from bus drivers to syscons.c
using event handlers. A different version was

Submitted by: Taku YAMAMOTO (taku at tackymt dot homeip dot net)


218909 21-Feb-2011 brucec

Fix typos - remove duplicate "the".

PR: bin/154928
Submitted by: Eitan Adler <lists at eitanadler.com>
MFC after: 3 days


218424 08-Feb-2011 mdf

Based on discussions on the svn-src mailing list, rework r218195:

- entirely eliminate some calls to uio_yeild() as being unnecessary,
such as in a sysctl handler.

- move should_yield() and maybe_yield() to kern_synch.c and move the
prototypes from sys/uio.h to sys/proc.h

- add a slightly more generic kern_yield() that can replace the
functionality of uio_yield().

- replace source uses of uio_yield() with the functional equivalent,
or in some cases do not change the thread priority when switching.

- fix a logic inversion bug in vlrureclaim(), pointed out by bde@.

- instead of using the per-cpu last switched ticks, use a per thread
variable for should_yield(). With PREEMPTION, the only reasonable
use of this is to determine if a lock has been held a long time and
relinquish it. Without PREEMPTION, this is essentially the same as
the per-cpu variable.


209979 13-Jul-2010 mav

Unify pc98 event timer code with the rest of x86.

Reviewed by: nyan@


209371 20-Jun-2010 mav

Implement new event timers infrastructure. It provides unified APIs for
writing event timer drivers, for choosing best possible drivers by machine
independent code and for operating them to supply kernel with hardclock(),
statclock() and profclock() events in unified fashion on various hardware.

Infrastructure provides support for both per-CPU (independent for every CPU
core) and global timers in periodic and one-shot modes. MI management code
at this moment uses only periodic mode, but one-shot mode use planned for
later, as part of tickless kernel project.

For this moment infrastructure used on i386 and amd64 architectures. Other
archs are welcome to follow, while their current operation should not be
affected.

This patch updates existing drivers (i8254, RTC and LAPIC) for the new
order, and adds event timers support into the HPET driver. These drivers
have different capabilities:
LAPIC - per-CPU timer, supports periodic and one-shot operation, may
freeze in C3 state, calibrated on first use, so may be not exactly precise.
HPET - depending on hardware can work as per-CPU or global, supports
periodic and one-shot operation, usually provides several event timers.
i8254 - global, limited to periodic mode, because same hardware used also
as time counter.
RTC - global, supports only periodic mode, set of frequencies in Hz
limited by powers of 2.

Depending on hardware capabilities, drivers preferred in following orders,
either LAPIC, HPETs, i8254, RTC or HPETs, LAPIC, i8254, RTC.
User may explicitly specify wanted timers via loader tunables or sysctls:
kern.eventtimer.timer1 and kern.eventtimer.timer2.
If requested driver is unavailable or unoperational, system will try to
replace it. If no more timers available or "NONE" specified for second,
system will operate using only one timer, multiplying it's frequency by few
times and uing respective dividers to honor hz, stathz and profhz values,
set during initial setup.


208563 26-May-2010 nyan

Reduce diffs against syscons_isa.c. No functional changes.


208494 24-May-2010 mav

- Implement MI helper functions, dividing one or two timer interrupts with
arbitrary frequencies into hardclock(), statclock() and profclock() calls.
Same code with minor variations duplicated several times over the tree for
different timer drivers and architectures.
- Switch all x86 archs to new functions, simplifying the code and removing
extra logic from timer drivers. Other archs are also welcome.


206993 21-Apr-2010 rpaulo

Comply with the new cyclic dtrace module variable name
(cyclic_clock_func).


206421 09-Apr-2010 attilio

Default the machdep.lapic_allclocks to be enabled in order to cope with
broken atrtc.
Now if you want more correct stats on profhz and stathz it may be
disabled by setting to 0.

Reported by: A. Akephalos <akephalos dot akephalos at gmail dot com>,
Jakub Lach <jakub_lach at mailplus dot pl>
MFC: 1 week


204753 05-Mar-2010 nyan

MFx86: the part of r204641

In order to do that cleanly, lapic_setup_clock(), on both ia32 and amd64,
now accepts as arguments the desired sources to handle, and returns the
actual ones (LAPIC_CLOCK_NONE is forbidden because otherwise there is no
meaning in calling such function).
This allows to bring out into commont x86 code the handling part for
machdep.lapic_allclocks tunable, which is retained.


202534 17-Jan-2010 attilio

- Allow clock subsystem to be compiled without the apic support [0]
- ATPIC, on pc98 is never defined somewhere, differently from i386.
Turn its compilation to be conditional as i386 does. [1]

[0] Reported by: nyan
[1] Submitted by: nyan


202387 15-Jan-2010 attilio

Handling all the three clocks (hardclock, softclock, profclock) with the
LAPIC may lead to aliasing for softclock and profclock because frequencies
are sized in order to fit mainly hardclock.
atrtc used to take care of the softclock and profclock and it does still
do, if the LAPIC can't handle the clocks properly.

Revert the change when the LAPIC started taking charge of all three of
them and let atrtc handle softclock and profclock if not explicitly
requested. Such request can be made setting != 0 the new tunable
machdep.lapic_allclocks or if the new device ATPIC is not present
within the i386 kernel config (atrtc is linked to atpic presence).

Diagnosed by: Sandvine Incorporated
Reviewed by: jhb, emaste
Sponsored by: Sandvine Incorporated
MFC: 3 weeks


201223 29-Dec-2009 rnoland

Update d_mmap() to accept vm_ooffset_t and vm_memattr_t.

This replaces d_mmap() with the d_mmap2() implementation and also
changes the type of offset to vm_ooffset_t.

Purge d_mmap2().

All driver modules will need to be rebuilt since D_VERSION is also
bumped.

Reviewed by: jhb@
MFC after: Not in this lifetime...


199220 12-Nov-2009 nyan

MFi386: revision 199104

Make isa_dma functions MPSAFE by introducing its own private lock.


199171 11-Nov-2009 ed

Allow Syscons terminal emulators to provide function key strings.

xterm and cons25 have some incompatibilities when it comes to escape
sequences for special keys, such as F1 to F12, home, end, etc. Add a new
te_fkeystr() that can be used to override the strings.

scterm-sck won't do anything with this, but scterm-teken will use
teken_get_sequences() to obtain the proper sequence.


196403 20-Aug-2009 jhb

Temporarily revert the new-bus locking for 8.0 release. It will be
reintroduced after HEAD is reopened for commits by re@.

Approved by: re (kib), attilio


196037 02-Aug-2009 attilio

Make the newbus subsystem Giant free by adding the new newbus sxlock.
The newbus lock is responsible for protecting newbus internIal structures,
device states and devclass flags. It is necessary to hold it when all
such datas are accessed. For the other operations, softc locking should
ensure enough protection to avoid races.

Newbus lock is automatically held when virtual operations on the device
and bus are invoked when loading the driver or when the suspend/resume
take place. For other 'spourious' operations trying to access/modify
the newbus topology, newbus lock needs to be automatically acquired and
dropped.

For the moment Giant is also acquired in some key point (modules subsystem)
in order to avoid problems before the 8.0 release as module handlers could
make assumptions about it. This Giant locking should go just after
the release happens.

Please keep in mind that the public interface can be expanded in order
to provide more support, if there are really necessities at some point
and also some bugs could arise as long as the patch needs a bit of
further testing.

Bump __FreeBSD_version in order to reflect the newbus lock introduction.

Reviewed by: ed, hps, jhb, imp, mav, scottl
No answer by: ariff, thompsa, yongari
Tested by: pho,
G. Trematerra <giovanni dot trematerra at gmail dot com>,
Brandon Gooch <jamesbrandongooch at gmail dot com>
Sponsored by: Yahoo! Incorporated
Approved by: re (ksmith)


191842 06-May-2009 nyan

Reduce diffs against i386.
Use the hardclockintr function.


191766 03-May-2009 mav

Rename statclock_disable variable to atrtcclock_disable that it actually is,
and hide it inside of atrtc driver. Add new tunable hint.atrtc.0.clock
controlling it. Setting it to 0 disables using RTC clock as stat-/
profclock sources.

Teach i386 and amd64 SMP platforms to emulate stat-/profclocks using i8254
hardclock, when LAPIC and RTC clocks are disabled.

This allows to reduce global interrupt rate of idle system down to about
100 interrupts per core, permitting C3 and deeper C-states provide maximum
CPU power efficiency.


191761 03-May-2009 nyan

MFi386: revision 191745

Add support for using i8254 and rtc timers as event sources for i386 SMP
system. Redistribute hard-/stat-/profclock events to other CPUs using IPI.


191114 15-Apr-2009 ed

Migrate the olpt(4) driver to si_drv1 instead of using dev2unit().

Approved by: nyan


189617 10-Mar-2009 ed

Make a 1:1 mapping between syscons stats and terminal emulators.

After I imported libteken into the source tree, I noticed syscons didn't
store the cursor position inside the terminal emulator, but inside the
virtual terminal stat. This is not very useful, because when you
implement more complex forms of line wrapping, you need to keep track of
more state than just the cursor position.

Because the kernel messages didn't share the same terminal emulator as
ttyv0, this caused a lot of strange things, like kernel messages being
misplaced and a missing notification to resize the terminal emulator for
kernel messages never to be resized when using vidcontrol.

This patch just removes kernel_console_ts and adds a special parameter
to te_puts to determine whether messages should be printed using regular
colors or the ones for kernel messages.

Reported by: ache
Tested by: nyan, garga (older version)


189445 06-Mar-2009 nyan

MFi386: part of 189421

- If there are no syscons hints at all, assume there is a single sc0 device
anyway. The console probe will still fail unless a VGA adapter is found.


186681 01-Jan-2009 ed

Replace syscons terminal renderer by a new renderer that uses libteken.

Some time ago I started working on a library called libteken, which is
terminal emulator. It does not buffer any screen contents, but only
keeps terminal state, such as cursor position, attributes, etc. It
should implement all escape sequences that are implemented by the
cons25 terminal emulator, but also a fair amount of sequences that are
present in VT100 and xterm.

A lot of random notes, which could be of interest to users/developers:

- Even though I'm leaving the terminal type set to `cons25', users can
do experiments with placing `xterm-color' in /etc/ttys. Because we
only implement a subset of features of xterm, this may cause
artifacts. We should consider extending libteken, because in my
opinion xterm is the way to go. Some missing features:

- Keypad application mode (DECKPAM)
- Character sets (SCS)

- libteken is filled with a fair amount of assertions, but unfortunately
we cannot go into the debugger anymore if we fail them. I've done
development of this library almost entirely in userspace. In
sys/dev/syscons/teken there are two applications that can be helpful
when debugging the code:

- teken_demo: a terminal emulator that can be started from a regular
xterm that emulates a terminal using libteken. This application can
be very useful to debug any rendering issues.

- teken_stress: a stress testing application that emulates random
terminal output. libteken has literally survived multiple terabytes
of random input.

- libteken also includes support for UTF-8, but unfortunately our input
layer and font renderer don't support this. If users want to
experiment with UTF-8 support, they can enable `TEKEN_UTF8' in
teken.h. If you recompile your kernel or the teken_demo application,
you can hold some nice experiments.

- I've left PC98 the way it is right now. The PC98 platform has a custom
syscons renderer, which supports some form of localised input. Maybe
we should port PC98 to libteken by the time syscons supports UTF-8?

- I've removed the `dumb' terminal emulator. It has been broken for
years. It hasn't survived the `struct proc' -> `struct thread'
conversion.

- To prevent confusion among people that want to hack on libteken:
unlike syscons, the state machines that parse the escape sequences are
machine generated. This means that if you want to add new escape
sequences, you have to add an entry to the `sequences' file. This will
cause new entries to be added to `teken_state.h'.

- Any rendering artifacts that didn't occur prior to this commit are by
accident. They should be reported to me, so I can fix them.

Discussed on: current@, hackers@
Discussed with: philip (at 25C3)


183397 27-Sep-2008 ed

Replace all calls to minor() with dev2unit().

After I removed all the unit2minor()/minor2unit() calls from the kernel
yesterday, I realised calling minor() everywhere is quite confusing.
Character devices now only have the ability to store a unit number, not
a minor number. Remove the confusion by using dev2unit() everywhere.

This commit could also be considered as a bug fix. A lot of drivers call
minor(), while they should actually be calling dev2unit(). In -CURRENT
this isn't a problem, but it turns out we never had any problem reports
related to that issue in the past. I suspect not many people connect
more than 256 pieces of the same hardware.

Reviewed by: kib


182835 07-Sep-2008 nyan

- Cleanup i8251 related defines.
- Move i8255 related defines into a separate file.


181905 20-Aug-2008 ed

Integrate the new MPSAFE TTY layer to the FreeBSD operating system.

The last half year I've been working on a replacement TTY layer for the
FreeBSD kernel. The new TTY layer was designed to improve the following:

- Improved driver model:

The old TTY layer has a driver model that is not abstract enough to
make it friendly to use. A good example is the output path, where the
device drivers directly access the output buffers. This means that an
in-kernel PPP implementation must always convert network buffers into
TTY buffers.

If a PPP implementation would be built on top of the new TTY layer
(still needs a hooks layer, though), it would allow the PPP
implementation to directly hand the data to the TTY driver.

- Improved hotplugging:

With the old TTY layer, it isn't entirely safe to destroy TTY's from
the system. This implementation has a two-step destructing design,
where the driver first abandons the TTY. After all threads have left
the TTY, the TTY layer calls a routine in the driver, which can be
used to free resources (unit numbers, etc).

The pts(4) driver also implements this feature, which means
posix_openpt() will now return PTY's that are created on the fly.

- Improved performance:

One of the major improvements is the per-TTY mutex, which is expected
to improve scalability when compared to the old Giant locking.
Another change is the unbuffered copying to userspace, which is both
used on TTY device nodes and PTY masters.

Upgrading should be quite straightforward. Unlike previous versions,
existing kernel configuration files do not need to be changed, except
when they reference device drivers that are listed in UPDATING.

Obtained from: //depot/projects/mpsafetty/...
Approved by: philip (ex-mentor)
Discussed: on the lists, at BSDCan, at the DevSummit
Sponsored by: Snow B.V., the Netherlands
dcons(4) fixed by: kan


179283 24-May-2008 nyan

MFi386: revision 1.249

Add a cyclic hook for DTrace.


178766 04-May-2008 peter

Expand kdb_alt_break a little, most commonly used with the option
ALT_BREAK_TO_DEBUGGER. In addition to "Enter ~ ctrl-B" (to enter the
debugger), there is now "Enter ~ ctrl-P" (force panic) and
"Enter ~ ctrl-R" (request clean reboot, ala ctrl-alt-del on syscons).

We've used variations of this at work. The force panic sequence is
best used with KDB_UNATTENDED for when you just want it to dump and
get on with it.

The reboot request is a safer way of getting into single user than
a power cycle. eg: you've hosed the ability to log in (pam, rtld, etc).
It gives init the reboot signal, which causes an orderly reboot.

I've taken my best guess at what the !x86 and non-sio code changes
should be.

This also makes sio release its spinlock before calling KDB/DDB.


178429 22-Apr-2008 phk

Now that all platforms use genclock, shuffle things around slightly
for better structure.

Much of this is related to <sys/clock.h>, which should really have
been called <sys/calendar.h>, but unless and until we need the name,
the repocopy can wait.

In general the kernel does not know about minutes, hours, days,
timezones, daylight savings time, leap-years and such. All that
is theoretically a matter for userland only.

Parts of kernel code does however care: badly designed filesystems
store timestamps in local time and RTC chips almost universally
track time in a YY-MM-DD HH:MM:SS format, and sometimes in local
timezone instead of UTC. For this we have <sys/clock.h>

<sys/time.h> on the other hand, deals with time_t, timeval, timespec
and so on. These know only seconds and fractions thereof.

Move inittodr() and resettodr() prototypes to <sys/time.h>.
Retain the names as it is one of the few surviving PDP/VAX references.

Move startrtclock() to <machine/clock.h> on relevant platforms, it
is a MD call between machdep.c/clock.c. Remove references to it
elsewhere.

Remove a lot of unnecessary <sys/clock.h> includes.

Move the machdep.disable_rtc_set sysctl to subr_rtc.c where it belongs.
XXX: should be kern.disable_rtc_set really, it's not MD.


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.


178007 08-Apr-2008 nyan

Always set the bell_pitch to 800. This catch up with the sysbeep() argument
changing.


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.


177650 26-Mar-2008 phk

Further cleanup of sound generation in syscons:

The timer_spkr_*() functions take care of the enabling/disabling
of the speaker.

Test on the existence of timer_spkr_*() functions, rather than
architectures.


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.


176657 29-Feb-2008 nyan

Merged from sys/dev/sio/sio.c revision 1.472

Stop serial console and gdb serial port from getting all screwed up.


175001 30-Dec-2007 nyan

Use kbdd_* macros.


174985 29-Dec-2007 wkoszek

Replace explicit calls to video methods with their respective variants
implemented with macros. This patch improves code readability. Reasoning
behind vidd_* is a sort of "video discipline".

List of macros is supposed to be complete--all methods of video_switch
ought to have their respective macros from now on.

Functionally, this code should be no-op. My intention is to leave current
behaviour of touched code as is.

No objections: rwatson
Silence on: freebsd-current@
Approved by: cognet


174898 25-Dec-2007 rwatson

Add a new 'why' argument to kdb_enter(), and a set of constants to use
for that argument. This will allow DDB to detect the broad category of
reason why the debugger has been entered, which it can use for the
purposes of deciding which DDB script to run.

Assign approximate why values to all current consumers of the
kdb_enter() interface.


172568 12-Oct-2007 kevlo

Spelling fix for interupt -> interrupt


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


171380 11-Jul-2007 mjacob

In the function pc98_check_if_type for the non-8251 case
make sure we initialize fileds in the iod that otherwise
would have been initialized.

Reviewed by: nate, ken, warner
Approved by: re (ken)


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.


167753 21-Mar-2007 nyan

Don't call bus_deactivate_resource() explicitly before calling
bus_release_resource(). This is needed for pc98 by upcoming nexus related
change.


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.


167085 27-Feb-2007 jhb

Use pause() rather than tsleep() on explicit global dummy variables.


166976 25-Feb-2007 piso

Garbage collect a reference to INTR_FAST.


166923 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

Approved by: re (implicit?)


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.


164033 06-Nov-2006 rwatson

Sweep kernel replacing suser(9) calls with priv(9) calls, assigning
specific privilege names to a broad range of privileges. These may
require some future tweaking.

Sponsored by: nCircle Network Security, Inc.
Obtained from: TrustedBSD Project
Discussed on: arch@
Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri,
Alex Lyashkov <umka at sevcity dot net>,
Skip Ford <skip dot ford at verizon dot net>,
Antoine Brodin <antoine dot brodin at laposte dot net>


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.


162711 27-Sep-2006 ru

Fix our ioctl(2) implementation when the argument is "int". New
ioctls passing integer arguments should use the _IOWINT() macro.
This fixes a lot of ioctl's not working on sparc64, most notable
being keyboard/syscons ioctls.

Full ABI compatibility is provided, with the bonus of fixing the
handling of old ioctls on sparc64.

Reviewed by: bde (with contributions)
Tested by: emax, marius
MFC after: 1 week


162165 08-Sep-2006 jkim

Fix style nits. No md5 changes in .o's. ;-)


158969 27-May-2006 nyan

typo.


158957 26-May-2006 phk

Aling to new console and gdb_port semantics


158651 16-May-2006 phk

Since DELAY() was moved, most <machine/clock.h> #includes have been
unnecessary.


158359 08-May-2006 nyan

Remove unneeded include.


158358 08-May-2006 nyan

- Move defines for PC-98 machine type from pc98/cbus/cbus.h into
pc98/pc98/pc98_machdep.h.
- Fix PC98_SYSTEM_PARAMETER_SIZE.
- Remove unused defines.


158005 24-Apr-2006 marcel

o Move ISA specific code from ppc.c to ppc_isa.c -- a bus front-
end for isa(4).
o Add a seperate bus frontend for acpi(4) and allow ISA DMA for
it when ISA is configured in the kernel. This allows acpi(4)
attachments in non-ISA configurations, as is possible for ia64.
o Add a seperate bus frontend for pci(4) and detect known single
port parallel cards.
o Merge PC98 specific changes under pc98/cbus into the MI driver.
The changes are minor enough for conditional compilation and
in this form invites better abstraction.
o Have ppc(4) usabled on all platforms, now that ISA specifics
are untangled enough.


155921 22-Feb-2006 jhb

- Use bus_setup_intr() and bus_teardown_intr() to register device driver
interrupt handlers rather than BUS_SETUP_INTR() and BUS_TEARDOWN_INTR().
Uses of the BUS_*() versions in the implementation of foo_intr methods
in bus drivers were not changed. Mostly this just means that some
drivers might start printing diagnostic messages like [FAST] when
appropriate as well as honoring mpsafenet=0.
- Fix two more of the ppbus drivers' identify routines to function
correctly in the mythical case of a machine with more than one ppbus.


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)


153506 18-Dec-2005 nyan

Merged from sys/dev/sio/sio.c revision 1.463.


153167 06-Dec-2005 ru

cpp(1) only understand integer arithmetical expressions, so
_MACHINE == i386 test always succeeds, even on non-i386 (both
sides of expressions become 0). Remove the comment since
_MACHINE and _MACHINE_ARCH are going away.


153165 06-Dec-2005 ru

Fix -Wundef warnings from compiling GENERIC and LINT kernels of
all architectures.


153110 05-Dec-2005 ru

Fix -Wundef warnings found when compiling i386 LINT, GENERIC and
custom kernels.


151690 26-Oct-2005 ru

Catch up with new interrupt handling code.


151383 16-Oct-2005 phk

Eliminate two unused arguments to ttycreate().


150750 30-Sep-2005 nyan

Use 'PC Card'


150127 14-Sep-2005 nyan

Remove EPSON PC-386 note A/W/AE/WR support.


150078 13-Sep-2005 nyan

Remove EPSON_NRDISK support.


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)


146744 29-May-2005 nyan

Sync with syscons update (Add new member to struct sc_rndr_sw).


146216 14-May-2005 nyan

Fix my copyright.


146214 14-May-2005 nyan

- Move bus dependent defines to {isa,cbus}_dmareg.h.
- Use isa/isareg.h rather than <arch>/isa/isa.h.

Tested on: i386, pc98


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


146138 12-May-2005 nyan

Move the pc98 keymap define into pckbdtables.h because it should be used
only on the pckbd driver.


146137 12-May-2005 nyan

- Move the NPX_DEBUG option to options.{i386,pc98} and use opt_npx.h.
- Move npx related defines to {i386,pc98}/include/npx.h to remove #include
{isa,cbus}.h.


146051 10-May-2005 nyan

- Move lptreg.h into pc98/cbus and rename to olptreg.h.
- Remove ifdef 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


145012 13-Apr-2005 nyan

- Remove ifdef PC98.
- Reduce diffs from i386.


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.


143717 16-Mar-2005 imp

Define IRQ_NPX for the irq used for the npx. Define macro for a full
reset of of npx, as appropriate for the platform.


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


142716 27-Feb-2005 phk

Use dynamic major number allocation.


141678 11-Feb-2005 nyan

Merged from sys/dev/sio/sio.c revision 1.458.


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.


141457 07-Feb-2005 nyan

Remove unused defines.


141441 07-Feb-2005 phk

Add missing isa_dmatc() function.

This may or may not be correct, Only the pcii driver would notice and
it doesn't support PC98 yet.


141277 04-Feb-2005 nyan

Merged from sys/dev/sio/sio.c revision 1.457.


139946 09-Jan-2005 imp

In my last commit, I'd assumed that LINE30 was always defined. It
turns out that LINE30_ROW was always defined, not LINE30. I confused
this for LINE30 and did the unifdef -DLINE30 using that mistaken
belief. This corrects that problem.

Submitted by: nyan-san


139916 08-Jan-2005 imp

LINE30 is always defined now, so unifdef -DLINE30 for clarity.


139915 08-Jan-2005 imp

Merge module.h into 30line.h and remove it. It lacked a
copyright/license header and was only used by 30line.h. It appears
that the copyright/license in 30line.h covers the old contents
module.h anyway, so this simplifies things a little while cleaning up
one obscure potential license confusion...

Revired by: nyan-san


139825 07-Jan-2005 imp

/* -> /*- for license, minor formatting changes


139199 22-Dec-2004 phk

Fix comment.


137458 09-Nov-2004 nyan

Add FL_MFM flag to the fd_native_types structure.

Submitted by: Watanabe Kazuhiro <CQG00620@nifty.ne.jp>


136765 22-Oct-2004 phk

Use bioq_takefirst()


136550 15-Oct-2004 nyan

Merged from sys/dev/sio/sio.c (Use generic tty code).


136534 15-Oct-2004 njl

Remove unused variable.


136520 14-Oct-2004 njl

Remove local hacks to set flags now that the device probe does this for us.
Tested on every device except sio_pci and the pc98 fd.c. Perhaps something
similar should be done for the "disabled" hints also.

MFC after: 2 weeks


136478 13-Oct-2004 phk

Use generic tty code instead of local stuff.

NB: device names are now consistent: {cua,tty}d$(port)[.lock,.init]


136029 01-Oct-2004 nyan

Add more PnP serial cards support.

PR: kern/72226
Submitted by: Hirokazu WATANABE <wnabe@par.odn.ne.jp>


135517 20-Sep-2004 nyan

Merged from sys/dev/sio/sio.c: more tty related changes.


135374 17-Sep-2004 phk

Use tty->t_sc, ttyalloc() and lock/init termios from struct tty.


135373 17-Sep-2004 phk

Include <sys/malloc.h> to satisfy new isa_dma stuff.


135262 15-Sep-2004 phk

Add new a function isa_dma_init() which returns an errno when it fails
and which takes a M_WAITOK/M_NOWAIT flag argument.

Add compatibility isa_dmainit() macro which whines loudly if
isa_dma_init() fails.

Problem uncovered by: tegge


134163 22-Aug-2004 nyan

Merged from sys/dev/fdc/fdc.c revision 1.283.


132599 24-Jul-2004 nyan

Merged from sys/dev/sio/sio.c revision 1.450.


132286 17-Jul-2004 nyan

Merged from the following changes.
- sys/dev/fdc/fdc.c revision 1.281
- sys/dev/fdc/fdcvar.h revision 1.3
- sys/dev/fdc/fdc_isa.c revision 1.7


132226 15-Jul-2004 phk

Preparation commit for the tty cleanups that will follow in the near
future:

rename ttyopen() -> tty_open() and ttyclose() -> tty_close().

We need the ttyopen() and ttyclose() for the new generic cdevsw
functions for tty devices in order to have consistent naming.


132210 15-Jul-2004 nyan

Move the fdc_alloc_resources function into the bus front end.


132103 13-Jul-2004 nyan

Merged from recent fdc driver changes.
Make a separate function to check FDD type.


132101 13-Jul-2004 nyan

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


131981 11-Jul-2004 phk

Introduce ttygone() which indicates that the hardware is detached.

Move dtrwait logic to the generic TTY level.


131977 11-Jul-2004 nyan

MFi386: revision 1.212.


131939 10-Jul-2004 marcel

Update for the KDB framework. Sanitize the alpha console code now that
it's in the way even more. Basicly: remove all alpha specific console
support from gfb(4), sio(4) and syscons(4). Rewrite the alpha console
initialization to be identical to all other platforms. In a nutshell:
call cninit().
The platform specific code now only sets or clears RB_SERIAL and thus
automaticly causes the right console to be selected.

sio.c:
o Replace the remote GDB hacks and use the GDB debug port interface
instead.
o Make debugging code conditional upon KDB instead of DDB.
o Call kdb_alt_break() instead of db_alt_break().
o Call kdb_enter() instead of breakpoint().
o Remove the ugly compatibility of using the console as the debug
port.


131819 08-Jul-2004 nyan

- Merged from sys/dev/fdc/fdc.c revision 1.275.
- Break out the cbus front end from fd.c.
- Remove the pccard support because it was broken.


131817 08-Jul-2004 nyan

MFi386: revision 1.16.


131816 08-Jul-2004 nyan

Remove obsolete defines.


131403 01-Jul-2004 nyan

Merged from sys/dev/sio/sio.c revision 1.446.


131242 28-Jun-2004 jhb

- Shorten the names for the TTY related swi interrupt handlers as the
'tty:' prefix is largely redundant.
- Fix the priority of the low-priority TTY SWIs that are hung off of the
softclock thread.

Submitted by: bde (2)


131237 28-Jun-2004 nyan

Merged from sys/dev/sio/sio.c revision 1.444.


131134 26-Jun-2004 phk

Pick the hotchar out of the tty structure instead of caching private
copies.

No current line disciplines have a dynamically changing hotchar, and
expecting to receive anything sensible during a change in ldisc is
insane so no locking of the hotchar field is necessary.


131125 26-Jun-2004 nyan

Merged from sys/dev/sio/sio.c revision 1.442.
(Use generic support for modemcontrol and BREAK ioctls.)


130938 22-Jun-2004 phk

Remove the TIOCDCDTIMESTAMP option.

The RFC-2783 PPS-API (<sys/timepps.h>) provides better and more
configurable service.


130924 22-Jun-2004 nyan

Merged from sys/dev/sio/sio.c revisions 1.439 and 1.440.


130585 16-Jun-2004 phk

Do the dreaded s/dev_t/struct cdev */
Bump __FreeBSD_version accordingly.


130431 13-Jun-2004 imp

Include vm/vm_param.h to pull in KERNBASE now. This should fix the
pc98 tinderbox breakage.


130344 11-Jun-2004 phk

Deorbit COMPAT_SUNOS.

We inherited this from the sparc32 port of BSD4.4-Lite1. We have neither
a sparc32 port nor a SunOS4.x compatibility desire these days.


130174 07-Jun-2004 phk

Add missing <sys/module.h> includes.


130096 04-Jun-2004 phk

Centralize the line discipline optimization determination in a function
called ttyldoptim().

Use this function from all the relevant drivers.

I belive no drivers finger linesw[] directly anymore, paving the way for
locking and refcounting.


130095 04-Jun-2004 phk

Manual edits to change linesw[]-frobbing to ttyld_*() calls.


130077 04-Jun-2004 phk

Machine generated patch which changes linedisc calls from accessing
linesw[] directly to using the ttyld...() functions

The ttyld...() functions ar inline so there is no performance hit.


130070 04-Jun-2004 phk

Add missing <sys/module.h> #includes


130057 04-Jun-2004 phk

Make the remaining serial drivers call ttyioctl() rather than calling
the linedisc directly.


130026 03-Jun-2004 phk

Add missing <sys/module.h> includes currently relying on nested include
in <sys/kernel.h>


129939 01-Jun-2004 phk

There is no need to explicitly call the stop function. In all likelyhood
->l_close() did it and ttyclose certainly will.


129937 01-Jun-2004 phk

There is no need to explicitly call ttwakeup() and ttwwakeup() after
ttyclose() has been called. It's already been done once by ttyclose,
and probably once by the line-discipline too.


129934 01-Jun-2004 phk

ttyclose() increments t_gen. Remove redundant increments in drivers.


129871 30-May-2004 nyan

Merged from sys/dev/fdc/fdc.c revision 1.272.


129001 06-May-2004 nyan

Mereged from sys/dev/sio/sio.c revision 1.429.


128796 01-May-2004 nyan

- Remove obsolete examples.
- Add a comment about meaning of flags.
- Disable unused defines.


128795 01-May-2004 nyan

Merged from sys/dev/sio/sio.c revision 1.428.


128640 25-Apr-2004 nyan

Merged from sys/isa/fd.c revision 1.270.


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)


127521 28-Mar-2004 nyan

- Fix PC98 supports after importing auto selection. [1]
- Fix 1.44MB floppy drive probe sequence. [2]

Submitted by: Watanabe Kazuhiro <CQG00620@nifty.ne.jp> [1]
chi@bd.mbn.or.jp (Chiharu Shibata) [2]


127135 17-Mar-2004 njl

Convert callers to the new bus_alloc_resource_any(9) API.

Submitted by: Mark Santcroos <marks@ripe.net>
Reviewed by: imp, dfr, bde


127016 15-Mar-2004 imp

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


126713 07-Mar-2004 nyan

Remove '#include <machine/bus_pio.h>'. This is meaningless.


126400 29-Feb-2004 phk

Remove unused FDNUMTOUNIT() macro


126289 26-Feb-2004 nyan

Merged from sys/isa/fd.c revision 1.266.


126080 21-Feb-2004 phk

Device megapatch 4/6:

Introduce d_version field in struct cdevsw, this must always be
initialized to D_VERSION.

Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing
four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.


126078 21-Feb-2004 phk

Device megapatch 3/6:

Add missing D_TTY flags to various drivers.

Complete asserts that dev_t's passed to ttyread(), ttywrite(),
ttypoll() and ttykqwrite() have (d_flags & D_TTY) and a struct tty
pointer.

Make ttyread(), ttywrite(), ttypoll() and ttykqwrite() the default
cdevsw methods for D_TTY drivers and remove the explicit initializations
in various drivers cdevsw structures.


126076 21-Feb-2004 phk

Device megapatch 1/6:

Free approx 86 major numbers with a mostly automatically generated patch.

A number of strategic drivers have been left behind by caution, and a few
because they still (ab)use their major number.


124791 21-Jan-2004 nyan

Merged from sys/dev/sio/sio.c revision 1.418.


123934 28-Dec-2003 nyan

Add detach method.


123847 26-Dec-2003 bde

Merged from sys/dev/sio/sio.c revision 1.417.


122872 17-Nov-2003 bde

Merged from sys/dev/sio/sio.c revisions 1.415 and 1.416.

Approved by: nyan
(Blanket approval for simple changes in sio.)


122053 04-Nov-2003 nyan

MFi386: revision 1.206


122048 04-Nov-2003 nyan

Split pc98 support into pc98/pc98/nmi.c.


121801 31-Oct-2003 nyan

Merged from sys/isa/syscons_isa.c revision 1.24.


121215 18-Oct-2003 phk

Eliminate use bio_blkno.


120809 05-Oct-2003 nyan

Merged from sys/dev/sio/sio.c revisions from 1.405 to 1.414.


120799 05-Oct-2003 nyan

MFi386: revision 1.205


120491 26-Sep-2003 phk

OK, I messed up /dev/console with what I had hoped would be compat
code. Convert remaining console drivers and hope for the best.


120472 26-Sep-2003 phk

Typo in last commit: missing ')'


120465 26-Sep-2003 phk

Change fb_attach() and fb_detach() to take a integer unit number rather
than a dev_t.

All of the dev_t's passed were bogusly created with makedev()


120194 18-Sep-2003 nyan

Merged from sys/isa/fd.c revisions 1.259 and 1.260.


120025 13-Sep-2003 nyan

Merged from sys/isa/fd.c revision 1.258.


119987 11-Sep-2003 nyan

MFi386: revision 1.204.


119984 11-Sep-2003 nyan

Merged from sys/isa/fd.c revisions 1.252, 1.253, 1.254, 1.255 and 1.257.


119525 28-Aug-2003 nyan

Merged from sys/dev/sio/sio.c revisions 1.403 and 1.404.


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.


118353 02-Aug-2003 nyan

Merged from sys/dev/sio/sio.c revision 1.400.


118349 02-Aug-2003 nyan

Merged from sys/dev/ppc/ppc.c revision 1.42.


117832 21-Jul-2003 nyan

Supported the gdc_clear function.

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


117167 02-Jul-2003 jhb

- Use the new resource_disabled() helper function to see if devices are
disabled.
- Change the apm driver to match the acpi driver's behavior by checking to
see if the device is disabled in the identify routine instead of in the
probe routine. This way if the device is disabled it is never created.

Note that a few places (ips(4), Alpha SMP) used "disable" instead of
"disabled" for their hint names, and these hints must be changed to
"disabled". If this is a big problem, resource_disabled() can always be
changed to honor both names.


116431 16-Jun-2003 phk

Replace evil abuse of geteblk() with malloc(9).


115599 01-Jun-2003 nyan

MFi386: revision 1.199


115598 01-Jun-2003 nyan

Merged from sys/isa/ppc.c revision 1.40.


115597 01-Jun-2003 nyan

Merged from sys/isa/fd.c revision 1.250.


115596 01-Jun-2003 nyan

Merged from sys/dev/sio/sio.c revision 1.399.


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>


112946 01-Apr-2003 phk

Use bioq_flush() to drain a bio queue with a specific error code.
Retain the mistake of not updating the devstat API for now.

Spell bioq_disksort() consistently with the remaining bioq_*().

#include <geom/geom_disk.h> where this is more appropriate.


112569 25-Mar-2003 jake

- Add vm_paddr_t, a physical address type. This is required for systems
where physical addresses larger than virtual addresses, such as i386s
with PAE.
- Use this to represent physical addresses in the MI vm system and in the
i386 pmap code. This also changes the paddr parameter to d_mmap_t.
- Fix printf formats to handle physical addresses >4G in the i386 memory
detection code, and due to kvtop returning vm_paddr_t instead of u_long.

Note that this is a name change only; vm_paddr_t is still the same as
vm_offset_t on all currently supported platforms.

Sponsored by: DARPA, Network Associates Laboratories
Discussed with: re, phk (cdevsw change)


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.


112335 17-Mar-2003 phk

Fix malloc() without legal mode flag.


112260 15-Mar-2003 phk

Call devstat_start_transaction_bio() instead of devstat_start_transaction()


112032 09-Mar-2003 nyan

Merged from sys/dev/sio/sio.c revisions 1.387 and 1.388.


112006 08-Mar-2003 phk

Allocate the devstat structure with devstat_new_entry().


111821 03-Mar-2003 phk

Make nokqfilter() return the correct return value.

Ditch the D_KQFILTER flag which was used to prevent calling NULL pointers.


111815 03-Mar-2003 phk

Gigacommit to improve device-driver source compatibility between
branches:

Initialize struct cdevsw using C99 sparse initializtion and remove
all initializations to default values.

This patch is automatically generated and has been tested by compiling
LINT with all the fields in struct cdevsw in reverse order on alpha,
sparc64 and i386.

Approved by: re(scottl)


111748 02-Mar-2003 des

More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9).


111481 25-Feb-2003 mux

Convert one more d_mmap_t consumer I missed in my previous commit.


111462 25-Feb-2003 mux

Cleanup of the d_mmap_t interface.

- Get rid of the useless atop() / pmap_phys_address() detour. The
device mmap handlers must now give back the physical address
without atop()'ing it.
- Don't borrow the physical address of the mapping in the returned
int. Now we properly pass a vm_offset_t * and expect it to be
filled by the mmap handler when the mapping was successful. The
mmap handler must now return 0 when successful, any other value
is considered as an error. Previously, returning -1 was the only
way to fail. This change thus accidentally fixes some devices
which were bogusly returning errno constants which would have been
considered as addresses by the device pager.
- Garbage collect the poorly named pmap_phys_address() now that it's
no longer used.
- Convert all the d_mmap_t consumers to the new API.

I'm still not sure wheter we need a __FreeBSD_version bump for this,
since and we didn't guarantee API/ABI stability until 5.1-RELEASE.

Discussed with: alc, phk, jake
Reviewed by: peter
Compile-tested on: LINT (i386), GENERIC (alpha and sparc64)
Runtime-tested on: i386


111311 23-Feb-2003 nyan

Fix compile error with FB_INSTALL_CDEV option.


111194 20-Feb-2003 phk

Change the console interface to pass a "struct consdev *" instead of a
dev_t to the method functions.

The dev_t can still be found at struct consdev *->cn_dev.

Add a void *cn_arg element to struct consdev which the drivers can use
for retrieving their softc.


111119 19-Feb-2003 imp

Back out M_* changes, per decision of the TRB.

Approved by: trb


111017 16-Feb-2003 phk

Change "dev_t gdbdev" to "void *gdb_arg", some possible paths for GDB
will not have a dev_t.


111002 16-Feb-2003 phk

Remove #include <sys/dkstat.h>


110688 11-Feb-2003 phk

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


110492 07-Feb-2003 nyan

Merged from sys/dev/sio/sio.c revision 1.383.


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.


109623 21-Jan-2003 alfred

Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.


109303 15-Jan-2003 nyan

Merged from sys/isa/syscons_isa.c revision 1.21.


109125 12-Jan-2003 nyan

Merged from sys/isa/fd.c revision 1.244.


108590 03-Jan-2003 nyan

Merged from sys/isa/fd.c revision 1.243.


108533 01-Jan-2003 schweikh

Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
especially in troff files.


108470 30-Dec-2002 schweikh

Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/
Add FreeBSD Id tag where missing.


106996 17-Nov-2002 nyan

Merged from sys/isa/fd.c revision 1.242.


105712 22-Oct-2002 nyan

Merged from sys/isa/syscons_isa.c revision 1.20.


105710 22-Oct-2002 nyan

MFi386: revisions 1.189 and 1.190.


105320 17-Oct-2002 nyan

Merged from sys/isa/syscons_isa.c revision 1.19.


105093 14-Oct-2002 nyan

Merged from sys/dev/sio/sio.c revision 1.382.


104778 10-Oct-2002 nyan

Fixed a warning if COM_MULTIPORT option is not defined.

Submitted by: Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>


104619 07-Oct-2002 nyan

Merged from sys/isa/fd.c revisions 1.224 and 1.241.


104515 05-Oct-2002 phk

Merge the last couple of my changes to fd.c into the pc98 version.

Sponsored by: DARPA & NAI Labs


104142 29-Sep-2002 nyan

Added some buggy PC-98 PnP cards support.


104137 29-Sep-2002 nyan

Merged from sys/isa/fd.c revision 1.238.


104134 29-Sep-2002 nyan

Merged from sys/dev/sio/sio.c revisions 1.380 and 1.381.


103881 24-Sep-2002 nyan

Move the com_emr register definition to sioreg.h.


103880 24-Sep-2002 nyan

Merged from sys/dev/sio/sio.c revision 1.379.


103734 21-Sep-2002 phk

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

Spotted by: peter.


103701 20-Sep-2002 phk

#include <sys/disk.h> to get disk_err() prototype.

Sponsored by: DARPA & NAI Labs.


103675 20-Sep-2002 phk

Make FreeBSD "struct disklabel" agnostic, step 311 of 723:

Rename diskerr() to disk_err() for naming consistency.

Drop the by now entirely useless struct disklabel argument.

Add a flag argument for new-line termination.

Fix a couple of printf-format-casts to %j instead of %l.

Correctly print the name of all bio commands.

Move the function from subr_disklabel.c to subr_disk.c,
and from <sys/disklabel.h> to <sys/disk.h>.

Use the new disk_err() throughout, #include <sys/disk.h> as needed.

Bump __FreeBSD_version for the sake of the aac disk drivers #ifdefs.

Remove unused disklabel members of softc for aac, amr and mlx, which seem
to originally have been intended for diskerr() use, but which only rotted
and got Copy&Pasted at least two times to many.

Sponsored by: DARPA & NAI Labs.


103384 16-Sep-2002 nyan

Merged from sys/isa/fd.c revisions 1.234, 1.235 and 1.236.


103380 16-Sep-2002 nyan

Merged from sys/dev/sio/sio.c revision 1.378.


103379 16-Sep-2002 nyan

Merged from sys/isa/syscons_isa.c revision 1.18.


102412 25-Aug-2002 charnier

Replace various spelling with FALLTHROUGH which is lint()able


102265 22-Aug-2002 nyan

Merged from sys/dev/syscons/scvtb.c revision 1.9.


102151 20-Aug-2002 peter

de-count pckbd for pc98. This file is only compiled if NPCKBD was 1,
so the conditional compile should never have been used.


100172 16-Jul-2002 nyan

Check return status from fd_in() function.


98763 24-Jun-2002 nyan

Merged from sys/dev/sio/sio.c revisions 1.376 and 1.377.


98736 24-Jun-2002 kato

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


98431 19-Jun-2002 nyan

Backout previous change and merge from sys/dev/sio/sio.c revision 1.375.


98430 19-Jun-2002 nyan

Merged from sys/isa/fd.c revision 1.233.


98401 18-Jun-2002 n_hibma

Make the speed used by gdb over serial settable in the kernel configuration.

This facilitates the use in circumstances where you are using a serial
console as well. GDB doesn't support anything higher than 9600 baud (19k2
if you are lucky), but the console does.


97748 02-Jun-2002 schweikh

Fix typo in the BSD copyright: s/withough/without/

Spotted and suggested by: des
MFC after: 3 weeks


96576 14-May-2002 nyan

Merged from sys/isa/fd.c revisions from 1.229 to 1.232.


95814 30-Apr-2002 phk

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


95710 29-Apr-2002 peter

Tidy up some loose ends.
i386/ia64/alpha - catch up to sparc64/ppc:
- replace pmap_kernel() with refs to kernel_pmap
- change kernel_pmap pointer to (&kernel_pmap_store)
(this is a speedup since ld can set these at compile/link time)
all platforms (as suggested by jake):
- gc unused pmap_reference
- gc unused pmap_destroy
- gc unused struct pmap.pm_count
(we never used pm_count - we track address space sharing at the vmspace)


95523 26-Apr-2002 phk

Simplify the RFC2783 and PPS_SYNC timestamp collection API.


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.


93936 06-Apr-2002 nyan

Merged from sys/isa/fd.c revision 1.228.


93934 06-Apr-2002 nyan

Merged from sys/dev/sio/sio.c revisions 1.370 and 1.371.


93818 04-Apr-2002 jhb

Change callers of mtx_init() to pass in an appropriate lock type name. In
most cases NULL is passed, but in some cases such as network driver locks
(which use the MTX_NETWORK_LOCK macro) and UMA zone locks, a name is used.

Tested on: i386, alpha, sparc64


93593 01-Apr-2002 jhb

Change the suser() API to take advantage of td_ucred as well as do a
general cleanup of the API. The entire API now consists of two functions
similar to the pre-KSE API. The suser() function takes a thread pointer
as its only argument. The td_ucred member of this thread must be valid
so the only valid thread pointers are curthread and a few kernel threads
such as thread0. The suser_cred() function takes a pointer to a struct
ucred as its first argument and an integer flag as its second argument.
The flag is currently only used for the PRISON_ROOT flag.

Discussed on: smp@


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


93238 26-Mar-2002 phk

Push BIO_FORMAT into a local hack inside the floppy drivers where
it belongs.


93147 25-Mar-2002 nyan

Merged from sys/dev/sio/sio.c revisions 1.366 and 1.369.


93134 25-Mar-2002 nyan

Fix style.


92793 20-Mar-2002 kato

Remove __P.


91986 10-Mar-2002 nyan

Free allocated buffer at siodetach().

MFC after: 3 days


91865 08-Mar-2002 nyan

- The pc98_ttspeedtab() function returns an error status instead of a divisor,
and sets a divisor to the third argument.
- The second argument of the pc98_set_baud_rate() function is changed from int
to u_int.


91061 22-Feb-2002 phk

Disksort will not "munge" requests, BIO_ORDERED or not, so remove
use of BIO_ORDERED.


90467 10-Feb-2002 nyan

Cosmetic changes.


90465 10-Feb-2002 nyan

- Refine the iskanji1 function.
- Print continuous ascii characters at a time.

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


90464 10-Feb-2002 nyan

Fixed mouse cursor on a console.

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


90012 31-Jan-2002 nyan

Changed iskanji[12] to inline functions.


90011 31-Jan-2002 nyan

Merged from sys/dev/sio/{sio.c,sio_isa.c} revisions 1.363 and 1.5,
respectively.


90007 31-Jan-2002 nyan

MFi386: revision 1.180


89485 18-Jan-2002 nyan

Merged from sys/dev/sio/sio.c revisions from 1.360 to 1.362.


88955 06-Jan-2002 nyan

Merged from sys/dev/sio/sio.c revisions 1.354 and 1.358.


88900 05-Jan-2002 jhb

Change the preemption code for software interrupt thread schedules and
mutex releases to not require flags for the cases when preemption is
not allowed:

The purpose of the MTX_NOSWITCH and SWI_NOSWITCH flags is to prevent
switching to a higher priority thread on mutex releease and swi schedule,
respectively when that switch is not safe. Now that the critical section
API maintains a per-thread nesting count, the kernel can easily check
whether or not it should switch without relying on flags from the
programmer. This fixes a few bugs in that all current callers of
swi_sched() used SWI_NOSWITCH, when in fact, only the ones called from
fast interrupt handlers and the swi_sched of softclock needed this flag.
Note that to ensure that swi_sched()'s in clock and fast interrupt
handlers do not switch, these handlers have to be explicitly wrapped
in critical_enter/exit pairs. Presently, just wrapping the handlers is
sufficient, but in the future with the fully preemptive kernel, the
interrupt must be EOI'd before critical_exit() is called. (critical_exit()
can switch due to a deferred preemption in a fully preemptive kernel.)

I've tested the changes to the interrupt code on i386 and alpha. I have
not tested ia64, but the interrupt code is almost identical to the alpha
code, so I expect it will work fine. PowerPC and ARM do not yet have
interrupt code in the tree so they shouldn't be broken. Sparc64 is
broken, but that's been ok'd by jake and tmm who will be fixing the
interrupt code for sparc64 shortly.

Reviewed by: peter
Tested on: i386, alpha


88395 22-Dec-2001 nyan

MFi386: revision 1.178


88392 22-Dec-2001 nyan

cosmetic changes.


88387 22-Dec-2001 nyan

MFi386: revision 1.179


88011 16-Dec-2001 nyan

Merged from sys/isa/{fd.c,fdreg.h} revisions 1.222 and 1.15, respectively.


87886 14-Dec-2001 nyan

Fixed to draw mouse cursor. The syscons driver for PC98 uses different
attributes from i386.

Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
MFC after: 3 days


87599 10-Dec-2001 obrien

Update to C99, s/__FUNCTION__/__func__/,
also don't use ANSI string concatenation.


86912 26-Nov-2001 nyan

Split the sio driver for pc98 into bus front end and back end.
(merged from the files in sys/dev/sio)


85619 28-Oct-2001 nyan

Removed pmc_isa_identify function. It is not needed.

Submitted by: takawata


85426 24-Oct-2001 jlemon

cn_tab no longer exists, use cnadd() to add a console device. Note that
this may result in duplicate console output in some cases.


85413 24-Oct-2001 nyan

Added the pmc driver which supports power management controller of
old NEC PC-98NOTE.

Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
MFC after: 1 week


85346 23-Oct-2001 amorita

Fix compile error of the case using `LINE30' option.

Reviewed by: nyan
MFC after: 3 days


85302 22-Oct-2001 imp

First commit after a repo copy of isa/sio* -> dev/sio:

Move sio from isa/sio.c to dev/sio/sio.c. The next step is to break
out the front end attachments, improve support for these parts on
different busses, and maybe, if we're lucky, merging in pc98 support.
It will also be MI and live in conf/files rather than files.*.

Approved by: bde
Tested with: i386, pc98


85153 19-Oct-2001 nyan

Changed IO_NPXSIZE to 8


85151 19-Oct-2001 nyan

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


85149 19-Oct-2001 nyan

Merged from sys/isa/sio.c revisions from 1.344 to 1.347


83875 24-Sep-2001 nyan

- Added #include <sys/systm.h>
- Cosmetic change


83548 16-Sep-2001 nyan

MFi386: sys/isa/fd.c revision from 1.205 to 1.219.


83547 16-Sep-2001 nyan

Allocate i/o and memory resources using gdc driver.


83539 16-Sep-2001 nyan

MFi386: sys/isa/sio.c revision 1.301, 1.336, 1.337, 1.338, 1.339 and 1.342.

Removed unnecessary PnP moden entries.


83536 16-Sep-2001 nyan

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


83535 16-Sep-2001 nyan

Added (commented out) ACPI attachment.


83434 14-Sep-2001 imp

Merge sys/isa/sio.c 1.343
KSE changes

Reviewed by: julian, bde, jhb


83431 14-Sep-2001 imp

Merge KSE changes from sys/dev/syscons/scterm-sc.c 1.17

# there are more "trivial" diffs in this file that have accumulated over time
# and I didn't try to fix those.

Reviewed by: julian, bde, jhb


83430 14-Sep-2001 imp

KSE changes for olpt driver

Reviewed by: julian, bde, jhb


83424 14-Sep-2001 imp

Merge from sys/isa/fd.c 1.221 and a few minor tweaks to make compile
with the post KSE world.

Reviewed by: julian, bde, jhb


81231 07-Aug-2001 nyan

Merged from sys/dev/syscons/scterm-sc.c revision 1.16.


80698 31-Jul-2001 nyan

Removed PLIP support.


80537 29-Jul-2001 nyan

Convert the olpt driver to using new-bus stuff.


80371 26-Jul-2001 nyan

Speed up console driver.

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


80207 23-Jul-2001 nyan

Integrate fdc.h into fd.c.


79708 14-Jul-2001 nyan

Fixed conflict with sys/dev/syscons/syscons.h.

Submitted by: yokota


79704 14-Jul-2001 nyan

- Refine pc98 supports.
- Use bus_space stuff.
- Rename FDO_* -> FDC_* (obtained from NetBSD/pc98)


79702 14-Jul-2001 nyan

Merged from the following changes.

sys/dev/syscons/scvgarndr.c revision 1.11
sys/dev/syscons/scvtb.c revision 1.8
sys/dev/syscons/syscons.c revisions 1.361, 1.363, 1.364, 1.365 and 1.366
sys/isa/atkbd_isa.c revision 1.9
sys/isa/syscons_isa.c revision 1.17


79524 10-Jul-2001 nyan

Added #include <sys/proc.h>

Submitted by: Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>


79224 04-Jul-2001 dillon

With Alfred's permission, remove vm_mtx in favor of a fine-grained approach
(this commit is just the first stage). Also add various GIANT_ macros to
formalize the removal of Giant, making it easy to test in a more piecemeal
fashion. These macros will allow us to test fine-grained locks to a degree
before removing Giant, and also after, and to remove Giant in a piecemeal
fashion via sysctl's on those subsystems which the authors believe can
operate without Giant.


79085 02-Jul-2001 nyan

Fixed warning message.

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


79008 30-Jun-2001 imp

Repo copy i8237.h to dev/ic so we can get rid of some of the final vestiges
of includes of i386 files from non-i386 ports.


78815 26-Jun-2001 nyan

Merged from the following changes.

sys/isa/ppc.c revisions from 1.27 to 1.34
sys/isa/ppcreg.h revisions from 1.10 to 1.15
sys/isa/isareg.h revision 1.6


78814 26-Jun-2001 nyan

Merged from sys/isa/sio.c revision 1.335.


78813 26-Jun-2001 nyan

Merged from sys/i386/isa/isa_dma.c revision 1.7.


78812 26-Jun-2001 nyan

Merged from sys/isa/syscons_isa.c revision 1.16.


78811 26-Jun-2001 nyan

Merged from sys/dev/syscons/scterm-sc.c revison 1.15.


78809 26-Jun-2001 nyan

Merged from sys/isa/fd.c revisions 1.198, 1.199, 1.200, 1.202 and 1.204.


78385 17-Jun-2001 nyan

Allocate all resources using keyboard controller.


78161 13-Jun-2001 peter

With this commit, I hereby pronounce gensetdefs past its use-by date.

Replace the a.out emulation of 'struct linker_set' with something
a little more flexible. <sys/linker_set.h> now provides macros for
accessing elements and completely hides the implementation.

The linker_set.h macros have been on the back burner in various
forms since 1998 and has ideas and code from Mike Smith (SET_FOREACH()),
John Polstra (ELF clue) and myself (cleaned up API and the conversion
of the rest of the kernel to use it).

The macros declare a strongly typed set. They return elements with the
type that you declare the set with, rather than a generic void *.

For ELF, we use the magic ld symbols (__start_<setname> and
__stop_<setname>). Thanks to Richard Henderson <rth@redhat.com> for the
trick about how to force ld to provide them for kld's.

For a.out, we use the old linker_set struct.

NOTE: the item lists are no longer null terminated. This is why
the code impact is high in certain areas.

The runtime linker has a new method to find the linker set
boundaries depending on which backend format is in use.

linker sets are still module/kld unfriendly and should never be used
for anything that may be modular one day.

Reviewed by: eivind


78135 12-Jun-2001 peter

Hints overhaul:
- Replace some very poorly thought out API hacks that should have been
fixed a long while ago.
- Provide some much more flexible search functions (resource_find_*())
- Use strings for storage instead of an outgrowth of the rather
inconvenient temporary ioconf table from config(). We already had a
fallback to using strings before malloc/vm was running anyway.


77962 10-Jun-2001 nyan

Move the files from i386/isa/ic/ to dev/ic/.


77800 06-Jun-2001 joerg

Nuke the various poorly maintained copies of ioctl_fd.h. The file is
not machine-dependant, thus it has been moved out (repo-copied) into
<sys/fdcio.h>.


77726 04-Jun-2001 joerg

Move out the files from src/sys/isa/ic/ to src/sys/dev/ic/, so they
can be made userland-visible as <dev/ic/...>. Also, those files are
not supposed to contain any bus-specific details at all, so placing
them under .../isa/ has been a misnomer from the beginning.

The files in src/sys/dev/ic/ have been repo-copied from their old
location (this commit is a forced null commit there to record this
message).


76650 15-May-2001 jhb

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


76615 15-May-2001 kato

Merged from sys/isa/fd.c revision 1.197.


76322 06-May-2001 phk

Actually biofinish(struct bio *, struct devstat *, int error) is more general
than the bioerror().

Most of this patch is generated by scripts.


76303 06-May-2001 nyan

Merged from sys/isa/fd.c revision 1.193.


76212 02-May-2001 kato

Merged from sys/isa/sio.c revision 1.330.


76211 02-May-2001 kato

Merged from sys/isa/fd.c revision 1.195.


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.


74810 26-Mar-2001 phk

Send the remains (such as I have located) of "block major numbers" to
the bit-bucket.


73022 25-Feb-2001 nyan

Supported pcmcia modem card.

Submitted by: MURAMATSU Atsushi <amura@ma3.seikyou.ne.jp>


72793 21-Feb-2001 kato

Merged from sys/isa/sio.c revision 1.326.


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.


72431 13-Feb-2001 kato

Merged from sys/isa/sio.c revision 1.324 (sched_swi -> swi_sched).


72358 11-Feb-2001 markm

RIP <machine/lock.h>.

Some things needed bits of <i386/include/lock.h> - cy.c now has its
own (only) copy of the COM_(UN)LOCK() macros, and IMASK_(UN)LOCK()
has been moved to <i386/include/apic.h> (AKA <machine/apic.h>).
Reviewed by: jhb


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)


71880 31-Jan-2001 peter

Remove count for NSIO. The only places it was used it were incorrect.
(alpha-gdbstub.c got sync'ed up a bit with the i386 version)


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.


71713 27-Jan-2001 nyan

Merged from sys/isa/sio.c revision 1.320.


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.


69781 08-Dec-2000 dwmalone

Convert more malloc+bzero to malloc+M_ZERO.

Submitted by: josh@zipperup.org
Submitted by: Robert Drehmel <robd@gmx.net>


69614 05-Dec-2000 kato

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


69210 26-Nov-2000 phk

Make diskerr() always log with printf.


69152 25-Nov-2000 jlemon

Lock down the network interface queues. The queue mutex must be obtained
before adding/removing packets from the queue. Also, the if_obytes and
if_omcasts fields should only be manipulated under protection of the mutex.

IF_ENQUEUE, IF_PREPEND, and IF_DEQUEUE perform all necessary locking on
the queue. An IF_LOCK macro is provided, as well as the old (mutex-less)
versions of the macros in the form _IF_ENQUEUE, _IF_QFULL, for code which
needs them, but their use is discouraged.

Two new macros are introduced: IF_DRAIN() to drain a queue, and IF_HANDOFF,
which takes care of locking/enqueue, and also statistics updating/start
if necessary.


68360 05-Nov-2000 nyan

Merged from the following changes.

sys/conf/Makefile.i386 1.211
sys/conf/files.i386 1.329
sys/isa/fd.c 1.186, 1.188 and 1.189
sys/isa/sio.c 1.305 and 1.317
sys/i386/conf/GENERIC 1.270, 1.281, 1.282 and 1.284
sys/i386/i386/machdep.c 1.419
sys/i386/i386/userconfig.c 1.184


67788 28-Oct-2000 nyan

Restore GDC mode to initial mode instead of 24KHz.

Submitted by: Tomokazu HARADA <tkhara@osk4.3web.ne.jp>


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


67370 20-Oct-2000 kato

Used kbio.h and consio.h instead of machine/console.h.


67368 20-Oct-2000 kato

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


67164 15-Oct-2000 phk

Remove unneeded #include <machine/clock.h>


67156 15-Oct-2000 peter

Clean up as in isa/* - resource_query_string() loop cosmetic tweaks.


67142 15-Oct-2000 nyan

Fixed warnings.


66870 09-Oct-2000 kato

Fixed include files to use sys/{cons,fb,kb}io.h instead of
machine/console.h.


66738 06-Oct-2000 kato

Merged from sys/isa/sio.c revision 1.316.


66736 06-Oct-2000 kato

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


66250 22-Sep-2000 kato

Merged from sys/isa/sio.c revision 1.315.


65878 15-Sep-2000 kato

Merged from sys/isa/fd.c revision 1.187.

Pointed out by: nyan


65877 15-Sep-2000 kato

Merged from sys/i386/isa/sio.c revision 1.314.


65876 15-Sep-2000 kato

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


65810 13-Sep-2000 kato

Merged from sys/isa/sio.c revision 1.312.


65611 08-Sep-2000 kato

Merged from sys/isa/sio.c revisions 1.309 - 1.311.


65568 07-Sep-2000 kato

Merged from sys/isa/sio.c revision 1.306, 1.307 and 1.308.


65566 07-Sep-2000 kato

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


64394 08-Aug-2000 nyan

Changed default cursor shape to non-blink mode.

Submitted by: Tomokazu HARADA <tkhara@osk4.3web.ne.jp>


64392 08-Aug-2000 nyan

Fixed PC-9821 NOTE supports with LINE30 mode.

Submitted by: Tomokazu HARADA <tkhara@osk4.3web.ne.jp>


64228 04-Aug-2000 kato

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


64021 30-Jul-2000 nyan

Merged from sys/dev/syscons/scterm-sc.c revisions from 1.8 to 1.12.


63011 12-Jul-2000 nyan

Backed out a part of previous commit. The function name conflicts.

Pointed out by: haro@tk.kubota.co.jp (Munehiro Matsuda)


62952 11-Jul-2000 nyan

Merge from the following changes.

sys/conf/files.i386 1.321
sys/dev/syscons/syscons.c 1.343
sys/i386/isa/spkr.c 1.46
sys/isa/fd.c 1.183 and 1.185
sys/isa/syscons_isa.c 1.14
sys/isa/vga_isa.c 1.18


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)


62201 28-Jun-2000 kato

Merged from sys/i386/isa/isa_dma.c revision 1.6.


62200 28-Jun-2000 kato

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


61950 22-Jun-2000 nyan

Sync with sys/dev/syscons/scterm-sc.c revisions 1.6 and 1.7.


61897 21-Jun-2000 nyan

Fixed to support RSA98-III non-pnp mode. rman_get_start() had returned
iobase + 8 because the I/O address table for RSA98-III starts with +8.
Now, bus_alloc_resource() is used instead of isa_alloc_resourcev() if
device type is RSA98III.


61742 17-Jun-2000 kato

Merged from sys/isa/syscons_isa.c revision 1.13.


61329 06-Jun-2000 kato

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


61116 31-May-2000 nyan

Update of isa drivers using compatability shims to use COMPAT_ISA_DRIVER().

Submitted by: haro@tk.kubota.co.jp (Munehiro Matsuda)


61115 31-May-2000 nyan

Sync with sys/isa/ppc.c revision 1.27.


60950 26-May-2000 nyan

Fixed header file path (machine/lpt.h -> dev/ppbus/lptio.h).


60472 12-May-2000 nyan

Use bus_space stuff except where it needs high performance.


60041 05-May-2000 phk

Separate the struct bio related stuff out of <sys/buf.h> into
<sys/bio.h>.

<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall
not be made a nested include according to bdes teachings on the
subject of nested includes.

Diskdrivers and similar stuff below specfs::strategy() should no
longer need to include <sys/buf.> unless they need caching of data.

Still a few bogus uses of struct buf to track down.

Repocopy by: peter


59778 30-Apr-2000 nyan

Fixed to support JIS7 KANJI.

Submitted by: Nobuyuki Koganemaru <kogane@koganemaru.co.jp>


59689 27-Apr-2000 nyan

Supported EGC 640x400, PEGC 640x400 and PEGC 640x480 graphics modes.

Submitted by: Chiharu Shibata <chi@bd.mbn.or.jp> and
Tomokazu HARADA <tkhara@osk4.3web.ne.jp>


59493 22-Apr-2000 nyan

Release allocated resources and return ENXIO on error.


59391 19-Apr-2000 phk

Remove ~25 unneeded #include <sys/conf.h>
Remove ~60 unneeded #include <sys/malloc.h>


59249 15-Apr-2000 phk

Complete the bio/buf divorce for all code below devfs::strategy

Exceptions:
Vinum untouched. This means that it cannot be compiled.
Greg Lehey is on the case.

CCD not converted yet, casts to struct buf (still safe)

atapi-cd casts to struct buf to examine B_PHYS


58934 02-Apr-2000 phk

Move B_ERROR flag to b_ioflags and call it BIO_ERROR.

(Much of this done by script)

Move B_ORDERED flag to b_ioflags and call it BIO_ORDERED.

Move b_pblkno and b_iodone_chain to struct bio while we transition, they
will be obsoleted once bio structs chain/stack.

Add bio_queue field for struct bio aware disksort.

Address a lot of stylistic issues brought up by bde.


58888 01-Apr-2000 kato

Merged from sys/isa/sio.c revisions 1.293 and 1.294.


58780 29-Mar-2000 nyan

- Supported display suspended mode.
- Switch on/off not only text screen but also graphic screen.

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


58779 29-Mar-2000 nyan

Merge from the following changes.

File Revision
sys/conf/files.i386 1.303 and 1.304
sys/dev/kbd/atkbd.c 1.23
sys/dev/syscons/scterm-sc.c 1.2
sys/dev/syscons/scvgarndr.c 1.5
sys/dev/syscons/scvtb.c 1.5
sys/dev/syscons/syscons.c 1.335
sys/isa/syscons_isa.c 1.11
sys/isa/vga_isa.c 1.17


58743 28-Mar-2000 kato

Merged from sys/isa/fd.c revision 1.180.


58477 23-Mar-2000 kato

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


58475 23-Mar-2000 kato

Disable fdctl_wr_foo. This feature is not supported by PC98.


58381 20-Mar-2000 nyan

Fixed style bugs.


58349 20-Mar-2000 phk

Rename the existing BUF_STRATEGY() to DEV_STRATEGY()

substitute BUF_WRITE(foo) for VOP_BWRITE(foo->b_vp, foo)

substitute BUF_STRATEGY(foo) for VOP_STRATEGY(foo->b_vp, foo)

This patch is machine generated except for the ccd.c and buf.h parts.


58345 20-Mar-2000 phk

Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new
field in struct buf: b_iocmd. The b_iocmd is enforced to have
exactly one bit set.

B_WRITE was bogusly defined as zero giving rise to obvious coding
mistakes.

Also eliminate the redundant struct buf flag B_CALL, it can just
as efficiently be done by comparing b_iodone to NULL.

Should you get a panic or drop into the debugger, complaining about
"b_iocmd", don't continue. It is likely to write on your disk
where it should have been reading.

This change is a step in the direction towards a stackable BIO capability.

A lot of this patch were machine generated (Thanks to style(9) compliance!)

Vinum users: Greg has not had time to test this yet, be careful.


58299 19-Mar-2000 kato

Merged from sys/isa/fd.c.


58142 16-Mar-2000 nyan

Fixed to support old parallel interface.

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


57973 13-Mar-2000 phk

Stop isadma from abusing the B_READ, B_RAW and B_WRITE flags.

Define ISADMA_{READ,WRITE,RAW} macros with the same numeric
values as the B_{READ,WRITE,RAW} and use them instead throughout.


57928 12-Mar-2000 kato

Merged from sys/isa/sio.c revision 1.291.


57885 10-Mar-2000 kato

Merged from sys/isa/sio.c revisions 1.289 and 1.290.


57291 17-Feb-2000 kato

Merged from sys/isa/sio.c rev 1.288.


57136 11-Feb-2000 kato

Synced with sys/dev/syscons/scterm-sc.c rev 1.4.


56826 29-Jan-2000 kato

Synced with sys/isa/ppc.c rev 1.26.


56811 29-Jan-2000 kato

Synced with sys/isa/ppc.c rev 1.25.

Reminded by: nyan


56793 29-Jan-2000 kato

Synced with sys/isa/sio.c rev 1.287.


56512 24-Jan-2000 kato

Return ENXIO on error.

Submitted by: n_hibma


56337 20-Jan-2000 kato

Synced with the sc driver in the sys/dev/syscons directory.

Submitted by: yokota


56325 20-Jan-2000 kato

Synced with sys/isa/sio.c rev 1.285.


56302 20-Jan-2000 kato

Port of the PC-98 ppc to the newbus system.


55901 13-Jan-2000 kato

Synced with following changes:

>yokota 2000/01/11 05:39:06 PST
>
> Modified files:
> sys/dev/usb ukbd.c
> sys/dev/kbd atkbd.c kbd.c kbdreg.h
> Log:
> Rework shifta/ctla/alta key handling. It appears that there was
> misunderstanding between the PR originator and me. I hope I got it
> right this time.
>
> Revision Changes Path
> 1.22 +4 -1 src/sys/dev/usb/ukbd.c
> 1.21 +1 -8 src/sys/dev/kbd/atkbd.c
> 1.16 +19 -10 src/sys/dev/kbd/kbd.c
> 1.9 +2 -2 src/sys/dev/kbd/kbdreg.h

Submitted by: yokota


55900 13-Jan-2000 kato

Synced with sys/isa/sio.c rev 1.284.


55652 09-Jan-2000 nyan

Merge from sys/isa/fd.c revision from 1.171 to 1.176 and sys/isa/fdreg.h
revision 1.13.

Forgotten by: kato


55456 05-Jan-2000 kato

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


55391 04-Jan-2000 nyan

- Fixed warnings.
- Removed unnecessary include files.


55151 27-Dec-1999 kato

Synced with sys/isa/sio.c rev 1.282.


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.


54883 20-Dec-1999 kato

Removed unnecessary include file.


54551 13-Dec-1999 kato

Merge from sys/dev/kbd/kbd.c rev 1.13.

Submitted by: yokota


54407 10-Dec-1999 kato

Merge from sys/isa/sio.c rev 1.279.


54358 09-Dec-1999 kato

Sync with sys/dev/fb/vga.c rev 1.5.

Submitted by: yokota


54256 07-Dec-1999 kato

Merge from sys/isa/fd.c rev 1.170.


54255 07-Dec-1999 kato

Merge from sys/isa/sio.c rev 1.277 & 1.278.


54174 06-Dec-1999 nyan

Supported i8251 (internal COM1) FIFO mode.

Submitted by: tanimura and nyan


54073 03-Dec-1999 mdodd

Remove the 'ivars' arguement to device_add_child() and
device_add_child_ordered(). 'ivars' may now be set using the
device_set_ivars() function.

This makes it easier for us to change how arbitrary data structures are
associated with a device_t. Eventually we won't be modifying device_t
to add additional pointers for ivars, softc data etc.

Despite my best efforts I've probably forgotten something so let me know
if this breaks anything. I've been running with this change for months
and its been quite involved actually isolating all the changes from
the rest of the local changes in my tree.

Reviewed by: peter, dfr


53986 01-Dec-1999 nyan

Sync with sys/isa/sio.c revision 1.276.


53884 29-Nov-1999 nyan

- Fixed to support RSB-384/2000/3000.
- Fixed warnings.


53373 18-Nov-1999 nyan

Sync with sys/isa/sio.c revision up to 1.275.


53372 18-Nov-1999 nyan

Sync with sys/isa/fd.c revision 1.168.


53121 13-Nov-1999 nyan

Fixed the size of array.


53093 11-Nov-1999 nyan

Sync with sys/isa/fd.c revision 1.167.


53002 08-Nov-1999 peter

Use cdevsw_add() until the rest of the devices are created with make_dev()
and change from DEV_DRIVER_MODULE() to DRIVER_MODULE().


52832 03-Nov-1999 nyan

Support RSA-98III PnP mode.


52831 03-Nov-1999 nyan

Sync with sys/isa/sio.c revision from 1.269 to 1.273.


52828 03-Nov-1999 nyan

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


51719 27-Sep-1999 nyan

Merge from sys/isa/fd.c revision 1.146, 1.153, 1.154 and 1.159.


51658 25-Sep-1999 phk

Remove five now unused fields from struct cdevsw. They should never
have been there in the first place. A GENERIC kernel shrinks almost 1k.

Add a slightly different safetybelt under nostop for tty drivers.

Add some missing FreeBSD tags


51654 25-Sep-1999 phk

This patch clears the way for removing a number of tty related
fields in struct cdevsw:

d_stop moved to struct tty.
d_reset already unused.
d_devtotty linkage now provided by dev_t->si_tty.

These fields will be removed from struct cdevsw together with
d_params and d_maxio Real Soon Now.

The changes in this patch consist of:

initialize dev->si_tty in *_open()
initialize tty->t_stop
remove devtotty functions
rename ttpoll to ttypoll
a few adjustments to these changes in the generic code
a bump of __FreeBSD_version
add a couple of FreeBSD tags


51646 25-Sep-1999 phk

Remove NBPF conditionality of bpf calls in most of our network drivers.

This means that we will not have to have a bpf and a non-bpf version
of our driver modules.

This does not open any security hole, because the bpf core isn't loadable

The drivers left unchanged are the "cross platform" drivers where the respective
maintainers are urged to DTRT, whatever that may be.

Add a couple of missing FreeBSD tags.


51613 23-Sep-1999 nyan

- Supported 1.23MB FD again.
- Supported all formats that IBM-PC's driver (isa/fd.c) supports.
- Changed the device minor numbers. They sync in IBM-PC's driver.


51413 19-Sep-1999 phk

Two more devstat_end_transaction() -> devstat_end_transaction_buf().


51376 18-Sep-1999 phk

Use devstat_end_transaction_buf() rather than Use devstat_end_transaction()


51276 14-Sep-1999 nyan

Gdc and pckbd driver don't support pnp mode.


51226 13-Sep-1999 bde

Removed diskerr()'s unused d_name arg and updated callers. This fixes
warnings caused by the arg having the wrong type (not const enough).
The arg was also wrong (a full name instead of a short one) for calls
from from subr_diskmbr.c and pc98/diskslice_machdep.c.


51202 12-Sep-1999 nyan

Fixed missing changes from sys/isa/sio.c.


51056 07-Sep-1999 kato

Change isa_get/set_flags() to device_get/set_flags().

Submitted by: dfr


50869 04-Sep-1999 kato

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


50477 28-Aug-1999 peter

$Id$ -> $FreeBSD$


50441 27-Aug-1999 julian

Remove some vestiges of devfs direct calls.


50436 27-Aug-1999 julian

Add PHK's make_dev() into more places where DEVFS used to be
hooked in directly.

Alpha change checked by: Matthew Jacob <mjacob@feral.com>
i4b ISDN changes checked by: Udo Schweigert <ust@cert.siemens.de>
and Hellmuth Michaelis <hm@hcs.de>
PC98 changes checked by: Takahashi Yoshihiro <nyan@FreeBSD.org>


50236 23-Aug-1999 kato

Updated to new keyboard driver.

Submitted by: yokota & nyan


49946 17-Aug-1999 nyan

Use V-FAST mode register to check whether it supports V-FST mode.

Submitted by: WATANABE Takuya <sodium@xuni.ne.jp>


49771 14-Aug-1999 phk

Spring cleaning around strategy and disklabels/slices:

Introduce BUF_STRATEGY(struct buf *, int flag) macro, and use it throughout.
please see comment in sys/conf.h about the flag argument.

Remove strategy argument from all the diskslice/label/bad144
implementations, it should be found from the dev_t.

Remove bogus and unused strategy1 routines.

Remove open/close arguments from dssize(). Pick them up from dev_t.

Remove unused and unfinished setgeom support from diskslice/label/bad144 code.


49564 09-Aug-1999 nyan

Fixed checking a type of the interface.

Submitted by: Tomohiko Kurahashi <kura@tim.hi-ho.ne.jp>


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.


49195 29-Jul-1999 mdodd

Alter the behavior of sys/kern/subr_bus.c:device_print_child()

- device_print_child() either lets the BUS_PRINT_CHILD
method produce the entire device announcement message or
it prints "foo0: not found\n"

Alter sys/kern/subr_bus.c:bus_generic_print_child() to take on
the previous behavior of device_print_child() (printing the
"foo0: <FooDevice 1.1>" bit of the announce message.)

Provide bus_print_child_header() and bus_print_child_footer()
to actually print the output for bus_generic_print_child().
These functions should be used whenever possible (unless you can
just use bus_generic_print_child())

The BUS_PRINT_CHILD method now returns int instead of void.

Modify everything else that defines or uses a BUS_PRINT_CHILD
method to comply with the above changes.

- Devices are 'on' a bus, not 'at' it.
- If a custom BUS_PRINT_CHILD method does the same thing
as bus_generic_print_child(), use bus_generic_print_child()
- Use device_get_nameunit() instead of both
device_get_name() and device_get_unit()
- All BUS_PRINT_CHILD methods return the number of
characters output.

Reviewed by: dfr, peter


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.


48961 21-Jul-1999 nyan

Fixed missing changes from sys/pc98/pc98/pc98.c when new-bus was integrated.

- In isa_dmastart() and isa_dmadone(), cache flush.
- Correct current word register address.

Submitted by (partial): Toshikazu Kaho <kaho@elam.kais.kyoto-u.ac.jp>


48645 06-Jul-1999 des

Rename bpfilter to bpf.


48557 04-Jul-1999 phk

Remove cmaj and bmaj args from DEV_DRIVER_MODULE.


48516 03-Jul-1999 kato

Added copyright.

Pointed out by: yokota


48514 03-Jul-1999 kato

Moved LCD controle routine for certain models of EPSON laptops into
suitable place.

Submitted by: yokota


48324 28-Jun-1999 kato

Typo: BUF_INITLOCK -> BUF_LOCKINIT and BUF_FREELOCK -> BUF_LOCKFREE.


48322 28-Jun-1999 kato

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


48225 26-Jun-1999 mckusick

Convert buffer locking from using the B_BUSY and B_WANTED flags to using
lockmgr locks. This commit should be functionally equivalent to the old
semantics. That is, all buffer locking is done with LK_EXCLUSIVE
requests. Changes to take advantage of LK_SHARED and LK_RECURSIVE will
be done in future commits.


48217 25-Jun-1999 kato

From submitter:
The attached diff attempts to eliminate as much of the difference
between the i386 and the pc98 version of the file as possible. It
should not make any semantic difference (it consists of whitespace
changes, order changes, comment changes, changes of case for hex
constants, and merging in a couple of constants that hadn't made it
from the i386 version.)

Submitted by: eivind


48190 24-Jun-1999 kato

Sync with sys/dev/syscons/scvtb.c revision 1.2.

Submitted by: yokota


48188 24-Jun-1999 kato

Merge with sys/isa/syscons_isa.c and sys/dev/syscons/syscons.c
revisions 1.6 and 1.308, respectively.

Pointed-out by: yokota


48187 24-Jun-1999 kato

PC98 part of the second phase of syscons reorganization.

Submitted by: yokota


48176 24-Jun-1999 kato

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


48006 18-Jun-1999 kato

New parallel port support for PC98. Old PC98s which have
uni-directional parallel port should use olpt driver instead of lpt
driver.

Files ppc.c and ppcreg.h are copied form i386/isa directory with PC98
change.

Submitted by: Akio Morita <amorita@meadow.scphys.kyoto-u.ac.jp>


47669 01-Jun-1999 kato

Fixed locations of include files.


47667 01-Jun-1999 kato

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


47625 30-May-1999 phk

This commit should be a extensive NO-OP:

Reformat and initialize correctly all "struct cdevsw".

Initialize the d_maj and d_bmaj fields.

The d_reset field was not removed, although it is never used.

I used a program to do most of this, so all the files now use the
same consistent format. Please keep it that way.

Vinum and i4b not modified, patches emailed to respective authors.


47002 11-May-1999 kato

Sync with sys/isa/sio.c revision 1.241.


47001 11-May-1999 kato

Sync with sys/i386/isa/fd.c revision 1.143.


46874 10-May-1999 kato

Fixed for COM_MULTIPORT option. Members flags and unit should be
obtained via appropriate functions.


46871 10-May-1999 kato

Sync with sys/isa/sio.c revision 1.240.


46870 10-May-1999 kato

Sync with sys/i386/isa/isa_dma.c revision 1.3.


46868 10-May-1999 kato

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


46792 09-May-1999 phk

Unconfuse DEV_MODULE() and DEV_DRIVER_MODULE() about the difference between
a major number for a dev_t.


46766 09-May-1999 kato

Sync with sys/isa/sio.c revision 1.234.


46760 09-May-1999 kato

Removed DRIVER_TYPE_TTY field.


46759 09-May-1999 kato

Sync with sys/isa/atkbd_isa.c revision 1.4.


46754 09-May-1999 kato

Sync with sys/i386/isa/fd.c revision 1.142.


46635 07-May-1999 phk

Continue where Julian left off in July 1998:

Virtualize bdevsw[] from cdevsw. bdevsw() is now an (inline)
function.

Join CDEV_MODULE and BDEV_MODULE to DEV_MODULE (please pay attention
to the order of the cmaj/bmaj arguments!)

Join CDEV_DRIVER_MODULE and BDEV_DRIVER_MODULE to DEV_DRIVER_MODULE
(ditto!)

(Next step will be to convert all bdev dev_t's to cdev dev_t's
before they get to do any damage^H^H^H^H^H^Hwork in the kernel.)


46625 07-May-1999 phk

Introduce two functions: physread() and physwrite() and use these directly
in *devsw[] rather than the 46 local copies of the same functions.

(grog will do the same for vinum when he has time)


46580 06-May-1999 phk

remove b_proc from struct buf, it's (now) unused.

Reviewed by: dillon, bde


46464 05-May-1999 kato

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


46460 05-May-1999 kato

Fixed missing parenthesis.

Submitted by: Takahashi Yoshihiro <nyan@dd.catv.ne.jp>


46148 28-Apr-1999 kato

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


46112 27-Apr-1999 phk

Suser() simplification:

1:
s/suser/suser_xxx/

2:
Add new function: suser(struct proc *), prototyped in <sys/proc.h>.

3:
s/suser_xxx(\([a-zA-Z0-9_]*\)->p_ucred, \&\1->p_acflag)/suser(\1)/

The remaining suser_xxx() calls will be scrutinized and dealt with
later.

There may be some unneeded #include <sys/cred.h>, but they are left
as an exercise for Bruce.

More changes to the suser() API will come along with the "jail" code.


45919 21-Apr-1999 kato

Sync with sys/i386/isa/isa_dma.c revision 1.2.


45918 21-Apr-1999 kato

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


45830 19-Apr-1999 kato

Fixed missing changes for new-bus (return value of the probe routine).

Submitted by: Takahashi Yoshihiro <nyan@dd.catv.ne.jp>


45816 19-Apr-1999 kato

Sync with sys/isa/sio.c revision 1.226.


45783 18-Apr-1999 kato

Sync with follwing files:

Path Revision
i386/conf/GENERIC 1.162
i386/conf/Makefile.i386 1.146
i386/conf/files.i386 1.236
i386/conf/options.i386 1.111
i386/i386/machdep.c 1.329
i386/i386/userconfig.c 1.134
i386/isa/fd.c 1.135
i386/isa/if_ed.c 1.151
i386/isa/isa_dam.c 1.1
i386/isa/npx.c 1.67
isa/sio.c 1.224
dev/syscons/syscons.c 1.300
i386/isa/wd.c 1.194
isa/vga_isa.c 1.5
isa/atkbd_isa.c 1.3
isa/syscons_isa.c 1.2

Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>


45364 06-Apr-1999 peter

Use PHOLD/PRELE() instead of P_PHSYIO.


45267 03-Apr-1999 kato

Sync with sys/i386/isa/sio.c revision 1.234.


45226 01-Apr-1999 kato

Sync with sys/i386/isa/sio.c revision up to 1.233.


45029 25-Mar-1999 kato

Sync with sys/i386/isa/sio.c revision up to 1.231.


44635 10-Mar-1999 kato

Keyboard driver update.

Submitted by: Kazutaka YOKOTA <yokota@FreeBSD.org>


44460 04-Mar-1999 kato

Sync with sys/i386/isa/sio.c revision 1.229.


44421 02-Mar-1999 kato

Fix for LINE30 option. This option was not tested under new console
driver.

Submitted by: Takahashi Yoshihiro <nyan@dd.catv.ne.jp>


43819 10-Feb-1999 ken

Add a prioritization field to the devstat_add_entry() call so that
peripheral drivers can determine where in the devstat(9) list they are
inserted.

This requires recompilation of libdevstat, systat, vmstat, rpc.rstatd, and
any ports that depend on the devstat code, since the size of the devstat
structure has changed. The devstat version number has been incremented as
well to reflect the change.

This sorts devices in the devstat list in "more interesting" to "less
interesting" order. So, for instance, da devices are now more important
than floppy drives, and so will appear before floppy drives in the default
output from systat, iostat, vmstat, etc.

The order of devices is, for now, kept in a central table in devicestat.h.
If individual drivers were able to make a meaningful decision on what
priority they should be at attach time, we could consider splitting the
priority information out into the various drivers. For now, though, they
have no way of knowing that, so it's easier to put them in an easy to find
table.

Also, move the checkversion() call in vmstat(8) to a more logical place.

Thanks to Bruce and David O'Brien for suggestions, for reviewing this, and
for putting up with the long time it has taken me to commit it. Bruce did
object somewhat to the central priority table (he would rather the
priorities be distributed in each driver), so his objection is duly noted
here.

Reviewed by: bde, obrien


43709 06-Feb-1999 kato

Sync with syscons for i386.

Submitted by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>


43663 05-Feb-1999 kato

Sync with sys/i386/isa/sio.c revision up to 1.228.

Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>


43539 02-Feb-1999 kato

Added braces around initializsers and in if-statements.

Submitted by: Takahashi Yoshihiro <nyan@dd.catv.ne.jp>


43425 30-Jan-1999 phk

Use suser() to check for super user rather than examining cr_uid directly.
Use TTYDEF_SPEED rather than 9600 a couple of places.

Reviewed by: bde, with a few grumbles.


43339 28-Jan-1999 kato

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


43338 28-Jan-1999 kato

The "easy" fixes for compiling the kernel -Wunused: remove unreferenced static
and local variables, goto labels, and functions declared but not defined.


43275 27-Jan-1999 kato

Sync with sys/i386/isa/sio.c revision 1.225.


42834 19-Jan-1999 kato

Fixed argument to intr member of the variable kbd.


42833 19-Jan-1999 kato

Sync with sys/dev/syscons and sys/dev/kbd drivers.

Submitted by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>


42820 19-Jan-1999 peter

Update the pccard hooks to use a module style declaration instead.


42805 18-Jan-1999 kato

Added copyright.

Pointed out by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>


42803 18-Jan-1999 kato

Don't forget to initialize va_mode.

Submitted by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
Forgotten by: kato


42795 18-Jan-1999 kato

Switched to new syscons driver.

Submitted by: NOKUBI Hirotaka <hnokubi@yyy.or.jp> and
Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>


42727 16-Jan-1999 kato

Sync with sys/i386/isa/sio.c revision up to 1.223.


42725 16-Jan-1999 kato

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


42405 08-Jan-1999 kato

Sync with sys/i386/isa/sio.c and syscons.c revisions 1.221 and 1.289,
respectively.


42265 03-Jan-1999 kato

- Remove bus-dependent addresses from `ic' file.
- Special registers of IO-DATA device's RSA series are defined in
ic/rsa.h (new file).

Pointed out by: Bruce Evans <bde@zeta.org.au>
Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>


42262 03-Jan-1999 kato

Support following devices:
- on board 2nd CCU
- Midori Elec. MDC-926Rs
- Midori-Hayes ESP98
- NEC PC-9861K, PC-9801-101 PC-9801-120
- Melco IND-SP and IND-SS
- PIO-9032A/B/C
- B98-01 and B98-02
- IO-data device RSA-98II and RSA-98III
- MC-16550
- MC-RS98
- Media Inteligent RSB-2000/3000 and RSB-384
- PCMCIA modem card

Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>


42166 30-Dec-1998 kato

Sync with sys/i386/isa/sio.c revision 1.220.


42164 30-Dec-1998 kato

Sync with sys/i386/isa/fd.c revision 1.130.


41894 17-Dec-1998 kato

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


41890 17-Dec-1998 kato

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


41779 14-Dec-1998 kato

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


41658 10-Dec-1998 eivind

Rename one of the two devfs_link's to devfs_makelink.


41596 08-Dec-1998 kato

Sync with sys/i386/isa/fd.c, if_fe.c, npx.c and sio.c revisions 1.126,
1.44, 1.63 and 1.219, respectively.


41536 05-Dec-1998 kato

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


41303 23-Nov-1998 kato

Sync with sys/i386/isa/sio.c revision up to 1.218.


40613 23-Oct-1998 kato

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


40565 22-Oct-1998 bde

Initialize isa_devtab entries for interrupt handlers in individual
device drivers, not in ioconf.c. Use a different hack in isa_device.h
so that a new config(8) is not required yet.

pc98 parts approved by: kato


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.


39336 16-Sep-1998 kato

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


39276 15-Sep-1998 kato

Sync with sys/i386/isa/fd.c and wd.c revisions 1.122 and 1.176,
respectively.


39187 14-Sep-1998 sos

Remove the SLICE code.
This clearly needs alot more thought, and we dont need this to hunt
us down in 3.0-RELEASE.


39173 14-Sep-1998 kato

Sync with sys/i386/isa/if_ed.c and sio.c revisions 1.145 and 1.215,
respectively.


38941 08-Sep-1998 kato

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


38603 28-Aug-1998 kato

Sync with sys/i386/isa/sio.c revision up to 1.214.


38439 19-Aug-1998 kato

Sync with sys/i386/isa/sio.c revision 1.211.


38297 13-Aug-1998 kato

Sync with sys/i386/isa/sio.c revision 1.210.


37971 30-Jul-1998 kato

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


37760 19-Jul-1998 kato

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


37704 16-Jul-1998 kato

Sync with sys/i386/isa/fd.c revision 1.118.


37683 15-Jul-1998 bde

Changed %n to %r in devfs name format strings. %n has almost gone away.


37617 13-Jul-1998 kato

Sync with sys/i386/isa/fd.c and wd.c revisions 1.117 and 1.172,
respectively.


37569 11-Jul-1998 kato

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


37435 06-Jul-1998 kato

Sync with sys/i386/isa/fd.c and wd.c revisions 1.115 and 1.170,
respectively.


37138 24-Jun-1998 kato

Sync with sys/i386/isa/syscons.c revision 1.208.


37025 17-Jun-1998 kato

Sync with sys/i386/isa/sio.c revision 1.207.


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.


36762 08-Jun-1998 kato

Merge 64bit portability fixes from sys/i386 stuff.


36720 07-Jun-1998 kato

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


36662 05-Jun-1998 kato

Sync with sys/i386/isa/sio.c revision up to 1.205.


36564 01-Jun-1998 kato

Sync with sys/i386/isa/sio.c revision 1.203.


36448 28-May-1998 kato

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


36255 20-May-1998 kato

Sync with sys/i386/isa/sio.c revision 1.202.


36254 20-May-1998 kato

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


36019 13-May-1998 kato

Sync with sys/i386/isa/sio.c revision 1.201.


35825 07-May-1998 kato

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


35688 04-May-1998 kato

Sync with sys/i386/isa/sio.c revision 1.200.


35678 04-May-1998 kato

System clock speed is always detected automatically.


35386 22-Apr-1998 julian

close() is no longer a SLICE method.
Close is simply an open with no-read and no-write once internal to SLICE
(it still exports a close to the rest of the kernel)


35336 20-Apr-1998 kato

Sync with sys/i386/isa/fd.c revision 1.109.


35256 17-Apr-1998 des

Seventy-odd "its" / "it's" typos in comments fixed as per kern/6108.


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.


33877 27-Feb-1998 kato

Sync with sys/i386/isa/sio.c revision up to 1.199.


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.


33378 15-Feb-1998 kato

Sync with sys/i386/isa/sio.c revision 1.197.


33322 13-Feb-1998 phk

Implement the spirit but not the letter of Terrys hot-char patch.

The differences Terrys patch and this patch are:
* Remove a lot of un-needed comments.
* Don't put l_hotchar at the front of stuct linesw, there is no need to.
* Use the #defines for the hotchar in the SLIP and PPP line disciplines


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.


33021 02-Feb-1998 kato

Fixed bugs introduced by syncing with i386/isa/sio.c revision 1.143.

Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>


32852 28-Jan-1998 kato

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


32726 24-Jan-1998 eivind

Make all file-system (MFS, FFS, NFS, LFS, DEVFS) related option new-style.

This introduce an xxxFS_BOOT for each of the rootable filesystems.
(Presently not required, but encouraged to allow a smooth move of option *FS
to opt_dontuse.h later.)

LFS is temporarily disabled, and will be re-enabled tomorrow.


32691 22-Jan-1998 kato

Added dealy.

Submitted by: Kawanobe Koh <kawanobe@st.rim.or.jp>


32546 16-Jan-1998 kato

Fixed bugs introduced when files were synchronized with
sys/i386/isa/mse.c and sio.c.

Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>


32332 08-Jan-1998 kato

Sync with sys/i386/isa/sio.c revision 1.194.


32090 29-Dec-1997 kato

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


32089 29-Dec-1997 kato

Sync with sys/i386/isa/sio.c revision up to 1.193.


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!


31778 16-Dec-1997 eivind

Make COMPAT_43 and COMPAT_SUNOS new-style options.


31577 06-Dec-1997 bde

Use ENOIOCTL instead of -1 (= ERESTART) for tty ioctls that are
not handled at a particular level. This fixes mainly restarting
of interrupted TIOCDRAINs and TIOCSETA{W,F}s.


31493 02-Dec-1997 phk

In all such uses of struct buf: 's/b_un.b_addr/b_data/g'


31406 25-Nov-1997 kato

Sync with sys/i386/isa/if_ed.c, if_fe.c and sio.c revisions 1.129,
1.35 and 1.189, respectively.


31293 19-Nov-1997 kato

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


30906 03-Nov-1997 kato

Sync with sys/i386/isa/sio.c revision 1.188.


30811 28-Oct-1997 kato

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


30772 27-Oct-1997 kato

Synchronize with sys/i386/isa/sio.c revision 1.187.


30625 21-Oct-1997 kato

Synchronize with sys/i386/isa/fd.c revision 1.105.


30368 13-Oct-1997 kato

Synchronize with sys/i386/isa/sio.c revision 1.184.


29793 24-Sep-1997 kato

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


29715 22-Sep-1997 kato

Synchronize with sys/i386/isa/fd.c, isa.c and sio.c revisions 1.103,
1.105 and 1.183, respectively.


29631 20-Sep-1997 kato

Synchronize with sys/i386/conf/options.i386 and sys/i386/isa/sio.c
revisions 1.60 and 1.182, respectively.


29568 18-Sep-1997 kato

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


29533 17-Sep-1997 kato

Synchronize with sys/i386/conf/options.i386 and sys/i386/isa/fd.c
revisions 1.59 and 1.101, respectively.


29390 14-Sep-1997 kato

Synchronize with sys/i386/isa/mse.c, pcaudio.c, sio.c and syscons.c
revisions 1.34, 1.37, 1.181 and 1.232, respectively.


29010 01-Sep-1997 kato

Synchronize with sys/i386/isa/sio.c revision 1.180.


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.


28514 21-Aug-1997 kato

Synchronize with sys/i386/isa/sio.c revision up to 1.177.


28511 21-Aug-1997 kato

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


28452 20-Aug-1997 kato

Synchronize with sys/i386/i386/trap.c revision 1.106 and
sys/i386/isa/sio.c revision 1.175.


27938 06-Aug-1997 kato

Synchronize with sys/i386/isa/sio.c revision 1.174.


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.


27577 21-Jul-1997 kato

Synchronize with sys/i386/isa/fd.c, if_ed.c, if_fe.c, lpt.c, mse.c,
npx.c, isa.c, sio.c, syscons.c and wd.c revisions 1.100, 1.117, 1.29,
1.61, 1.33, 1.48, 1.95, 1.173, 1.226 and 1.132, respectively.


27549 20-Jul-1997 kato

Fixed the place of the `}' in comparam().


27546 20-Jul-1997 kato

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


27479 17-Jul-1997 kato

Synchronize with sys/i386/isa/sio.c revision 1.172.


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.


26478 06-Jun-1997 kato

Synchronize with sys/i386/isa/sio.c and sioreg.h revisions1.171 and
1.10, respectively.


26439 04-Jun-1997 kato

Synchronize with sys/i386/isa/sio.c and sioreg.h revisions 1.170 and
1.9, 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


26381 02-Jun-1997 kato

Synchronize with sys/i386/isa/sio.c revision 1.169.


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.


25924 19-May-1997 kato

Synchronize with sys/i386/isa/sio.c revison 1.167.


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.


25026 19-Apr-1997 kato

Synchronize with sys/i386/isa/sio.c revision 1.163.


24700 07-Apr-1997 kato

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


24655 05-Apr-1997 kato

Synchronize with sys/i386/isa/sio.c revision 1.162.


24209 24-Mar-1997 bde

Don't include <sys/ioctl.h> in the kernel. Stage 9: same changes
in pc98 as in isa.


24132 23-Mar-1997 bde

Don't #include <sys/fcntl.h> in <sys/file.h> if KERNEL is defined.
Fixed everything that depended on getting fcntl.h stuff from the wrong
place. Most things don't depend on file.h stuff at all.


23447 06-Mar-1997 kato

Added missing i8251 code.

Submitted by: H. Nokubi <h-nokubi@nmit.mt.nec.co.jp>


23407 05-Mar-1997 kato

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


23371 04-Mar-1997 kato

Fixed devfs code. Old code remained in pc98 tree.
Submitted by: URATA Shuichiro <s-urata@nmit.tmg.nec.co.jp>


22975 22-Feb-1997 peter

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


22533 10-Feb-1997 kato

Synchronize with Lite/2 commit: i386/i386/machdep.c, i386/i386/trap.c,
i386/isa/fd.c and i386/isa/wd.c revisions 1.227, 1.87, 1.96 and 1.123,
respectively.


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.


22200 02-Feb-1997 kato

Synchronize with sys/i386/isa/sio.c revision 1.158.


22120 30-Jan-1997 kato

Synchronize with sys/i386/isa/sio.c revision 1.157.


22118 30-Jan-1997 kato

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


21848 18-Jan-1997 kato

- Changed retry count from 1000000 to 10000 (same as IBM-PC's).
- Deleted unnecessary DELAY().
- Deleted space character at the end of line.


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.


20898 24-Dec-1996 kato

Synchronize with sys/i386/isa/sio.c revision 1.155 (use breakpoint()
instead of Debugger()).


20668 19-Dec-1996 kato

Synchronize with sys/i386/isa/fd.c revision 1.94 (disable disk
statistics support).


20129 04-Dec-1996 asami

Syncronize.

Submitted by: The FreeBSD(98) Development Team


20127 04-Dec-1996 asami

Synchronize with the RELENG_2_2 branch.

Definite 2.2 candidate.

Submitted by: The FreeBSD(98) Development Team


19551 09-Nov-1996 asami

Re-sync with -current. Should be in 2.2.

Submitted by: The FreeBSD(98) Development Team


19326 02-Nov-1996 asami

The last update/merge of PC98 stuff before 2.2. The whole
pc98/pc98/sound directory has vanished now!

Submitted by: FreeBSD(98) Development Team


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.


18265 12-Sep-1996 asami

Another round of merge/update.

(1) Add PC98 support to apm_bios.h and ns16550.h, remove pc98/pc98/ic
(2) Move PC98 specific code out of cpufunc.h (to pc98.h)
(3) Let the boot subtrees look more alike

Submitted by: The FreeBSD(98) Development Team
<freebsd98-hackers@jp.freebsd.org>


18208 10-Sep-1996 asami

More merge. Change "pc98" to "isa" in a few places. Misc. cleanup.
Add some more devices to userconfig.c.

Submitted by: The FreeBSD(98) Development Team


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


17973 31-Aug-1996 asami

s/pc98/isa/g in struct *_device and *_driver. Resync along the way.

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


17350 30-Jul-1996 asami

Another round of merge.

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