Implement new ISA interface functions:
* isa_intr_alloc() - allocate an ISA IRQ
* isa_mem_alloc() - allocate ISA memory space
* isa_mem_free() - free ISA memory space
pseudo-device rnd # /dev/random and in-kernel generator
in config files.
o Add declaration to all architectures.
o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
that this code is derived in part from Ted Tyso's linux code.
tsleep() to be called from an interrupt handler.
The semantics of the scroll-lock key is changed now: it issues a ^S or
^Q, depending on the current state. (It should probably issue
tp->t_cc[VSTOP] or tp->t_cc[VSTART] instead, but this would require more
serious structural changes because there is not always a tty context
present.)
The "scroll lock" LED is now controlled by pcstart()/pcstop(), so it
will show the real state even if the start/stop characters are remapped
or the normal ^S/^Q are used.
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
Delay setting of cn_tab->cn_dev until autoconfiguration attach
to get the minor number right. (not really needed, but for
consistency with pccons and serial consoles)
Comment out unused pccnprobe() and pccninit().
XXX I didn't use "#if PCVT_NETBSD > ???" anymore, nor separated from
FreeBSD. The driver is not centrally maintained anyway.
keys on a pccons console keyboard.
submitted in PR 899 by Alistair G. Crooks
Note that I only did this for the US type keyboard maps.
This and all other such options should be documented, and perhaps
rennamed with consistant PCCONS_ prefixes.
o option DISPLAY_ISO8859 enables the display of iso-latin1
character set (instead of the IBM page code 437)
o option FRENCH_KBD, GERMAN_KBD or NORVEGIAN_KBD implement
support for national keyboards (implies DISPLAY_ISO8859).
Originally supplied in PR #1529
2) Add option PCCONS_REAL_BS which (for US keyboards only) forces
backspace to really be backspace and not delete. Intended to close
PR #2264 submitted by Greg Woods. He wanted it changed for everyone
-- I thought adding a kernel compile option was friendlier.
Note: Both of these sets of options really should be documented in an
i386 specific version of options(4).
* Make it a strict hierarchy. (It was close anyway).
* Add `serial' and rename `softtty' to `softserial'.
* Make soft interrupts a bit less special-case.
* Add table-driven assembly-coded microtime().
* add boot-time computation of the interpolation table,
allowing the hand-coded microtime() to work with locally-tuned
nonstandard values of HZ or TIMER_FREQ.
* delete old C version of microtime().
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
been attached to the system. If, by the time mainbus wants to attach
an ISA an ISA has not yet been attached to the system, attempt to attach
an ISA to mainbus.
as a "timeout", yet there's no specific delay in each iteration. Add
a small delay (10 usec... pretty arbitrary) in each iteration. This
fixes the "fdcresult: timeout" problems I've been having on my 200MHz P6.
Interrupts for irqs with handlers are counted as normal, even if none of
the handlers claim the interrupt.
Should all be redone with hierarchical event counters. that count
hardware events and invocations of each handler separately.
* Increment cnt.v_intr for normal interrupts (bugfix).
- No more distinction between i/o-mapped and memory-mapped
devices. It's all "bus space" now, and space tags
differentiate the space with finer grain than the
bus chipset tag.
- Add memory barrier methods.
- Implement space alloc/free methods.
- Implement region read/write methods (like memcpy to/from
bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
isa_intr_{,dis}establish()) here. Make this file safely includable by
<dev/isa/isavar.h> and by all of the places in the i386 that are currently
including it, which means multiple inclusion protection and a few
otherwise-extraneous 'forward' structure declarations. isa_intr_establish()
and isa_intr_disestablish() now take as their first argument a
machine-dependent cookie of type isa_chipset_tag_t, which is also defined
here.
- split softc size and match/attach out from cfdriver into
a new struct cfattach.
- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
which represents the "keyboard controller". Give "pc" and "vt" drivers
the "pckbd" attribute. In pcattach() (pccons and pcvt), attach children
of the keyboard controller.
retrying the operation. Fixes disk_unbusy() imbalance and really seems
like the right thing to do in case it was the seek that failed. Takes
care of PR #1985. Patch from John F. Woods <jfw@jfwhome.funhouse.com>
- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.
- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.
- Several new functions for attaching and detaching disks, and
handling metrics calculation.
Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.
For usage and architectural details, see the forthcoming disk(9) manual
page.