12393 Commits

Author SHA1 Message Date
paul
138aad3569 Fix the interrupt mask generated for enabling/disabling interrupts 8 to 15. 1998-10-25 01:30:16 +00:00
phk
bfaec8d4e5 Update to current reality. We can now track several LORSTA on separate
minor devices.

Improve PLL/OCXO DAC dithering.

General remodeling.

Performance is now 2.5e-11 in frequency and +/- 100 nsec in time, both
of which are actually the limits of the transmitted signal.
1998-10-24 19:55:09 +00:00
phk
14fa987f11 Update and add timekeeping code. 1998-10-24 19:47:42 +00:00
phk
a3db931d4a Header file for XRPU devices. 1998-10-24 19:47:29 +00:00
msmith
f91e4bda2a Don't complain about SIOCGIFMEDIA; it's harmless and not something
useful here yet.

Submitted by:	markm and others
1998-10-24 18:55:53 +00:00
msmith
17ba85d5a0 Don't put 0x in front of %p, it does it already.
Submitted by:	 Brian Feldman <green@janus.syracuse.net>
1998-10-24 18:35:09 +00:00
msmith
2dd69edc85 Reserve some space for the stack in the region we recover from the initial
bootloader.
Submitted by:	dfr
1998-10-24 00:31:21 +00:00
msmith
2ca24369c0 Clean the ${BASE}.sym file as well. 1998-10-23 22:32:27 +00:00
msmith
15fb469d2d Remove a debugging copy of offsetof() that snuck in. 1998-10-23 22:30:52 +00:00
msmith
0fc1f23a6a Enable the PCI BIOS PnP enumerator. 1998-10-23 22:29:19 +00:00
msmith
186b62dab2 PnP enumerator using the PCI BIOS. This is needlessly complex due to the
lack of a simple "enumerate all PCI devices" function.
1998-10-23 22:29:08 +00:00
bde
b35bd08816 Ignore `vector xxxintr' specifications except for checking their syntax.
Interrupt handlers are now configured in drivers.

Didn't update config/SMM.doc.  It doesn't have any i386 examples (not
even `isa').

Bumped CONFIGVERS.  This is not necessary for -current yet, but using
the new config with old system sources gives null pointers for all
vectors.
1998-10-23 17:05:06 +00:00
kato
e5f2c0e337 Sync with sys/i386/isa/clock.c revision 1.128. 1998-10-23 13:13:43 +00:00
peter
ad78851424 Refer to vinum driver sources in a single location (outside of the
kernel src/sys tree, sigh - it should really be sys/dev/vinum/*).
1998-10-23 11:56:45 +00:00
peter
b08b3e4285 Move the kld stuff to here. 1998-10-23 11:49:47 +00:00
phk
2e36499ddf Update timecounters to new interface. 1998-10-23 10:46:20 +00:00
phk
8419aeb4de Change the way we simulate stable storage for timecounters.
If you have problems with the "calcru" messages and processes being
killed for excessive cpu time, try to increase the NTIMECOUNTER
#define and report your findings.
1998-10-23 10:44:52 +00:00
phk
e7a8171566 Remove the tc_cost field from timecounters. 1998-10-23 10:42:42 +00:00
dg
b898ae170b Oops, revert part of last fix. vm_pager_dealloc() can't be called until
after the pages are removed from the object...so fix the problem by
not printing the diagnostic for wired fictitious pages (which is normal).
1998-10-23 05:43:13 +00:00
dg
599836ef43 Fixed two bugs in recent commit: in vm_object_terminate, vm_pager_dealloc
needs to be called prior to freeing remaining pages in the object so that
the device pager has an opportunity to grab its "fake" pages. Also, in
the case of wired pages, the page must be made busy prior to calling
vm_page_remove. This is a difference from 2.2.x that I overlooked when
I brought these changes forward.
1998-10-23 05:25:49 +00:00
ken
123c4e5742 Fix a problem with the way we handled device invalidation when attaching
to a device failed.

In theory, the same steps that happen when we get an AC_LOST_DEVICE async
notification should have been taken when a driver fails to attach.  In
practice, that wasn't the case.

This only affected the da, cd and ch drivers, but the fix affects all
peripheral drivers.

There were several possible problems:
 - In the da driver, we didn't remove the peripheral's softc from the da
   driver's linked list of softcs.  Once the peripheral and softc got
   removed, we'd get a kernel panic the next time the timeout routine
   called dasendorderedtag().
 - In the da, cd and possibly ch drivers, we didn't remove the
   peripheral's devstat structure from the devstat queue.  Once the
   peripheral and softc were removed, this could cause a panic if anyone
   tried to access device statistics.  (one component of the linked list
   wouldn't exist anymore)
 - In the cd driver, we didn't take the peripheral off the changer run
   queue if it was scheduled to run.  In practice, it's highly unlikely,
   and maybe impossible that the peripheral would have been on the
   changer run queue at that stage of the probe process.

The fix is:
 - Add a new peripheral callback function (the "oninvalidate" function)
   that is called the first time cam_periph_invalidate() is called for a
   peripheral.

 - Create new foooninvalidate() routines for each peripheral driver.  This
   routine is always called at splsoftcam(), and contains all the stuff
   that used to be in the AC_LOST_DEVICE case of the async callback
   handler.

 - Move the devstat cleanup call to the destructor/cleanup routines, since
   some of the drivers do I/O in their close routines.

 - Make sure that when we're flushing the buffer queue, we traverse it at
   splbio().

 - Add a check for the invalid flag in the pt driver's open routine.

Reviewed by:	gibbs
1998-10-22 22:16:56 +00:00
msmith
6149131893 PnP BIOS enumerator; mostly useful for hunting PnP devices that are supported
by the system BIOS rather than supporting ISA PnP.
1998-10-22 20:25:06 +00:00
msmith
2cb346f288 Add a dependancy on the BTX crt0 object
Add the biospnp handler to the pnp handler array
Drop some old debugging code
1998-10-22 20:23:58 +00:00
msmith
0d28177be8 Add biospnp.c 1998-10-22 20:23:15 +00:00
msmith
472b37dea8 Pop the return address off the stack before making a V86_CALLF call;
this allows us to implement what look like C function calls from user
space "directly" to v86 mode code.  (Used for calling the PnP BIOS)
1998-10-22 20:22:07 +00:00
msmith
973bf97487 Export an interface for presetting the ISA PnP read port address.
Make the EISA ID formatter generally available
1998-10-22 20:20:51 +00:00
wpaul
12c7722945 Close PR #8409:
Fix syntax errors inside #ifdef FORCE_AUTONEG_TFOUR.
1998-10-22 16:46:26 +00:00
bde
4622a6c44b Removed all `vector xxxintr' specifications. Interrupt handlers are now
configured in drivers.

Don't quote port names that don't have a digit in them.
1998-10-22 16:16:02 +00:00
wpaul
5889df5c8e Close PR #8384:
Revert the transmission packet queueing strategy changes. Clearly I missed
something while debugging this, although I never encountered any problems
on my test machines.

Also make one other minor change: jack up the TX reclaim threshold for
3c90xB adapters in order to stave off 'transmission error: 82' errors.

Document the existence of the tx reclaim register (for inspecting the
current reclaim threshold) in register window 5 (if_xlreg.h).
1998-10-22 15:52:25 +00:00
bde
d58c79316c Removed all `vector xxxintr' specifications. Interrupt handlers are now
configured in drivers.
1998-10-22 15:39:35 +00:00
bde
ea9f5ec2f0 Removed all `vector xxxintr' specifications. Interrupt handlers are now
configured in drivers.
1998-10-22 15:31:33 +00:00
bde
f89f94ea93 Quote port names that have a digit in them. IO_TIMER1 was lexed as
{ port_name = "IO_TIMER", port_number = 1 } and only worked because
it was reassembled to "IO_TIMER1".  Trailing digits always work, but
this is too magic to depend on.

Don't quote port names that don't have a digit in them.
1998-10-22 13:49:51 +00:00
bde
041b424399 Removed all `vector xxxintr' specifications. Interrupt handlers are now
configured in drivers.
1998-10-22 12:23:04 +00:00
bde
26033041e3 Fixed the ifdef for `uart' driver being present. The sound-driver-specific
ifdef used in uart6850.c is bogus.

Reported by:	Paul Allenby <pallenby@mikom.csir.co.za>
1998-10-22 11:41:22 +00:00
kato
c3cf05a4e9 Added rl driver. 1998-10-22 11:29:58 +00:00
luigi
b4eeb12a4c Fix behaviour of the driver with small files -- due to a stupid
bug sound was not played if the total amount of data written to
the device was less than one blocksize

Noticed by: NABETANI Masaki and FreeBSD-users-jp
1998-10-22 11:20:33 +00:00
bde
8bfaa707a6 The previous change was much too simple to actually compensate for
braindamage in sound driver confiruration.  Attempt to only reference
interrupt handlers if their driver is configured.
1998-10-22 10:34:11 +00:00
bde
df88297cad 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
1998-10-22 05:58:45 +00:00
dg
b8a68d9fd9 Make the VM system handle the case where a terminating object contains
legitimately wired pages. Currently we print a diagnostic when this
happens, but this will be removed soon when it will be common for this
to occur with zero-copy TCP/IP buffers.
1998-10-22 02:16:53 +00:00
dg
b173a5087c Defer rundown (m_freem) of completed transmit buffers for no longer
than 1 second.
1998-10-22 02:00:49 +00:00
dg
e51a9e30ea Convert fake page allocs to use the zone allocator, thus eliminating the
private pool management code in here.
1998-10-22 01:45:29 +00:00
dg
268ea3fc13 Set m->object to NULL in dev_pager_getfake(). 1998-10-21 23:06:50 +00:00
msmith
238c591219 Bye-bye setdefs. 1998-10-21 20:11:03 +00:00
msmith
edf2081f84 - Enable PnP and ISA PnP code.
- Use the ISA PnP enumerator.
 - Use the new linker set code, throw out the gensetdefs stuff.
 - Produce an intermediate loader image that has symbols stripped, to aid
 - in debugging.
 - Supply ISA port access functions required for ISA PnP
1998-10-21 20:10:33 +00:00
msmith
702529216c Don't depend on being part of the kernel tree. If we are, use the kernel's
<machine> includes rather than the system's.
1998-10-21 20:07:57 +00:00
msmith
880061ca43 Make ISA PnP work. This successfully enumerates as many ISA devices as I
can fit into my test machine.

 - Move to using STAILQs rather than ad-hoc singly-linked lists.
 - Use a mostly procedural interface to the PnP information.  This
   improves data-hiding.

Implement a new linker-set technique (currently on i386 only but should work
on Alpha as well).  This is a good candidate for replacing the current
gensetdefs cruft completely.
1998-10-21 20:07:05 +00:00
rnordier
34b1dd6005 Get things limping along again for the 80386 and friends. The
ELF assembler emits a redundant operand-size prefix for the
fnstsw %ax instruction, and this stops the show for 3.0-RELEASE.
1998-10-21 17:10:49 +00:00
jdp
74b341f8c8 Eliminate a superfluous comment. 1998-10-21 16:31:38 +00:00
dg
92891f8e3d Nuked PG_TABLED flag. Replaced with m->object != NULL. 1998-10-21 14:46:42 +00:00
dg
bbfdc21592 Add a diagnostic printf for freeing a wired page. This will eventually
be turned into a panic, but I want to make sure that all cases of freeing
pages with wire_count==1 (which is/was allowed) have first been fixed.
1998-10-21 11:43:04 +00:00