Commit Graph

50711 Commits

Author SHA1 Message Date
scottr 5364339415 If'n you change the name of the .o file, you really ought
to change the entry point, too.
1999-03-31 20:45:06 +00:00
is 34812462c1 revert last change, it was bogus 1999-03-31 19:22:56 +00:00
mycroft f145c291bd If copyout() fails, make sure to unbusy the mount point before returning. 1999-03-31 19:18:45 +00:00
kleink 825dd7f56f It's big endian. 1999-03-31 19:18:36 +00:00
is c49b6be6b4 synchronize 1999-03-31 19:06:34 +00:00
mycroft 0622545249 Previous change to vn_lock() was bogus. If we got EDEADLK, it was from
lockmgr(), and it already unlocked v_interlock.  So, just return in this case.
1999-03-31 18:30:13 +00:00
kleink dccf2a15e4 While in transition, conditionally rename _ASM_LABEL(cerror) and
_ASM_LABEL(curbrk) to _C_LABEL(__cerror) and _C_LABEL(__curbrk), respectively,
depending on the object format chosen, to avoid user namespace clashes.
1999-03-31 18:14:27 +00:00
jonathan 42a6bc2104 Revert handling of divide and remainder assembler pseudo-ops (with
test for divide-by-zero, unlike machine insn) from the binutils-2.9.1
sequence to the older binutils-2.8.1 sequence.

gas 2.8.1 emits a div as (in pseudocode)
	divu $zer0o, a0, v0; bnez $v0, 1f; nop; break0x7; 1: mflo a0;

gas 2.9.1 emits the shorter sequence
	bnez <divisor>, 1f; divu <args>; break0x7;  1:
	 bnez $v0, 1f;  divu $zer0o, a0, v0; /break0x7; 1: mflo a0;

but that on a decstation 5000/150 with a rev 3.0 r4000, for kernel
code, later references to $a0 seem to get a corrupted value.  not
reproduced yet on an r4400.
Could be an r4000-specific bug with the interlock on mulhi and mullo?
1999-03-31 18:01:31 +00:00
cgd bd44d9c286 as pointed out by simonb, since we've moved to ELF __main() calls
aren't emittid anymore.
1999-03-31 16:12:51 +00:00
minoura 35b6e71f52 Enable rnd. 1999-03-31 15:38:32 +00:00
minoura 004b01c5ba Some trivial size reductions. 1999-03-31 15:38:06 +00:00
drochner 5faf61eaf6 add some notes and an example 1999-03-31 15:37:47 +00:00
drochner 719a8b0d1d add some notes and an example 1999-03-31 15:15:57 +00:00
scottr 0848c89c55 The last change wasn't quite enough to build libc during a 'make build'.
Bump DFLDSIZ, too.
1999-03-31 14:58:15 +00:00
mycroft 83cb600015 Enable rnd. 1999-03-31 14:29:33 +00:00
minoura d264521334 Mapped copy was always disabled. 1999-03-31 14:22:21 +00:00
minoura e58c614810 CADDR1 and CADDR2 should not be used here. 1999-03-31 14:18:49 +00:00
mycroft 94590084d7 Enable rnd. 1999-03-31 14:16:20 +00:00
pk 65707bd131 * Pull in more uvm prototypes.
* Retrieve MID on all modules.
1999-03-31 14:09:09 +00:00
jonb 1c77e14aab I am unable to find anything or anyone using /usr/include/ns32k,
and its presence makes pax unhappy.
1999-03-31 13:15:09 +00:00
mrg 833fb0ac7f back date this file to version 1.155 which works on the shark. 1999-03-31 12:44:04 +00:00
mrg 920344b9c2 put back #ifdef _KERNEL that broken xosview build. 1999-03-31 12:29:51 +00:00
bouyer c8b2b59bcc According to Bill Paul <wpaul@ctr.columbia.edu>, only the baseboard variant
of the Compaq NetFlex 3/P uses a Thunerlan TNETE100 chip. The PCI variant
use some other PCI chip the ThunderLAN driver can't handle yet.
Also, correct SYNOPSYS.
1999-03-31 12:19:57 +00:00
lukem 3ebdcecd65 don't use warn() in initgroups(); it's not documented to do that, and
if stderr isn't valid the caller may dump core.
from Giles Lean <giles@nemeton.com.au> in [lib/7273]
1999-03-31 12:19:32 +00:00
kleink 5af7e7a902 Change references to `end' to `_end' as not to invade (or being invaded by)
the user's name space.
1999-03-31 11:53:07 +00:00
kleink 7a5c45dac4 * Make usage string reflect reality,
* declare internal utility functions static,
* remove unneeded workarounds for bogus -Wuninitialized reports,
* delint.
1999-03-31 11:26:45 +00:00
bouyer bb47e5aecf Increase some DELAY(), this seems required on some hardware (I'm not sure if
the hardware is at fault, or if DELAY(1) waits for less than 1us).
Improve debuging messages for wdcreset_wait().
1999-03-31 11:18:31 +00:00
kleink aa7e5483ed Import tzdata1999d. 1999-03-31 11:10:14 +00:00
leo 98732be4ba Export mtpr.h :-( This is because cpu.h depends on it. Probably userland
should not need cpu.h...
1999-03-31 10:48:00 +00:00
kleink cc04c972f1 Whitespace pasto in previous. 1999-03-31 10:47:51 +00:00
leo 1f1a598094 Match changes to ..../vme/et4000.c driver. (Julian Coleman). 1999-03-31 10:45:36 +00:00
leo 968286a826 From Julian Coleman:
- there are a couple of registers that are reset after the X server finishes,
   which do not have the same values as they do when the machine is powered
   on. If the two are mismatched you can't write to the video memory.
 - video memory is mapped at offset 4MB to keep the X server happy
 - there is now a VGA memory mapping
 - DEBUG_ET4000 is now a bit more useful for debugging!
1999-03-31 10:44:15 +00:00
simonb ff2206f6df G/C UFS_NOSYMLINK, UFS_NOCLOSE and UFS_NOWRITE and use new LIBSA_NO_FS_*. 1999-03-31 07:43:39 +00:00
simonb 4c9bbd20fb Don't define errno expliticly, use libsa/errno.c in first stage and
${LIBSA} in the second stage.
1999-03-31 07:23:27 +00:00
scottr 9c8f206e65 Bump DFLSSIZ so that we can build libc.so.*, and limit MAXSSIZ independently
of MAXDSIZ.
1999-03-31 06:53:56 +00:00
cgd 801906b363 GC; unused 1999-03-31 06:37:13 +00:00
cgd be6a1d529a separate defns for primary and unified boot blocks 1999-03-31 06:28:41 +00:00
simonb febdc0ddf2 Use recent LIBSA_NO_TWIDDLE support. 1999-03-31 04:30:11 +00:00
cgd 77a9cb81ff implement NO_GETCHAR, to remove getchar(), and NO_PUTCHAR_HALT to remove
the check in putchar() for character input (specifically control-c, which
causes a halt).
1999-03-31 03:34:21 +00:00
cgd c5fa912232 no point in passing &ret to test_getchar(); nobody cares! also, no
point in doing the check-for-abort functionality twice in putchar()
(once with a call to test_getchar(), once open coded).
1999-03-31 03:22:57 +00:00
simonb 0f4c2803ca Create/build vers.c/vers.o inside the final link stage so that the build
datestamp get's updated each build.
1999-03-31 03:10:56 +00:00
cgd 98f67b8238 In putchar(), don't open-code two calls to the prom puts routine. Instead,
call a helper function (putonechar()).  Savings: 64 bytes.  Cha-ching!
1999-03-31 03:10:00 +00:00
cgd 3665d82d1a GC cpu_number() and turn alpha_pal_imb() into inline assembler. 1999-03-31 03:04:21 +00:00
cgd 51a85dabbb rename the C main() function to main_(). this avoids gcc's implicit
call to __main(), and therefore saves the size of the call and the
  size of a stub implementation of __main().
in the primary boot block, don't bother saving/restoring the argument
  passed in from the caller.  There is no such argument (that we care
  about, at least) to the primary.  (for secondary, it's the firmware
  FD being used.)
1999-03-31 03:03:01 +00:00
cgd 4a209e30f8 Compile with -Os (optimize for size).
Clean up the "Region 1" related definitions, and define load addresses,
  max load size, and max total size for as many boot block types as we can.
  (types = unified, primary, secondary).  We can't always define all
  values for all boot blocks, though.
Make CPP flags selection less gross.
Use objcopy rather than headersize (yay, evil gets a stake to the heart!).
Use a little shell script to verify that the sizes of the boot blocks are OK.
Do not compile too much more of libsa than we actually have to.
1999-03-31 02:52:11 +00:00
mhitch 11cfd11c52 Add CyberStorm MK III. 1999-03-31 02:47:38 +00:00
simonb 5fbc10c671 Reorder ${LIBS} so that we don't need to explicitly pull in bcmp.c
and bzero.c from libkern.
1999-03-31 02:35:14 +00:00
lukem 82f739bcb0 when using editline, work on the correct buffer. fixes problem where blank
input lines were being added to the history buffer.
1999-03-31 02:00:42 +00:00
cgd 309213477a Make a bunch of backward-compatible changes to the boot blocks which allow
size to be reduced substantially.  (backward compatibility verified
by compiling one of the alpha boot blocks which uses all of the code
before and after, diffing the object files, and manually verifying that
the differences were 'correct'.  some differences were "unavoidable,"
it wanting to avoid a double-commit, because e.g. local variables which
were previously used were no longer used.)  a README which describes
supported options (or at least the ones mentioned below) is forthcoming.

add support for the preprocessor macro LIBSA_NO_TWIDDLE, which
  causes calls to twiddle() to be omitted if it's defined.
add support for the preprocessor macros:
	LIBSA_NO_FS_CLOSE
	LIBSA_NO_FS_WRITE
	LIBSA_NO_FS_SEEK
  which, if defined, cause the corresponding file system operations
  in the individual file system implementations to be omitted.  (note
  that all of those macros are not supported by all file systems at
  this point.  comments were added to individual file system files
  to indicate lack of support, and should be cleaned up later.  Backward
  compatibility options e.g. UFS_NOCLOSE, etc., are supported.)
add support for the preprocessor macro LIBSA_NO_FS_SYMLINK, which
  removes support for symbolic links from the file system support
  functions.  (same notes as for the macros above apply.)
add support for the preprocessor macro LIBSA_FS_SINGLECOMPONENT which
  removes all subdirectory and symlink support from the file system
  support functions.  (same notes as for the macros above apply.)
add support for the preprocessor macro LIBSA_NO_FD_CHECKING, which
  causes code relating to libsa file descriptor checks (e.g. range
  checking and checking that a file descriptor is valid) to be
  omitted if it's defined.
add support for the preprocessor macro LIBSA_NO_RAW_ACCESS, which
  causes code relating to raw device access to be omitted if it's
  defined.
change some structure copies to use bcopy() instead.  that way
  use of bcopy vs. memcpy() can easily be selected by
  LIBSA_USE_MEMCPY.  (without changes like these, you could end up
  having both bcopy() and memcpy() included.  eventually, all
  calls to bcopy should be changed to calls to memcpy() or memmove()
  as appropriate -- hopefully never the latter -- with an option to
  use bcopy instead.)
add support for the preprocessor macro LIBSA_NO_DISKLABEL_MSGS, which
  causes disklabel() to return '1' as msg rather than a string.  Can
  be used if the boot blocks don't care about the string, and need to
  save the space.
add support for the preprocessor macro LIBSA_SINGLE_FILESYSTEM, which
  if defined causes all of the file system switch code to be removed.
  Its value should be the name of the file system supported by the
  boot block, e.g. "ufs" for the FFS file system.  calls to the
  file system functions open, close, etc., which were previously
  done through a function switch are then done via direct invocation
  of <fs>_open, <fs>_close, etc. (e.g. ufs_open, ...).
add support for the preprocessor macro LIBSA_SINGLE_DEVICE, which
  does the equivalent of LIBSA_SINGLE_FILESYSTEM but for the device
  switch table.  Device entry pointes are expected to be named
  <dev>foo, e.g. the 'strategy' routine used when LIBSA_SINGLE_DEVICE
  is set to 'disk' is diskstrategy.
make ufs.c f_nindir array be unsigned ints.  the fact that it was signed
  caused ufs.c to require signed division routines (which were otherwise
  unnecessary for a small boot block).
1999-03-31 01:50:25 +00:00
cgd e5ce91e0f3 replace memcpy() implementation (which just called bcopy()) with
a small implementation of memcpy().  libsa memcpy() wouldn't
do the right thing if LIBSA_USE_MEMCPY was defined, and the whole
point of that define is to get rid of either bcopy() or memcpy().
(cloned from the bcopy() code.)
1999-03-31 01:39:16 +00:00