Commit Graph

24136 Commits

Author SHA1 Message Date
matthias
41cc99aa8c * Rearange duart_info and add hwflags to store uart type (Ian Dall).
* Define SCN_RING_HIWAT and add sc_rbhiwat to scn_softc. When the
  ringbuffer gets full up to this mark, rts gets asserted (Ian Dall).
* Add sc_rx_blocked to scn_softc. This is used to tell scnsoft that
  rxinterrupts are blocked (Ian Dall).
1996-12-23 08:37:11 +00:00
matthias
2c7e970491 * Define the bits in MR0 for the SCC26C92 (Ian Dall).
* Define SCC26C92-only commands (Ian Dall).
1996-12-23 08:37:10 +00:00
matthias
b080d4fea0 * Match functions take a "struct cfdata *" as their second argument.
* intr_establish now takes *two* ipls. One at which the handler should run,
  and one in which the interrupt should get blocked.

All the following changes were provided by Ian Dall:
* Remove SCN_HSOFT. Now that the pc532's software interrupt system is running
  from int14, this won't work anymore.
* Add code to detect uart type (SCN2681, SCC2692 or SCC26C92).
* Cleanup my RECOVER mess. Thank's to Ian Dall for reading the datasheet
  and removing all the unnecessary RECOVERs.
* Cleanup scnrxintr.
* Implement scnhiwflow.
* Do not use automatic RTS. This and scnhiflow and some changes to the
  interrupt system suggested by Ian fix the scn overrun problem at 57600
  baud.
1996-12-23 08:37:07 +00:00
matthias
70597563c6 * Match functions take a "struct cfdata *" as their second argument.
* intr_establish now takes *two* ipls. One at which the handler should run,
  and one in which the interrupt should get blocked.
* Make transfersize configurable for input and output. Default the input
  transfersize to 128 bytes. That way interrupts won't be disabled for more
  then about 128us-256us for slow targets. This is necessary to prevent scn
  fifo overruns. Cleanup the pdma code. Thank's to Ian Dall for these
  changes.
1996-12-23 08:37:04 +00:00
matthias
c3f3bc0228 * Match functions take a "struct cfdata *" as their second argument.
* intr_establish now takes *two* ipls. One at which the handler should run,
  and one in which the interrupt should get blocked.
1996-12-23 08:37:02 +00:00
matthias
7736d33def * membus is now called mainbus. 1996-12-23 08:36:43 +00:00
matthias
b6f24c53a9 * Use std.pc532.
* Remove obsolete options CONFIG_NEW and CON_BRK_PANIC.
1996-12-23 08:36:40 +00:00
matthias
a6953fcdd8 * membus is now called mainbus. 1996-12-23 08:36:37 +00:00
matthias
d949824775 * Use std.pc532.
* Make it work on 30mhz machines.
* Configure MSDOSFS, CD9660, KERNFS, NFSCLIENT and INET.
* Configure SCSI-cds, slip and ppp.
* Update for mi ramdisk driver.
1996-12-23 08:36:36 +00:00
matthias
bddb87af16 * Configure UNION and NULLFS. UNION doesn't seem to work as a lkm yet. 1996-12-23 08:36:33 +00:00
matthias
181cf4f705 * Use std.pc532.
* Make it work on 30mhz machines.
1996-12-23 08:36:31 +00:00
matthias
553486636e * Define and use nkpde. 1996-12-23 08:36:11 +00:00
matthias
15e824377a * Add code for CPU_NKPDE sysctl.
* Compute nkpde at boottime.
1996-12-23 08:36:08 +00:00
matthias
eb68ad8281 * Recode _interrupt to use IV_MASK. 1996-12-23 08:36:05 +00:00
matthias
99cc2dd46d * Initialize IPL_HIGH's imask to 0xffffffff.
* Initialize iv_level for all interrupts.
* Protect the call to the sir-handler with splraise.
* intr_establish now takes *two* ipls. One at which the handler should run,
  and one in which the interrupt should get blocked.
* Compute iv_mask for all interrupts in intr_establish.
1996-12-23 08:36:02 +00:00
matthias
c1921b48eb * intr_establish now takes *two* ipls. One at which the handler should run,
and one in which the interrupt should get blocked.
1996-12-23 08:36:00 +00:00
matthias
9d6e666ea7 * Rename membus to mainbus.
* Remove config_scan. Thank's to Chris G. Demetriou for providing patches.
1996-12-23 08:35:57 +00:00
cgd
80aa3bcb46 Fix quad_t __syscall() return goofs. Now these should work on big-endian
systems, too.
1996-12-23 03:00:25 +00:00
pk
bb12d8fd9a Prevent `unused function' warning (from Robert Evans; PR#2770). 1996-12-23 01:46:30 +00:00
cgd
4f6d05e9a2 Clean this up, and be more consistent:
* Have 'fake' options for all offensive fortune files (fortunes2-o and
  limerick moved to fortunes2-o.real and limerick.real via repository copy).
* build all offensive fortune data files, etc., in the same way.
* Have installation of offensive fortunes controlled by one make variable.
  To disable build/install of offensive fortunes, set
  INSTALL_OFFENSIVE_FORTUNES to anything other than "YES" on the make
  command line, in bsd.own.mk, or in /etc/mk.conf or your ${MAKECONF} file.
  (If changing the setting, you should 'make clean' here and rebuild
  the fortunes before installing.)
* Don't use variables that bsd.prog.mk thinks have certain meanings.
1996-12-23 01:14:34 +00:00
cgd
119b0ec653 fix dependency builds. Since we've got something to run a depend build
on, by all means _do it_, rather than not doing it.  Also (unrelated
problem) make the built .c file gets removed when cleaning.
1996-12-23 00:19:05 +00:00
fvdl
468d71d6f9 Add kernel_text symbol (from Jonathan Stone) 1996-12-22 23:05:31 +00:00
fvdl
bb31faf853 Make this compile again, including Politically Correct const handling. 1996-12-22 23:00:02 +00:00
cgd
60bc771353 convert genclass makefile to standard 'just install the shell script' form,
a la /usr/bin/true's makefile and others like it.  It's simpler than
what was here before, and more correct in terms of providing the variables
that the .mk files expected.
1996-12-22 20:46:06 +00:00
veego
26f6e45d39 Fix a typo: s/COPT/COPTS/ 1996-12-22 19:14:14 +00:00
veego
df0caa2391 Add y.tab.h to CLEANFILES. 1996-12-22 16:57:40 +00:00
pk
cb7f6e2af3 Include c++rt.o when building shared library in libstdc++/Makefile 1996-12-22 13:37:30 +00:00
pk
051d8d1895 Include c++rt.o when building shared library 1996-12-22 13:35:51 +00:00
cgd
4a6fd887f0 File which provides lint stubs for the functions defined by
machine-dependent assembly code, whose source files live in its directory.
(Not necessarily complete yet.)
1996-12-22 11:44:55 +00:00
cgd
4f47d0104d dd a bunch of files to LSRCS, which provide lint stubs for the functions
defined by machine-dependent assembly code.
1996-12-22 11:41:01 +00:00
cgd
5f4060ddf0 a script to build C source code stubs to be fed to lint(1) from the data
in <sys/syscall.h>.
1996-12-22 11:38:34 +00:00
cgd
132d3e56e8 add LASM, LNOERR, and LPSEUDO variables, analogous to e.g. PASM, PNOERR, and
PPSEUDO but for .ln files rather than .po files.  Add the new variables
to LOBJS, as well.  The rules to build those objects them call a helper
script (sys/makelintstub) and pipe the result to lint.  Unfortunately,
dependency handling for these built .ln files is a bit sub-optimal right
now, but that can be fixed later.
1996-12-22 11:37:37 +00:00
cgd
2a7f3ba91e add rules to build .ln files (memmove.ln, memcpy.ln, strchr.ln, strrchr.ln)
for objects built specially from other C files, when appropriate.
1996-12-22 11:34:21 +00:00
cgd
81f0721bbe * accept the file name '-' to indicate that standard input is to be
used as lint1 input.  That involves having lint pass the '-' through
  to the cpp which preprocesses the lint1 input, and having lint1's
  scanner recognize a cpp filename "" as "{standard input}".
1996-12-22 11:31:47 +00:00
cgd
46b90748f5 * Ignore the size of integer arguments when trying to automatically
convert them to pointers.  If they're zero, they're converted (to
  NULL pointers) regardless of size.  If they're non-zero, they can't
  be converted (without a cast).  This matches the behavior of other
  version of lint, e.g. the lints on Digital UNIX and HP-UX.

* recognize that pointers to identical unnamed and untyped structs,
  unions, and enums are, in fact, identical.  This is done by tagging
  each of unnamed and untyped structure, union and enum with a unique
  position of creation, which is used as a unique identifier that
  when determine whether or not a pair of structures, unions, or enums
  are identical.
1996-12-22 11:31:37 +00:00
cgd
06fa442b12 * recognize that pointers to identical unnamed and untyped structs,
unions, and enums are, in fact, identical.  This is done by tagging
  each of unnamed and untyped structure, union and enum with a unique
  position of creation, which is used as a unique identifier that
  when determine whether or not a pair of structures, unions, or enums
  are identical.

* accept the file name '-' to indicate that standard input is to be
  used as lint1 input.  That involves having lint pass the '-' through
  to the cpp which preprocesses the lint1 input, and having lint1's
  scanner recognize a cpp filename "" as "{standard input}".
1996-12-22 11:31:24 +00:00
cgd
0cde55a411 * recognize that pointers to identical unnamed and untyped structs,
unions, and enums are, in fact, identical.  This is done by tagging
  each of unnamed and untyped structure, union and enum with a unique
  position of creation, which is used as a unique identifier that
  when determine whether or not a pair of structures, unions, or enums
  are identical.
1996-12-22 11:31:05 +00:00
cgd
e8685ee836 * Accept asm statements at any place where you could see a function or
variable declaration, in addition to within function & variable
  declarations and function bodies.  I think this comes close enough
  to what gcc does to be considered "correct enough."  Certainly, it
  fixes the problem for the couple of cases where this is a problem
  in our tree.
1996-12-22 11:30:49 +00:00
cgd
4a62cd93f8 explicitly cast __syscall() returns to (int) so that lint knows
that we know what we're doing.
1996-12-22 10:40:27 +00:00
cgd
675052764f fix bogon: <sys/shm.h>, not <sys/msg.h>, should be included to use this. 1996-12-22 10:35:20 +00:00
cgd
73f996ef33 note in a comment (XXX) that strchr() (what's it doing here, anyway?)
causes 'const' to be discarded.
1996-12-22 10:35:08 +00:00
cgd
145233fa6e Change the second and third args to struct vfsops' (*vfs_mount)() to
'const char *', and 'void *', respectively.  The second arg is taken directly
from user arguments, and is const there, so must be const in the prototypes
and functions.  The third arg is also taken directly from user arguments.
It doesn't have to be changed, but since it's cleaner to keep the type
the same as the user arg's type, and I'm already making the 'const char *'
change...
1996-12-22 10:31:41 +00:00
cgd
e7af2a8237 * catch up with system call argument type fixups/const poisoning.
* Fix arguments to various copyin()/copyout() invocations, to avoid
  gratuitous casts.
* Some KNF formatting fixes
1996-12-22 10:21:06 +00:00
cgd
b8cb96e094 make struct exec_package's ep_name field be a _const_ char *. It's set
directly from the syscall's program name argument, which is const, so must be
const itself to preserve const-ness.
1996-12-22 10:19:16 +00:00
cgd
c60b7587ab * catch up with system call argument type fixups/const poisoning.
* Fix arguments to various copyin()/copyout() invocations, to avoid
  gratuitous casts.
* Some KNF formatting fixes
* Change sockargs()'s second argument to be a const void *, to help
  with dealing with the syscall argument type fixups/const poisoning.
1996-12-22 10:16:54 +00:00
cgd
b1a10f6f23 change sockargs()'s second argument to be a const void *. It used
to be a caddr_t, but since it's being passed constant user argument pointers
it needs to be const, and since it's being passed a variety of argument
pointer types it makes sense to change it to void *.  That argument is
simply being handed to copyin().
1996-12-22 10:14:06 +00:00
cgd
90688fce27 Change the second and third args to struct vfsops' (*vfs_mount)() to
'const char *', and 'void *', respectively.  The second arg is taken directly
from user arguments, and is const there, so must be const in the prototypes
and functions.  The third arg is also taken directly from user arguments.
It doesn't have to be changed, but since it's cleaner to keep the type
the same as the user arg's type, and I'm already making the 'const char *'
change...
1996-12-22 10:10:12 +00:00
cgd
0396cad668 if __lint__ is defined, #define __builtin_saveregs() and
__builtin_classify_type() into harmless values, so that lint doesn't
get confused, think they're real functions, and that they're being
invoked in the wrong ways.
1996-12-22 08:57:23 +00:00
cjs
5678a13f1b Re-introduce some code from 1.14 (with modifications) to make the
shell's idea of the current working directory match reality when
symlinks (or anything else we can't stat) are traversed with the
cd command. However, this does not print out the cwd after cd
traverses symlinks, as it used to, though the capability is still
there should one want to use it.
1996-12-22 08:34:34 +00:00
cgd
50cb6df652 for now, -Wcast-qual is just not practical in the kernel 1996-12-22 08:33:19 +00:00