Commit Graph

2477 Commits

Author SHA1 Message Date
peter
109fdce30a Fix last "fix" - I had introduced a fencepost error.. :-(
Happily pointed out by: julian :-)
1996-01-02 09:20:29 +00:00
peter
f458767452 Fix up the DEVFS minor numbers that the Specialix driver registers... 1996-01-02 09:18:07 +00:00
bde
fc3f0b5c85 Fixed user-mode mcount which I broke in the previous revision.
Do it the old way for now.

Moved recent additions around a lot to minimise ifdefs.

Added prototypes.
1996-01-01 17:11:21 +00:00
joerg
7acb9856e1 Restrict /devfs/io perms to 0600.
Nobody in our regular source tree, or in the non-distfile part of the
ports tree does use /dev/io anyway, so this might be replaced by
another scenario some day.
1995-12-31 09:32:16 +00:00
dg
75ac8a26c6 In memory test, cast pointer as "volatile int *", not "int *" to make sure
that gcc doesn't cache the value used in the test. Pointed out by Erich
Boleyn <erich@uruk.org>.
1995-12-30 23:13:32 +00:00
peter
6470cdf2a0 This commit was generated by cvs2svn to compensate for changes in r13122,
which included commits to RCS files with non-trunk default branches.
1995-12-30 19:02:48 +00:00
peter
639da796bd recording cvs-1.6 file death 1995-12-30 19:02:48 +00:00
bde
c6b0e7e256 Restored likely_com_ports[] from rev.1.122 so that Hayes ESP support at
least compiles.
1995-12-30 03:52:58 +00:00
sos
a46db64107 Oops, forgot a little difference between my src-tree and ours... 1995-12-30 00:42:25 +00:00
sos
ada10d7ae7 Fixed a bug with the ATAPI_STATIC option, so it compiles again. 1995-12-29 22:17:12 +00:00
sos
538a5b2539 My first shot at get sound to work on the emulator.
Inspired by the work Amancio Hasty has done, but implemented
somewhat differently.
1995-12-29 22:12:14 +00:00
bde
5af66827d5 Implemented non-statistical kernel profiling. This is based on
looking at a high resolution clock for each of the following events:
function call, function return, interrupt entry, interrupt exit,
and interesting branches.  The differences between the times of
these events are added at appropriate places in a ordinary histogram
(as if very fast statistical profiling sampled the pc at those
places) so that ordinary gprof can be used to analyze the times.

gmon.h:
Histogram counters need to be 4 bytes for microsecond resolutions.
They will need to be larger for the 586 clock.
The comments were vax-centric and wrong even on vaxes.  Does anyone
disagree?

gprof4.c:
The standard gprof should support counters of all integral sizes
and the size of the counter should be in the gmon header.  This
hack will do until then.  (Use gprof4 -u to examine the results
of non-statistical profiling.)

config/*:
Non-statistical profiling is configured with `config -pp'.
`config -p' still gives ordinary profiling.

kgmon/*:
Non-statistical profiling is enabled with `kgmon -B'.  `kgmon -b'
still enables ordinary profiling (and distables non-statistical
profiling) if non-statistical profiling is configured.
1995-12-29 15:30:05 +00:00
bde
36472bf113 Oops, this should have been committed with the other Hayes ESP changes. 1995-12-29 13:18:58 +00:00
bde
4aa2cbed70 Added support for the Hayes ESP serial card.
Submitted by:	Sean Eric Fagan (sef@kithrup.com)
Based on code by John Vinopal (banshee@resort.com)
Cosmetic (I hope) changes by me (bde).
1995-12-29 12:51:32 +00:00
markm
d8fa2f292f 1) ifdef out some unused functions (for now)
2) improve 586 support
3) add 686 support
4) clean up comments etc
Submitted by:	bde
1995-12-29 08:04:32 +00:00
jkh
d6837563b4 Make a couple of options that hurt when they're removed more
carefully noted.
1995-12-29 02:04:20 +00:00
peter
b45d7df7f2 Add the attempted DMA address to the 'DMA beyond end of ISA' message so that
we can see if it's a small distance beyond the end, or way out. This may
give some clues as to whether it is being caused by something coalescing
the transfers in spite of the bounce buffers, or simply because of buffer
corruption.  (The BT driver seems to occasionally get hit by from this too,
except that it does not trap the transfer, and the system panics later
with vm_bounce_page_free.)  This "event" usually happens to me during a
savecore (on the rare occasion that a kernel coredump is actually taken
after a crash - the lack of kernel core dumps is another problem...).
1995-12-29 00:30:06 +00:00
dg
a3fdb452e0 Made bzero a function vector and added a 586/686 optimized version of
bzero.
Deprecated blkclr (removed it).
Removed some old cruft from cpufunc.h.

The optimized bzero was submitted by Torbjorn Granlund <tege@matematik.su.se>
The kernel adaption and other changes by me.
1995-12-28 23:34:30 +00:00
dg
b1a361ee96 Made bzero a function vector and added a 586/686 optimized version of
bzero.
Deprecated blkclr (removed it).
Removed some old cruft from cpufunc.h.

The optimized bzero was submitted by Torbjorn Granlund <tege@matematik.su.se>
The kernel adaption and other changes by me.
1995-12-28 23:14:40 +00:00
dg
7d58f46554 Fix one more label that I overlooked with the P6 support. Sigh. 1995-12-28 21:01:54 +00:00
markm
2fafe0c0d4 1) Add #include <machine/cpu.h> to catch some 586 #defines
2) swap the 2 arguments to outb (kato)
Pointed out by: Kato Takenori <kato@eclogite.eps.nagoya-u.ac.jp>
1995-12-28 17:09:14 +00:00
ache
28adc5726a Add more disc_optim calls to track line disc changes 1995-12-28 11:58:35 +00:00
dg
1f841b7dd2 Update bcopyb & bcopy to reflect changes I made in the libc version of
bcopy:

Be smarter about handling overlapped copies and only go backwards if it
is really necessary. Going backwards on a P6 is much slower than forwards
and it's a little slower on a P5. Also moved the count mask and 'std'
down a few lines - it's a couple percent faster this way on a P5.
1995-12-27 18:54:51 +00:00
bde
0a622a05b7 Finished removing MACH_KERNEL stuff. 1995-12-27 16:16:02 +00:00
markm
2da2fd1d17 random_machdep.c: New version, also includes revectored interrupts, rather
than hooking permanently.
vector.s:       : Remove the interrupt hook. This is done dynamically, now.
1995-12-27 11:22:05 +00:00
markm
790ba5e9b8 Clean up and make more universal. Next version of random device. 1995-12-27 11:19:41 +00:00
markm
a4251a5a43 Modify the ioctl to handle revectored interrupts for the entropy gatherers. 1995-12-27 11:18:29 +00:00
bde
6e6b6a4918 Removed nonexistent option AUTO_EOI_1. 1995-12-26 14:01:16 +00:00
bde
6f711e75eb Removed almost all traces of libkern.a. The objects that were in
libkern.a are now specified by listing their source files in
files.${MACHINE}.  The list is machine-dependent to save space.
All the necessary object for each machine must be linked into the
kernel in case an lkm wants one.
1995-12-26 13:58:31 +00:00
bde
2d16c99284 Renamed isa/random.c to isa/random_machdep.c to avoid a conflict with
libkern/random.c.
1995-12-26 12:50:24 +00:00
dg
1e0fccc14a Fix a lable goofup I made in the previous P6 support changes. 1995-12-25 14:40:49 +00:00
bde
87d92cb41f Fixed staticizing. Some functions aren't static but depend on
the undocumented previously unLINTed option `APM_SLOWSTART'.
1995-12-25 07:38:47 +00:00
dg
8eed36690f Fix typo in CPUCLASS. 1995-12-25 01:02:32 +00:00
dg
1b070abe2f Added device fxp0 (device driver for Intel EtherExpress Pro/100). 1995-12-24 08:13:23 +00:00
dg
3218838b38 Added I686_CPU. 1995-12-24 08:11:46 +00:00
dg
6f8dd1b133 Add Pentium Pro CPU detection and special handling. For now, all the
optimizations we have for 586s also apply to 686s...this will be fine-
tuned in the future as appropriate.
1995-12-24 08:10:52 +00:00
dg
0da308f3c0 Made "AUTO_EOI_1" standard. auto-EOI on the master ICU is a documented
feature of the ICU. auto-EOI on the slave is not safe, however, so it
remains an option. Killed religious FASTER_NOP when writing the ICU.

Reviewed by:	bde
1995-12-23 16:53:57 +00:00
dg
bd69acf7b7 Use FASTER_NOP rather than NOP in rtcin() - only one inb delay was ever
needed.
Reviewed by:	bde
1995-12-23 16:46:31 +00:00
bde
360f666867 Added undocumented option DEBUG so that debugging code gets maintained
or deleted.

Motivated by:	`int doclusteread = 1;' in ext2_vnops.c redefined
doclusterread if DEBUG is defined, so it could not have worked.
This was fixed by staticizing things before it caused problems.
I didn't find any more cases like this.
1995-12-22 18:44:07 +00:00
bde
4ac9c9e6c6 Staticized code that was hidden by `#ifdef DEBUG'. 1995-12-22 18:21:26 +00:00
bde
e14d8fea54 Increased the double fault stack size from 512 to PAGE_SIZE. This is
wasteful, but better than clobbering the variables below the stack.
About 300 bytes of variables were clobbered when I examined double
faults using ddb.  Perhaps a page that is known not to be accessed by
the double fault handler could be used.  Such pages are not easy to
find, since the double fault handler calls panic() which calls sync()
and possibly dumpsys().
1995-12-22 18:17:34 +00:00
phk
b297af2609 Typo in my last commit. 1995-12-22 15:52:07 +00:00
bde
397bc2d058 Renamed private DEBUG macro to avoid warnings when DEBUG is an option. 1995-12-22 15:39:45 +00:00
bde
f633db2b6e Fixed permissions of /dev/pcaudio*. 1995-12-22 15:27:48 +00:00
bde
4b7540ebee Fixed arg order in an outb() call. add_timer_randomness() clobbered
part of the DMA channel 0 address and wasn't random in the intended
way.
Submitted by:	KATO Takenori <kato@eclogite.eps.nagoya-u.ac.jp>

Disable interrupts while reading the clock.  This probably isn't
important (allowing interrupts probably increased randomness in
the usual case).

Removed __i386__ ifdef.  This file is in an i386 directory and has
other i386 dependencies.
1995-12-22 15:20:50 +00:00
bde
65106b7714 Synced with sio.c. This fixed the DEVFS initialization. cy.c is
supposed to be identical with sio.c for hardware-independent details.
1995-12-22 15:02:22 +00:00
bde
dd6cf70cf0 Fixed bugs introduced in rev. 1.127 (some broken 16650 support was
unintentionally committed):
- the fifo was completely disabled for low speeds.  Apart from being
  unnecessarily inefficient, this invalidated com->tx_fifo_size.
- `ftl' became a bogus name.
- the 16650 probe breaks the COM_NOFIFO() case and has other bugs
  (disabled, not fixed).

Fixed bogus change of the fifo settings for the non-speed of 0.  This
bug made the above fifo bug occur even at non-low speeds.

Fixed the modes of the cua devices.  It isn't possible to set the uid
and gid correctly since the kernel can't know who uucp.dialer is.

Register the devswitch at device attach time.  SYSINIT() is not
the right way to initialize devswitches (if anything :->).
Eventually, the devswitch should be deregistered at device detach
and/or unload time and reregistered at device attach time ...  Then
some com->gone tests could be removed.

Cleaned up some other recent changes.
1995-12-22 14:58:55 +00:00
phk
74eca218ef Remove crufty "pg" function. 1995-12-22 13:09:39 +00:00
phk
ddcda98c15 Cleanup. 1995-12-22 13:08:27 +00:00
dg
6a02becc2d Fix a small logic bug that caused the arguments of the previous frame to
be used instead of the ones for the current frame if a breakpoint had been
set at the entry to a function.
1995-12-22 07:09:24 +00:00