History log of /freebsd-10.1-release/sys/pc98/pc98/
Revision Date Author Comments
272461 03-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

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


267964 27-Jun-2014 jhb

MFC 261781:
Don't waste a page of KVA for the boot-time memory test on x86. For amd64,
reuse the first page of the crashdumpmap as CMAP1/CADDR1. For i386,
remove CMAP1/CADDR1 entirely and reuse CMAP3/CADDR3 for the memory test.


258559 25-Nov-2013 emaste

MFC r258135: x86: Allow users to change PSL_RF via ptrace(PT_SETREGS...)

Debuggers may need to change PSL_RF. Note that tf_eflags is already stored
in the signal context during signal handling and PSL_RF previously could
be modified via sigreturn, so this change should not provide any new
ability to userspace.

For background see the thread at:
http://lists.freebsd.org/pipermail/freebsd-i386/2007-September/005910.html

Reviewed by: jhb, kib

Sponsored by: DARPA, AFRL
Approved by: re (gjb)


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


254663 22-Aug-2013 jkim

MFi386: r254619

Reimplement atomic_load_acq_64() and atomic_store_rel_64() for i386.

Noticed by: tinderbox


254025 07-Aug-2013 jeff

Replace kernel virtual address space allocation with vmem. This provides
transparent layering and better fragmentation.

- Normalize functions that allocate memory to use kmem_*
- Those that allocate address space are named kva_*
- Those that operate on maps are named kmap_*
- Implement recursive allocation handling for kmem_arena in vmem.

Reviewed by: alc
Tested by: pho
Sponsored by: EMC / Isilon Storage Division


251222 01-Jun-2013 nyan

MFi386: revision 251039

Use slightly more idiomatic expression to get the address of array.


249586 17-Apr-2013 gabor

- Correct mispellings of word resource

Submitted by: Christoph Mallon <christoph.mallon@gmx.de>


248084 09-Mar-2013 attilio

Switch the vm_object mutex to be a rwlock. This will enable in the
future further optimizations where the vm_object lock will be held
in read mode most of the time the page cache resident pool of pages
are accessed for reading purposes.

The change is mostly mechanical but few notes are reported:
* The KPI changes as follow:
- VM_OBJECT_LOCK() -> VM_OBJECT_WLOCK()
- VM_OBJECT_TRYLOCK() -> VM_OBJECT_TRYWLOCK()
- VM_OBJECT_UNLOCK() -> VM_OBJECT_WUNLOCK()
- VM_OBJECT_LOCK_ASSERT(MA_OWNED) -> VM_OBJECT_ASSERT_WLOCKED()
(in order to avoid visibility of implementation details)
- The read-mode operations are added:
VM_OBJECT_RLOCK(), VM_OBJECT_TRYRLOCK(), VM_OBJECT_RUNLOCK(),
VM_OBJECT_ASSERT_RLOCKED(), VM_OBJECT_ASSERT_LOCKED()
* The vm/vm_pager.h namespace pollution avoidance (forcing requiring
sys/mutex.h in consumers directly to cater its inlining functions
using VM_OBJECT_LOCK()) imposes that all the vm/vm_pager.h
consumers now must include also sys/rwlock.h.
* zfs requires a quite convoluted fix to include FreeBSD rwlocks into
the compat layer because the name clash between FreeBSD and solaris
versions must be avoided.
At this purpose zfs redefines the vm_object locking functions
directly, isolating the FreeBSD components in specific compat stubs.

The KPI results heavilly broken by this commit. Thirdy part ports must
be updated accordingly (I can think off-hand of VirtualBox, for example).

Sponsored by: EMC / Isilon storage division
Reviewed by: jeff
Reviewed by: pjd (ZFS specific review)
Discussed with: alc
Tested by: pho


247454 28-Feb-2013 davide

MFcalloutng:
When CPU becomes idle, cpu_idleclock() calculates time to the next timer
event in order to reprogram hw timer. Return that time in sbintime_t to
the caller and pass it to acpi_cpu_idle(), where it can be used as one
more factor (quite precise) to extimate furter sleep time and choose
optimal sleep state. This is a preparatory change for further callout
improvements will be committed in the next days.

The commmit is not targeted for MFC.


242869 10-Nov-2012 nyan

Reduce diffs against i386.


242868 10-Nov-2012 nyan

Fix some KASSERTs.
They are missing changes from r208833, r227394 and r227442.


242867 10-Nov-2012 nyan

MFi386: r211924

Register an interrupt vector for DTrace return probes.


241880 22-Oct-2012 eadler

The 'testing memory' patch gets printed too many times

Approved by: cperciva (implicit)


241850 22-Oct-2012 eadler

Explain the upcoming delay by printing a message when the kernel
is about to begin testing memory.

Reviewed by: dteske, adri
Approved by: cperciva
MFC after: 1 week


241371 09-Oct-2012 attilio

Reverts r234074,234105,234564,234723,234989,235231-235232 and part of
r234247.
Use, instead, the static intializer introduced in r239923 for x86 and
sparc64 intr_cpus, unwinding the code to the initial version.

Reviewed by: marius


240855 23-Sep-2012 nyan

MFi386: revision 237445

Commit changes missed from r237435. Properly calculate the signal
trampoline addresses after the shared page is enabled. Handle FreeBSD
ABIs without shared page support too.

MFi386: revision 238792

Introduce curpcb magic variable.


238310 09-Jul-2012 jhb

Partially revert r217515 so that the mem_range_softc variable is always
present on x86 kernels. This fixes the build of kernels that include
'device acpi' but do not include 'device mem'.

MFC after: 1 month


235622 18-May-2012 iwasaki

Add SMP/i386 suspend/resume support.
Most part is merged from amd64.

- i386/acpica/acpi_wakecode.S
Replaced with amd64 code (from realmode to paging enabling code).

- i386/acpica/acpi_wakeup.c
Replaced with amd64 code (except for wakeup_pagetables stuff).

- i386/include/pcb.h
- i386/i386/genassym.c
Added PCB new members (CR0, CR2, CR4, DS, ED, FS, SS, GDT, IDT, LDT
and TR) needed for suspend/resume, not for context switch.

- i386/i386/swtch.s
Added suspendctx() and resumectx().
Note that savectx() was not changed and used for suspending (while
amd64 code uses it).
BSP and AP execute the same sequence, suspendctx(), acpi_wakecode()
and resumectx() for suspend/resume (in case of UP system also).

- i386/i386/apic_vector.s
Added cpususpend().

- i386/i386/mp_machdep.c
- i386/include/smp.h
Added cpususpend_handler().

- i386/include/apicvar.h
- kern/subr_smp.c
- sys/smp.h
Added IPI_SUSPEND and suspend_cpus().

- i386/i386/initcpu.c
- i386/i386/machdep.c
- i386/include/md_var.h
- pc98/pc98/machdep.c
Moved initializecpu() declarations to md_var.h.

MFC after: 3 days


234723 26-Apr-2012 attilio

Clean up the intr* MD KPI from the SMP dependency, removing a cause of
discrepancy between modules and kernel, but deal with SMP differences
within the functions themselves.

As an added bonus this also helps in terms of code readability.

Requested by: gibbs
Reviewed by: jhb, marius
MFC after: 1 week


234564 22-Apr-2012 nyan

MFi386: revisions 234074 and 234105

- Adding the BSP as an interrupt target directly in cpu_startup().


233031 16-Mar-2012 nyan

- Fix to build a native i386 kernel without the SMP and atpic.
- Merge r232744 changes to pc98.
(Allow a kernel to be built with 'nodevice atpic'.)
- Move ICU related defines from x86/isa/atpic.c to x86/isa/icu.h and
use them in x86/x86/intr_machdep.c.

Reviewed by: jhb


230426 21-Jan-2012 kib

Add support for the extended FPU states on amd64, both for native
64bit and 32bit ABIs. As a side-effect, it enables AVX on capable
CPUs.

In particular:

- Query the CPU support for XSAVE, list of the supported extensions
and the required size of FPU save area. The hw.use_xsave tunable is
provided for disabling XSAVE, and hw.xsave_mask may be used to
select the enabled extensions.

- Remove the FPU save area from PCB and dynamically allocate the
(run-time sized) user save area on the top of the kernel stack,
right above the PCB. Reorganize the thread0 PCB initialization to
postpone it after BSP is queried for save area size.

- The dumppcb, stoppcbs and susppcbs now do not carry the FPU state as
well. FPU state is only useful for suspend, where it is saved in
dynamically allocated suspfpusave area.

- Use XSAVE and XRSTOR to save/restore FPU state, if supported and
enabled.

- Define new mcontext_t flag _MC_HASFPXSTATE, indicating that
mcontext_t has a valid pointer to out-of-struct extended FPU
state. Signal handlers are supplied with stack-allocated fpu
state. The sigreturn(2) and setcontext(2) syscall honour the flag,
allowing the signal handlers to inspect and manipilate extended
state in the interrupted context.

- The getcontext(2) never returns extended state, since there is no
place in the fixed-sized mcontext_t to place variable-sized save
area. And, since mcontext_t is embedded into ucontext_t, makes it
impossible to fix in a reasonable way. Instead of extending
getcontext(2) syscall, provide a sysarch(2) facility to query
extended FPU state.

- Add ptrace(2) support for getting and setting extended state; while
there, implement missed PT_I386_{GET,SET}XMMREGS for 32bit binaries.

- Change fpu_kern KPI to not expose struct fpu_kern_ctx layout to
consumers, making it opaque. Internally, struct fpu_kern_ctx now
contains a space for the extended state. Convert in-kernel consumers
of fpu_kern KPI both on i386 and amd64.

First version of the support for AVX was submitted by Tim Bird
<tim.bird am sony com> on behalf of Sony. This version was written
from scratch.

Tested by: pho (previous version), Yamagi Burmeister <lists yamagi org>
MFC after: 1 month


228027 27-Nov-2011 marius

Move the scsi_da_bios_params() prototype from pc98_machdep.h to md_var.h
where the prototype for pc98_ata_disk_firmware_geom_adjust() also lives
in order to avoid an #ifdef'ed include in cam(4).


225977 04-Oct-2011 nyan

MFi386: revision 225936

Add some improvements in the idle table callbacks:
- Replace instances of manual assembly instruction "hlt" call
with halt() function calling.
- In cpu_idle_mwait() avoid races in check to sched_runnable() using
the same pattern used in cpu_idle_hlt() with the 'hlt' instruction.
- Add comments explaining the logic behind the pattern used in
cpu_idle_hlt() and other idle callbacks.


225617 16-Sep-2011 kmacy

In order to maximize the re-usability of kernel code in user space this
patch modifies makesyscalls.sh to prefix all of the non-compatibility
calls (e.g. not linux_, freebsd32_) with sys_ and updates the kernel
entry points and all places in the code that use them. It also
fixes an additional name space collision between the kernel function
psignal and the libc function of the same name by renaming the kernel
psignal kern_psignal(). By introducing this change now we will ease future
MFCs that change syscalls.

Reviewed by: rwatson
Approved by: re (bz)


225048 20-Aug-2011 bz

In HEAD when doing no further checkes there is no reason use the
temporary variable and check with if as TUNABLE_*_FETCH do not
alter values unless successfully found the tunable.

Reported by: jhb, bde
MFC after: 3 days
X-MFC with: r224516
Approved by: re (kib)


224516 30-Jul-2011 bz

Introduce a tunable to disable the time consuming parts of bootup
memtesting, which can easily save seconds to minutes of boot time.
The tunable name is kept general to allow reusing the code in
alternate frameworks.

Requested by: many
Discussed on: arch (a while a go)
Obtained from: Sandvine Incorporated
Reviewed by: sbruno
Approved by: re (kib)
MFC after: 2 weeks


222853 08-Jun-2011 avg

remove code for dynamic offlining/onlining of CPUs on x86

The code has definitely been broken for SCHED_ULE, which is a default
scheduler. It may have been broken for SCHED_4BSD in more subtle ways,
e.g. with manually configured CPU affinities and for interrupt devilery
purposes.
We still provide a way to disable individual CPUs or all hyperthreading
"twin" CPUs before SMP startup. See the UPDATING entry for details.

Interaction between building CPU topology and disabling CPUs still
remains fuzzy: topology is first built using all availble CPUs and then
the disabled CPUs should be "subtracted" from it. That doesn't work
well if the resulting topology becomes non-uniform.

This work is done in cooperation with Attilio Rao who in addition to
reviewing also provided parts of code.

PR: kern/145385
Discussed with: gcooper, ambrisko, mdf, sbruno
Reviewed by: attilio
Tested by: pho, pluknet
X-MFC after: never


220583 12-Apr-2011 jkim

Reinstate cpu_est_clockrate() support for P-state invariant TSC if APERF and
MPERF MSRs are available. It was disabled in r216443. Remove the earlier
hack to subtract 0.5% from the calibrated frequency as DELAY(9) is little
bit more reliable now.


220433 07-Apr-2011 jkim

Use atomic load & store for TSC frequency. It may be overkill for amd64 but
safer for i386 because it can be easily over 4 GHz now. More worse, it can
be easily changed by user with 'machdep.tsc_freq' tunable (directly) or
cpufreq(4) (indirectly). Note it is intentionally not used in performance
critical paths to avoid performance regression (but we should, in theory).
Alternatively, we may add "virtual TSC" with lower frequency if maximum
frequency overflows 32 bits (and ignore possible incoherency as we do now).


220404 07-Apr-2011 jkim

Implement atomic_load_acq_64(9) and atomic_store_rel_64(9) for i386. These
functions are implemented with CMPXCHG8B instruction where it is available,
i. e., all Pentium-class and later processors. Note this instruction is
also used for atomic_store_rel_64() because a simple XCHG-like instruction
for 64-bit memory access does not exist, unfortunately. If the processor
lacks the instruction, i. e., 80486-class CPUs, two 32-bit load/store are
performed with interrupt temporarily disabled, assuming it does not support
SMP. Although this assumption may be little naive, it is true in reality.
This implementation is inspired by Linux.


219673 15-Mar-2011 jkim

Deprecate tsc_present as the last of its real consumers finally disappeared.


219473 11-Mar-2011 jkim

Add a tunable "machdep.disable_tsc" to turn off TSC. Specifically, it turns
off boot-time CPU frequency calibration, DELAY(9) with TSC, and using TSC as
a CPU ticker. Note tsc_present does not change by this tunable.


219461 10-Mar-2011 jkim

Deprecate rarely used tsc_is_broken. Instead, we zero out tsc_freq because
it is almost always used with tsc_freq any way.


218843 19-Feb-2011 nyan

MFi386: revision 218744

To avoid excessive code duplication create wrapper for fill regs
from stack frame.


218391 07-Feb-2011 nyan

MFi386: revision 218329

Fix linking of the kernel without device npx.


218390 07-Feb-2011 nyan

MFi386: revision 218327

Clear the padding when returning context to the usermode, for
MI ucontext_t and x86 MD parts.
Kernel allocates the structures on the stack, and not clearing
reserved fields and paddings causes leakage.


218389 07-Feb-2011 nyan

MFi386: revision 217886

Set td_kstack_pages for thread0.


217688 21-Jan-2011 pluknet

Make MSGBUF_SIZE kernel option a loader tunable kern.msgbufsize.

Submitted by: perryh pluto.rain.com (previous version)
Reviewed by: jhb
Approved by: kib (mentor)
Tested by: universe


217539 18-Jan-2011 nyan

MFi386: revision 217515

The mem_range_softc is defined in mem.c.


216892 02-Jan-2011 gavin

MFi386 r216012 by kib:

Calling fill_fpregs() for curthread is legitimate, and ELF coredump
does this.

Discussed with: kib
MFC after: 3 days


216312 08-Dec-2010 jkim

Do not subtract 0.5% from estimated frequency if DELAY(9) is driven by TSC.
Remove a confusing comment about converting to MHz as we never did.


215865 26-Nov-2010 kib

Remove npxgetregs(), npxsetregs(), fpugetregs() and fpusetregs()
functions, they are unused. Remove 'user' from npxgetuserregs()
etc. names.

For {npx,fpu}{get,set}regs(), always use pcb->pcb_user_save for FPU
context storage. This eliminates the need for ugly copying with
overwrite of the newly added and reserved fields in ucontext on i386
to satisfy alignment requirements for fpusave() and fpurstor().

pc98 version was copied from i386.

Suggested and reviewed by: bde
Tested by: pho (i386 and amd64)
MFC after: 1 week


214835 05-Nov-2010 jhb

Adjust the order of operations in spinlock_enter() and spinlock_exit() to
work properly with single-stepping in a kernel debugger. Specifically,
these routines have always disabled interrupts before increasing the nesting
count and restored the prior state of interrupts after decreasing the nesting
count to avoid problems with a nested interrupt not disabling interrupts
when acquiring a spin lock. However, trap interrupts for single-stepping
can still occur even when interrupts are disabled. Now the saved state of
interrupts is not saved in the thread until after interrupts have been
disabled and the nesting count has been increased. Similarly, the saved
state from the thread cannot be read once the nesting count has been
decreased to zero. To fix this, use temporary variables to store interrupt
state and shuffle it between the thread's MD area and the appropriate
registers.

In cooperation with: bde
MFC after: 1 month


214630 01-Nov-2010 jhb

Move the <machine/mca.h> header to <x86/mca.h>.


214584 31-Oct-2010 nyan

Rename BUS_SPACE_IO and BUS_SPACE_MEM defines to BUS_SPACE_TAG_IO and
BUS_SPACE_TAG_MEM respectively to avoid conflict with nexus.c.


214258 24-Oct-2010 nyan

MFi386: the part of revision 213226.

Rewrite the i386 memory probe:
- Move the base memory setup into a new basemem_setup() routine.

MFC after: 1 week


213748 12-Oct-2010 jkim

Remove trailing ", " from `sysctl machdep.idle_available' output.


212541 13-Sep-2010 mav

Refactor timer management code with priority to one-shot operation mode.
The main goal of this is to generate timer interrupts only when there is
some work to do. When CPU is busy interrupts are generating at full rate
of hz + stathz to fullfill scheduler and timekeeping requirements. But
when CPU is idle, only minimum set of interrupts (down to 8 interrupts per
second per CPU now), needed to handle scheduled callouts is executed.
This allows significantly increase idle CPU sleep time, increasing effect
of static power-saving technologies. Also it should reduce host CPU load
on virtualized systems, when guest system is idle.

There is set of tunables, also available as writable sysctls, allowing to
control wanted event timer subsystem behavior:
kern.eventtimer.timer - allows to choose event timer hardware to use.
On x86 there is up to 4 different kinds of timers. Depending on whether
chosen timer is per-CPU, behavior of other options slightly differs.
kern.eventtimer.periodic - allows to choose periodic and one-shot
operation mode. In periodic mode, current timer hardware taken as the only
source of time for time events. This mode is quite alike to previous kernel
behavior. One-shot mode instead uses currently selected time counter
hardware to schedule all needed events one by one and program timer to
generate interrupt exactly in specified time. Default value depends of
chosen timer capabilities, but one-shot mode is preferred, until other is
forced by user or hardware.
kern.eventtimer.singlemul - in periodic mode specifies how much times
higher timer frequency should be, to not strictly alias hardclock() and
statclock() events. Default values are 2 and 4, but could be reduced to 1
if extra interrupts are unwanted.
kern.eventtimer.idletick - makes each CPU to receive every timer interrupt
independently of whether they busy or not. By default this options is
disabled. If chosen timer is per-CPU and runs in periodic mode, this option
has no effect - all interrupts are generating.

As soon as this patch modifies cpu_idle() on some platforms, I have also
refactored one on x86. Now it makes use of MONITOR/MWAIT instrunctions
(if supported) under high sleep/wakeup rate, as fast alternative to other
methods. It allows SMP scheduler to wake up sleeping CPUs much faster
without using IPI, significantly increasing performance on some highly
task-switching loads.

Tested by: many (on i386, amd64, sparc64 and powerc)
H/W donated by: Gheorghe Ardelean
Sponsored by: iXsystems, Inc.


212413 10-Sep-2010 avg

bus_add_child: change type of order parameter to u_int

This reflects actual type used to store and compare child device orders.
Change is mostly done via a Coccinelle (soon to be devel/coccinelle)
semantic patch.
Verified by LINT+modules kernel builds.

Followup to: r212213
MFC after: 10 days


210294 20-Jul-2010 tijl

Store fsbase and gsbase in the right fields of the mcontext. They were
switched.

PR: i386/148344
Approved by: kib (mentor)
MFC after: 1 week


209613 30-Jun-2010 jhb

Move prototypes for kern_sigtimedwait() and kern_sigprocmask() to
<sys/syscallsubr.h> where all other kern_<syscall> prototypes live.


209463 23-Jun-2010 kib

Fix bugs on pc98, use npxgetuserregs() instead of npxgetregs() for
get_fpcontext(), and npxsetuserregs() for set_fpcontext). Also,
note that usercontext is not initialized anymore in fpstate_drop().

Systematically replace references to npxgetregs() and npxsetregs()
by npxgetuserregs() and npxsetuserregs() in comments.

Noted by: bde


209462 23-Jun-2010 kib

After the FPU use requires #MF working due to INT13 FPU exception handling
removal, MFi386 r209198:
Use critical sections instead of disabling local interrupts to ensure
the consistency between PCPU fpcurthread and the state of FPU.

Reviewed by: bde
Tested by: pho


208833 05-Jun-2010 kib

Introduce the x86 kernel interfaces to allow kernel code to use
FPU/SSE hardware. Caller should provide a save area that is chained
into the stack of the areas; pcb save_area for usermode FPU state is
on top. The pcb now contains a pointer to the current FPU saved area,
used during FPUDNA handling and context switches. There is also a
facility to allow the kernel thread to use pcb save_area.

Change the dreaded warnings "npxdna in kernel mode!" into the panics
when FPU usage is not registered.

KPI discussed with: fabient
Tested by: pho, fabient
Hardware provided by: Sentex Communications
MFC after: 1 month


208639 29-May-2010 nyan

MFi386: the part of revision 181809

Use SEL_KPL macro.


208638 29-May-2010 nyan

MFi386: revision 178471

- Add an integer argument to idle to indicate how likely we are to wake
from idle over the next tick.
- Add a new MD routine, cpu_wake_idle() to wakeup idle threads who are
suspended in cpu specific states. This function can fail and cause the
scheduler to fall back to another mechanism (ipi).
- Implement support for mwait in cpu_idle() on i386/amd64 machines that
support it. mwait is a higher performance way to synchronize cpus
as compared to hlt & ipis.
- Allow selecting the idle routine by name via sysctl machdep.idle. This
replaces machdep.cpu_idle_hlt. Only idle routines supported by the
current machine are permitted.


208634 29-May-2010 nyan

Reduce diffs against i386.


208633 29-May-2010 nyan

MFi386: revision 208621

Defer initializing machine checks for the boot CPU until the local APIC is
fully configured.


208632 29-May-2010 nyan

MFi386: revision 208604

Clarify a potential issue in get_fpcontext() use.


208349 20-May-2010 marius

Change ad_firmware_geom_adjust() to operate on a struct disk * only and
hook it up to ada(4) also. While at it, rename *ad_firmware_geom_adjust()
to *ata_disk_firmware_geom_adjust() etc now that these are no longer
limited to ad(4).

Reviewed by: mav
MFC after: 3 days


207355 29-Apr-2010 nyan

MFi386: revision 206553

- Change printf() calls to uprintf() for sigreturn().
- Normalize the messages to include both pid and thread name.


205642 25-Mar-2010 nwhitehorn

Change the arguments of exec_setregs() so that it receives a pointer
to the image_params struct instead of several members of that struct
individually. This makes it easier to expand its arguments in the future
without touching all platforms.

Reviewed by: jhb


204309 25-Feb-2010 attilio

Introduce the new kernel sub-tree x86 which should contain all the code
shared and generalized between our current amd64, i386 and pc98.

This is just an initial step that should lead to a more complete effort.
For the moment, a very simple porting of cpufreq modules, BIOS calls and
the whole MD specific ISA bus part is added to the sub-tree but ideally
a lot of code might be added and more shared support should grow.

Sponsored by: Sandvine Incorporated
Reviewed by: emaste, kib, jhb, imp
Discussed on: arch
MFC: 3 weeks


198507 27-Oct-2009 kib

In r197963, a race with thread being selected for signal delivery
while in kernel mode, and later changing signal mask to block the
signal, was fixed for sigprocmask(2) and ptread_exit(3). The same race
exists for sigreturn(2), setcontext(2) and swapcontext(2) syscalls.

Use kern_sigprocmask() instead of direct manipulation of td_sigmask to
reschedule newly blocked signals, closing the race.

Reviewed by: davidxu
Tested by: pho
MFC after: 1 month


194784 23-Jun-2009 jeff

Implement a facility for dynamic per-cpu variables.
- Modules and kernel code alike may use DPCPU_DEFINE(),
DPCPU_GET(), DPCPU_SET(), etc. akin to the statically defined
PCPU_*. Requires only one extra instruction more than PCPU_* and is
virtually the same as __thread for builtin and much faster for shared
objects. DPCPU variables can be initialized when defined.
- Modules are supported by relocating the module's per-cpu linker set
over space reserved in the kernel. Modules may fail to load if there
is insufficient space available.
- Track space available for modules with a one-off extent allocator.
Free may block for memory to allocate space for an extent.

Reviewed by: jhb, rwatson, kan, sam, grehan, marius, marcel, stas


192323 18-May-2009 marcel

Add cpu_flush_dcache() for use after non-DMA based I/O so that a
possible future I-cache coherency operation can succeed. On ARM
for example the L1 cache can be (is) virtually mapped, which
means that any I/O that uses temporary mappings will not see the
I-cache made coherent. On ia64 a similar behaviour has been
observed. By flushing the D-cache, execution of binaries backed
by md(4) and/or NFS work reliably.
For Book-E (powerpc), execution over NFS exhibits SIGILL once in
a while as well, though cpu_flush_dcache() hasn't been implemented
yet.

Doing an explicit D-cache flush as part of the non-DMA based I/O
read operation eliminates the need to do it as part of the
I-cache coherency operation itself and as such avoids pessimizing
the DMA-based I/O read operations for which D-cache are already
flushed/invalidated. It also allows future optimizations whereby
the bcopy() followed by the D-cache flush can be integrated in a
single operation, which could be implemented using on-chips DMA
engines, by-passing the D-cache altogether.


192106 14-May-2009 nyan

MFi386: revision 192050

Implement simple machine check support.


190928 11-Apr-2009 nyan

MFi386: revision 190919

Simplify in/out functions.

Remove a hack to generate more efficient code for port numbers below
0x100, which has been obsolete for at least ten years, because GCC has
an asm constraint to specify that.


190840 08-Apr-2009 nyan

MFi386: revision 190617

Fill the fsbase and gsbase fields of the mcontext structure on i386.


190459 27-Mar-2009 nyan

MFi386: r190447

Convert gdt_segs and ldt_segs initialization to C99 style.


189446 06-Mar-2009 nyan

MFi386: 189423

A better fix for handling different FPU initial control words for different
ABIs.


184327 27-Oct-2008 kato

Improved IDE HDD geometry adjustment. Previous code didn't work with
certain ATA-6 drives including CF cards.

The IDE geometry of the PC98 is calculated from the drive capacity.
In addition to the algorithm in NEC BIOS, a variety of algorithms are
provided by 3'rd party boards and BIOS hacks. This change has
implemented the three algorithms: IDE BIOS compatible mode, SCSI BIOS
compatible mode and same way as the previous version. The tunable
machdep.ad_geom_method selects the algorithm.

I have been using this change for a year with CF cards.

Reminded by: nyan


182836 07-Sep-2008 nyan

- Add the i386_memio_map_load() function to load I/O address table.
- Add the bus_space_compare macro for bus_space consistency.
- Switch using the bus_space_map_load() in isa_load_resourcev().


180303 05-Jul-2008 nyan

Add i386_memio_compare() to compare two resources.
It's used by uart(4) in the future.


178471 25-Apr-2008 jeff

- Add an integer argument to idle to indicate how likely we are to wake
from idle over the next tick.
- Add a new MD routine, cpu_wake_idle() to wakeup idle threads who are
suspended in cpu specific states. This function can fail and cause the
scheduler to fall back to another mechanism (ipi).
- Implement support for mwait in cpu_idle() on i386/amd64 machines that
support it. mwait is a higher performance way to synchronize cpus
as compared to hlt & ipis.
- Allow selecting the idle routine by name via sysctl machdep.idle. This
replaces machdep.cpu_idle_hlt. Only idle routines supported by the
current machine are permitted.

Sponsored by: Nokia


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.


177253 16-Mar-2008 rwatson

In keeping with style(9)'s recommendations on macros, use a ';'
after each SYSINIT() macro invocation. This makes a number of
lightweight C parsers much happier with the FreeBSD kernel
source, including cflow's prcc and lxr.

MFC after: 1 month
Discussed with: imp, rink


177145 13-Mar-2008 kib

Since version 4.3, gcc changed its behaviour concerning the i386/amd64
ABI and the direction flag, that is it now assumes that the direction
flag is cleared at the entry of a function and it doesn't clear once
more if needed. This new behaviour conforms to the i386/amd64 ABI.

Modify the signal handler frame setup code to clear the DF {e,r}flags
bit on the amd64/i386 for the signal handlers.

jhb@ noted that it might break old apps if they assumed DF == 1 would be
preserved in the signal handlers, but that such apps should be rare and
that older versions of gcc would not generate such apps.

Submitted by: Aurelien Jarno <aurelien aurel32 net>
PR: 121422
Reviewed by: jhb
MFC after: 2 weeks


177091 12-Mar-2008 jeff

Remove kernel support for M:N threading.

While the KSE project was quite successful in bringing threading to
FreeBSD, the M:N approach taken by the kse library was never developed
to its full potential. Backwards compatibility will be provided via
libmap.conf for dynamically linked binaries and static binaries will
be broken.


176655 29-Feb-2008 nyan

MFi386: revision 1.658

Add "show sysregs" command to ddb. On i386, this gives gdt, idt, ldt,
cr0-4, etc. Support should be added for other platforms that have a
different set of registers for system use.


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.


173607 14-Nov-2007 nyan

MFi386: revision 1.661

Drastically simplify the i386 pcpu backend by merging parts of the
amd64 mechanism over.


173361 05-Nov-2007 kib

Fix for the panic("vm_thread_new: kstack allocation failed") and
silent NULL pointer dereference in the i386 and sparc64 pmap_pinit()
when the kmem_alloc_nofault() failed to allocate address space. Both
functions now return error instead of panicing or dereferencing NULL.

As consequence, vmspace_exec() and vmspace_unshare() returns the errno
int. struct vmspace arg was added to vm_forkproc() to avoid dealing
with failed allocation when most of the fork1() job is already done.

The kernel stack for the thread is now set up in the thread_alloc(),
that itself may return NULL. Also, allocation of the first process
thread is performed in the fork1() to properly deal with stack
allocation failure. proc_linkup() is separated into proc_linkup()
called from fork1(), and proc_linkup0(), that is used to set up the
kernel process (was known as swapper).

In collaboration with: Peter Holm
Reviewed by: jhb


170372 06-Jun-2007 nyan

MFi386: revision 1.657

Backout experimental adaptive-spin umtx code.


170325 05-Jun-2007 nyan

MFi386: revision 1.656

Add the machine-specific definitions for configuring the new physical
memory allocator.

Set the size of phys_avail[] and dump_avail[] using one of these
definitions.


170307 05-Jun-2007 jeff

Commit 14/14 of sched_lock decomposition.
- Use thread_lock() rather than sched_lock for per-thread scheduling
sychronization.
- Use the per-process spinlock rather than the sched_lock for per-process
scheduling synchronization.

Tested by: kris, current@
Tested on: i386, amd64, ULE, 4BSD, libthr, libkse, PREEMPTION, etc.
Discussed with: kris, attilio, kmacy, jhb, julian, bde (small parts each)


170170 31-May-2007 attilio

Revert VMCNT_* operations introduction.
Probabilly, a general approach is not the better solution here, so we should
solve the sched_lock protection problems separately.

Requested by: alc
Approved by: jeff (mentor)


170136 30-May-2007 nyan

MFi386: revision 1.653.


169827 21-May-2007 nyan

MFi386: revision 1.652

- Move GDT/LDT locking into a seperate spinlock, removing the global
scheduler lock from this responsibility.


169667 18-May-2007 jeff

- define and use VMCNT_{GET,SET,ADD,SUB,PTR} macros for manipulating
vmcnts. This can be used to abstract away pcpu details but also changes
to use atomics for all counters now. This means sched lock is no longer
responsible for protecting counts in the switch routines.

Contributed by: Attilio Rao <attilio@FreeBSD.org>


167673 18-Mar-2007 nyan

MFi386: revision 1.650

Eliminate an unused parameter.


166303 28-Jan-2007 nyan

MFi386: revision 1.647.

exclude the icu and clock lock from LOCK_PROFILING


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.


165858 07-Jan-2007 nyan

MFi386: revision 1.646.


164951 06-Dec-2006 sobomax

Allow machdep.cpu_idle_hlt to be set from the loader. This should allow
to workaround the problem with SMP kernels on Turion64 X2 processors
described in kern/104678 and may be useful in other situations too.

MFC after: 3 days


164936 06-Dec-2006 julian

Threading cleanup.. part 2 of several.

Make part of John Birrell's KSE patch permanent..
Specifically, remove:
Any reference of the ksegrp structure. This feature was
never fully utilised and made things overly complicated.
All code in the scheduler that tried to make threaded programs
fair to unthreaded programs. Libpthread processes will already
do this to some extent and libthr processes already disable it.

Also:
Since this makes such a big change to the scheduler(s), take the opportunity
to rename some structures and elements that had to be moved anyhow.
This makes the code a lot more readable.

The ULE scheduler compiles again but I have no idea if it works.

The 4bsd scheduler still reqires a little cleaning and some functions that now do
ALMOST nothing will go away, but I thought I'd do that as a separate commit.

Tested by David Xu, and Dan Eischen using libthr and libpthread.


164438 20-Nov-2006 nyan

MFi386: revisions from 1.641 to 1.643.


164113 09-Nov-2006 nyan

MFi386: revisions 1.634 and 1.639.


163709 26-Oct-2006 jb

Make KSE a kernel option, turned on by default in all GENERIC
kernel configs except sun4v (which doesn't process signals properly
with KSE).

Reviewed by: davidxu@


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.


162839 30-Sep-2006 phk

Remove the no longer relevant or correct bootinfo sysctls.


161129 09-Aug-2006 imp

Add pc98 specific code to adjust the firmware geometry when it differs
from the actual geometry. This enables support of disks larger than
~120GB on pc98 boxes. They make great little network appliances.
I've been using these changes for the past year or so on my network
storage pc98 box :-).


160312 12-Jul-2006 jhb

Simplify the pager support in DDB. Allowing different db commands to
install custom pager functions didn't actually happen in practice (they
all just used the simple pager and passed in a local quit pointer). So,
just hardcode the simple pager as the only pager and make it set a global
db_pager_quit flag that db commands can check when the user hits 'q' (or a
suitable variant) at the pager prompt. Also, now that it's easy to do so,
enable paging by default for all ddb commands. Any command that wishes to
honor the quit flag can do so by checking db_pager_quit. Note that the
pager can also be effectively disabled by setting $lines to 0.

Other fixes:
- 'show idt' on i386 and pc98 now actually checks the quit flag and
terminates early.
- 'show intr' now actually checks the quit flag and terminates early.


159252 05-Jun-2006 nyan

MFi386: revisions 1.627, 1.628 and 1.629.


158651 16-May-2006 phk

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


158445 11-May-2006 phk

Clean out sysctl machdep.* related defines.

The cmos clock related stuff should really be in MI code.


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.


157933 21-Apr-2006 nyan

MFi386: revision 1.625.


156706 14-Mar-2006 jhb

Don't allow userland to set hardware watch points on kernel memory at all.
Previously, we tried to allow this only for root. However, we were calling
suser() on the *target* process rather than the current process. This
means that if you can ptrace() a process running as root you can set a
hardware watch point in the kernel. In practice I think you probably have
to be root in order to pass the p_candebug() checks in ptrace() to attach
to a process running as root anyway. Rather than fix the suser(), I just
axed the entire idea, as I can't think of any good reason _at all_ for
userland to set hardware watch points for KVM.

MFC after: 3 days
Also thinks hardware watch points on KVM from userland are bad: bde, rwatson


155470 09-Feb-2006 nyan

MFi386: revision 1.622.

> Clear carry flag in get_mcontext so that setcontext does not
> return a bogus error.

MFC after: 3 days


153731 26-Dec-2005 nyan

MFi386: revision 1.621


152753 24-Nov-2005 ru

Add missing "struct" in i386/i386/machdep.c,v 1.497 by deischen@.


151376 16-Oct-2005 nyan

Reduce diffs from i386/i386/machdep.c


151346 14-Oct-2005 jhb

Merge over the remaining changes from i386 of the ksiginfo_t changes so
that this compiles.

Pointy hat to: davidxu


151316 14-Oct-2005 davidxu

1. Change prototype of trapsignal and sendsig to use ksiginfo_t *, most
changes in MD code are trivial, before this change, trapsignal and
sendsig use discrete parameters, now they uses member fields of
ksiginfo_t structure. For sendsig, this change allows us to pass
POSIX realtime signal value to user code.

2. Remove cpu_thread_siginfo, it is no longer needed because we now always
generate ksiginfo_t data and feed it to libpthread.

3. Add p_sigqueue to proc structure to hold shared signals which were
blocked by all threads in the proc.

4. Add td_sigqueue to thread structure to hold all signals delivered to
thread.

5. i386 and amd64 now return POSIX standard si_code, other arches will
be fixed.

6. In this sigqueue implementation, pending signal set is kept as before,
an extra siginfo list holds additional siginfo_t data for signals.
kernel code uses psignal() still behavior as before, it won't be failed
even under memory pressure, only exception is when deleting a signal,
we should call sigqueue_delete to remove signal from sigqueue but
not SIGDELSET. Current there is no kernel code will deliver a signal
with additional data, so kernel should be as stable as before,
a ksiginfo can carry more information, for example, allow signal to
be delivered but throw away siginfo data if memory is not enough.
SIGKILL and SIGSTOP have fast path in sigqueue_add, because they can
not be caught or masked.
The sigqueue() syscall allows user code to queue a signal to target
process, if resource is unavailable, EAGAIN will be returned as
specification said.
Just before thread exits, signal queue memory will be freed by
sigqueue_flush.
Current, all signals are allowed to be queued, not only realtime signals.

Earlier patch reviewed by: jhb, deischen
Tested on: i386, amd64


150128 14-Sep-2005 nyan

Add some defines for EPSON machines and use them.


150127 14-Sep-2005 nyan

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


150079 13-Sep-2005 nyan

Remove unused functions.


147951 13-Jul-2005 nyan

MFi386: revision 1.617.


147741 02-Jul-2005 delphij

Remove the CPU_ENABLE_SSE option from the i386 and pc98 architectures,
as they are already default for I686_CPU for almost 3 years, and
CPU_DISABLE_SSE always disables it. On the other hand, CPU_ENABLE_SSE
does not work for I486_CPU and I586_CPU.

This commit has:
- Removed the option from conf/options.*
- Removed the option and comments from MD NOTES files
- Simplified the CPU_ENABLE_SSE ifdef's so they don't
deal with CPU_ENABLE_SSE from kernel configuration. (*)

For most users, this commit should be largely no-op. If you used to
place CPU_ENABLE_SSE into your kernel configuration for some reason,
it is time to remove it.

(*) The ifdef's of CPU_ENABLE_SSE are not removed at this point, since
we need to change it to !defined(CPU_DISABLE_SSE) && defined(I686_CPU),
not just !defined(CPU_DISABLE_SSE), if we really want to do so.

Discussed on: -arch
Approved by: re (scottl)


147701 30-Jun-2005 nyan

MFi386: revision 1.615 (change kernel crashdump format to ELF).

Approved by: re (scottl)


146210 14-May-2005 nyan

MFi386: revision 1.614.


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


145070 14-Apr-2005 nyan

MFi386: revision 1.612.


145012 13-Apr-2005 nyan

- Remove ifdef PC98.
- Reduce diffs from i386.


144637 04-Apr-2005 jhb

Divorce critical sections from spinlocks. Critical sections as denoted by
critical_enter() and critical_exit() are now solely a mechanism for
deferring kernel preemptions. They no longer have any affect on
interrupts. This means that standalone critical sections are now very
cheap as they are simply unlocked integer increments and decrements for the
common case.

Spin mutexes now use a separate KPI implemented in MD code: spinlock_enter()
and spinlock_exit(). This KPI is responsible for providing whatever MD
guarantees are needed to ensure that a thread holding a spin lock won't
be preempted by any other code that will try to lock the same lock. For
now all archs continue to block interrupts in a "spinlock section" as they
did formerly in all critical sections. Note that I've also taken this
opportunity to push a few things into MD code rather than MI. For example,
critical_fork_exit() no longer exists. Instead, MD code ensures that new
threads have the correct state when they are created. Also, we no longer
try to fixup the idlethreads for APs in MI code. Instead, each arch sets
the initial curthread and adjusts the state of the idle thread it borrows
in order to perform the initial context switch.

This change is largely a big NOP, but the cleaner separation it provides
will allow for more efficient alternative locking schemes in other parts
of the kernel (bare critical sections rather than per-CPU spin mutexes
for per-CPU data for example).

Reviewed by: grehan, cognet, arch@, others
Tested on: i386, alpha, sparc64, powerpc, arm, possibly more


144257 28-Mar-2005 imp

bus is unused, so eliminate it.
Minor style(9) tweaks


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.


143866 20-Mar-2005 nyan

s/SLIST/STAILQ/


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


143174 06-Mar-2005 nyan

MFi386: revisions 1.609 and 1.610.


143127 04-Mar-2005 nyan

Don't use the ptoa() to set the 'realmem' variable. Because F/pc98's policy
is to keep the same as F/i386.


142956 01-Mar-2005 wes

Attempt to doff the pointy hat: implement 'hw.realmem' on remaining
architectures. Pointed out by O'Brien, ScottL via email.

Reviewed by: obrien (various)


142716 27-Feb-2005 phk

Use dynamic major number allocation.


142379 24-Feb-2005 nyan

Fix to support Buffalo HYPERMEMORY.

Submitted by: Chiharu Shibata
MFC after: 3 days


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.


141389 06-Feb-2005 nyan

Sort includes and remove duplicate include.


141388 06-Feb-2005 nyan

MFi386: revision 1.606.


141378 06-Feb-2005 njl

Finish the job of sorting all includes and fix the build by including
malloc.h before proc.h on sparc64. Noticed by das@

Compiled on: alpha, amd64, i386, pc98, sparc64


141277 04-Feb-2005 nyan

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


141276 04-Feb-2005 nyan

MFi386: revision 1.605.


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


139660 04-Jan-2005 imp

Remove last vestiges of old wd driver. ata works well on pc98 and
there was no objection on the pc98 list when I asked if it could be
removed a while ago.


139199 22-Dec-2004 phk

Fix comment.


138755 12-Dec-2004 imp

Separate mse driver into a core driver and a bus attachments. Separate out
the ISA and CBUS (called isa on pc98) attachments. Eliminate all PC98
ifdefs in the process (the driver in pc98/pc98/mse.c was a copy of the one
in i386/isa/mse.c with PC98 ifdefs). Create a module for this driver.

I've tested this my PC-9821RaS40 with moused. I've not tested this on i386
because I have no InPort cards, or similar such things. NEC standardized
on bus mice very early, long before ps/2 mice ports apeared, so all PC-98
machines supported by FreeBSD/pc98 have bus mice, I believe.

Reviewed by: nyan-san


138129 27-Nov-2004 das

Don't include sys/user.h merely for its side-effect of recursively
including other headers.


137912 20-Nov-2004 das

U areas are going away, so don't allocate one for process 0.

Reviewed by: arch@


137784 16-Nov-2004 jhb

Initiate deorbit burn sequence for 80386 support in FreeBSD: Remove
80386 (I386_CPU) support from the kernel.


137458 09-Nov-2004 nyan

Add FL_MFM flag to the fd_native_types structure.

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


137117 01-Nov-2004 jhb

- Change the ddb paging "support" to use a variable (db_lines_per_page) to
control the number of lines per page rather than a constant. The variable
can be examined and changed in ddb as '$lines'. Setting the variable to
0 will effectively turn off paging.
- Change db_putchar() to force out pending whitespace before outputting
newlines and carriage returns so that one can rub out content on the
current line via '\r \r' type strings.
- Change the simple pager to rub out the --More-- prompt explicitly when
the routine exits.
- Add some aliases to the simple pager to make it more compatible with
more(1): 'e' and 'j' do a single line. 'd' does half a page, and
'f' does a full page.

MFC after: 1 month
Inspired by: kris


137069 30-Oct-2004 nyan

MFi386: revision 1.599 (Preserve dcons(4) buffer passed by loader(8).)


137049 29-Oct-2004 phk

Don't set si_bsize_phys.

Use bioq_takefirst()


136810 23-Oct-2004 phk

use bioq_takefirst()


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


134791 05-Sep-2004 julian

Refactor a bunch of scheduler code to give basically the same behaviour
but with slightly cleaned up interfaces.

The KSE structure has become the same as the "per thread scheduler
private data" structure. In order to not make the diffs too great
one is #defined as the other at this time.

The KSE (or td_sched) structure is now allocated per thread and has no
allocation code of its own.

Concurrency for a KSEGRP is now kept track of via a simple pair of counters
rather than using KSE structures as tokens.

Since the KSE structure is different in each scheduler, kern_switch.c
is now included at the end of each scheduler. Nothing outside the
scheduler knows the contents of the KSE (aka td_sched) structure.

The fields in the ksegrp structure that are to do with the scheduler's
queueing mechanisms are now moved to the kg_sched structure.
(per ksegrp scheduler private data structure). In other words how the
scheduler queues and keeps track of threads is no-one's business except
the scheduler's. This should allow people to write experimental
schedulers with completely different internal structuring.

A scheduler call sched_set_concurrency(kg, N) has been added that
notifies teh scheduler that no more than N threads from that ksegrp
should be allowed to be on concurrently scheduled. This is also
used to enforce 'fainess' at this time so that a ksegrp with
10000 threads can not swamp a the run queue and force out a process
with 1 thread, since the current code will not set the concurrency above
NCPU, and both schedulers will not allow more than that many
onto the system run queue at a time. Each scheduler should eventualy develop
their own methods to do this now that they are effectively separated.

Rejig libthr's kernel interface to follow the same code paths as
linkse for scope system threads. This has slightly hurt libthr's performance
but I will work to recover as much of it as I can.

Thread exit code has been cleaned up greatly.
exit and exec code now transitions a process back to
'standard non-threaded mode' before taking the next step.
Reviewed by: scottl, peter
MFC after: 1 week


134542 30-Aug-2004 peter

Kill count device support from config. I've changed the last few
remaining consumers to have the count passed as an option. This is
i4b, pc98/wdc, and coda.

Bump configvers.h from 500013 to 600000.

Remove heuristics that tried to parse "device ed5" as 5 units of the ed
device. This broke things like the snd_emu10k1 device, which required
quotes to make it parse right. The no-longer-needed quotes have been
removed from NOTES, GENERIC etc. eg, I've removed the quotes from:
device snd_maestro
device "snd_maestro3"
device snd_mss

I believe everything will still compile and work after this.


134479 29-Aug-2004 des

Remove the HW_WDOG option; it serves no purpose.

MFC after: 3 days


134163 22-Aug-2004 nyan

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


133169 05-Aug-2004 nyan

MFi386: revision 1.597.


132599 24-Jul-2004 nyan

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


132395 19-Jul-2004 nyan

MFi386: revision 1.596.


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.


132088 13-Jul-2004 davidxu

Add ptrace_clear_single_step(), alpha already has it for years, the function
will be used by ptrace to clear a thread's single step state.


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.


131947 10-Jul-2004 marcel

MFi386: Update for the KDB framework:
o Implement makectx().
o Call kdb_enter() instead of Debugger().
o Remove implementation of Debugger().


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.


130923 22-Jun-2004 nyan

MFi386: revision 1.592.


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.


130312 10-Jun-2004 jhb

Remove atdevbase and replace it's remaining uses with direct references to
KERNBASE instead.


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]


127519 28-Mar-2004 nyan

MFi386: revision 1.586.


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


126719 07-Mar-2004 nyan

Restore CDIOCREADAUDIO ioctl.

Pointed out by: KIYOHARA Takashi <kiyohara@kk.iij4u.or.jp>


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.


125975 18-Feb-2004 phk

Change the disk(9) API in order to make device removal more robust.

Previously the "struct disk" were owned by the device driver and this
gave us problems when the device disappared and the users of that device
were not immediately disappearing.

Now the struct disk is allocate with a new call, disk_alloc() and owned
by geom_disk and just abandonned by the device driver when disk_create()
is called.

Unfortunately, this results in a ton of "s/\./->/" changes to device
drivers.

Since I'm doing the sweep anyway, a couple of other API improvements
have been carried out at the same time:

The Giant awareness flag has been flipped from DISKFLAG_NOGIANT to
DISKFLAG_NEEDSGIANT

A version number have been added to disk_create() so that we can detect,
report and ignore binary drivers with old ABI in the future.

Manual page update to follow shortly.


124791 21-Jan-2004 nyan

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


124370 11-Jan-2004 nyan

MFi386: revision 1.583.


124092 03-Jan-2004 davidxu

Make sigaltstack as per-threaded, because per-process sigaltstack state
is useless for threaded programs, multiple threads can not share same
stack.
The alternative signal stack is private for thread, no lock is needed,
the orignal P_ALTSTACK is now moved into td_pflags and renamed to
TDP_ALTSTACK.
For single thread or Linux clone() based threaded program, there is no
semantic changed, because those programs only have one kernel thread
in every process.

Reviewed by: deischen, dfr


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.)


122756 15-Nov-2003 nyan

opt_apic.h is not needed.


122364 09-Nov-2003 marcel

Change the clear_ret argument of get_mcontext() to be a flags argument.
Since all callers either passed 0 or 1 for clear_ret, define bit 0 in
the flags for use as clear_ret. Reserve bits 1, 2 and 3 for use by MI
code for possible (but unlikely) future use. The remaining bits are for
use by MD code.

This change is triggered by a need on ia64 to have another knob for
get_mcontext().


122352 09-Nov-2003 tanimura

- Implement selwakeuppri() which allows raising the priority of a
thread being waken up. The thread waken up can run at a priority as
high as after tsleep().

- Replace selwakeup()s with selwakeuppri()s and pass appropriate
priorities.

- Add cv_broadcastpri() which raises the priority of the broadcast
threads. Used by selwakeuppri() if collision occurs.

Not objected in: -arch, -current


122127 05-Nov-2003 nyan

Include machine/asmacros.h instead of machine/asm.h.

Submitted by: bde


122053 04-Nov-2003 nyan

MFi386: revision 1.206


122052 04-Nov-2003 nyan

MFi386: revision 1.580


122048 04-Nov-2003 nyan

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


121804 31-Oct-2003 nyan

MFi386: revision 1.579.


121801 31-Oct-2003 nyan

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


121800 31-Oct-2003 nyan

MFi386: revision 1.578.


121243 19-Oct-2003 nyan

MFi386: revision 1.577.


121215 18-Oct-2003 phk

Eliminate use bio_blkno.


121213 18-Oct-2003 phk

Discontinue bio_blkno usage.


121000 11-Oct-2003 nyan

MFi386: revision 1.576.


120809 05-Oct-2003 nyan

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


120800 05-Oct-2003 nyan

MFi386: revisions 1.572, 1.573 and 1.574.


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()


120375 23-Sep-2003 nyan

Implement the bus_space_map() function to allocate resources and initialize
a bus_handle, but currently it does only initializing a bus_handle.


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.


119988 11-Sep-2003 nyan

MFi386 revisions 1.570 and 1.571.


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.


119444 25-Aug-2003 nyan

Switch to dev/syscons/syscons.c.


119353 23-Aug-2003 nyan

MFi386: revisions 1.202 and 1.203.


118991 16-Aug-2003 imp

bandaide to make this build again


118948 15-Aug-2003 phk

As warned: Initiate deorbit burn for the pcaudio driver.


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.


118235 31-Jul-2003 peter

Cosmetic: fix disorder of opt_kstack_pages.h include.


117832 21-Jul-2003 nyan

Supported the gdc_clear function.

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


117600 15-Jul-2003 davidxu

Rename thread_siginfo to cpu_thread_siginfo.

Suggested by: jhb


117510 13-Jul-2003 nyan

Fixed mouse cursor support.

Submitted by: KIYOHARA Takashi <kiyohara@kk.iij4u.or.jp>


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.


116979 28-Jun-2003 nyan

MFi386: revision 1.566.


116958 28-Jun-2003 davidxu

Add a machine depended function thread_siginfo, SA signal code
will use the function to construct a siginfo structure and use
the result to export to userland.

Reviewed by: julian


116431 16-Jun-2003 phk

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


115943 07-Jun-2003 nyan

Fixed compile error.


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.


115001 14-May-2003 jhb

Fix a typo that broke the pc98 kernel build.

Reported by: des@'s tinderbox
Pointy hat to: jhb
Approved by: re (blanket/scottl)


114983 13-May-2003 jhb

- Merge struct procsig with struct sigacts.
- Move struct sigacts out of the u-area and malloc() it using the
M_SUBPROC malloc bucket.
- Add a small sigacts_*() API for managing sigacts structures: sigacts_alloc(),
sigacts_free(), sigacts_copy(), sigacts_share(), and sigacts_shared().
- Remove the p_sigignore, p_sigacts, and p_sigcatch macros.
- Add a mutex to struct sigacts that protects all the members of the struct.
- Add sigacts locking.
- Remove Giant from nosys(), kill(), killpg(), and kern_sigaction() now
that sigacts is locked.
- Several in-kernel functions such as psignal(), tdsignal(), trapsignal(),
and thread_stopped() are now MP safe.

Reviewed by: arch@
Approved by: re (rwatson)


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>


113998 25-Apr-2003 deischen

Add an argument to get_mcontext() which specified whether the
syscall return values should be cleared. The system calls
getcontext() and swapcontext() want to return 0 on success
but these contexts can be switched to at a later time so
the return values need to be cleared in the saved register
sets. Other callers of get_mcontext() would normally want
the context without clearing the return values.

Remove the i386-specific context saving from the KSE code.
get_mcontext() is not i386-specific any more.

Fix a bad pointer in the alpha get_mcontext() code. The
context was being bcopy()'d from &td->tf_frame, but tf_frame
is itself a pointer, so the thread was being copied instead.
Spotted by jake.

Glanced at by: jake
Reviewed by: bde (months ago)


113682 18-Apr-2003 jhb

Hold the proc lock for curproc around sigonstack().


113581 16-Apr-2003 phk

Don't include <sys/disklabel.h>


113015 03-Apr-2003 nyan

MFi386: revision 1.561


113002 03-Apr-2003 phk

Don't use dkmakeminor(), it has nothing to do with CDroms.


112975 02-Apr-2003 nyan

MFi386: revisions 1.556 and 1.557.
Backout revision 1.312.


112974 02-Apr-2003 nyan

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


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.


112898 01-Apr-2003 jeff

- Define a new md function 'casuptr'. This atomically compares and sets
a pointer that is in user space. It will be used as the basic primitive
for a kernel supported user space lock implementation.
- Implement this function in x86's support.s
- Provide stubs that return -1 in all other architectures. Implementations
will follow along shortly.

Reviewed by: jake


112888 31-Mar-2003 jeff

- Move p->p_sigmask to td->td_sigmask. Signal masks will be per thread with
a follow on commit to kern_sig.c
- signotify() now operates on a thread since unmasked pending signals are
stored in the thread.
- PS_NEEDSIGCHK moves to TDF_NEEDSIGCHK.


112883 31-Mar-2003 jeff

- Change trapsignal() to accept a thread and not a proc.
- Change all consumers to pass in a thread.

Right now this does not cause any functional changes but it will be important
later when signals can be delivered to specific threads.


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)


112561 24-Mar-2003 mdodd

Retire sys/pc98/pc98/spkr.c


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()


112033 09-Mar-2003 nyan

Merged from sys/dev/syscons/syscons.c revision 1.396.


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().


111979 08-Mar-2003 phk

Centralize the devstat handling for all GEOM disk device drivers
in geom_disk.c.

As a side effect this makes a lot of #include <sys/devicestat.h>
lines not needed and some biofinish() calls can be reduced to
biodone() again.


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).


111665 28-Feb-2003 phk

NO_GEOM cleanup:

Convert to "struct disk *" centric API.


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


111312 23-Feb-2003 nyan

Merged from sys/dev/syscons/syscons.c revision 1.393.


111311 23-Feb-2003 nyan

Fix compile error with FB_INSTALL_CDEV option.


111310 23-Feb-2003 nyan

MFi386: revision 1.554.


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.


110333 04-Feb-2003 nyan

Oops, fix copyright again.

Noticed by: hrs


110329 04-Feb-2003 takawata

Fix copyright notification.


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


110285 03-Feb-2003 nyan

Add CanBe power management controller support.

Submitted by: KIYOHARA Takashi <kiyohara@kk.iij4u.or.jp>


110187 01-Feb-2003 phk

NO_GEOM cleanup: don't #include <sys/diskslice.h>


110098 30-Jan-2003 nyan

MFi386: revision 1.192.


110094 30-Jan-2003 phk

NO_GEOM cleanup: retire to attic.


110086 30-Jan-2003 phk

Remove pc98/wfd and pc98/wst drivers, they have been broken to the
point of not even compiling for a very long time.

Any effort spent unbreaking them would be better spent perfecting
the ata drivers for PC98, should any issues remain there.


110048 29-Jan-2003 phk

Make tsc_freq a 64bit on PC98 also.


109994 28-Jan-2003 jake

Remove BDE_DEBUGGER.

Discussed with: bde


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.


109531 19-Jan-2003 phk

#ifdef NO_GEOM these files entirely. When NO_GEOM is removed as an
option the files can be removed.


109303 15-Jan-2003 nyan

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


109268 15-Jan-2003 mdodd

- Add inline functions for {ll,l,}abs() to libkern.
- Remove hand rolled abs() functions.


109125 12-Jan-2003 nyan

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


109068 10-Jan-2003 nyan

MFi386: revision 1.552.


108650 04-Jan-2003 nyan

Rename the dos_partition structure for pc98 to pc98_partition.


108590 03-Jan-2003 nyan

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


108586 03-Jan-2003 phk

Remove unused second argument from DEV_STRATEGY().


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.


107969 17-Dec-2002 phk

Unspam some experimental changes which should not have been committed.


107920 15-Dec-2002 phk

unifdef -DPC98 -U__alpha__


107586 04-Dec-2002 nyan

MFi386: revision 1.551.

Approved by: re (jhb)


106997 17-Nov-2002 nyan

MFi386: revision 1.550.


106996 17-Nov-2002 nyan

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


106697 09-Nov-2002 des

Print real / avail memory in megabytes rather than kilobytes.


106605 07-Nov-2002 tmm

Move the definitions of the hw.physmem, hw.usermem and hw.availpages
sysctls to MI code; this reduces code duplication and makes all of them
available on sparc64, and the latter two on powerpc.
The semantics by the i386 and pc98 hw.availpages is slightly changed:
previously, holes between ranges of available pages would be included,
while they are excluded now. The new behaviour should be more correct
and brings i386 in line with the other architectures.

Move physmem to vm/vm_init.c, where this variable is used in MI code.


106503 06-Nov-2002 jmallett

Remove what was a temporary bogus assignment of bits of siginfo_t, as it does
not look like the prerequisites to fill it in properly will be in the tree
for the upcoming release, but it's mostly done, so there is no need for these
to stay around to remind us.


106234 31-Oct-2002 nyan

MFi386: revision 1.55.
Rename from atspeaker to pcspeaker. (PC98 is not PC/AT)


105991 26-Oct-2002 nyan

MFi386: revisions 1.544 and 1.545.


105715 22-Oct-2002 nyan

MFi386: revision 1.543.


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.


105319 17-Oct-2002 nyan

Merged from sys/dev/syscons/syscons.c revision 1.390.


105263 16-Oct-2002 nyan

MFi386: revision 1.54.


105242 16-Oct-2002 phk

Unbreak the PC98/wd(4) driver which I accidentally broke with a previous
commit. I can fully understand why the PC98 crew desire ata(4) support.

Tested by: nyan


105093 14-Oct-2002 nyan

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


104965 12-Oct-2002 jeff

- kserunnable() is now sched_runnable() change instances of these where
appropriate.
- include sched.h to see this new api.


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>


104775 10-Oct-2002 nyan

Fixed SBUS_RA_*_region_* functions.


104676 08-Oct-2002 nyan

MFi386: revision 1.67.


104675 08-Oct-2002 nyan

MFi386: revisions 1.539, 1.540 and 1.541.


104619 07-Oct-2002 nyan

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


104516 05-Oct-2002 phk

Don't use dkunit() to find our softc when we can hang it off the dev_t.

This removes yet a dependency on the old disklabel stuff.

Sponsored by: DARPA & NAI Labs.


104515 05-Oct-2002 phk

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

Sponsored by: DARPA & NAI Labs


104272 01-Oct-2002 phk

Split MBR and PC98 on-disk sliceformats out from disklabel.h, step 1:

Peter had repocopied sys/disklabel.h to sys/diskpc98.h and sys/diskmbr.h.

These two new copies are still intact copies of disklabel.h and
therefore protected by #ifndef _SYS_DISKLABEL_H_ so #including them
in programs which already include <sys.disklabel.h> is currently a
no-op.

This commit adds a number of such #includes.

Once I have verified that I have fixed all the places which need fixing,
I will commit the updated versions of the three #include files.

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.


104136 29-Sep-2002 nyan

Merged from sys/dev/syscons/syscons.c revision 1.389.


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.


103879 24-Sep-2002 nyan

MFi386: revisions 1.536 and 1.538.


103870 23-Sep-2002 alfred

use __packed.


103734 21-Sep-2002 phk

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

Spotted by: peter.


103714 20-Sep-2002 phk

(This commit touches about 15 disk device drivers in a very consistent
and predictable way, and I apologize if I have gotten it wrong anywhere,
getting prior review on a patch like this is not feasible, considering
the number of people involved and hardware availability etc.)

If struct disklabel is the messenger: kill the messenger.

Inside struct disk we had a struct disklabel which disk drivers used to
communicate certain metrics to the disklayer above (GEOM or the disk
mini-layer). This commit changes this communication to use four
explicit fields instead.

Amongst the benefits is that the fields do not get overwritten by
wrong or bogus on-disk disklabels.

Once that is clear, <sys/disk.h> which is included in the drivers
no longer need to pull <sys/disklabel.h> and <sys/diskslice.h> in,
the few places that needs them, have gotten explicit #includes for
them.

The disklabel inside struct disk is now only for internal use in
the disk mini-layer, so instead of embedding it, we malloc it as
we need it.

This concludes (modulus any mistakes) the series of disklabel related
commits.

I belive it all amounts to a NOP for all the rest of you :-)

Sponsored by: DARPA & NAI Labs.


103703 20-Sep-2002 phk

For reasons now lost in historical fog, the bounds_check_with_label()
function were put in i386/i386/machdep.c from where it has been
cut and pasted to other architectures with only minor corruption.

Disklabel is really a MI format in many ways, at least it certainly
is when you operate on struct disklabel.

Put bounds_check_with_label() back in subr_disklabel.c where it belongs.

Sponsored by: DARPA & NAI Labs.


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.


103638 19-Sep-2002 nyan

MFi386: revisions 1.534 and 1.535.


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.


103367 15-Sep-2002 julian

Allocate KSEs and KSEGRPs separatly and remove them from the proc structure.
next step is to allow > 1 to be allocated per process. This would give
multi-processor threads. (when the rest of the infrastructure is
in place)

While doing this I noticed libkvm and sys/kern/kern_proc.c:fill_kinfo_proc
are diverging more than they should.. corrective action needed soon.


103081 07-Sep-2002 jmallett

Fill out two fields (si_pid, si_uid) in the siginfo structure handed back
to userland in the signal handler that were not being iflled out before, but
should and can be.

This part of sendsig could be slightly refactored to use an MI interface, or
ideally, *sendsig*() would have an API change to accept a siginfo_t, which
would be filled out by an MI function in the level above sendsig, and said MI
function would make a small call into MD code to fill out the MD parts (some
of which may be bogus, such as the si_addr stuff in some places). This would
eventually make it possible for parts of the kernel sending signals to set up
a siginfo with meaningful information.

Reviewed by: mux
MFC after: 2 weeks


103077 07-Sep-2002 jmallett

Diff reduction in comments for filling the siginfo structure - refer to
filling in the POSIX parts, when doing the same thing in every port of
FreeBSD.


103064 07-Sep-2002 peter

Automatically enable CPU_ENABLE_SSE (detect and enable SSE instructions)
if compiling with I686_CPU as a target. CPU_DISABLE_SSE will prevent
this from happening and will guarantee the code is not compiled in.

I am still not happy with this, but gcc is now generating code that uses
these instructions if you set CPUTYPE to p3/p4 or athlon-4/mp/xp or higher.


102666 31-Aug-2002 peter

Take a shot at fixing up a whole stack of style and other embarresing
unforced errors that Bruce identified. I have not yet addressed all of
his concerns.


102600 30-Aug-2002 peter

Change hw.physmem and hw.usermem to unsigned long like they used to be
in the original hardwired sysctl implementation.

The buf size calculator still overflows an integer on machines with large
KVA (eg: ia64) where the number of pages does not fit into an int. Use
'long' there.

Change Maxmem and physmem and related variables to 'long', mostly for
completeness. Machines are not likely to overflow 'int' pages in the
near term, but then again, 640K ought to be enough for anybody. This
comes for free on 32 bit machines, so why not?


102561 29-Aug-2002 jake

Renamed poorly named setregs to exec_setregs. Moved its prototype to
imgact.h with the other exec support functions.


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.


102264 22-Aug-2002 nyan

Merged from sys/dev/syscons/syscons.c revision 1.388.


102180 20-Aug-2002 nyan

Merged from sys/dev/syscons/syscons.c revisions 1.386 and 1.387.


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.


100275 18-Jul-2002 peter

Use pmap_kenter() rather than vtopte() and bashing the page tables
directly.


100236 17-Jul-2002 nyan

MFi386: revision 1.524.


100172 16-Jul-2002 nyan

Check return status from fd_in() function.


99948 14-Jul-2002 kato

MFi386: sys/i386/i386/machdep.c revision 1.522.


99567 08-Jul-2002 peter

s/procrunnable/kserunnable/ in a comment


99131 30-Jun-2002 nyan

MFi386: revision 1.521


98808 25-Jun-2002 kato

MFi386: sys/i386/i386/machdep.c rev. 1.520.


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


96577 14-May-2002 nyan

MFi386: revision 1.519


96576 14-May-2002 nyan

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


96575 14-May-2002 nyan

Merged from sys/dev/syscons/syscons.c revision 1.384


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.


95448 25-Apr-2002 nyan

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


94936 17-Apr-2002 mux

Rework the kernel environment subsystem. We now convert the static
environment needed at boot time to a dynamic subsystem when VM is
up. The dynamic kernel environment is protected by an sx lock.

This adds some new functions to manipulate the kernel environment :
freeenv(), setenv(), unsetenv() and testenv(). freeenv() has to be
called after every getenv() when you have finished using the string.
testenv() only tests if an environment variable is present, and
doesn't require a freeenv() call. setenv() and unsetenv() are self
explanatory.

The kenv(2) syscall exports these new functionalities to userland,
mainly for kenv(1).

Reviewed by: peter


94417 11-Apr-2002 kato

MFi386: revision 1.517.


94275 09-Apr-2002 phk

GC various bits and pieces of USERCONFIG from all over the place.


94151 07-Apr-2002 phk

GC the "dumplo" variable, which is no longer used.

A lot of sys/*/*/machdep.c seems not to be.


93938 06-Apr-2002 nyan

Merged from sys/dev/syscons/syscons.c revisions 1.381 and 1.382.


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


93793 04-Apr-2002 bde

Moved signal handling and rescheduling from userret() to ast() so that
they aren't in the usual path of execution for syscalls and traps.
The main complication for this is that we have to set flags to control
ast() everywhere that changes the signal mask.

Avoid locking in userret() in most of the remaining cases.

Submitted by: luoqi (first part only, long ago, reorganized by me)
Reminded by: dillon


93702 02-Apr-2002 jhb

- Move the MI mutexes sched_lock and Giant from being declared in the
various machdep.c's to being declared in kern_mutex.c.
- Add a new function mutex_init() used to perform early initialization
needed for mutexes such as setting up thread0's contested lock list
and initializing MI mutexes. Change the various MD startup routines
to call this function instead of duplicating all the code themselves.

Tested on: alpha, i386


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@


93469 31-Mar-2002 kato

MFi386: revision 1.508.


93414 30-Mar-2002 nyan

MFi386: revision 1.506.


93278 27-Mar-2002 kato

MFi386: revision 1.507.


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.


93146 25-Mar-2002 nyan

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


93134 25-Mar-2002 nyan

Fix style.


92794 20-Mar-2002 kato

MFi386: revision 1.65.


92793 20-Mar-2002 kato

Remove __P.


92791 20-Mar-2002 kato

MFi386: revision 1.505 (remove __P.)


92790 20-Mar-2002 kato

MFi386: revision 1.504.


92789 20-Mar-2002 kato

MFi386: revision 1.503.


92230 13-Mar-2002 nyan

Use the dx register for the destination port address. A immediate port
address of outb is only 8 bits.

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


92229 13-Mar-2002 nyan

MFi386: revision 1.502


91986 10-Mar-2002 nyan

Free allocated buffer at siodetach().

MFC after: 3 days


91981 10-Mar-2002 nyan

MFi386: revision 1.501


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.


91566 02-Mar-2002 nyan

MFi386: revision 1.498.


91406 27-Feb-2002 jhb

Simple p_ucred -> td_ucred changes to start using the per-thread ucred
reference.


91061 22-Feb-2002 phk

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


90953 20-Feb-2002 nyan

MFi386: revision 1.497


90850 18-Feb-2002 nyan

Add bus_space_unmap() and bus_space_free() functions to release
a bus_space_handle allocated by bus_space_subregion().


90762 17-Feb-2002 nyan

- Split the routine to initialize a bus_space_handle into the separate
function.
- Only access a bus_space_handle if the resource type is SYS_RES_MEMORY or
SYS_RES_IOPORT.
- Add the bus_space_subregion supports.


90726 16-Feb-2002 nyan

MFi386: revisions 1.495 and 1.496


90521 11-Feb-2002 nyan

Fall through from AT_TYPE_DIRECT to AT_TYPE_CDROM.
Old ATAPI CD-ROM drives return 0 (direct-access) as the type of the device.

(The ata driver has the same problem.)

MFC after: 3 days


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)


90398 08-Feb-2002 nyan

MFi386: revisions 1.493 and 1.494.


90361 07-Feb-2002 julian

Pre-KSE/M3 commit.
this is a low-functionality change that changes the kernel to access the main
thread of a process via the linked list of threads rather than
assuming that it is embedded in the process. It IS still embeded there
but remove all teh code that assumes that in preparation for the next commit
which will actually move it out.

Reviewed by: peter@freebsd.org, gallatin@cs.duke.edu, benno rice,


90132 03-Feb-2002 bde

Use osigreturn(2) instead of sigreturn(2) plus broken magic for returning
from old signal handlers. This is simpler and faster, and fixes (new)
sigreturn(2) when %eip in the new signal context happens to match the
magic value (0x1d516). 0x1d516 is below the default ELF text section,
so this probably never broken anything in practice.

locore.s:
In addition, don't build the signal trampoline for old signal handlers
when it is not used.

alpha:
Not fixed, but seems to be even less broken in practice due to more
advanced magic. A false match occurs for register #32 in mc_regs[].
Since there is no hardware register #32, a false match is only possible
for direct calls to sigreturn(2) that happen to have the magic number
in the spare mc_regs[32] field.


90128 03-Feb-2002 bde

Improve the change in the previous commit: use a stub for osigreturn()
when it is not really used instead of unconditionalizing all of it.


90065 01-Feb-2002 bde

Compile osigreturn() unconditionally since it will always be needed on
some arches and the syscall table is machine-independent. It was
(bogusly) conditional on COMPAT_43, so this usually makes no difference.

ia64: in addition:
- replace the bogus cloned comment before osigreturn() by a correct one.
osigreturn() is just a stub fo ia64's.
- fix the formatting of cloned comment before sigreturn().
- fix the return code. use nosys() instead of returning ENOSYS to get
the same semantics as if the syscall is not in the syscall table.
Generating SIGSYS is actually correct here.
- fix style bugs.

powerpc: copy the cleaned up ia64 stub. This mainly fixes a bogus comment.

sparc64: copy the cleaned up the ia64 stub, since there was no stub before.


90013 31-Jan-2002 nyan

MFi386: revision 1.489.


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


90006 31-Jan-2002 nyan

MFi386: revision 1.52


89486 18-Jan-2002 nyan

MFi386: revision 1.64


89485 18-Jan-2002 nyan

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


89484 18-Jan-2002 nyan

MFi386: revision 1.487


89195 10-Jan-2002 bde

Clear the single-step flag for signal handlers. This fixes bogus trace
traps on the first instruction of signal handlers.

In trap.c:syscall(), fake a trace trap if the single-step flag was set
on entry to the kernel, not if it will be set on exit from the kernel.
This fixes bogus trace traps after the last instruction of signal handlers.

gdb-4.18 (the version in FreeBSD) still has problems with the program in
the PR. These seem to be due to bugs in gdb and not in FreeBSD, and are
fixed in gdb-5.1 (the distribution version).

PR: 33262
Tested by: k Macy <kip_macy@yahoo.com>
MFC after: 1 day


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


88393 22-Dec-2001 nyan

Merged from sys/dev/syscons/syscons.c revision 1.377.


88392 22-Dec-2001 nyan

cosmetic changes.


88387 22-Dec-2001 nyan

MFi386: revision 1.179


88386 22-Dec-2001 nyan

MFi386: revision 1.486


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


87730 12-Dec-2001 nyan

MFi386: revision 1.485 (the previous commit is not completely)


87702 11-Dec-2001 jhb

Overhaul the per-CPU support a bit:

- The MI portions of struct globaldata have been consolidated into a MI
struct pcpu. The MD per-CPU data are specified via a macro defined in
machine/pcpu.h. A macro was chosen over a struct mdpcpu so that the
interface would be cleaner (PCPU_GET(my_md_field) vs.
PCPU_GET(md.md_my_md_field)).
- All references to globaldata are changed to pcpu instead. In a UP kernel,
this data was stored as global variables which is where the original name
came from. In an SMP world this data is per-CPU and ideally private to each
CPU outside of the context of debuggers. This also included combining
machine/globaldata.h and machine/globals.h into machine/pcpu.h.
- The pointer to the thread using the FPU on i386 was renamed from
npxthread to fpcurthread to be identical with other architectures.
- Make the show pcpu ddb command MI with a MD callout to display MD
fields.
- The globaldata_register() function was renamed to pcpu_init() and now
init's MI fields of a struct pcpu in addition to registering it with
the internal array and list.
- A pcpu_destroy() function was added to remove a struct pcpu from the
internal array and list.

Tested on: alpha, i386
Reviewed by: peter, jake


87599 10-Dec-2001 obrien

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


87546 09-Dec-2001 dillon

Allow maxusers to be specified as 0 in the kernel config, which will
cause the system to auto-size to between 32 and 512 depending on the
amount of memory.

MFC after: 1 week


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)


86492 17-Nov-2001 nyan

MFi386: revision 1.483


86297 12-Nov-2001 nyan

Use make_dev_alias() instead of call make_dev() twice.


86014 04-Nov-2001 phk

Don't call cdevsw_add().


86012 04-Nov-2001 phk

Rename the top 7 bits if disk minors to spare bits, rather than type bits.


85713 30-Oct-2001 nyan

MFi386: sys/i386/i386/machdep.c revisions 1.481 and 1.482


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


85351 23-Oct-2001 amorita

fix broken `compat_atdisk'(replace raw device name with block device's).

Reviewed by: nyan
MFC after: 3 days


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


85273 21-Oct-2001 bde

Use the i386 version of npx.c. It has been merged with the pc98 version.

Approved by: nyan
Not tested by: bde


85156 19-Oct-2001 nyan

MFi386: sys/i386/isa/npx.c revisions from 1.114 to 1.116


85153 19-Oct-2001 nyan

Changed IO_NPXSIZE to 8


85151 19-Oct-2001 nyan

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


85150 19-Oct-2001 nyan

MFi386: sys/i386/isa/pcaudio.c revision 1.63


85149 19-Oct-2001 nyan

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


84615 07-Oct-2001 nyan

Rewrite the pc98 bus_space stuff.

The type of bus_space_tag_t is now a pointer to bus_space_tag structure,
and the bus_space_tag structure saves pointers to functions for direct
access and relocate access.

Added bsh_bam member to the bus_space_handle structure, it saves access
method either direct access or relocate access which is called by
bus_space_* functions.

Added the mecia device support. If the bs_da and bs_ra in bus tag are set
NEPC_io_space_tag and NEPC_mem_space_tag respectively, new bus_space stuff
changes the register of mecia automatically for 16bit access.

Obtained from: NetBSD/pc98


83984 26-Sep-2001 rwatson

o Modify pc98 syscons code to use securelevel_gt() instead of
direct variable checks. (Yet another API to perform direct hardware I/O).

Obtained from: TrustedBSD Project


83875 24-Sep-2001 nyan

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


83640 18-Sep-2001 jhb

Whitespace fixes.


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.


83540 16-Sep-2001 nyan

MFi386: cosmetic changes.


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.


83538 16-Sep-2001 nyan

MFi386: sys/i386/isa/pcaudio.c revision 1.59 and 1.61.


83537 16-Sep-2001 nyan

MFi386: sys/i386/isa/mse.c revision 1.54 and 1.55.


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.


83533 16-Sep-2001 nyan

MFi386: removed IDE_DELAY option.


83514 15-Sep-2001 nyan

Merged from sys/i386/isa/pcaudio.c revision 1.62 (KSE changes).


83480 15-Sep-2001 imp

I don't think pc98 has acpi at all, so ifdef the acpi attachments for
now.


83434 14-Sep-2001 imp

Merge sys/isa/sio.c 1.343
KSE changes

Reviewed by: julian, bde, jhb


83433 14-Sep-2001 imp

Merge from sys/dev/syscons/syscons.c 1.373
kse changes

# Note: There are a number of trivial and non-trivial diffs between this and
# sys/dev/syscons/syscons.c that I didn't try to account for.

Reviewed by: julian, bde, jhb


83432 14-Sep-2001 imp

Merge from sys/i386/isa/sprk.c 1.50, 1.51
KSE changes and acpi attachment

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


83429 14-Sep-2001 imp

Merged sys/i386/isa/npx.c 1.110, 1.111, 1.112 KSE

Reviewed by: julian, bde, jhb


83427 14-Sep-2001 imp

Changes necessary for KSE world

Reivewed by: julian, bde, jhb


83426 14-Sep-2001 imp

Merge changes from sys/i386/isa/mse.c 1.56 and other tweaks for KSE

Reviewed by: julian, kde, 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


83423 14-Sep-2001 imp

Merge from sys/i386/i386/machdep.c 1.480 (Julian's KSE changes)

Reviewed by: julian, bde, jhb


83366 12-Sep-2001 julian

KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after: ha ha ha ha


83362 12-Sep-2001 kato

Merged from sys/i386/i386/machdep.c revision 1.479.


82939 04-Sep-2001 peter

Zap #if 0'ed map init code that got moved to the MI area.
Convert the powerpc tree to use the common code.


82393 27-Aug-2001 peter

Enable hardwiring of things like tunables from embedded enironments
that do not start from loader(8).


82309 25-Aug-2001 peter

Optionize UPAGES for the i386. As part of this I split some of the low
level implementation stuff out of machine/globaldata.h to avoid exposing
UPAGES to lots more places. The end result is that we can double
the kernel stack size with 'options UPAGES=4' etc.

This is mainly being done for the benefit of a MFC to RELENG_4 at some
point. -current doesn't really need this so much since each interrupt
runs on its own kstack.


82166 23-Aug-2001 peter

Fix a #endif misplacement in 1.231 due to misapplied patch

Pointy hat to: peter


82164 23-Aug-2001 peter

Merge i386/machdep.c rev 1.474: dont overextend %cs. (finally, it doesn't
conflict with unmerged changes)


82163 23-Aug-2001 peter

Merge i386/machdep.c rev 1.469: whitespace changes to fit 80 columns

Forgotten by: jhb


82162 23-Aug-2001 peter

Merge i386/machdep.c rev 1.468: make breakpoint/trace interrupt instead
of trap gates

Forgotten by: bde


82161 23-Aug-2001 peter

Merge 386/machdep.c rev 1.467: fix bugs/miscalculations

Forgotten by: iwasaki


82160 23-Aug-2001 peter

Identical to i386/machdep.c rev 1.473: move submap initialization to MI.


82159 23-Aug-2001 peter

Merge i386/machdep.c rev 1.472: Fix bug in physmem_est and maxbcache
calculation

Forgotten by: dillon


82158 23-Aug-2001 peter

Merge i386/machdep.c rev 1.470. Limit KVM for buffer cache etc.

Forgotten by: dillon


82154 23-Aug-2001 peter

Dont compile in SSE fxsave/fxrstor instructions if CPU_ENABLE_SSE isn't
active.


82025 21-Aug-2001 peter

Make COMPAT_43 optional again. XXX we need COMPAT_FBSD3 etc for this
stuff.


81493 10-Aug-2001 jhb

- Close races with signals and other AST's being triggered while we are in
the process of exiting the kernel. The ast() function now loops as long
as the PS_ASTPENDING or PS_NEEDRESCHED flags are set. It returns with
preemption disabled so that any further AST's that arrive via an
interrupt will be delayed until the low-level MD code returns to user
mode.
- Use u_int's to store the tick counts for profiling purposes so that we
do not need sched_lock just to read p_sticks. This also closes a
problem where the call to addupc_task() could screw up the arithmetic
due to non-atomic reads of p_sticks.
- Axe need_proftick(), aston(), astoff(), astpending(), need_resched(),
clear_resched(), and resched_wanted() in favor of direct bit operations
on p_sflag.
- Fix up locking with sched_lock some. In addupc_intr(), use sched_lock
to ensure pr_addr and pr_ticks are updated atomically with setting
PS_OWEUPC. In ast() we clear pr_ticks atomically with clearing
PS_OWEUPC. We also do not grab the lock just to test a flag.
- Simplify the handling of Giant in ast() slightly.

Reviewed by: bde (mostly)


81265 08-Aug-2001 peter

Zap 'ptrace(PT_READ_U, ...)' and 'ptrace(PT_WRITE_U, ...)' since they
are a really nasty interface that should have been killed long ago
when 'ptrace(PT_[SG]ETREGS' etc came along. The entity that they
operate on (struct user) will not be around much longer since it
is part-per-process and part-per-thread in a post-KSE world.

gdb does not actually use this except for the obscure 'info udot'
command which does a hexdump of as much of the child's 'struct user'
as it can get. It carries its own #defines so it doesn't break
compiles.


81234 07-Aug-2001 nyan

Merged from sys/dev/syscons/syscons.c revisions 1.370, 1.371 and 1.372.


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.


80534 29-Jul-2001 nyan

Merged from sys/dev/syscons/syscons.c revisions 1.367 and 1.368.


80500 28-Jul-2001 kato

Merged from sys/i86/isa/npx.c revision 1.107.


80421 26-Jul-2001 peter

Call the early tunable setup functions as soon as kern_envp is available.
Some things depend on hz being set not long after this.


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.


79944 19-Jul-2001 kato

Merged from sys/i386/isa/npx.c revision 1.106.


79943 19-Jul-2001 kato

Merged from sys/i386/isa/npx.c revision 1.105.


79942 19-Jul-2001 kato

Merged from sys/i386/i386/machdep.c revisions 1.462 and 1.464.


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)


79703 14-Jul-2001 nyan

Added epson_inw function.


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


79628 12-Jul-2001 peter

Fix another missed pcb_savefpu reference (inside NPX_DEBUG)


79610 12-Jul-2001 peter

Apply the i386 SSE mods to pc98 as well.


79524 10-Jul-2001 nyan

Added #include <sys/proc.h>

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


79378 07-Jul-2001 nyan

Merged from sys/i386/i386/machdep.c revisions 1.459 and 1.460.


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.


78962 29-Jun-2001 jhb

Add a new MI pointer to the process' trapframe p_frame instead of using
various differently named pointers buried under p_md.

Reviewed by: jake (in principle)


78961 29-Jun-2001 jhb

Enable interrupts again after disabling them in epson_{in,out}sw().
splx() doesn't do the equivalent of sti.


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.


78810 26-Jun-2001 nyan

Merged from sys/dev/syscons/syscons.c revisons 1.358 and 1.360.


78809 26-Jun-2001 nyan

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


78792 26-Jun-2001 nyan

Fixed miss merging from revision 1.102.


78655 23-Jun-2001 kato

Merged from sys/i386/isa/npx.c revision 1.102.


78653 23-Jun-2001 kato

Merged from sys/i386/i386/machdep.c revisions 1.456 and 1.457.


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).


77645 03-Jun-2001 nyan

Merged from sys/kern/subr_diskmbr.c revision 1.45.


77644 03-Jun-2001 nyan

Merged from sys/kern/subr_diskmbr.c revision 1.52.


77621 02-Jun-2001 nyan

Merged from sys/i386/i386/machdep.c revision 1.454.


77618 02-Jun-2001 nyan

Disabled unneeded code for PC98.

Submitted by: NOKUBI Hirotaka <nokubi@ff.iij4u.or.jp>


77617 02-Jun-2001 nyan

Merged from sys/i386/isa/npx.c revision 1.101.


76931 21-May-2001 nyan

Update pc98 memory probe functions.
- pc98_getmemsize() function returns available memory size under 16MB.
- getmemsize() function is merged from PC-AT's one.

Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata) and
NOKUBI Hirotaka <nokubi@ff.iij4u.or.jp>


76929 21-May-2001 nyan

Merged from sys/i386/isa/npx.c revisions 1.99 and 1.100.


76928 21-May-2001 nyan

Merged from sys/i386/i386/machdep.c revisions 1.452 and 1.453.


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.


76614 15-May-2001 kato

Merged from sys/i386/i386/machdep.c revision 1.450.


76440 10-May-2001 jhb

- Split out the support for per-CPU data from the SMP code. UP kernels
have per-CPU data and gdb on the i386 at least needs access to it.
- Clean up includes in kern_idle.c and subr_smp.c.

Reviewed by: jake


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.


76308 06-May-2001 kato

Merged from sys/i386/i386/machdep.c revision 1.448.


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.


76210 02-May-2001 kato

Merged from sys/i386/isa/npx.c revisions 1.96 and 1.97.


76209 02-May-2001 kato

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


76208 02-May-2001 kato

Merged the rest of changes in sys/i386/i386/machdep.c revision 1.447.


76166 01-May-2001 markm

Undo part of the tangle of having sys/lock.h and sys/mutex.h included in
other "system" header files.

Also help the deprecation of lockmgr.h by making it a sub-include of
sys/lock.h and removing sys/lockmgr.h form kernel .c files.

Sort sys/*.h includes where possible in affected files.

OK'ed by: bde (with reservations)


76078 27-Apr-2001 jhb

Overhaul of the SMP code. Several portions of the SMP kernel support have
been made machine independent and various other adjustments have been made
to support Alpha SMP.

- It splits the per-process portions of hardclock() and statclock() off
into hardclock_process() and statclock_process() respectively. hardclock()
and statclock() call the *_process() functions for the current process so
that UP systems will run as before. For SMP systems, it is simply necessary
to ensure that all other processors execute the *_process() functions when the
main clock functions are triggered on one CPU by an interrupt. For the alpha
4100, clock interrupts are delievered in a staggered broadcast fashion, so
we simply call hardclock/statclock on the boot CPU and call the *_process()
functions on the secondaries. For x86, we call statclock and hardclock as
usual and then call forward_hardclock/statclock in the MD code to send an IPI
to cause the AP's to execute forwared_hardclock/statclock which then call the
*_process() functions.
- forward_signal() and forward_roundrobin() have been reworked to be MI and to
involve less hackery. Now the cpu doing the forward sets any flags, etc. and
sends a very simple IPI_AST to the other cpu(s). AST IPIs now just basically
return so that they can execute ast() and don't bother with setting the
astpending or needresched flags themselves. This also removes the loop in
forward_signal() as sched_lock closes the race condition that the loop worked
around.
- need_resched(), resched_wanted() and clear_resched() have been changed to take
a process to act on rather than assuming curproc so that they can be used to
implement forward_roundrobin() as described above.
- Various other SMP variables have been moved to a MI subr_smp.c and a new
header sys/smp.h declares MI SMP variables and API's. The IPI API's from
machine/ipl.h have moved to machine/smp.h which is included by sys/smp.h.
- The globaldata_register() and globaldata_find() functions as well as the
SLIST of globaldata structures has become MI and moved into subr_smp.c.
Also, the globaldata list is only available if SMP support is compiled in.

Reviewed by: jake, peter
Looked over by: eivind


75893 24-Apr-2001 jhb

Change the pfind() and zpfind() functions to lock the process that they
find before releasing the allproc lock and returning.

Reviewed by: -smp, dfr, jake


75539 16-Apr-2001 kato

Merged from sys/i386/isa/npx.c revision 1.95.


75060 01-Apr-2001 nyan

Correct typo.


75056 01-Apr-2001 nyan

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


75055 01-Apr-2001 nyan

Merged from sys/i386/i386/machdep.c revision 1.446.


74903 28-Mar-2001 jhb

Switch from save/disable/restore_intr() to critical_enter/exit().


74810 26-Mar-2001 phk

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


74680 23-Mar-2001 kato

Merged from sys/i386/isa/npx.c revision 1.93.


74679 23-Mar-2001 kato

Merged from sys/i386/i386/machdep.c revision 1.445.


73993 08-Mar-2001 kato

Replaced p (undeclared) with curproc (after i386/isa/npx.c).


73929 07-Mar-2001 jhb

Grab the process lock while calling psignal and before calling psignal.


73022 25-Feb-2001 nyan

Supported pcmcia modem card.

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


73019 25-Feb-2001 kato

Merged from sys/i386/i386/machdep.c revision 1.443.


72930 23-Feb-2001 peter

Activate USER_LDT by default. The new thread libraries are going to
depend on this. The linux ABI emulator tries to use it for some linux
binaries too. VM86 had a bigger cost than this and it was made default
a while ago.

Reviewed by: jhb, imp


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.


72791 21-Feb-2001 kato

Merged from sys/i386/i386/machdep.c revision 1.441.


72434 13-Feb-2001 kato

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


72433 13-Feb-2001 kato

Merged from sys/i386/isa/npx.c revision 1.90.


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


72226 09-Feb-2001 jhb

Move the initailization of the proc lock for proc0 very early into the MD
startup code.


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)


71984 04-Feb-2001 peter

All the world is not an i386. Merge rev 1.438 of i386/i386/machdep.c.
Make buffer_map a system map.


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.


71785 29-Jan-2001 peter

Send "#if NISA > 0" to the bit-bucket and replace it with an option.
These were compile-time "is the isa code present?" tests and not
'how many isa busses' tests.


71737 28-Jan-2001 kato

Merged from sys/i386/isa/npx.c revisions 1.88 and 1.89.


71736 28-Jan-2001 kato

Synced with sys/i386/i386/machdep.c revision 1.436.


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.


71286 20-Jan-2001 wollman

Finish deprecating <sys/select.h> in favor of <sys/selinfo.h> in kernel code.


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.


71261 19-Jan-2001 peter

Zap unused #include "apm.h"


71257 19-Jan-2001 peter

Use #ifdef DEV_NPX from opt_npx.h instead of #if NNPX > 0 from npx.h


71228 19-Jan-2001 bmilekic

Implement MTX_RECURSE flag for mtx_init().
All calls to mtx_init() for mutexes that recurse must now include
the MTX_RECURSE bit in the flag argument variable. This change is in
preparation for an upcoming (further) mutex API cleanup.
The witness code will call panic() if a lock is found to recurse but
the MTX_RECURSE bit was not set during the lock's initialization.

The old MTX_RECURSE "state" bit (in mtx_lock) has been renamed to
MTX_RECURSED, which is more appropriate given its meaning.

The following locks have been made "recursive," thus far:
eventhandler, Giant, callout, sched_lock, possibly some others declared
in the architecture-specific code, all of the network card driver locks
in pci/, as well as some other locks in dev/ stuff that I've found to
be recursive.

Reviewed by: jhb


71098 16-Jan-2001 peter

Stop doing runtime checking on i386 cpus for cpu class. The cpu is
slow enough as it is, without having to constantly check that it really
is an i386 still. It was possible to compile out the conditionals for
faster cpus by leaving out 'I386_CPU', but it was not possible to
unconditionally compile for the i386. You got the runtime checking whether
you wanted it or not. This makes I386_CPU mutually exclusive with the
other cpu types, and tidies things up a little in the process.

Reviewed by: alfred, markm, phk, benno, jlemon, jhb, jake, grog, msmith,
jasone, dcs, des (and a bunch more people who encouraged it)


70969 12-Jan-2001 kato

Merged from sys/i386/isa/npx.c revision 1.87.


70968 12-Jan-2001 kato

Merged from sys/i386/i386/machdep.c revisions 1.427 and 1.428.


70745 07-Jan-2001 kato

Merged from sys/i386/i386/machdep.c revision 1.426.


70085 16-Dec-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.425.


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>


69774 08-Dec-2000 phk

Staticize some malloc M_ instances.


69614 05-Dec-2000 kato

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


69613 05-Dec-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.424.


69379 30-Nov-2000 marcel

Don't use p->p_sigstk.ss_flags to keep state of whether the
process is on the alternate stack or not. For compatibility
with sigstack(2) state is being updated if such is needed.

We now determine whether the process is on the alternate
stack by looking at its stack pointer. This allows a process
to siglongjmp from a signal handler on the alternate stack
to the place of the sigsetjmp on the normal stack. When
maintaining state, this would have invalidated the state
information and causing a subsequent signal to be delivered
on the normal stack instead of the alternate stack.

PR: 22286


69210 26-Nov-2000 phk

Make diskerr() always log with printf.


69193 26-Nov-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.422.


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.


68936 20-Nov-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.421.


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


67893 29-Oct-2000 phk

Move suser() and suser_xxx() prototypes and a related #define from
<sys/proc.h> to <sys/systm.h>.

Correctly document the #includes needed in the manpage.

Add one now needed #include of <sys/systm.h>.
Remove the consequent 48 unused #includes of <sys/proc.h>.


67788 28-Oct-2000 nyan

Restore GDC mode to initial mode instead of 24KHz.

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


67786 28-Oct-2000 nyan

Fixed extention memory check routine.

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


67708 27-Oct-2000 phk

Convert all users of fldoff() to offsetof(). fldoff() is bad
because it only takes a struct tag which makes it impossible to
use unions, typedefs etc.

Define __offsetof() in <machine/ansi.h>

Define offsetof() in terms of __offsetof() in <stddef.h> and <sys/types.h>

Remove myriad of local offsetof() definitions.

Remove includes of <stddef.h> in kernel code.

NB: Kernelcode should *never* include from /usr/include !

Make <sys/queue.h> include <machine/ansi.h> to avoid polluting the API.

Deprecate <struct.h> with a warning. The warning turns into an error on
01-12-2000 and the file gets removed entirely on 01-01-2001.

Paritials reviews by: various.
Significant brucifications by: bde


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.


67369 20-Oct-2000 kato

Merged from sys/i386/isa/npx.c revision 1.86.


67368 20-Oct-2000 kato

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


67367 20-Oct-2000 kato

Merged from sys/i386/i386/machdep.c revisions 1.417 and 1.418.


67288 18-Oct-2000 kato

Converted `da' and `wd' into `rda' and `rwd', respectively.

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


67282 18-Oct-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.416.


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.


67154 15-Oct-2000 nyan

Fixed warnings.


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.


66860 09-Oct-2000 phk

Initiate deorbit burn sequence for <machine/mouse.h>.

Replace all in-tree uses with <sys/mouse.h> which repo-copied a few
moments ago from src/sys/i386/include/mouse.h by peter.
This is also the appropriate fix for exo-tree sources.

Put warnings in <machine/mouse.h> to discourage use.
November 15th 2000 the warnings will be converted to errors.
January 15th 2001 the <machine/mouse.h> files will be removed.


66738 06-Oct-2000 kato

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


66737 06-Oct-2000 kato

Merged from sys/i386/isa/npx.c revision 1.85.


66736 06-Oct-2000 kato

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


66735 06-Oct-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.415.


66585 03-Oct-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.414.


66536 02-Oct-2000 kato

Merged from sys/i368/i386/machdep.c revision 1.413.


66475 30-Sep-2000 bmilekic

Big mbuf subsystem diff #1: incorporate mutexes and fix things up somewhat
to accomodate the changes.

Here's a list of things that have changed (I may have left out a few); for a
relatively complete list, see http://people.freebsd.org/~bmilekic/mtx_journal

* Remove old (once useful) mcluster code for MCLBYTES > PAGE_SIZE which
nobody uses anymore. It was great while it lasted, but now we're moving
onto bigger and better things (Approved by: wollman).

* Practically re-wrote the allocation macros in sys/sys/mbuf.h to accomodate
new allocations which grab the necessary lock.

* Make sure that necessary mbstat variables are manipulated with
corresponding atomic() routines.

* Changed the "wait" routines, cleaned it up, made one routine that does
the job.

* Generalized MWAKEUP() macro. Got rid of m_retry and m_retryhdr, as they
are now included in the generalized "wait" routines.

* Sleep routines now use msleep().

* Free lists have locks.

* etc... probably other stuff I'm missing...

Things to look out for and work on later:

* find a better way to (dynamically) adjust EXT_COUNTERS

* move necessity to recurse on a lock from drain routines by providing
lock-free lower-level version of MFREE() (and possibly m_free()?).

* checkout include of mutex.h in sys/sys/mbuf.h - probably violating
general philosophy here.

The code has been reviewed quite a bit, but problems may arise... please,
don't panic! Send me Emails: bmilekic@freebsd.org

Reviewed by: jlemon, cp, alfred, others?


66294 23-Sep-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.411.


66250 22-Sep-2000 kato

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


66248 22-Sep-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.410.


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.


65875 15-Sep-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.408.


65856 14-Sep-2000 jhb

Remove the mtx_t, witness_t, and witness_blessed_t types. Instead, just
use struct mtx, struct witness, and struct witness_blessed.

Requested by: bde


65831 14-Sep-2000 nyan

- Changed the structure name (struct disk -> struct softc).
- Converted to disk_create() interface.
- Removed unnecessary code.


65810 13-Sep-2000 kato

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


65759 11-Sep-2000 dwmalone

Add the ability to define a "shutdown" and "shutdown and poweroff" key
to syscons. I have a man page to follow describing the format of the
kbdmap file.

PR: 19273
Reviewed by: sheldonh


65611 08-Sep-2000 kato

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


65608 08-Sep-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.407.


65569 07-Sep-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.406.


65568 07-Sep-2000 kato

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


65567 07-Sep-2000 kato

Merged from sys/i386/isa/npx.c revision 1.84.


65566 07-Sep-2000 kato

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


65410 03-Sep-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.405.


65408 03-Sep-2000 kato

Merged from sys/i386/i386/machdep.c rev. 1.404 just for keeping
similarity. No PC-98 may have ACPI feature, but I'm not 100%
sure.


65397 03-Sep-2000 kato

Merged from sys/dev/syscons/syscons.c revision 1.346.


65322 01-Sep-2000 kato

Fixed FPU_ERROR_BROKEN code. It had old-isa code.


64837 19-Aug-2000 dwmalone

Replace the mbuf external reference counting code with something
that should be better.

The old code counted references to mbuf clusters by using the offset
of the cluster from the start of memory allocated for mbufs and
clusters as an index into an array of chars, which did the reference
counting. If the external storage was not a cluster then reference
counting had to be done by the code using that external storage.

NetBSD's system of linked lists of mbufs was cosidered, but Alfred
felt it would have locking issues when the kernel was made more
SMP friendly.

The system implimented uses a pool of unions to track external
storage. The union contains an int for counting the references and
a pointer for forming a free list. The reference counts are
incremented and decremented atomically and so should be SMP friendly.
This system can track reference counts for any sort of external
storage.

Access to the reference counting stuff is now through macros defined
in mbuf.h, so it should be easier to make changes to the system in
the future.

The possibility of storing the reference count in one of the
referencing mbufs was considered, but was rejected 'cos it would
often leave extra mbufs allocated. Storing the reference count in
the cluster was also considered, but because the external storage
may not be a cluster this isn't an option.

The size of the pool of reference counters is available in the
stats provided by "netstat -m".

PR: 19866
Submitted by: Bosko Milekic <bmilekic@dsuper.net>
Reviewed by: alfred (glanced at by others on -net)


64813 18-Aug-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.402.


64777 17-Aug-2000 nyan

- Fixed the conversion to bus_space interface.
- Added PC-98 Cbus devices support.
The original patch is submitted by chi@bd.mbn.or.jp (Chiharu Shibata)
- Removed old ed driver.


64636 14-Aug-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.401.


64552 12-Aug-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.400.


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.


64020 30-Jul-2000 nyan

Merged from sys/dev/syscons/syscons.c revision 1.344.


63960 28-Jul-2000 kato

Merged from sys/dev/syscons/syscons.c revision 1.345.


63090 13-Jul-2000 archie

Make all Ethernet drivers attach using ether_ifattach() and detach using
ether_ifdetach().

The former consolidates the operations of if_attach(), ng_ether_attach(),
and bpfattach(). The latter consolidates the corresponding detach operations.

Reviewed by: julian, freebsd-net


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


62876 10-Jul-2000 kris

Don't call printf without a format string.


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)


62203 28-Jun-2000 kato

Merged from sys/i386/isa/spkr.c revision 1.47.


62202 28-Jun-2000 kato

Merged from sys/i386/isa/npx.c revision 1.83.


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.


62069 25-Jun-2000 markm

Remove old entropy-harvesting hooks; this is going to be re-engineered
later.


62068 25-Jun-2000 markm

Remove the old /dev/random device. There is a new machine-independant
version.
Reviewed by: dfr


62002 23-Jun-2000 kato

Include pc98/pc98/pc98.h in which M_EPSON_PC98 is defined when the
EPSON_MEMWIN option is specified.


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.


61654 14-Jun-2000 kato

Catch up with Peter's config(8) changes.


61640 13-Jun-2000 peter

Borrow phk's axe and apply the next stage of config(8)'s evolution.

Use Warner Losh's "hint" driver to decode ascii strings to fill the
resource table at boot time.

config(8) no longer generates an ioconf.c table - ie: the configuration
no longer has to be compiled into the kernel. You can reconfigure your
isa devices with the likes of this at loader(8) time:
set hint.ed.0.port=0x320

userconfig will be rewritten to use this style interface one day and will
move to /boot/userconfig.4th or something like that.

It is still possible to statically compile in a set of hints into a kernel
if you do not wish to use loader(8). See the "hints" directive in GENERIC
as an example.

All device wiring has been moved out of config(8). There is a set of
helper scripts (see i386/conf/gethints.pl, and the same for alpha and pc98)
that extract the 'at isa? port foo irq bar' from the old files and produces
a hints file. If you install this file as /boot/device.hints (and update
/boot/defaults/loader.conf - You can do a build/install in sys/boot) then
loader will load it automatically for you. You can also compile in the
hints directly with: hints "device.hints" as well.

There are a few things that I'm not too happy with yet. Under this scheme,
things like LINT would no longer be useful as "documentation" of settings.
I have renamed this file to 'NOTES' and stored the example hints strings
in it. However... this is not something that config(8) understands, so
there is a script that extracts the build-specific data from the
documentation file (NOTES) to produce a LINT that can be config'ed and
built. A stack of man4 pages will need updating. :-/

Also, since there is no longer a difference between 'device' and
'pseudo-device' I collapsed the two together, and the resulting 'device'
takes a 'number of units' for devices that still have it statically
allocated. eg: 'device fe 4' will compile the fe driver with NFE set
to 4. You can then set hints for 4 units (0 - 3). Also note that
'device fe0' will be interpreted as "zero units of 'fe'" which would be
bad, so there is a config warning for this. This is only needed for
old drivers that still have static limits on numbers of units.
All the statically limited drivers that I could find were marked.

Please exercise EXTREME CAUTION when transitioning!

Moral support by: phk, msmith, dfr, asmodai, imp, and others


61626 13-Jun-2000 kato

Merged from sys/i386/i386/machdep.c rev 1.395.


61330 06-Jun-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.394.


61329 06-Jun-2000 kato

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


61327 06-Jun-2000 kato

Merged from sys/i386/isa/npx.c revision 1.81.


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.


61010 28-May-2000 peter

The dreaded isa_compat.h tables are no longer used, so there is no need
for a seperate pc98 version of this stuff. Applying the same changes
from the i386 version yields identical files so remove these and use the
common ones.


60950 26-May-2000 nyan

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


60793 22-May-2000 nyan

Sync with sys/i386/isa/isa_compat.h revisions 1.28, 1.29 and 1.33.


60755 21-May-2000 peter

Implement an optimization of the VM<->pmap API. Pass vm_page_t's directly
to various pmap_*() functions instead of looking up the physical address
and passing that. In many cases, the first thing the pmap code was doing
was going to a lot of trouble to get back the original vm_page_t, or
it's shadow pv_table entry.

Inspired by: John Dyson's 1998 patches.

Also:
Eliminate pv_table as a seperate thing and build it into a machine
dependent part of vm_page_t. This eliminates having a seperate set of
structions that shadow each other in a 1:1 fashion that we often went to
a lot of trouble to translate from one to the other. (see above)
This happens to save 4 bytes of physical memory for each page in the
system. (8 bytes on the Alpha).

Eliminate the use of the phys_avail[] array to determine if a page is
managed (ie: it has pv_entries etc). Store this information in a flag.
Things like device_pager set it because they create vm_page_t's on the
fly that do not have pv_entries. This makes it easier to "unmanage" a
page of physical memory (this will be taken advantage of in subsequent
commits).

Add a function to add a new page to the freelist. This could be used
for reclaiming the previously wasted pages left over from preloaded
loader(8) files.

Reviewed by: dillon


60536 14-May-2000 archie

Move code to handle BPF and bridging for incoming Ethernet packets out
of the individual drivers and into the common routine ether_input().
Also, remove the (incomplete) hack for matching ethernet headers
in the ip_fw code.

The good news: net result of 1016 lines removed, and this should make
bridging now work with *all* Ethernet drivers.

The bad news: it's nearly impossible to test every driver, especially
for bridging, and I was unable to get much testing help on the mailing
lists.

Reviewed by: freebsd-net


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


59874 01-May-2000 peter

Add $FreeBSD$


59839 01-May-2000 peter

Move the MSG* and SEM* options to opt_sysvipc.h
Remove evil allocation macros from machdep.c (why was that there???) and
use malloc() instead.
Move paramters out of param.h and into the code itself.
Move a bunch of internal definitions from public sys/*.h headers (without
#ifdef _KERNEL even) into the code itself.

I had hoped to make some of this more dynamic, but the cost of doing
wakeups on all sleeping processes on old arrays was too frightening.
The other possibility is to initialize on the first use, and allow
dynamic sysctl changes to parameters right until that point. That would
allow /etc/rc.sysctl to change SEM* and MSG* defaults as we presently
do with SHM*, but without the nightmare of changing a running system.


59779 30-Apr-2000 nyan

Clean up MAXMEM routine.

Submitted by: "K.Magara" <magara@maizuru-ct.ac.jp>


59778 30-Apr-2000 nyan

Fixed to support JIS7 KANJI.

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


59762 29-Apr-2000 phk

s/biowait/bufwait/g

Prodded by: several.


59760 29-Apr-2000 phk

Remove unneeded #include <sys/kernel.h>


59736 29-Apr-2000 nyan

Fixed typo.


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>


59688 27-Apr-2000 nyan

machine/random.h -> sys/random.h


59687 27-Apr-2000 nyan

Add wormio.h. The wd driver needs it.


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>


59362 18-Apr-2000 phk

Convert three drivers not covered by any of our kernel configs.
We really need a LINT98 and possibly LINTALPHA kernels.


59340 17-Apr-2000 imp

hm committed newbused vt driver this weekend, so it is no longer needed
in isa_compat.

LINT now builds again.


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


59222 14-Apr-2000 nyan

Added wdreg.h. PC-98 still uses the wd driver.


59201 13-Apr-2000 nyan

Added wdreg.h and fixed path.


59177 12-Apr-2000 kato

Include pc98.h instead of isareg.h.

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


59174 12-Apr-2000 kato

- Fixed counter number (timer2 -> timer1).
- Fixed operator in pcaintr (andb -> orb).

Pointed out by: nyan


59172 12-Apr-2000 nyan

The nss driver is compatible mode.

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


59170 12-Apr-2000 kato

Merged from sys/i386/isa/isa_compat.c revisions 1.19 and 1.20.


59082 07-Apr-2000 nyan

Newbusify adv driver.

Reviewed by: imp


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.


58820 30-Mar-2000 peter

Make sysv-style shared memory tuneable params fully runtime adjustable
via sysctl. It's done pretty simply but it should be quite adequate.
Also move SHMMAXPGS from $machine/include/vmparam.h as the comments that
went with it were wrong... we don't allocate KVM space for the pages so
that comment is bogus.. The only practical limit is how much physical
ram you want to lock up as this stuff isn't paged out or swap backed.


58816 30-Mar-2000 imp

NewBus the cs driver.

Submitted by: max@rsu.ru


58788 29-Mar-2000 nyan

Newbusify mse driver.


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.


58741 28-Mar-2000 kato

Merged from sys/i386/i386/machdep.c revision 1.387.


58477 23-Mar-2000 kato

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


58476 23-Mar-2000 kato

Removed B_READ and B_WRITE.


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.


58168 17-Mar-2000 nyan

Fixed header file path and added necessary file.


58145 16-Mar-2000 nyan

Fixed to probe extended memory for over 256M or under 64M.

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


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.


57658 01-Mar-2000 kato

Merged from sys/i386/isa/isa_compat.h revision 1.27.


57656 01-Mar-2000 kato

Merged from sys/i386/i386/machdep.c revisions 1.384 and 1.385.


57291 17-Feb-2000 kato

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


57178 13-Feb-2000 peter

Clean up some loose ends in the network code, including the X.25 and ISO
#ifdefs. Clean out unused netisr's and leftover netisr linker set gunk.
Tested on x86 and alpha, including world.

Approved by: jkh


57137 11-Feb-2000 kato

Synced with sys/dev/syscons/syscons.c rev 1.336.


57136 11-Feb-2000 kato

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


56933 01-Feb-2000 kato

Synced with sys/i386/isa/isa_compat.h rev 1.18.

Approved by: jkh


56932 01-Feb-2000 kato

Synced with sys/i386/isa/wd.c revision 1.219.

Approved by: jkh


56931 01-Feb-2000 kato

Synced with sys/i386/isa/mse.c, npx.c and spkr.c revisions 1.49, 1.80
and 1.45, respectively.

Approved by: jkh


56843 29-Jan-2000 peter

Remove #if NFOO > 0 (it's not required in most cases) and also where it
isn't used as a result, remove #include "foo.h". Many of these drivers
still use NFOO for softc struct sizing etc however.


56826 29-Jan-2000 kato

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


56822 29-Jan-2000 kato

Synced with sys/kern/subr_diskmbr.c rev 1.44.


56817 29-Jan-2000 kato

Synced with sys/kern/subr_diskmbr.c rev 1.43.


56811 29-Jan-2000 kato

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

Reminded by: nyan


56796 29-Jan-2000 kato

Cosmetic changes.
- Fixed order of include files.
- Fixed white spaces.


56793 29-Jan-2000 kato

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


56792 29-Jan-2000 kato

Synced with sys/i386/isa/wd.c rev 1.218.


56634 26-Jan-2000 kato

Synced with sys/i386/isa/isa_compat.h and pcaudio.c revisions 1.26 and
1.58, respectively.


56633 26-Jan-2000 kato

Synced with sys/i386/isa/npx.c rev 1.79.


56540 24-Jan-2000 peter

Copy i386/isa/atapi-cd.[ch] to a new name so that it doesn't have the
same object file (atapi-cd.o) as the ata drivers. I'd have called it
wcd.[ch], but there's already one of those in the Attic that we can't
clobber - the good names are taken.
Fix building so that it can be compiled into LINT alongside ata.

Requested by: bde


56530 24-Jan-2000 kato

Synced with sys/i386/isa/isa_compat.h rev 1.25.


56512 24-Jan-2000 kato

Return ENXIO on error.

Submitted by: n_hibma


56439 23-Jan-2000 peter

Clean up some more loose ends..
isa_device->id_ri_flags and RI_FAST were not implemented and did nothing.
The two drivers that were mistakenly thinking this was working were
cy.c and loran.c - these should be converted to newbus.
GC (garbage collect) isa_device->id_alive
GC userconfig.c references to isa_device->id_scsiid (!).


56437 23-Jan-2000 peter

GC isa_device->id_reconfig - it's not referenced anywhere anymore.
GC reconfig_isadev() - it's not used anymore.


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.


55969 14-Jan-2000 kato

Synced with sys/i386/isa/isa_compat.h rev 1.24.


55904 13-Jan-2000 kato

Synced with sys/dev/syscons/syscons.c rev 1.331.


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.


55206 29-Dec-1999 peter

Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot). This is consistant with the other
BSD's who made this change quite some time ago. More commits to come.


55205 29-Dec-1999 peter

Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot). This is consistant with the other
BSD's who made this change quite some time ago. More commits to come.


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'.


55106 26-Dec-1999 kato

Added Allied Telesis SIU-98-D support.

Submitted by: Isizu Takaaki <isizu-t01@aso-group.co.jp>
chi@bd.mbn.or.jp (Chiharu Shibata)
(w/ minor change by kato)


55104 26-Dec-1999 kato

- Cut down amount of memory in 64MB when BIOS tells the amount of
memory >= 64MB.
- Don't perform destructive memory inspection for 15 - 16MB system
area.

Submitted by: NOKUBI Hirotaka <hnokubi@yyy.or.jp>
chi@bd.mbn.or.jp (Chiharu Shibata)


54997 22-Dec-1999 imp

sn driver is no longer using isa_compat layer


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.


54773 18-Dec-1999 imp

Driver for the smc91xx series of ethernet chips. Ported from PAO to
3.3R and then to -current. The pccard support has been left in the
driver, but is presently non-functional because we are using the
isa_compat layer for the moment.

Obtained From: PAO
Sponsored by: Timing Solutions


54654 15-Dec-1999 hm

update to isdn4bsd beta release 0.90: since the isic drivers are now
new-busified, remove all isic traces from compatibility mode wrapper
Noticed by: Warner Losh


54551 13-Dec-1999 kato

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

Submitted by: yokota


54550 13-Dec-1999 kato

Merge from sys/dev/syscons/syscons.c rev 1.330.


54407 10-Dec-1999 kato

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


54406 10-Dec-1999 kato

Remove ze and zp drivers.


54405 10-Dec-1999 kato

Merge from sys/dev/syscons/syscons.c rev 1.329.


54388 10-Dec-1999 phk

Remove the B_BAD buffer flag, it is no longer used.


54367 09-Dec-1999 kato

Backed out previous commit because it contains wrong changes.

Pointed out by: nyan


54358 09-Dec-1999 kato

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

Submitted by: yokota


54357 09-Dec-1999 kato

Sync with sys/i386/isa/wd.c rev 1.216.


54294 08-Dec-1999 phk

Remove BAD144 support, it has already been disabled for some time.


54279 08-Dec-1999 ken

Revamp the devstat priority system. All disks now have the same priority.
The same goes for CD drivers and tape drivers. In systems with mixed IDE
and SCSI, devices in the same priority class will be sorted in attach
order.

Also, the 'CCD' priority is now the 'ARRAY' priority, and a number of
drivers have been modified to use that priority.

This includes the necessary changes to all drivers, except the ATA drivers.
Soren will modify those separately.

This does not include and does not require any change in the devstat
version number, since no known userland applications use the priority
enumerations.

Reviewed by: msmith, sos, phk, jlemon, mjacob, bde


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.


54253 07-Dec-1999 kato

Merge from sys/dev/syscons/syscons.c rev 1.328.


54202 06-Dec-1999 phk

Remove DSO_BAD144 from wd driver(s) so people with bad144'ed disks get
a bit of warning.


54188 06-Dec-1999 luoqi

User ldt sharing.


54176 06-Dec-1999 wpaul

Remove joystick references from pc98 version of isa_compat.h too.


54174 06-Dec-1999 nyan

Supported i8251 (internal COM1) FIFO mode.

Submitted by: tanimura and nyan


54124 04-Dec-1999 nyan

Sync with sys/i386/i386/machdep.c revision up to 1.381.


54083 03-Dec-1999 nyan

pc98/pc98/atapi.c
Copied from i386/isa/atapi.c.
Fixed to support slave devices.
Ignore the device that has strange model strings.

i386/isa/atapi.c
Removed pc98 codes.

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


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.


53818 28-Nov-1999 nyan

Sync with sys/dev/syscons/syscons.c revision 1.327.


53690 25-Nov-1999 nyan

Fixed to support IBM-PC HDD.
- Use 'or' operation to change b_flags.
- SCSI HDD device is 'da', not 'sd'.

Submitted by: kura@tim.hi-ho.ne.jp (Tomohiko Kurahashi) and
chi@bd.mbn.or.jp (Chiharu Shibata)


53687 25-Nov-1999 nyan

Sync with sys/i386/i386/machdep.c revision up to 1.378.


53648 24-Nov-1999 archie

Change the prototype of the strto* routines to make the second
parameter a char ** instead of a const char **. This make these
kernel routines consistent with the corresponding libc userland
routines.

Which is actually 'correct' is debatable, but consistency and
following the spec was deemed more important in this case.

Reviewed by (in concept): phk, bde


53503 21-Nov-1999 phk

s/p_cred->pc_ucred/p_ucred/g


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.


53220 16-Nov-1999 nyan

Sync with sys/i386/isa/pcaudio.c revision 1.57.


53121 13-Nov-1999 nyan

Fixed the size of array.


53107 12-Nov-1999 nyan

Sync with sys/i386/i386/machdep.c revision 1.375.


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().


52880 04-Nov-1999 nyan

Sync with sys/i386/isa/spkr.c revision 1.44.


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.


52826 03-Nov-1999 nyan

Sync with sys/i386/i386/machdep.c revision 1.371.


52824 03-Nov-1999 nyan

Sync with sys/dev/syscons/syscons.c revision 1.326.


52815 02-Nov-1999 archie

Consolidate some of the various ctype(3) macros in one location.


52720 31-Oct-1999 alc

The useracc() calls in osigreturn() and sigreturn() should specify
VM_PROT_READ rather than VM_PROT_WRITE. (This mistake predates
the B_READ/B_WRITE -> VM_PROT_READ/VM_PROT_WRITE change.)

Submitted by: bde


52711 31-Oct-1999 nyan

- Sync with sys/i386/isa/if_ed.c revision 1.163.
- Supported Networld EC/EP-98X.
- Rewrite NE2000 PCMCIA (LPC-T) on old 98Note.

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


52644 30-Oct-1999 phk

Change useracc() and kernacc() to use VM_PROT_{READ|WRITE|EXECUTE} for the
"rw" argument, rather than hijacking B_{READ|WRITE}.

Fix two bugs (physio & cam) resulting by the confusion caused by this.

Submitted by: Tor.Egge@fast.no
Reviewed by: alc, ken (partly)


52635 29-Oct-1999 phk

useracc() the prequel:

Merge the contents (less some trivial bordering the silly comments)
of <vm/vm_prot.h> and <vm/vm_inherit.h> into <vm/vm.h>. This puts
the #defines for the vm_inherit_t and vm_prot_t types next to their
typedefs.

This paves the road for the commit to follow shortly: change
useracc() to use VM_PROT_{READ|WRITE} rather than B_{READ|WRITE}
as argument.


52574 27-Oct-1999 mdodd

Sync with recent 'ep' driver changes.


52565 27-Oct-1999 nyan

Fix potential panic by illegal increment of wfdnlun.

Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
Reviewed by: Junichi Satoh <junichi@astec.co.jp> (the original author)


52467 24-Oct-1999 nyan

Fixed to compile a kernel with scbus0 and without da0.
Added $FreeBSD$.

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


52314 16-Oct-1999 kato

Sync w/ sys/i386/isa/isa_compat.h revision 1.16.


52208 13-Oct-1999 kato

Sync with sys/i386/isa/pcaudio.c revision 1.55.


52207 13-Oct-1999 kato

Sync with sys/i386/isa/mse.c revision 1.48.


52206 13-Oct-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.370.


52174 12-Oct-1999 dfr

* Add struct resource_list* argument to resource_list_alloc and
resource_list_release. This removes the dependancy on the
layout of ivars.

* Move set_resource, get_resource and delete_resource from
isa_if.m to bus_if.m.

* Simplify driver code by providing wrappers to those methods:

bus_set_resource(dev, type, rid, start, count);
bus_get_resource(dev, type, rid, startp, countp);
bus_get_resource_start(dev, type, rid);
bus_get_resource_count(dev, type, rid);
bus_delete_resource(dev, type, rid);

* Delete isa_get_rsrc and use bus_get_resource_start instead.

* Fix a stupid typo in isa_alloc_resource reported by Takahashi
Yoshihiro <nyan@FreeBSD.org>.

* Print a diagnostic message if we can't assign resources to a PnP
device.

* Change device_print_prettyname() so that it doesn't print
"(no driver assigned)-1" for anonymous devices.


52157 12-Oct-1999 nyan

Initialize tp->t_stop to nottystop.


52140 11-Oct-1999 luoqi

Add a per-signal flag to mark handlers registered with osigaction, so we
can provide the correct context to each signal handler.

Fix broken sigsuspend(): don't use p_oldsigmask as a flag, use SAS_OLDMASK
as we did before the linuxthreads support merge (submitted by bde).

Move ps_sigstk from to p_sigacts to the main proc structure since signal
stack should not be shared among threads.

Move SAS_OLDMASK and SAS_ALTSTACK flags from sigacts::ps_flags to proc::p_flag.
Move PS_NOCLDSTOP and PS_NOCLDWAIT flags from proc::p_flag to procsig::ps_flag.

Reviewed by: marcel, jdp, bde


52024 08-Oct-1999 marcel

Synchronize with i386 rev 1.367


51942 04-Oct-1999 marcel

Re-introduction of sigcontext.

struct sigcontext and ucontext_t/mcontext_t are defined in such
a way that both (ie struct sigcontext and ucontext_t) can be
passed on to sigreturn. The signal handler is still given a
ucontext_t for maximum flexibility.

For backward compatibility sigreturn restores the state for the
alternate signal stack from sigcontext.sc_onstack and not from
ucontext_t.uc_stack. A good way to determine which value the
application has set and thus which value to use, is still open
for discussion.

NOTE: This change should only affect those binaries that use
sigcontext and/or ucontext_t. In the source tree itself
this is only doscmd. Recompilation is required for those
applications.

This commit also fixes a lot of style bugs without hopefully
adding new ones.

NOTE: struct sigaltstack.ss_size now has type size_t again. For
some reason I changed that into unsigned int.

Parts submitted by: bde
sigaltstack bug found by: bde


51919 04-Oct-1999 phk

Remove unused B_FORMAT #define


51838 01-Oct-1999 kato

Sync w/ sys/i386/i386/machdep.c revision 1.364.


51792 29-Sep-1999 marcel

sigset_t change (part 3 of 5)
-----------------------------

By introducing a new sigframe so that the signal handler operates
on the new siginfo_t and on ucontext_t instead of sigcontext, we
now need two version of sendsig and sigreturn.

A flag in struct proc determines whether the process expects an
old sigframe or a new sigframe. The signal trampoline handles
which sigreturn to call. It does this by testing for a magic
cookie in the frame.

The alpha uses osigreturn to implement longjmp. This means that
osigreturn is not only used for compatibility with existing
binaries. To handle the new sigset_t, setjmp saves it in
sc_reserved (see NOTE).

the struct sigframe has been moved from frame.h to sigframe.h
to handle the complex header dependencies that was caused by
the new sigframe.

NOTE: For the i386, the size of jmp_buf has been increased to hold
the new sigset_t. On the alpha this has been prevented by
using sc_reserved in sigcontext.


51756 28-Sep-1999 phk

Introduce ttyread() and ttywrite() which do the canonical thing.

Use them in many tty drivers.

Reviewed by: julian, bde


51754 28-Sep-1999 kato

Sync w/ sys/i386/isa/pcaudio.c revision 1.54.


51753 28-Sep-1999 kato

Removed aha driver.


51720 27-Sep-1999 kato

Make ed driver work again.

isa_compat.c
Copied from sys/i386/isa/isa_compat.c. It includes
sys/pc98/pc98/isa_compat.h instead of sys/i386/isa/isa_compat.h.

isa_compat.h
Copied from sys/i386/isa/isa_compat.c. The ed driver is registered
in this file until pc98's ed driver is converted into new-bus style.

files.pc98
Use sys/pc98/pc98/isa_compat.c instead of sys/i386/isa/isa_compat.c.

if_ed.c
- Fixed the location of the include file.
- Disalbed pnp support.


51719 27-Sep-1999 nyan

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


51672 26-Sep-1999 nyan

Merge from sys/i386/isa/spkr.c revision 1.37 and 1.39.


51671 26-Sep-1999 nyan

Merge from sys/i386/isa/pcaudio.c revision 1.50.


51670 26-Sep-1999 nyan

Merge from sys/i386/isa/mse.c revision 1.44.


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


51650 25-Sep-1999 nyan

Remove unnecessary file. This file is obsolete by newbus integration.


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.


51588 23-Sep-1999 kato

Fixed the bug that the number of sectors per cylinder was stored into
the ncyls (number of cylinders) in dsinit().

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


51584 23-Sep-1999 kato

Sync with sys/dev/syscons/syscons.c revision 1.322.


51547 22-Sep-1999 kato

Sync with sys/i386/isa/npx.c revision 1.78.


51480 20-Sep-1999 phk

Set si_iosize_max rather than d_maxio.

Register devsw in *attach instead of a SYSINIT.


51467 20-Sep-1999 phk

Add a DSO_BAD144 flag which indicates that the driver actually understand
BAD144 handling.

Reject DIOCSBAD and labels with BAD144 tables if the driver cannot grok it.

Reviewed by: bde


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.


51111 09-Sep-1999 julian

Changes to centralise the default blocksize behaviour.
More likely to follow.

Submitted by: phk@freebsd.org


51105 09-Sep-1999 kato

Merge from sys/i386/i386/machdep.c revision 1.361.


51098 08-Sep-1999 phk

Don't register a bmajor.


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.


50748 01-Sep-1999 phk

Set si_bsize_phys and si_bsize_max in all legacy CD drivers.


50744 01-Sep-1999 phk

Try to win back the "removal of most crufty code" trophy from markm:

Remove WD formatting code which has never worked in 386bsd or FreeBSD.

Remove DIOCSSTEP and DIOCSRETRIES ioctls as well, they belong in
history, along with the SMD disks.

OK'ed by: bde


50594 29-Aug-1999 kato

- Removed COMPAT_ATDISK from option because it is pseudo-device now.
- Fixed arguments of atcompat_dsinit() in diskslice_machdep.c.


50551 29-Aug-1999 phk

Merge alpha and pc98 changes into i386 MBR handling code and replace all
three copies with one copy in MI land.


50542 29-Aug-1999 kato

Changed from dname into devtoname(bp->b_dev) in the function dsinit().


50511 28-Aug-1999 phk

We don't need to pass the diskname argument all over the diskslice/label
code, we can find the name from any convenient dev_t


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>


50254 23-Aug-1999 phk

Convert DEVFS hooks in (most) drivers to make_dev().

Diskslice/label code not yet handled.

Vinum, i4b, alpha, pc98 not dealt with (left to respective Maintainers)

Add the correct hook for devfs to kern_conf.c

The net result of this excercise is that a lot less files depends on DEVFS,
and devtoname() gets more sensible output in many cases.

A few drivers had minor additional cleanups performed relating to cdevsw
registration.

A few drivers don't register a cdevsw{} anymore, but only use make_dev().


50236 23-Aug-1999 kato

Updated to new keyboard driver.

Submitted by: yokota & nyan


50233 23-Aug-1999 kato

Merge from sys/dev/syscons/syscons.c revision 1.319.

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


50230 23-Aug-1999 kato

Merge from sys/i386/isa/npx.c revision 1.76.


50008 18-Aug-1999 kato

Merge from sys/i386/isa/spkr.c revision 1.38.


50007 18-Aug-1999 kato

Merge from sys/i386/i386/machdep.c revision 1.359.


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.


49605 10-Aug-1999 kato

Cosmetic changes in PC98 functions:
- Removed spaces after `(' and preceding `)'.
- Added missing spaces after commas.
- Fixed indentations.


49604 10-Aug-1999 kato

Fixed a compiler warning by conversion from pointer to integer.


49600 10-Aug-1999 kato

- Removed unused variable.
- Fixed missing argument of printf.
- Fixed printf format.
- Added parentheses suggested by the compiler.


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.


49516 08-Aug-1999 kato

Fix a panic caused by freeing unallocated structure.

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


49260 30-Jul-1999 kato

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


49259 30-Jul-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.357.


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


49121 26-Jul-1999 kato

Sync with sys/i386/isa/npx.c revision up to 1.75.


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.


49118 26-Jul-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.356.


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>


48699 09-Jul-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.355.


48683 08-Jul-1999 kato

Sync with sys/dev/syscons/syscons.c revision 1.313.


48681 08-Jul-1999 kato

Sync with sys/i386/i386/machdep.c revision up to 1.354.


48645 06-Jul-1999 des

Rename bpfilter to bpf.


48579 05-Jul-1999 msmith

Move the initialisation/tuning of nmbclusters from param.c/machdep.c
into uipc_mbuf.c. This reduces three sets of identical tunable code to
one set, and puts the initialisation with the mbuf code proper.

Make NMBUFs tunable as well.

Move the nmbclusters sysctl here as well.

Move the initialisation of maxsockets from param.c to uipc_socket2.c,
next to its corresponding sysctl.

Use the new tunable macros for the kern.vm.kmem.size tunable (this should have
been in a separate commit, whoops).


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


48515 03-Jul-1999 kato

Removed unused files.


48514 03-Jul-1999 kato

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

Submitted by: yokota


48513 03-Jul-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.349.


48375 30-Jun-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.345.


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.


48320 28-Jun-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.344.


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.


48154 24-Jun-1999 msmith

From the submitter:

wfd driver code tries to give wd driver first crack at ioctl's,
but incorrectly interprets internal error and never gets to send
eject to ATAPI device.

(this is fixed in the atapi-fd driver)

PR: kern/12218
Submitted by: Simon Walton <simonw@cinesite.com>


48068 21-Jun-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.342.


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>


47977 17-Jun-1999 kato

Sync with sys/i386/i386/machdep.c revision up to 1.341.


47729 04-Jun-1999 kato

Oops, remove redundant comments.


47728 04-Jun-1999 kato

Declare Crtat and Atrat because screen savers use these variables.

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


47714 03-Jun-1999 kato

Remove VM86 option.


47713 03-Jun-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.339.

New function getmemsize_pc98 is added in this commit, since PC98 is
quite different in obtaining memory size from IBM-PC. Many lines of
this function is shareable with IBM-PC's getmemsize function, but
sharing needs many #ifdef PC98 statements. Therefore, I gave up
sharing code with IBM-PC's and just added new function.


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.


47640 31-May-1999 phk

Simplify cdevsw registration.

The cdevsw_add() function now finds the major number(s) in the
struct cdevsw passed to it. cdevsw_add_generic() is no longer
needed, cdevsw_add() does the same thing.

cdevsw_add() will print an message if the d_maj field looks bogus.

Remove nblkdev and nchrdev variables. Most places they were used
bogusly. Instead check a dev_t for validity by seeing if devsw()
or bdevsw() returns NULL.

Move bdevsw() and devsw() functions to kern/kern_conf.c

Bump __FreeBSD_version to 400006

This commit removes:
72 bogus makedev() calls
26 bogus SYSINIT functions

if_xe.c bogusly accessed cdevsw[], author/maintainer please fix.

I4b and vinum not changed. Patches emailed to authors. LINT
probably broken until they catch up.


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.


47487 25-May-1999 kato

Merge with sys/i386/isa/wd.c revision 1.192 and 1.193.

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


47266 17-May-1999 kato

- Fixed default irq in SMP kernel.
- Removed hardcode IRQ in #ifdef PC98.


47265 17-May-1999 kato

Sync with sys/i386/isa/npx.c revision 1.73.


47081 12-May-1999 luoqi

Unbreak VESA on SMP.


47054 12-May-1999 kato

Sync with sys/i386/isa/diskslice_machdep.c revision 1.34.


47024 11-May-1999 luoqi

Yet another place I missed when increasing trapframe size, which causes problem
to SIGFPE handling.

Reviewed by: Bruce Evans <bde@zeta.org.au>


47008 11-May-1999 sos

Make the driver work on HP8100 and the newer Philips that does not
support the rezero command.


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.


46869 10-May-1999 kato

Sync with sys/i386/isa/if_ed.c revision 1.152.


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.


46768 09-May-1999 kato

Removed DRIVER_TYPE_TTY field.


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.


46758 09-May-1999 kato

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


46757 09-May-1999 kato

Sync with sys/i386/isa/pcausio.c revision 1.48.


46756 09-May-1999 kato

Sync with sys/i386/isa/npx.c revision 1.61.


46755 09-May-1999 kato

Sync with sys/i386/isa/mse.c revision 1.42.


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


46572 06-May-1999 peter

Fix a precedence bug in the atapi tape driver. I think it could either
write a filemark where it wasn't needed, or neglect to write one at all,
depending on how the boolean converted to an int value for the &.


46571 06-May-1999 peter

Fix up a few easy 'assignment used as truth value' and 'suggest parens
around && within ||' type warnings. I'm pretty sure I have not masked
any problems here, I've committed real problem fixes seperately.


46539 06-May-1999 luoqi

Initialize dblfault_tss.tss_fs to the per-cpu private data segment selector.


46537 06-May-1999 luoqi

Do not set curproc until proc0 is fully initialized (in proc0_init()).


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>


46342 02-May-1999 peter

Operator precedence bug

PR: 11415
Submitted by: Christopher Peterson <cpeterso@cs.washington.edu>


46198 30-Apr-1999 kato

Added $Id$.


46153 28-Apr-1999 dt

s/static foo_devsw_installed = 0;/static int foo_devsw_installed;/.
(Edited automatically)


46148 28-Apr-1999 kato

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


46147 28-Apr-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.332.


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.


45857 20-Apr-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.330.


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>


45666 13-Apr-1999 peter

Shoot the LKM support in the old wd/wdc/atapi driver set in the head and
perform a cleanup/unifdef sweep over it to tidy things up. The atapi
code is permanently attached to the wd driver and is always probed.

I will add an extra option bit in the flags to disable an atapi probe on
either the master or slave if needed, if people want this.

Remember, this driver is destined to die some time. It's possible that
it will loose all atapi support down the track and only be used for
dumb non-ATA disks and all ata/atapi devices will be handled by the new
ata system.

ATAPI, ATAPI_STATIC and CMD640 are no longer options, all are implicit.

Previously discussed with: sos


45612 12-Apr-1999 kato

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


45364 06-Apr-1999 peter

Use PHOLD/PRELE() instead of P_PHSYIO.


45288 04-Apr-1999 kato

Fix for console mouse.

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


45270 03-Apr-1999 jdp

Restore support for executing BSD/OS binaries on the i386 by passing
the address of the ps_strings structure to the process via %ebx.
For other kinds of binaries, %ebx is still zeroed as before.

Submitted by: Thomas Stephens <tas@stephens.org>
Reviewed by: jdp


45268 03-Apr-1999 kato

Sync with sys/i386/isa/wd.c revision 1.191.


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.


45225 01-Apr-1999 kato

Sync with sys/i386/isa/npx.c revision 1.66.


45184 31-Mar-1999 sos

The DEVFS case was screwed by my last commit here..


45030 25-Mar-1999 kato

Sync with sys/i386/isa/wd.c revision 1.190.


45029 25-Mar-1999 kato

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


44898 19-Mar-1999 kato

Sync with sys/i386/isa/if_ed.c revision 1.150.


44801 16-Mar-1999 sos

Rewert the atapi CDROM driver's name to wcd.
This is to avoid confusion with the new system.
Also provide real entires in MAKEDEV for the new system.


44635 10-Mar-1999 kato

Keyboard driver update.

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


44514 06-Mar-1999 kato

Sync with sys/i386/i386/machdpe.c revision 1.327.


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>


44258 25-Feb-1999 kato

Sync with sys/i386/isa/wd.c revision 1.189.


44079 16-Feb-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.326.


43922 12-Feb-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.325.


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>


43589 04-Feb-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.324.


43539 02-Feb-1999 kato

Added braces around initializsers and in if-statements.

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


43537 02-Feb-1999 kato

Sync with sys/dev/syscons/syscons.c revision 1.294.


43488 31-Jan-1999 sos

Bzero the devstat structure before use.

Pointed out by: <Kenneth Merry> ken@plutotech.com


43486 31-Jan-1999 sos

Add device stats for the acd device.


43426 30-Jan-1999 phk

Use suser() to determine super-user-ness, don't examine cr_uid directly.


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.


43389 29-Jan-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.323.


43341 28-Jan-1999 kato

Oops, added parentheses after `else'.

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


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.


43332 28-Jan-1999 kato

Sync with sys/i386/isa/wd.c revision 1.187.


43331 28-Jan-1999 kato

Sync with sys/i386/isa/if_ed.c revision 1.149.


43330 28-Jan-1999 kato

Sync with sys/i386/isa/diskslice_machdep.c revision 1.33.


43280 27-Jan-1999 kato

Clean up LD-BDN reset code(PC-98).

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


43275 27-Jan-1999 kato

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


43272 27-Jan-1999 kato

Initialize the member atr_buffer.

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


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>


42804 18-Jan-1999 kato

Merge with sys/dev/syscons/syscons.c revision 1.292.

Submitted 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>


42752 17-Jan-1999 kato

Make old syscons work. (New syscons driver for PC98 is still under
development.)

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


42746 17-Jan-1999 kato

Sync with sys/i386/isa/wd.c revision 1.186.


42728 16-Jan-1999 kato

Sync with sys/i386/isa/wd.c revision up to 1.185.


42727 16-Jan-1999 kato

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


42726 16-Jan-1999 kato

Sync with sys/i386/isa/npx.c revision 1.65.


42725 16-Jan-1999 kato

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


42723 16-Jan-1999 kato

Sync with sys/i386/i386/machdep.c revision up to 1.322.


42551 12-Jan-1999 eivind

Add a prototype to silence warnings.


42546 12-Jan-1999 eivind

Silence warnings.


42405 08-Jan-1999 kato

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


42403 08-Jan-1999 kato

Sync with sys/i386/i386/machdep.c revision 1.320.


42267 03-Jan-1999 kato

Recognize IDE controler even if HDD is not connected.

Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>


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>


42251 02-Jan-1999 hoek

Extraneous space.


42189 31-Dec-1998 kato

Add SMC EtherEZ98 support(PC-98).
Slim up of if_ed98.h.

Submitted by: Chiharu Shibata <chi@bd.mbn.or.jp>


42166 30-Dec-1998 kato

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


42165 30-Dec-1998 kato

Sync with sys/i386/isa/pcaudio.c revision 1.45.


42164 30-Dec-1998 kato

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


42092 27-Dec-1998 sos

Fix breakage by cleanup.


42059 25-Dec-1998 kato

Sync with sys/i386/isa/wd.c revision 1.182.


41894 17-Dec-1998 kato

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


41893 17-Dec-1998 kato

The fe driver has been merged into sys/i386/isa/if_fe.c.

Forgotten by: kato


41892 17-Dec-1998 kato

Sync with sys/i386/isa/wd.c revision 1.181.


41891 17-Dec-1998 kato

Sync with sys/i386/isa/npx.c revision 1.64.


41890 17-Dec-1998 kato

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


41871 16-Dec-1998 bde

Removed the cast to a pointer in the definition of PS_STRINGS and
adjusted related casts to match (only in the kernel in this commit).
The pointer was only wanted in one place in kern_exec.c. Applications
should use the kern.ps_strings sysctl instead of PS_STRINGS, so they
shouldn't notice this change.


41867 16-Dec-1998 kato

Sync with current sc driver in sys/i386/isa.

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


41779 14-Dec-1998 kato

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


41778 14-Dec-1998 kato

Sync with sys/i386/isa/pcaudio.c revision 1.44.


41777 14-Dec-1998 kato

Sync with sys/i386/isa/if_ed.c revision 1.147.


41677 11-Dec-1998 kato

Sync with sys/i386/isa/lpt.c revision 1.72.


41675 11-Dec-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.317.


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.


41591 07-Dec-1998 archie

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


41536 05-Dec-1998 kato

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


41514 04-Dec-1998 archie

Examine all occurrences of sprintf(), strcat(), and str[n]cpy()
for possible buffer overflow problems. Replaced most sprintf()'s
with snprintf(); for others cases, added terminating NUL bytes where
appropriate, replaced constants like "16" with sizeof(), etc.

These changes include several bug fixes, but most changes are for
maintainability's sake. Any instance where it wasn't "immediately
obvious" that a buffer overflow could not occur was made safer.

Reviewed by: Bruce Evans <bde@zeta.org.au>
Reviewed by: Matthew Dillon <dillon@apollo.backplane.com>
Reviewed by: Mike Spengler <mks@networkcs.com>


41454 02-Dec-1998 kato

- For some old Cyrix CPUs, %cr2 is clobbered by interrupts. This
problem is worked around by using an interrupt gate for the page
fault handler. This code was originally made for NetBSD/pc98 by
Naofumi Honda <honda@kururu.math.sci.hokudai.ac.jp> and has already
been in PC98 tree. Because of this bug, trap_fatal cannot show
correct page fault address if %cr2 is obtained in this function.
Therefore, trap_fatal uses the value from trap() function.
- The trap handler always enables interruption when buggy application
or kernel code has disabled interrupts and then trapped. This code
was prepared by Bruce Evans <bde@FreeBSD.org>.

Submitted by: Bruce Evans <bde@FreeBSD.org>
Naofumi Honda <honda@kururu.math.sci.hokudai.ac.jp>


41453 02-Dec-1998 kato

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


41303 23-Nov-1998 kato

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


41277 21-Nov-1998 archie

Eliminate compiler warning.


41200 16-Nov-1998 kato

Sync with sys/i386/isa/wd.c revision up to 1.180.


41004 08-Nov-1998 dfr

* Fix a couple of places in the device pager where an address was
truncated to 32 bits.
* Change the calling convention of the device mmap entry point to
pass a vm_offset_t instead of an int for the offset allowing
devices with a larger memory map than (1<<32) to be supported
on the alpha (/dev/mem is one such).

These changes are required to allow the X server to mmap the various
I/O regions used for device port and memory access on the alpha.


40956 06-Nov-1998 kato

Sync with sys/i386/i386/machdep.c revision up to 1.315.


40760 30-Oct-1998 luigi

Use "KB" instead of "Kb" for KiloBytes, consistently with other
drivers and common practices.


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


40374 15-Oct-1998 sos

Make the next_writeable address specific for each drive, there might
be more than one burner online.


40294 13-Oct-1998 kato

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


40279 13-Oct-1998 kato

Fix for wrap arround.


40278 13-Oct-1998 kato

Implement TSC clock calibration for PC-98.


40260 12-Oct-1998 kato

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


40223 11-Oct-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.313.


40120 09-Oct-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.312.


40071 08-Oct-1998 kato

Oops, discard my previous commits becase sumitted code is for RELENG_2_2.


40069 08-Oct-1998 kato

Add ungermann-Bass Access/PC N98C+ support to fe driver (PC-98).

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


40068 08-Oct-1998 kato

Add SMC EtherEZ98 support to ed driver (PC-98).

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


40053 08-Oct-1998 sos

Remove debug output on disk change.


39820 30-Sep-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.311.


39710 28-Sep-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.310.


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.


39348 16-Sep-1998 kato

Sync with sys/i386/isa/pcaudio.c revision 1.43.


39336 16-Sep-1998 kato

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


39287 15-Sep-1998 sos

Add VESA support to syscons.

Kazu writes:

The VESA support code requires vm86 support. Make sure your kernel
configuration file has the following line.
options "VM86"
If you want to statically link the VESA support code to the kernel,
add the following option to the kernel configuration file.
options "VESA"

The vidcontrol command now accepts the following video mode names:
VESA_132x25, VESA_132x43, VESA_132x50, VESA_132x60, VESA_800x600

The VESA_800x600 mode is a raster display mode. The 80x25 text will
be displayed on the 800x600 screen. Useful for some laptop computers.

vidcontrol accepts the new `-i <info>' option, where <info> must be
either `adapter' or `mode'. When the `-i adapter' option is given,
vidcontrol will print basic information (not much) on the video
adapter. When the `-i mode' option is specified, vidcontrol will
list video modes which are actually supported by the video adapter.

Submitted by: Kazutaka YOKOTA yokota@FreeBSD.ORG


39276 15-Sep-1998 kato

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


39246 15-Sep-1998 gibbs

Convert SCSI disk bios geometry code to CAM.


39228 15-Sep-1998 gibbs

Update system to new device statistics code.

Submitted by: "Kenneth D. Merry" <ken@plutotech.com>
mike@smith.net.au (Mike Smith)


39205 15-Sep-1998 kato

Sync with sys/i386/i386/machdep.c revision up to 1.309.


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.


39174 14-Sep-1998 kato

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


39173 14-Sep-1998 kato

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


39015 09-Sep-1998 imp

Print warning about block size not being optimal once per open rather than
once per offending write.


38956 08-Sep-1998 sos

Add new atapi-cd driver that supports atapi CD-R/RW drives.
This is only a stop-gab solution to get atapi burner support into 3.0.


38941 08-Sep-1998 kato

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


38726 01-Sep-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.306.


38717 01-Sep-1998 kato

- Fix style bug.
- hw.ispc98 -> machdep.ispc98.

Submitted by: Garrett Wollman (hw -> machdep)


38673 31-Aug-1998 kato

- hw.machine_arch returns cpu architecture type.
- moved definition of MACHINE_ARCH from cpu.h to parm.h as alpha.
- Added definitions of _MACHINE and _MACHINE_ARCH.
- Added hw.ispc98. The hw.ispc98 is 1 in PC98 kernel and is 0 in
IBM-PC kernel.

Discussed with: John Birrell <jb@FreeBSD.ORG>


38606 28-Aug-1998 kato

Sync with sys/i386/isa/if_ed.c and spkr.c revisions 1.35 and 1.144,
respectively.


38604 28-Aug-1998 kato

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


38603 28-Aug-1998 kato

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


38505 24-Aug-1998 bde

Fixed printf format errors. Only one left in LINT on i386's.


38493 23-Aug-1998 phk

remove bdevsw arg from dsopen();

Forgotten by: julian
Reviewed by: bde


38439 19-Aug-1998 kato

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


38437 19-Aug-1998 kato

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


38436 19-Aug-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.304.


38388 17-Aug-1998 kato

Sync with sys/i386/isa/lpt.c revision 1.70.


38327 15-Aug-1998 kato

- change at2pc98() into global from static.
- Oops, I forgot to merge several lines from sys/i386/isa/syscons.c.


38326 15-Aug-1998 kato

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


38321 14-Aug-1998 sos

Only write a filemark on close when data has actually been written.


38297 13-Aug-1998 kato

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


38228 10-Aug-1998 kato

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


38227 10-Aug-1998 kato

Sync with sys/i386/isa/diskslice_machdep.c revision 1.31.


38171 07-Aug-1998 kato

Fix garbage after quitting X server.

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


38162 07-Aug-1998 kato

Sync with sys/i386/isa/syscons.c and syscons.h revisions 1.272 and
1.39, respectively.


38050 03-Aug-1998 kato

Sync with sys/i386/isa/syscons.h revision 1.38.


38049 03-Aug-1998 kato

Sync with sys/i386/isa/syscons.c revision up to 1.271.


37974 30-Jul-1998 bde

Added a flags arg to dsopen() and updated drivers. The DSO_ONESLICE
and DSO_NOLABELS flags prevent searching for slices and labels
respectively. Current drivers don't set these flags. When
DSO_NOLABELS is set, the in-core label for the whole disk is cloned
to create an in-core label for each slice. This gives the correct
result (a good in-core label for the compatibility slice) if
DSO_ONESLICE is set or only one slice is found, but usually gives
broken labels otherwise, so DSO_ONESLICE should be set if DSO_NOLABELS
is set.


37971 30-Jul-1998 kato

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


37883 27-Jul-1998 kato

Sync with sys/i386/isa/diskslice_machdep.c revision 1.30.


37802 21-Jul-1998 kato

Sync with sys/i386/isa/diskslice_machdep.c revision 1.29.


37761 19-Jul-1998 kato

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


37760 19-Jul-1998 kato

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


37705 16-Jul-1998 kato

Merge from sys/i386/isa/syscons.c (1.265->1.266).


37704 16-Jul-1998 kato

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


37701 16-Jul-1998 kato

Sync with sys/i386/isa/pcaudio.c revision 1.42.


37683 15-Jul-1998 bde

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


37618 13-Jul-1998 bde

Fixed printf format errors (only 1 left in GENERIC now).


37617 13-Jul-1998 kato

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


37570 11-Jul-1998 kato

Sync with sys/i386/isa/wd.c revision 1.171.


37569 11-Jul-1998 kato

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


37568 11-Jul-1998 kato

Sync with sys/i386/isa/diskslice_machdep.c revision 1.28.


37567 11-Jul-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.303.


37502 08-Jul-1998 kato

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


37435 06-Jul-1998 kato

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


37389 04-Jul-1998 julian

There is no such thing any more as "struct bdevsw".

There is only cdevsw (which should be renamed in a later edit to deventry
or something). cdevsw contains the union of what were in both bdevsw an
cdevsw entries. The bdevsw[] table stiff exists and is a second pointer
to the cdevsw entry of the device. it's major is in d_bmaj rather than
d_maj. some cleanup still to happen (e.g. dsopen now gets two pointers
to the same cdevsw struct instead of one to a bdevsw and one to a cdevsw).

rawread()/rawwrite() went away as part of this though it's not strictly
the same patch, just that it involves all the same lines in the drivers.

cdroms no longer have write() entries (they did have rawwrite (?)).
tapes no longer have support for bdev operations.

Reviewed by: Eivind Eklund and Mike Smith
Changes suggested by eivind.


37337 02-Jul-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.302.


37171 26-Jun-1998 phk

Add D_DISK flag.


37139 24-Jun-1998 kato

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


37138 24-Jun-1998 kato

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


37109 22-Jun-1998 kato

Sync with sys/i386/isa/if_ed.c and npx.c revisions 1.143 and 1.61,
respectively.


37108 22-Jun-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.301.


37107 22-Jun-1998 kato

Sync with sys/i386/isa/if_fe.c revision 1.42.


37101 21-Jun-1998 bde

Removed unused includes.


37042 17-Jun-1998 kato

Delete redundant declaration of lptintr.


37039 17-Jun-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.300.


37038 17-Jun-1998 kato

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


37025 17-Jun-1998 kato

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


37002 15-Jun-1998 kato

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


36843 10-Jun-1998 kato

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


36767 08-Jun-1998 bde

Fixed pedantic semantics errors (bitfields not of type int, signed int
or unsigned int (this doesn't change the struct layout, size or
alignment in any of the files changed in this commit, at least for
gcc on i386's. Using bitfields of type u_char may affect size and
alignment but not packing)).


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.


36754 08-Jun-1998 bde

Updated yet another ioctl, and put wst in LINT to inhibit further bitrot.


36735 07-Jun-1998 dfr

This commit fixes various 64bit portability problems required for
FreeBSD/alpha. The most significant item is to change the command
argument to ioctl functions from int to u_long. This change brings us
inline with various other BSD versions. Driver writers may like to
use (__FreeBSD_version == 300003) to detect this change.

The prototype FreeBSD/alpha machdep will follow in a couple of days
time.


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.


36608 03-Jun-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.298.


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.


36447 28-May-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.297.


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.


36187 19-May-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.296.


36119 17-May-1998 phk

s/nanoruntime/nanouptime/g
s/microruntime/microuptime/g

Reviewed by: bde


36019 13-May-1998 kato

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


35965 12-May-1998 kato

Sync with sys/i386/isa/wd.c revision 1.167.


35826 07-May-1998 kato

Sync with sys/i386/isa/wd.c revision 1.166.


35825 07-May-1998 kato

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


35774 06-May-1998 kato

Sync with sys/i386/isa/wd.c revision 1.164.


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.


35677 04-May-1998 kato

Use `0xf8' instead of `IO_NPX' macro to support compiling with `SMP'
option.


35672 04-May-1998 kato

Support compiling with `gcc -ansi'.


35671 04-May-1998 kato

Support compiling with `gcc -ansi'.


35448 25-Apr-1998 kato

Sync with sys/i386/isa/wd.c revision up to 1.163.


35446 25-Apr-1998 kato

Sync with sys/i386/isa/wd.c revision 1.161.


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)


35352 20-Apr-1998 sos

Enable DEVFS usage of the device (include opt_devfs.h>


35337 20-Apr-1998 kato

Sync with sys/i386/isa/wd.c revision up to 1.159.


35336 20-Apr-1998 kato

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


35335 20-Apr-1998 kato

Sync with sys/i386/isa/npx.c revision 1.60.


35262 18-Apr-1998 kato

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


35256 17-Apr-1998 des

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


35236 16-Apr-1998 kato

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


35235 16-Apr-1998 kato

Sync with sys/i386/isa/npx.c revision 1.59.


35233 16-Apr-1998 kato

Sync with sys/i386/isa/pcaudio.c revision 1.40.


35232 16-Apr-1998 kato

Sync with sys/i386/isa/lpt.c revision 1.68.


35231 16-Apr-1998 kato

Sync with sys/i386/isa/if_ed.c revision 1.139.


35195 14-Apr-1998 kato

Fix page fault panic by probing NE200 compatible PCI card.

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


35176 13-Apr-1998 msmith

Don't use INTR when only one device supports it.
Submitted by: Satoh Junichi <junichi@astec.co.jp>


35165 13-Apr-1998 kato

Sync with sys/i386/isa/wd.c revision 1.156.


35147 12-Apr-1998 kato

Sync with sys/i386/isa/wd.c revision 1.155.


35106 08-Apr-1998 sos

Fix a minor bug (|| instead of |)


35094 07-Apr-1998 kato

Sync with sys/i386/isa/npx.c revision 1.58.


35092 07-Apr-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.294.


35053 06-Apr-1998 kato

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


35052 06-Apr-1998 kato

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


35031 04-Apr-1998 kato

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


35002 02-Apr-1998 kato

Sync with sys/i386/isa/wd.c revision 1.152.


34972 31-Mar-1998 kato

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


34964 30-Mar-1998 kato

Added missing #include's.


34949 29-Mar-1998 kato

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


34947 29-Mar-1998 kato

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


34863 24-Mar-1998 kato

Sync with sys/i386/i386/machdep.c and trap.c revisions 1.293 and
1.123, respectively.


34724 20-Mar-1998 msmith

Remove unuseful (and annoying) ENXIO printf.


34644 17-Mar-1998 sos

Fixed missing filemark on close if data written to tape.
Don't try to flush buffers if the drive says it has none.
More error checking and reporting.

Hack: if drive hangs, it can be reset by issuing a mt -f device offline.

I've been able to make several 4G backups. However there is still problems
with some configurations. It is not clear if it is hardware or driver
problems yet.


34643 17-Mar-1998 kato

Make EPSON_BOUNCEDMA a new-style option.


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.


34405 09-Mar-1998 kato

Make FPU_ERROR_BROKEN a new-style option.


34225 08-Mar-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.292.


34187 07-Mar-1998 kato

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


34186 07-Mar-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.291.


34039 05-Mar-1998 kato

Fixed mistakenly merged part.

Submitted by: NOKUBI Hirotaka <hnokubi@yyy.or.jp>


33993 02-Mar-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.290.


33952 01-Mar-1998 sos

First pre alpha Work In Progress commit of a IDE/ATAPI tape driver.

It does endeed work, but there is still some problems to solve.
I get a "nonrecovered data error" from time to time, but besides
this it has backed up several Gigs allready.

Please report any success/failure directly to me.

Thanks to Warner Losh for providing a drive to use in writing
this driver!


33938 01-Mar-1998 kato

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


33917 28-Feb-1998 kato

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


33877 27-Feb-1998 kato

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


33876 27-Feb-1998 kato

Sync with sys/i386/isa/if_fe.c revision up to 1.39.


33875 27-Feb-1998 kato

Sync with sys/i386/isa/if_ed.c revision up to 1.135.


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.


33715 21-Feb-1998 kato

Make pc98 options new-style.


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.


33712 21-Feb-1998 kato

Sync with sys/i386/isa/spkr.c revision 1.33.


33674 20-Feb-1998 kato

Sync with sys/i386/isa/lpt.c revision 1.167.


33445 16-Feb-1998 eivind

Add HW_WDOG to LINT, and turn it into a new-style option.


33379 15-Feb-1998 kato

Sync with sys/i386/isa/npx.c revision 1.57.


33378 15-Feb-1998 kato

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


33338 14-Feb-1998 kato

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


33335 13-Feb-1998 pst

Change wfd major block device to 1 as part of the effort to make wfd's
bootable without a big increase in boot2's size.


33325 13-Feb-1998 kato

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


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


33319 13-Feb-1998 kato

Sync with sys/i386/isa/npx.c revision 1.56.


33318 13-Feb-1998 kato

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


33317 13-Feb-1998 kato

Sync with sys/i386/isa/syscons.c and syscons.h revisions 1.254 and
1.37, respectively.


33271 12-Feb-1998 kato

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


33204 10-Feb-1998 kato

Staticize.


33191 09-Feb-1998 kato

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


33190 09-Feb-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.289.


33181 09-Feb-1998 eivind

Staticize.


33134 06-Feb-1998 eivind

Back out DIAGNOSTIC changes.


33117 05-Feb-1998 kato

Sync with sys/i386/isa/if_ed.c revision up to 1.132.


33116 05-Feb-1998 kato

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


33115 05-Feb-1998 kato

Sync with sys/i386/i386/machdep.c and trap.c reivsions 1.287 and
1.121, respectively.


33079 04-Feb-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.286.


33023 02-Feb-1998 kato

Sync with sys/i386/isa/wd.c revision 1.150.


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>


33000 01-Feb-1998 bde

Removed unused #includes.


32995 01-Feb-1998 bde

Forward declare more structs that are used in prototypes here - don't
depend on <sys/types.h> forward declaring common ones.


32940 31-Jan-1998 kato

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


32929 31-Jan-1998 eivind

Make the debug options new-style.

This also zaps a DPT option from lint; it wasn't referenced from
anywhere.


32890 30-Jan-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.285.


32874 29-Jan-1998 pst

Remove obsolete strategy code that was replaced by the disk slice mapping code.
FreeBSD filesystems could be dammaged by repeatedly mounting and unmounting
several partitions.


32865 29-Jan-1998 msmith

Correct usage of unit to t->lun. This fixes the DEVFS case and the
"buggy Zip" message.
Suggested by: Pedro A M Vazquez <vazquez@IQM.Unicamp.BR>


32852 28-Jan-1998 kato

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


32827 27-Jan-1998 msmith

Fix operation with the Iomega Zip 100 ATAPI.
All known versions of this drive (firmware 21.* and 23.*) will lock up
if presented with a read/write request of > 64 blocks. In the presence
of such a unit, I/O requests of > 64 blocks are fragmented to avoid
this.


32765 25-Jan-1998 kato

Even though BIOS writer's guide recommends cpuid instruction of Cyrix
6x86MX CPU is enabled (BIOS should not disable it), some BIOS disables
it via CCR4. In this case, cpu variable becomes CPU_486 and
identblue() is called. Because Cyrix 6x86MX has MSR and doesn't have
MSR1002, wrmsr instruction generates general protection fault.

Tested by: Simon Coggins <chaos@ultra.net.au>


32730 24-Jan-1998 kato

Sync with sys/i386/isa/wd.c revision 1.148.


32729 24-Jan-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.283.


32727 24-Jan-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.282.


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>


32646 20-Jan-1998 kato

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


32607 18-Jan-1998 kato

Sync with sys/i386/isa/wd.c revision 1.147.


32582 16-Jan-1998 pst

Fix misleading comment about major #


32578 16-Jan-1998 pst

Bring in IDE ATAPI floppy support.
This is Junichi's v1.0 driver.

NOTE: Major device numbers have been changed to avoid conflict with other
FreeBSD 3.0 devices. The new numbers should be considered "official."
This driver is still considered "beta" quality, although we have been
playing with it. Please submit bugs to junichi and myself.

Submitted by: junichi@astec.co.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>


32508 14-Jan-1998 kato

I forgot to synchronize some changes with sys/i386/isa/wd.c, but I
could't find exact revision numbers.

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


32482 12-Jan-1998 kato

Fix JIS code support.

Submitted by: NOKUBI Hirotaka <hnokubi@yyy.or.jp>


32481 12-Jan-1998 kato

Sync with sys/i386/i386/machdep.c revision 1.281.


32480 12-Jan-1998 kato

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


32477 12-Jan-1998 kato

Initialize the variables Crtat and Atrat in scvidprobe().

Submitted by: NOKUBI Hirotaka <hnokubi@yyy.or.jp>


32389 10-Jan-1998 kato

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


32350 08-Jan-1998 eivind

Make INET a proper option.

This will not make any of object files that LINT create change; there
might be differences with INET disabled, but hardly anything compiled
before without INET anyway. Now the 'obvious' things will give a
proper error if compiled without inet - ipx_ip, ipfw, tcp_debug. The
only thing that _should_ work (but can't be made to compile reasonably
easily) is sppp :-(

This commit move struct arpcom from <netinet/if_ether.h> to
<net/if_arp.h>.


32333 08-Jan-1998 kato

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


32332 08-Jan-1998 kato

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


32318 07-Jan-1998 kato

1: Fixed compile error when WB_CACH is defined.
2: Fixed !M_EPSON_PC98 case.

Reviewed by: Chiharu Shibata <chi@rd.njk.co.jp>


32233 04-Jan-1998 kato

Sync with sys/i386/isa/syscons.c (first chunk). Reorder #ifdef.

Submitted by: NOKUBI Hirotaka <hnokubi@yyy.or.jp>


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.


32010 27-Dec-1997 peter

#include "opt_user_ldt.h" so that the #ifdef USER_LDT checks can work, as
commented about at length in the PR audit trail.

PR: 2412


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.


31770 16-Dec-1997 kato

Don't use PG_N if EPSON PC-486HX/HG/HA (PC-9801 compatible) are
detected. These machine cannot make L2 cache write-through by PG_N,
and only I/O access (undocumented) can do that. If PG_N is used,
system hangs.

Reviewed by: tos@fa2.so-net.or.jp (Toshiyuki Kawashima)


31742 15-Dec-1997 eivind

Throw options IPX, IPXIP and IPTUNNEL into opt_ipx.h.

The #ifdef IPXIP in netipx/ipx_if.h is OK (used from ipx_usrreq.c and
ifconfig.c only).

I also fixed a typo IPXTUNNEL -> IPTUNNEL (and #ifdef'ed out the code
inside, as it never could have compiled - doh.)


31716 14-Dec-1997 kato

Sync with sys/i386/i386/machdep.c revision 1.279.


31651 09-Dec-1997 kato

Sync with sys/i386/isa/mse.c and syscons.c revisions 1.36 and 1.242,
respectively.


31578 06-Dec-1997 bde

Use ENOIOCTL instead of -1 (= ERESTART) for diskslice ioctls that are
not handled at a particular level.


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.


31554 05-Dec-1997 kato

Sync with sys/i386/i386/machdep.c and trap.c revisions 1.278 and
1.118, respectively.


31513 03-Dec-1997 kato

Sync with sys/i386/i386/machdep.c and trap.c revisions 1.275 and
1.116, respectively.


31493 02-Dec-1997 phk

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


31475 01-Dec-1997 kato

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


31427 27-Nov-1997 kato

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


31410 25-Nov-1997 kato

Sync with sys/i386/i386/machdep.c revision up to 1.274.


31408 25-Nov-1997 kato

Sync with sys/i386/isa/isa.c revision 1.107.


31407 25-Nov-1997 kato

Sync with sys/i386/isa/syscons.c and syscons.h revisions 1.229 and
1.36, respectively.


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.


31296 19-Nov-1997 kato

Sync with sys/i386/isa/pcaudio.c revision 1.38.


31295 19-Nov-1997 kato

Sync with sys/i386/isa/npx.c revision 1.54.


31294 19-Nov-1997 kato

Sync with sys/i386/isa/mse.c revision 1.35.


31293 19-Nov-1997 kato

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


31018 07-Nov-1997 kato

Sync with following files:
- sys/i386/i386/machdep.c revision 1.271
- sys/i386/i386/trap.c revision 1.114
- sys/i386/isa/if_ed.c revision 1.128
- sys/i386/isa/if_fe.c revision 1.34
- sys/i386/isa/syscons.c revision 1.238.
- sys/i386/isa/wd.c revision 1.144


30934 04-Nov-1997 kato

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


30906 03-Nov-1997 kato

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


30904 03-Nov-1997 kato

Sync with sys/i386/isa/if_fe.c revision 1.33.


30903 03-Nov-1997 kato

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


30848 29-Oct-1997 sos

First cut at supporting multi-CD CDROM drives (changers).

Very rudimentary, lots of error checks missing, but it works.
Dont do an ls on two different CD's though, it will eat your
changer mechanism for lunch :), this clearly needs some more
thought. Until then this will enable those with changers to
mount their multible CD's and doing "sensible" work....

Thanks to Andrew Gordon <arg@arg1.demon.co.uk> for donating a drive
(a NEC CDR-C251 4x4) that makes this possible to develop.


30836 29-Oct-1997 kato

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


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.


30771 27-Oct-1997 kato

Synchronize with sys/i386/isa/if_fe.c revision 1.32.


30770 27-Oct-1997 kato

Synchronize with sys/i386/isa/if_ed.c revision 1.125.


30769 27-Oct-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.236.


30666 23-Oct-1997 kato

Synchronize with sys/i386/isa/syscons.{c,h} revisions 1.235 and 1.35,
respectively.


30625 21-Oct-1997 kato

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


30369 13-Oct-1997 kato

Synchronize with sys/i386/isa/wd.c revision 1.141.


30368 13-Oct-1997 kato

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


30366 13-Oct-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.269.


30332 12-Oct-1997 kato

Synchronize with sys/i386/isa/isa.c revision 1.106.


30328 12-Oct-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.268.


30096 04-Oct-1997 kato

Synchronize with sys/i386/isa/if_ed.c revision 1.122.


30055 02-Oct-1997 kato

Synchronize with sys/i386/isa/syscons.c and syscons.h revisions 1.234
and 1.34, respectively.


29912 28-Sep-1997 kato

Synchronize with sys/i386/isa/diskslice_machdep.c revision 1.26.


29911 28-Sep-1997 kato

Fixed duplicate case introduced by previous commit.


29887 27-Sep-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.233.


29873 26-Sep-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.266.


29793 24-Sep-1997 kato

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


29716 22-Sep-1997 kato

Synchronize with sys/i386/isa/wd.c revision up to 1.140.


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.


29714 22-Sep-1997 kato

Synchronize with sys/i386/i386/machdep.c and trap.c reivisions 1.265
and 1.111, respectively.


29632 20-Sep-1997 kato

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


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.


29346 14-Sep-1997 kato

Synchronize with sys/i386/isa/wd.c revision 1.138.


29283 10-Sep-1997 kato

Synchronize with sys/i386/isa/wd.c revision 1.137.


29276 10-Sep-1997 kato

Synchronize with sys/i386/isa/if_ed.c revision 1.121.


29240 09-Sep-1997 kato

Synchronize with sys/i386/isa/if_ed.c revision up to 1.120.


29201 07-Sep-1997 kato

Synchronize with sys/i386/isa/pcaudio.c revision 1.36.


29136 05-Sep-1997 kato

Synchronize with sys/i386/isa/syscons.c and syscons.h revisions 1.231
and 1.33, respectively.


29133 05-Sep-1997 kato

Synchronize with sys/i386/isa/wd.c revision 1.136.


29132 05-Sep-1997 kato

Synchronize with sys/i386/i386/machdep.c revision up to 1.263.


29107 04-Sep-1997 kato

Synchronize with sys/i386/isa/pcaudio.c revision 1.35.


29075 03-Sep-1997 kato

Synchronize with sys/i386/i386/machdep.c and microtime.s revisions
1.261 and 1.32, respectively.


29033 02-Sep-1997 kato

Synchronize with sys/i386/isa/if_ed.c and lpt.c revisions 1.118 and
1.62, 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.


29007 01-Sep-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.260.


28939 30-Aug-1997 kato

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


28860 28-Aug-1997 kato

Synchronize with sys/i386/isa/isa.c revision 1.103.


28831 27-Aug-1997 kato

Synchronize with sys/i386/i386/machdep.c and trap.c revision 1.258 and
1.108, respectively.


28805 26-Aug-1997 kato

Synchronize with sys/i386/isa/syscons.h revision 1.32.


28804 26-Aug-1997 kato

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


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.


28525 21-Aug-1997 kato

Synchronize with sys/i386/i386/machdep.c, trap.c and
sys/i386/isa/npx.c revisions 1.257, 1.107 and 1.52, respectively.


28514 21-Aug-1997 kato

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


28513 21-Aug-1997 kato

Synchronize with sys/i386/isa/isa.c revision 1.101.


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.


28373 18-Aug-1997 kato

Synchronize with sys/i386/i386/machdep.c, trapc and sys/i386/isa/npx.c
revisions 1.256, 1.105 and 1.51, respectively.


28158 13-Aug-1997 kato

Synchronize with sys/i386/isa/isa.c revision 1.100.


28031 10-Aug-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.230.


28011 09-Aug-1997 kato

Synchronize with sys/i386/isa/wd.c revision 1.135.


28010 09-Aug-1997 kato

Disabled SW_VGA_MODEX when PC98 is defined.


28004 09-Aug-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.255.


28003 09-Aug-1997 kato

Synchronize with sys/i386/isa/npx.c revision 1.50.


28002 09-Aug-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.229.


27939 06-Aug-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.254.


27938 06-Aug-1997 kato

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


27937 06-Aug-1997 kato

Synchronize with sys/i386/isa/wd.c revision 1.134.


27806 31-Jul-1997 kato

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


27805 31-Jul-1997 kato

Synchronize with sys/i386/conf/files.i386 and sys/i386/isa/wd.c
revisions 1.169 and 1.133, respectively.


27702 26-Jul-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.228.


27700 26-Jul-1997 kato

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


27693 26-Jul-1997 kato

Synchornize with sys/i386/isa/syscons.c revision 1.227.


27653 24-Jul-1997 kato

Synchronize with sys/i386/isa/isa.c revision 1.96.


27627 23-Jul-1997 kato

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


27580 21-Jul-1997 kato

Synchronize with sys/i386/isa/npx.c revision 1.49.


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.


27576 21-Jul-1997 kato

Synchronize with sys/i386/i386/machdep.c and trap.c revisions 1.253
and 1.101, respectively.


27554 20-Jul-1997 kato

Removed unused #includes.


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.


27478 17-Jul-1997 kato

Synchronize with sys/i386/isa/npx.c revision 1.47.


27457 16-Jul-1997 kato

Synchronize with sys/i386/isa/syscons.c and syscons.h revisions 1.225
and 1.31, respectively.


27394 14-Jul-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.224.


27364 13-Jul-1997 kato

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


27317 10-Jul-1997 kato

Synchronize with sys/i386/isa/isa.c revision 1.94.


27316 10-Jul-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.223.


27295 09-Jul-1997 kato

Synchronize with sys/i386/isa/syscons.c revision up to 1.222.


27260 07-Jul-1997 kato

Enables scmouse.

Submitted by: H. Nokubi <h-nokubi@nmit.tmg.nec.co.jp>
T. Yamamoto <t-yamamt@ics.es.osaka-u.ac.jp>
M. Jinbo <karl@marcer.nagaokaut.ac.jp>


27174 02-Jul-1997 kato

Synchronize with sys/i386/isa/wd.c revision 1.131.


27172 02-Jul-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.220.


27103 30-Jun-1997 kato

Synchronize with sys/i386/isa/syscons.c and syscons.h revisions 1.219
and 1.30, respectively.


27102 30-Jun-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.252.


26961 26-Jun-1997 kato

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


26843 23-Jun-1997 kato

Synchronize with following changes:

> Revision Changes Path
> 1.250 +1 -18 src/sys/i386/i386/machdep.c
> 1.48 +1 -7 src/sys/i386/conf/options.i386
> 1.251 +19 -46 src/sys/i386/i386/machdep.c
> 1.24 +2 -6 src/sys/i386/i386/microtime.s
> 1.100 +4 -15 src/sys/i386/i386/trap.c
> 1.46 +6 -7 src/sys/i386/isa/npx.c


26841 23-Jun-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.217.


26701 17-Jun-1997 kato

Added CONTEC C-NET(9N) and C-NET(98)P2 support.

Submitted by: Chiharu Shibata <chi@rd.njk.co.jp>


26681 16-Jun-1997 kato

Fixed comment.

Submitted by: Chiharu Shibata <chi@rd.njk.co.jp>


26679 16-Jun-1997 kato

Give up automatic detection of card model. Since DP8390 based NICs
are similar to each other, it is difficult to detec card type
automatically.

Reviewed by: Chiharu Shibata <chi@rd.njk.co.jp>


26661 15-Jun-1997 kato

Synchronize with sys/i386/i386/machdep.c revision up to 1.249.


26527 09-Jun-1997 kato

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


26526 09-Jun-1997 kato

Synchronize with sys/i386/i386/machdep.c and trap.c revisions 1.247
and 1.99, 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.


26319 31-May-1997 kato

Include file update: <machine/spl.h> --> <machine/ipl.h>.


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


26281 30-May-1997 kato

Synchronize with sys/i386/isa/isa.c revision up to 1.87.


26278 30-May-1997 kato

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


26228 28-May-1997 kato

Synchronize with sys/i386/isa/wd.c revision 1.130.


26227 28-May-1997 kato

Synchronize with sys/i386/isa/isa.c revision 1.85.


26226 28-May-1997 kato

Synchronize with sys/i386/i386/machdep.c revision up to 1.245.


26225 28-May-1997 kato

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


26059 23-May-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.242.


25924 19-May-1997 kato

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


25863 17-May-1997 kato

Synchronize with sys/i386/isa/syscons.c and sys/i386/isa/syscons.h
revisions 1.216 and 1.29, respectively.


25748 12-May-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.241.


25576 08-May-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.240.


25574 08-May-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.215.


25573 08-May-1997 kato

Synchronize with sys/i386/isa/npx.c revision 1.43.


25534 07-May-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.214.


25533 07-May-1997 kato

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


25490 05-May-1997 kato

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


25346 01-May-1997 kato

Synchronize with sys/i386/isa/syscons.c up to revision 1.213.


25268 29-Apr-1997 kato

Synchronize with sys/i386/conf/options.i386 and sys/i386/isa/wd.c
revisions 1.43 and 1.129, respectively.


25258 28-Apr-1997 kato

Synchronize with sys/i386/isa/isa.c revision 1.83.


25197 27-Apr-1997 kato

Delete opt_ddb.h.


25196 27-Apr-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.211.


25195 27-Apr-1997 kato

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


25088 22-Apr-1997 kato

Synchronize with sys/i386/conf/Makefile.i386, sys/i386/i386/machdep.c
and sys/i386/isa/npx.c revisions 1.94, 1.238 and 1.41, respectively.


25069 21-Apr-1997 kato

Synchronize with sys/i386/isa/lpt.c revision 1.60.


25068 21-Apr-1997 kato

Synchronize with sys/i386/isa/syscons.c.revision 1.210.


25036 20-Apr-1997 kato

Synchronize with sys/i386/isa/diskslice_machdep.c revision 1.25.


25026 19-Apr-1997 kato

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


24854 13-Apr-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.237.


24808 11-Apr-1997 kato

Deleted ddb_inb and ddb_outb functions that provide I/O access
routines as function for DDB. The inb and outb are provided as
functions in machdep.c when DDB is defined.


24803 11-Apr-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.209.


24701 07-Apr-1997 kato

Synchronize with sys/i386/i386{machdep.c,trap.c} revisions 1.236 and
1.91, respectively.


24700 07-Apr-1997 kato

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


24656 05-Apr-1997 kato

Synchronize with sys/i386/isa/sioreg.h revision 1.8.


24655 05-Apr-1997 kato

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


24620 04-Apr-1997 kato

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


24619 04-Apr-1997 kato

Synchronize with sys/i386/isa/wd.c revision 1.128.


24581 03-Apr-1997 kato

Removed <mv/lock.h> and <mv/vm_map.h>.


24437 31-Mar-1997 dg

Changed the way that the exec image header is read to be filesystem-
centric rather than VM-centric to fix a problem with errors not being
detectable when the header is read.
Killed exech_map as a result of these changes.
There appears to be no performance difference with this change.


24358 29-Mar-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.233.


24357 29-Mar-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.207.


24356 29-Mar-1997 kato

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


24285 26-Mar-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.232.


24260 25-Mar-1997 kato

Fixed reset port address for PC-9801-108 card.


24259 25-Mar-1997 kato

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


24209 24-Mar-1997 bde

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


24199 24-Mar-1997 kato

Merge PC-98 code int i386/isa/ft.c.


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.


24112 22-Mar-1997 kato

Improved CPU identification and initialization routines. This
supports All Cyrix CPUs, IBM Blue Lightning CPU and NexGen (now AMD)
Nx586 CPU, and initialize special registers of Cyrix CPU and msr of
IBM Blue Lightning CPU.

If revision of Cyrix 6x86 CPU < 2.7, CPU cache is enabled in
write-through mode. This can be disabled by kernel configuration
options.

Reviewed by: Bruce Evans <bde@freebsd.org> and
Jordan K. Hubbard <jkh@freebsd.org>


23846 13-Mar-1997 kato

Synchronize with sys/i386/isa/wd.c revision 1.126.


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>


23369 04-Mar-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.205.


23236 01-Mar-1997 kato

Synchronize with sys/i386/isa/syscons.c up to revision 1.204.


23116 25-Feb-1997 kato

Synchronize with sys/i386/i386/machdep.c revision 1.229.


22975 22-Feb-1997 peter

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


22926 19-Feb-1997 kato

Synchronize with sys/i386/isa/wd.c revision 1.124.


22662 13-Feb-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.201.


22588 12-Feb-1997 kato

Added check routine for memory window configuration. The probe
routine of C-NET(98) returns 0 when isa_dev->id_maddr == 0 or
isa_dev->id_msize == 0.


22562 11-Feb-1997 kato

Deleted prototypes. They are in pc98_machdep.h.


22560 11-Feb-1997 kato

Synchronize with sys/i386/isa/if_ed.c revision 1.114.


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.


22424 08-Feb-1997 kato

Replaced hardcoded unit number with ftu.


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.


22405 07-Feb-1997 kato

Enabled pccard code which was disabled by mistake.

Reminded by: Masahiro Sekiguchi <seki@sysrap.cs.fujitsu.co.jp>


22341 06-Feb-1997 kato

Deleted ioskip member of the structure pc98_edregister. The member
port is always used for accessing PAR and MAR instead of constant
interval of I/O address.


22338 06-Feb-1997 kato

Cosmetic change. Sorted by function, added `1997' to copyright
notice, and added comment.


22263 04-Feb-1997 kato

Moved PC-98 routine in sd_get_parms() to pc98_machdep.c.


22239 03-Feb-1997 kato

Changed return value of ed_probe (= number of I/O ports). Because
I/O port address of most devices is not contiguos, a return value of
probe routine is not so useful for detecting conflict. The return
value was too big, and kernel sometimes detected conflict even though
two devices are not conflict in I/O address between them.

Suggested by: Chiharu Shibata <chi@rd.njk.co.jp>


22200 02-Feb-1997 kato

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


22165 31-Jan-1997 kato

- KNFized pc98 specific files.
- Disabled unuseinit_cpu_accel_mem() which doesn't work now.
- Deleted extra space at the end of line.


22162 31-Jan-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.200.


22120 30-Jan-1997 kato

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


22119 30-Jan-1997 kato

Synchronize with sys/i386/isa/npx.c revision 1.38.


22118 30-Jan-1997 kato

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


22089 29-Jan-1997 kato

Fixed reset port address of PC-9801-108.
Submitted by: Chiharu Shibata <chi@rd.njk.co.jp>


22002 25-Jan-1997 kato

Synchronize with sys/i386/i386/machdep.c rev. 1.226.


22001 25-Jan-1997 kato

Synchronize with sys/i386/isa/syscons.{c,h} rev. 1.199 and 1.27,
respectively.


22000 25-Jan-1997 kato

Synchronize with sys/i386/isa/if_fe.c rev. 1.26.


21909 21-Jan-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.198.


21892 20-Jan-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.197.


21858 19-Jan-1997 kato

Synchronize with sys/i386/isa/syscons.c revision 1.196.


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.


21844 18-Jan-1997 kato

Synchronize with sys/i386/isa/syscons.c (revision 1.195).


21843 18-Jan-1997 kato

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


21842 18-Jan-1997 kato

Synchronize with sys/i386/i386/machdep.c (revision 1.225).


21803 17-Jan-1997 kato

Disabled LPC_ENA related I/O access. This I/O access clobbers i8255
mode register on PC98.


21773 16-Jan-1997 kato

Synchronize with followings:
sys/i386/conf/files.i386 revision 1.149
sys/i386/conf/options.i386 revision 1.33
sys/i386/isa/if_fe.c revision 1.25
sys/i386/isa/syscons.c revision 1.194
sys/i386/isa/syscons.h revision 1.26


21755 16-Jan-1997 kato

Re-enable ds_subtype, and ds_name (included in #ifdef PC98).
Userland programs which access partition information require
ds_subtype and ds_name on PC98.


21681 14-Jan-1997 kato

Synchronize with sys/i386/isa/if_ed.c revision 1.112 and
sys/i386/isa/if_fe.c revision 1.23 (new if_multiaddrs list).


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.


21484 10-Jan-1997 kato

Synchronize with sys/i386/isa/ft.c revision 1.29 (fix ft driver
panics).


21457 09-Jan-1997 kato

Synchronize with sys/i386/isa/isa.c rev. 1.75.


21321 05-Jan-1997 kato

Synchronize with sys/i386/isa/npx.c revision 1.36 (reenable
i586_optimized_copyin/out).


21303 04-Jan-1997 kato

Fix collapse code included in #ifdef WDDEBUG: add `;' at the end of the
line, and `"' at the end of first argument of printf().

Submitted by: Michio "Karl" Jinbo <karl@marcer.nagaokaut.ac.jp>


21274 04-Jan-1997 kato

Delete collapse code to avoid overflow of the number of cylinders.

This should be in 2.2 after src/sys/i386/isa/wdreg.h revsion 1.15
(short -> u_short change) is merged.


21270 04-Jan-1997 kato

Staticize dma_bouncebuf. This variable was kept global because sbic
driver used it. The sbic driver has been obsoleted now, so the
variable can be static as that in isa.c.
This is a 2.2 candidate.


21269 04-Jan-1997 kato

Correct I/O port address table for ELECOM LD-BDN ethernet card.
Should be in 2.2.


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.


21251 03-Jan-1997 kato

Change IMR of master PIC from 0x7f into 0xff in isa_defaultirq().
This is a 2.2 candidate.


21012 29-Dec-1996 kato

Synchronize with sys/i386/isa/npx.c revision 1.35 (disable
i586-optimized copyin and copyout).


21011 29-Dec-1996 kato

Synchronize with sys/i386/i386/machdep.c revision 1.223 (clean-up of
useracc call).


20950 27-Dec-1996 kato

Staticize dmapageport and isa_dmarangecheck.


20898 24-Dec-1996 kato

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


20743 21-Dec-1996 kato

Improve probe routine for CONTEC C-NET(98) card. I/O port and memory
window addresses don't need to be set as default values.

Submitted by: Yoshimasa Ohnishi <ohnishi@isc.kyutech.ac.jp>


20715 20-Dec-1996 kato

Add `#include <pc98/pc98/pc98.h>'.


20714 20-Dec-1996 kato

Synchronize with sys/i386/isa/mse.c revision 1.29 (test in mseopen).


20713 20-Dec-1996 kato

Synchronize with sys/i386/isa/syscons.c revision 1.192 (fix typo).


20668 19-Dec-1996 kato

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


20657 18-Dec-1996 kato

Sync with sys/i386/i386/machdep.c revision 1.222 (move printing of
BIOS geometry).


20587 17-Dec-1996 kato

Sync with i386/i386/machdep.c revision 1.221 (fix nbuf calculation).


20496 15-Dec-1996 kato

Synchronize with sys/i386/i386/machdep.c revision 1.220.
Definite 2.2 candidate.


20495 15-Dec-1996 kato

Synchronize with if_ed.c revision 1.111 and if_fe.c revision 1.22.


20364 12-Dec-1996 kato

Synchronize with sys/i386/i386/machdep.c revision 1.219.
2.2 candidate.


20328 11-Dec-1996 kato

Sync with sys/i386/isa/if_ed.c revision 1.110.
It's not 2.2 candidate.


20327 11-Dec-1996 kato

Sync with sys/i386/i386/machdep.c revision 1.218.
It's not 2.2 candidate.


20219 08-Dec-1996 kato

Synchronize with sys/i386/isa/syscons.c revision 1.191. This change
just keeps appearance, and no effect on the PC98.

2.2 candidate.


20194 07-Dec-1996 kato

Synchronize with sys/i386/isa/if_ed.c revision 1.09.
It's a 2.2 candidate.


20176 06-Dec-1996 kato

Synchronize with sys/i386/i386/machdep.c revision 1.217.
This should not be in 2.2 until original change is merged.


20129 04-Dec-1996 asami

Syncronize.

Submitted by: The FreeBSD(98) Development Team


20128 04-Dec-1996 asami

Replace sbic driver (WD33C93 SCSI card driver) with new bs driver.

Submitted by: The FreeBSD(98) Development Team
Obtained from: NetBSD/pc98 based on NetBSD 1.2


20127 04-Dec-1996 asami

Synchronize with the RELENG_2_2 branch.

Definite 2.2 candidate.

Submitted by: The FreeBSD(98) Development Team


20070 01-Dec-1996 bde

Removed all references to b_cylinder (aka b_cylin). It was evil and
hasn't been used for a year or two since disksort() started sorting
on b_pblkno.


19737 14-Nov-1996 asami

Some more updates.

wdreg.h: Delete wd_ctlr macro. PC98 version of wd.c treats it as a
variable.

GENERIC98: Delete ep0 entry. Current ep driver write I/O port 0x100.
This clobbers ICW of i8259, because upper 8bits of address line is not
masked on mother board.

if_fe.c: Merge from revision 1.18 of sys/i386/isa/if_fe.c.

pc98.c: Globalize dmapageport, because SCSI driver use this
variable.

wd82371.c: Yet another merge.

These are 2.2 candidates.

Submitted by: The FreeBSD(98) Development Team


19701 13-Nov-1996 asami

Another round of resync and some added sound support.

sys/pc98/i386/machdep.c: sync with i386/i386/machdep.c
sys/pc98/conf/options.pc98: sync with i386/conf/options.i386

sys/i386/isa/sound: DMA auto initialize mode support for PC98.
contributed by: Akio Morita <amorita@bird.scphys.kyoto-u.ac.jp>

Definite 2.2 material, I believe.

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.


18084 06-Sep-1996 phk

Remove devconf, it never grew up to be of any use.


18029 04-Sep-1996 asami

More merge.

(1) Remove mk30line (moved to /usr/sbin, but not in our source tree yet)

(2) Delete unneeded (well, harmful now :) code to prohibit #including
of isa_device.h from PC98 sources.

(3) Remove files now equal to their ISA/PC-AT counterparts.

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


16360 14-Jun-1996 asami

This commit was generated by cvs2svn to compensate for changes in r16359,
which included commits to RCS files with non-trunk default branches.


16359 14-Jun-1996 asami

The PC98-specific files.

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


15238 13-Apr-1996 bde

Eliminated sloppy common-style declarations. Now there are no duplicated
common labels for LINT. There are still some common declarations for the
!KERNEL case in tcp_debug.h and spx_debug.h. trpt depends on the ones in
tcp_debug.h.


13765 30-Jan-1996 mpp

Fix a bunch of spelling errors in the comment fields of
a bunch of system include files.


12453 21-Nov-1995 bde

Completed function declarations and/or added prototypes.


11474 14-Oct-1995 dg

Latest fixes from Serge:

I tried to solve the problem of IDE probing compatibility in this version.
When compiled without an ATAPI option, the wd driver is
fully backward compatible with 2.0.5. With ATAPI option,
the wdprobe becomes strictly weaker. That is, if wdprobe works
without ATAPI option, it will always work with it too.

Another problem was with the CD-ROM drive attached as a slave
in the IDE bus, where there is no master. All IDE CD-ROM
drives are shipped in slave configuration, and most users
just plug them in, never thinking about jumpers.
It works fine with ms-dos and ms-windows, and this
version of the driver supports it as well.

The eject op can now load disks. Just repeat it twice,
and the disk will be ejected and then loaded back.

The disc cannot be ejected if it is mounted.

Submitted by: Serge Vakulenko, <vak@cronyx.ru>


11076 30-Sep-1995 jkh

Bring IDE CDROM support up to latest version (1.8a?) from Serge.
Submitted by: vak@cronyx.ru


10097 18-Aug-1995 jkh

Bring in Serge Vakulenko's IDE CDROM (ATAPI) driver. A number of
people have now indicated to me that it's working more than well
enough to bring into -current.
Submitted by: Serge Vakulenko <vak@cronyx.ru>