| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
ioctl. These fields don't have valid values for this ioctl.
PR: kern/6928
Submitted by: Bill Fenner <fenner@parc.xerox.com>
|
|
|
|
| |
if the attach of a modem card failed.
|
|
|
|
|
|
|
|
| |
over from the probe are now expected for incompatible UARTs that
deliver IRQs as a strobe (low) instead of a level (high).
Discard events on going-away devices too. Endless loops may have
been possible when an active pccard was removed.
|
|
|
|
|
|
|
| |
for programs like doscmd.
PR: 6920
Submitted by: Luoqi Chen <luoqi@chen.ml.org>
|
|
|
|
| |
Urged by: bde
|
|
|
|
|
| |
with latch based PPS implementations. The client that uses it will
be committed after more testing.
|
|
|
|
| |
which were not in LINT.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
figure out which instance to wount with.
|
|
|
|
|
|
|
| |
-DESKEYMAP.
PR: 6864
Submitted by: Javier Rueda <jmrueda@diatel.upm.es>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
miscconfigured case) if the port is the console. This fixes several
bugs:
- if all sioprobe()s failed, then the console driver followed null
pointers in cdevsw[].
- if the sioprobe() for the console failed but another sioprobe()
succeeded, then init hung early when the console couldn't be
opened.
- it was silly for the console to not be there after printing boot
messages on it.
Bugs introduced by this are hopefully no worse than old ones caused
by forcing the success of the `cn' level probe.
|
|
|
|
|
|
|
|
|
| |
Only complain about an irq mismatch in the probe if the configured
irq doesn't become active, and then print the bitmap of irqs that
became active (including clock irqs) instead of just the first
(not including clock irqs).
Bugs reported by: msmith
|
|
|
|
|
|
|
|
|
| |
a test of the irq number, and made failure of this test non-fatal.
Removed related unused complications for the APIC_IO case. Removed the
no-test3 flag.
Deverbosified the failure messages for the other tests. Removed the
per-port verbose flag - just use the general verbose flag.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clean up (or if antipodic: down) some of the msgbuf stuff.
Use an inline function rather than a macro for timecounter delta.
Maintain process "on-cpu" time as 64 bits of microseconds to avoid
needless second rollover overhead.
Avoid calling microuptime the second time in mi_switch() if we do
not pass through _idle in cpu_switch()
This should reduce our context-switch overhead a bit, in particular
on pre-P5 and SMP systems.
WARNING: Programs which muck about with struct proc in userland
will have to be fixed.
Reviewed, but found imperfect by: bde
|
|
|
|
|
|
|
|
| |
It fauls to probe eather DSI Modem or others.
PR: 4657
Reviewed by: phk
Submitted by: Kenji Saito <marukun@mx2.nisiq.net>
|
|
|
|
|
|
| |
function.
Reviewed, but not entirely approved by: bde
|
|
|
|
|
|
| |
s/microruntime/microuptime/g
Reviewed by: bde
|
|
|
|
|
|
|
|
|
| |
but doesn't do much of anything with it. I added it to siopnp_ids[]
and it was found and recognized as a serial port.
PR: 6605
Reviewed by: phk
Submitted by: Dave Marquardt <marquard@zilker.net>
|
|
|
|
| |
in the SLICE table.
|
|
|
|
|
|
| |
now we can actually catch our crashes :-)
Submitted by: Luoqi Chen <luoqi@chen.ml.org> (the man who's everywhere)
|
|
|
|
|
|
| |
PR: 6496
Reviewed by: phk
Submitted by: Kurt D. Zeilenga <Kurt@Boolean.NET>
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This code will be turned on with the TWO options
DEVFS and SLICE. (see LINT)
Two labels PRE_DEVFS_SLICE and POST_DEVFS_SLICE will deliniate these changes.
/dev will be automatically mounted by init (thanks phk)
on bootup. See /sys/dev/slice/slice.4 for more info.
All code should act the same without these options enabled.
Mike Smith, Poul Henning Kamp, Soeren, and a few dozen others
This code does not support the following:
bad144 handling.
Persistance. (My head is still hurting from the last time we discussed this)
ATAPI flopies are not handled by the SLICE code yet.
When this code is running, all major numbers are arbitrary and COULD
be dynamically assigned. (this is not done, for POLA only)
Minor numbers for disk slices ARE arbitray and dynamically assigned.
|
| |
|
| |
|
|
|
|
| |
in scrn_timer() to avoid deadlock with graphical screensavers.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Set the correct value scp->font_size in init_scp().
- Set scp->font_size to FONT_NONE for VGA_MODEX.
Interim fix for a font problem:
- A kludge to display the correct font on some video cards.
We should be able to load multiple fonts to the VGA plane #2 and switch
between fonts by setting the font select register in the VGA sequencer.
It appears that the current code isn't functioning as expected on
some VGA cards (I have reports on Millenium and Mach64 cards). This is
either a bug in syscons or a hardware compatibility problem ;-<
This kludge will always load only one font set at a time and always use
the font page #0 on the plane #2. It is an interim kludge until
we find the exact cause and solution.
Small adjustment for mouse cursor handling:
- Turn off the mouse cursor early when changing video modes.
Video mode switch fixes:
- Stop the screen saver when changing video modes.
- Enclose the critical section with a pair of spltty()/splx().
- A kludge to prevent scrn_update() from accessing video memory in less-
critical sections in video mode change; artificially turn on the
UNKNOWN_MODE flag.
PR: bin/5899, bin/5907
Tested by: ache and a couple of users
OKed by: sos
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Figure out UTC relative to boottime. Four new functions provide
time relative to boottime.
* move "runtime" into struct proc. This helps fix the calcru()
problem in SMP.
* kill mono_time.
* add timespec{add|sub|cmp} macros to time.h. (XXX: These may change!)
* nanosleep, select & poll takes long sleeps one day at a time
Reviewed by: bde
Tested by: ache and others
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"time" wasn't a atomic variable, so splfoo() protection were needed
around any access to it, unless you just wanted the seconds part.
Most uses of time.tv_sec now uses the new variable time_second instead.
gettime() changed to getmicrotime(0.
Remove a couple of unneeded splfoo() protections, the new getmicrotime()
is atomic, (until Bruce sets a breakpoint in it).
A couple of places needed random data, so use read_random() instead
of mucking about with time which isn't random.
Add a new nfs_curusec() function.
Mark a couple of bogosities involving the now disappeard time variable.
Update ffs_update() to avoid the weird "== &time" checks, by fixing the
one remaining call that passwd &time as args.
Change profiling in ncr.c to use ticks instead of time. Resolution is
the same.
Add new function "tvtohz()" to avoid the bogus "splfoo(), add time, call
hzto() which subtracts time" sequences.
Reviewed by: bde
|
|
|
|
| |
used.
|
|
|
|
|
| |
timecounting if APM-BIOS isn't found.
Be just as draconian about SMP as always, but explain it better.
|
|
|
|
|
|
| |
on the IOAPIC being connected to the 8254 timer interrupt.
Verify that timer interrupts are delivered. If they aren't, attempt
a fallback to mixed mode (i.e. routing the timer interrupt via the 8259 PIC).
|
|
|
|
| |
The `generic' vector stubs do the right thing.
|
|
|
|
|
|
|
|
| |
it runs at a constant frequency. This was less of an issue before,
because the TSC only interpolated in the HZ intervals, but now where
the timecounter is used all the way, this becomes much more visible.
Nit: Fix a printf which triggered the bde-filter.
|
|
|
|
| |
Submitted by: bde
|
|
|
|
| |
Submitted by: bde
|
| |
|
|
|
|
| |
Submitted by: dave adkins <adkin003@tc.umn.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Highlights:
* Simple model for underlying hardware.
* Hardware basis for timekeeping can be changed on the fly.
* Only one hardware clock responsible for TOD keeping.
* Provides a real nanotime() function.
* Time granularity: .232E-18 seconds.
* Frequency granularity: .238E-12 s/s
* Frequency adjustment is continuous in time.
* Less overhead for frequency adjustment.
* Improves xntpd performance.
Reviewed by: bde, bde, bde
|
|
|
|
|
| |
driver 'break out' of the infinite loop waiting for a response from
it. This is a bad thing, but no worse than having the kernel hang.
|
|
|
|
| |
Complained about by: ache
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
ones changes: A faster character painter procedure and fix on cursor
bug.
|
|
|
|
|
|
|
| |
with macros. This breaks if the functions are replaced by macros with
unsuitable semantics. Define a MAX() macro unconditionally instead.
max() is unsuitable since we need a constant expression. Don't define
MIN() - we never used min().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is "acquired". This fixes a TSC biasing error of about 10 msec when
pcaudio is active.
Update `time' before calling hardclock() when timer0 is being released.
This is not known to be important.
Added some delays in writertc(). Efficiency is not critical here, unlike
in rtcin(), and we already use conservative delays there.
Don't touch the hardware when machdep.i8254_freq is being changed but
the maximum count wouldn't change. This fixes jitter of up to 10 msec
for most small adjustments to machdep.i8254_freq. When the maximum
count needs to change, the hardware should be adjusted more carefully.
|
|
|
|
|
|
|
|
|
|
|
|
| |
this using option "-b" to the boot blocks. It is smartest to compile
a font into your kernel (See LINT), but not mandatory, but apart from
the cursor you will see nothing on the screen until you load a font.
This mode allows XF86_VGA16 to run in 800x600 mode on otherwise unsupported
graphics hardware.
A number of buglets in the cursor handling in syscons may become
visible this way.
|
| |
|
|
|
|
| |
the last commit ;-<
|