Commit Graph

24282 Commits

Author SHA1 Message Date
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
cgd 7e31391b10 update for new syscalls.master 1996-12-22 08:05:47 +00:00
cgd acad90d846 * (slight) general cleanup
* change in-kernel syscall prototypes to match user-land prototypes in
  the following ways:
    + add 'const' where appropriate.
    + make the following "safe" type changes where appropriate:
	caddr_t -> struct msghdr *
	caddr_t -> struct sockaddr *
	caddr_t -> void *
	char * -> void *
	int -> uid_t (safe because uid_t not used as index/count)
	int -> gid_t (safe because gid_t not used as index/count)
	u_int -> size_t
    + change "int" to "u_long" in flags arguments to chflags() and
      fchflags().  This is safe because the arguments are used as
      flag bits and there's nothing that would cause the top bit
      of the int to be set yet, and because the user-land definitions
      already specified u_long, so a u_long's worth of argument was
      already being passed in.
1996-12-22 08:04:06 +00:00
cgd 997ec138ad change ntp_gettime's struct ntptimeval *'s name to match kern_ntptime.c 1996-12-22 07:47:43 +00:00
cgd c99936a735 * fix return types. previously, most things returned 'int.' which was
wrong for a bunch of functions:
	void:		sys_exit, sys_sync
	ssize_t:	sys_read, sys_write, sys_recvmsg, sys_sendmsg,
			sys_recvfrom, sys_readv, sys_writev, sys_sendto
	long:		sys_pathconf, sys_fpathconf
	void *:		sys_shmat

* Note that sys_open, sys_ioctl, and sys_fcntl are defined such that their
  last argument is optional.

These changes should not have any real effect, because right now this
information is not actually used for anything.
1996-12-22 07:00:57 +00:00