Commit Graph

21151 Commits

Author SHA1 Message Date
pk 1a04146533 A couple of emulation enhancements from der mouse's PR#2411:
- ability to be either a BROADCAST or POINTTOPOINT interface.
	- a humble beginning of link-layer addressing (differs from PR
	  by using a `struct sockaddr' instead of single byte).
1996-06-25 22:15:13 +00:00
thorpej 698844254e A few simple changes:
- Use an extent map to manage the ISA memory "hole", much like
	  how i/o port space is manged with an extent map.  Do the actual
	  accounting in bus_mem_{,un}map().

	- When creating the ioport and iomem extent maps, pass the
	  EX_NOBLOB flag, which tells the extent map code to disallow
	  fragmenting of regions.  This will make it easier to catch
	  simple i/o and memory mapping bugs (like the if_ed.c bug I just
	  fixed) in the future.

	- In bus_mem_map(), a chunk of code was indented using spaces.
	  Make the indentation use tabs.

	- In bus_io_unmap(), fix the format passed to printf().
1996-06-25 21:22:48 +00:00
thorpej 794614df64 In the 3c503 probe, map the correct number of ports. (Unmap already
unmapped the correct number of ports, thus causing the ISA io port
extent map to get corrupted.)
1996-06-25 20:47:02 +00:00
christos beb57fb35d - Add function callback capability when variables are set.
- Add setvarsafe that returns an error instead of longjmp() to the
  error code.
1996-06-25 16:49:05 +00:00
christos cc31700a92 - Add getoptsreset to be used as a callback function when OPTIND is set.
This is used to implement the POSIX behavior when OPTIND=1
- Call setvarsafe instead of setvar. If one ran
	"getopts optstr badvariable"
  where badvariable contained an illegal variable name, there was no way
  to recover, since setvar() would longjmp on the error.
1996-06-25 16:47:43 +00:00
christos 02b3c16118 change sethistsize() to take the history size as an argument so it can
be used directly by the new variable callback functions.
1996-06-25 16:43:33 +00:00
christos 9a738ef22d const poisoning. 1996-06-25 16:40:38 +00:00
christos 70ad20e9f1 Include header files to get function prototypes; don't use home grown ones. 1996-06-25 16:40:06 +00:00
thorpej b3b461a5a2 Fix a couple of typos. 1996-06-25 07:36:54 +00:00
thorpej 7f3ca3ca65 Move all disklabel handling into install.md. Even the error messages
can be machine-dependent.
1996-06-25 07:35:20 +00:00
jonathan 8445253ad3 Fix 4.4bsd/pmax memory-sizing bug:
physical memory is sized by a loop that writes data to the first
word in a page, (writes something else to settle the bus) and then reads
back the word it wrote. If the read succeeds, the amount of physical
memory is increased by one page.

This fails on a 5000/1xx with a memory subsystem filled with 8 low-density
(4Mbyte) SIMMs. The memory-decoding hardware  aliases the 32Mbytes of
physical memory  at physical addresses 0, and at 32M (and presumably
at 64 and 96Mbytes.)  The contiguous aliasing causes the memory-sizing
loop to continue  at 32 MBytes, testing the memory that's really
at address 0,  overwriting and crashing the kernel.

Fixed (for 1.2) by reading the SIMM-decoder stride size from the
motherboard, and reducing the loop bound to 32Mbytes on a 5000/1xx
with low-density SIMMs.  (Other models have a non-power-of-2 maximum
memory and so are not subject to _contigous_ aliasing of physical memory).
1996-06-25 05:47:31 +00:00
thorpej 647f309e62 We're 1.2A, I promise. 1996-06-25 05:33:14 +00:00
jtc 5743dc5d7a Fix from Bruce Evans. Commited to FreeBSD earlier this month, but was
never forwarded to me :-(.

> Clean up the FP stack before returning.  The i387 exp() leaked an FP
> register on its first call.  Subsequent calls reused the register so
> the leak didn't accumulate.
1996-06-25 02:07:09 +00:00
is 50334a801c Set the /dev/reload protection after creating it, not the /dev/mem one.
Thanks to Carsten Hammer for pointing this out.
1996-06-24 18:44:28 +00:00
pk 6e8ba625ef Ignore the mountpoint's `v_usecount' in nfs_unmount() if MNT_FORCE is on.
This takes care of two related problems:
	- `umount -f' wouldn't work if someone's working directory is
	  the filesystem root.
	- vfs_unmountall() would complain about a busy `/' on a
	  diskless setup.
1996-06-24 10:26:40 +00:00
pk c360ca6e11 Make untimeout(9) description match reality.. and add a BUGS section for it. 1996-06-23 22:32:34 +00:00
pk 8623ef54ac Add timeout(9)/untimeout(9) 1996-06-23 22:11:56 +00:00
thorpej 5ab89821de Use sigemptyset() rather than frobbing the sa_mask directly. 1996-06-23 22:08:43 +00:00
jonathan 7620af6671 Fix 4.4bsd/pmax bug in memory-sizing loop:
The physical memory-sizer claims to preserve memory contents
(specifically the contents of msgbuf).  The loop writes different
values into two adjacent locations and reads the contents of the
first, to ensure that whatever is read back from the first location is
from memory and isn't just the first write persisting on the bus.

The loop preserved the value of the first location, but not the second,
resulting in the second test value ('ZZZZ') over-writing a word in msgbuf.
1996-06-23 21:08:54 +00:00
leo 4982d25253 If kvm_dump_mkheader() returns 0, simply state 'no core dump' instead
of logging and error.
1996-06-23 20:30:39 +00:00
leo fa72190309 Fix the empty error message problem more completely. When the magic-check
fails on the cpu_hdr, return 0 instead of -1. This allows the caller to
distinguise between fatal errors and 'nothing there'.
1996-06-23 20:28:05 +00:00
thorpej 9b69016c08 Now that we have i/o port accounting, change the mainbus attach
order back to the (correct) pci -> eisa -> isa ordering.
1996-06-23 20:11:27 +00:00
thorpej 8c2f15c6fc New implementation of bus_io_{,un}map() for the i386. Details:
- A fixed extent map (statically allocated descriptor storage) is
	  created in init386(), just before the call to consinit().  The
	  fixed descriptor storage has enough room for 8 region entires,
	  which is plenty for early initialization, but doesn't chew up
	  that much memory.

	  This extent map (ioport_ex) manages the i386 i/o port
	  space (0x0 - 0xffff).

	- Just before the call to configure() in cpu_startup(), a
	  flag is set which notifies the bus_io functions that it is
	  safe to use malloc() to allocate descriptor storage, in the
	  event that more than 8 regions are needed.

	- bus_io_map() attempts to allocate the specified region from
	  ioport_ex.  If the allocation succeeds, the io handle is
	  filled in.  If the allocation fails, it is implied that
	  something else is already using that io space, and an
	  error condition is returned.

	- bus_io_unmap() frees a region previously allocated from
	  ioport_ex in bus_io_map().  If the free fails, a warning
	  is printed on the conole.

These changes implement "port accounting".  This is required for
proper autoconfiguration on the i386 port, and makes dealing with,
among other things, PCMCIA io mappings _much_ easier.
1996-06-23 19:59:06 +00:00
jonathan 38e30038fb Add pmax header files created since the 1.1 release.
Add all of /usr/include/mips header files.
1996-06-23 19:01:13 +00:00
briggs 4043c93c6f Format the NetBSD Id string like it is elsewhere 1996-06-23 15:30:51 +00:00
oki f606ce425b fixed typo 1996-06-23 15:24:08 +00:00
briggs 9f01fc6ee4 Add a comment about the last change. 1996-06-23 15:02:58 +00:00
leo d306a384e2 Add keyboardmap stuff. 1996-06-23 14:04:54 +00:00
pk 082fe57749 Add tsleep(9)/sleep(9)/wakeup(9) 1996-06-23 14:04:43 +00:00
leo 294d82f240 Add /usr/share/keymap/atari 1996-06-23 13:58:59 +00:00
leo cca068a144 Fix the mysterious empty error message when savecore is executed and no
dump is present. This was caused by the fact that kvm_dump_mkheader() was
called *before* savecore checks the dump magic and kvm_dump_mkheader() returned
-1 without setting an error message. The latter is fixed now.
1996-06-23 13:56:54 +00:00
mycroft 865bfae299 Return ENOPROTOOPT rather than picking pseudo-random error values.
Don't allow SIOCGET{VIF,SG}CNT from sockets other than the multicast router.
Restructure rip_ctloutput() like ip_ctloutput(), and fix memory leaks.
1996-06-23 12:12:44 +00:00
mycroft 20ba5e02de Declare setre[ug]id() to take [ug]id_t args. No functional difference. 1996-06-23 11:56:25 +00:00
mycroft 601306abca Resurrect the setre[ug]id() stubs. 1996-06-23 11:52:49 +00:00
mycroft 23558a0acd Clean up removed files. 1996-06-23 11:50:33 +00:00
mycroft f699ec835f Remove the old (broken) setre[ug]id() emulation. 1996-06-23 11:27:59 +00:00
mrg 779746748d KNF. 1996-06-23 11:21:48 +00:00
mycroft 5262bdf053 Remove the old (broken) setre[ug]id() emulation. 1996-06-23 11:20:42 +00:00
mycroft fdc697b5e9 Catch up with setre[ug]id() changes. 1996-06-23 11:17:50 +00:00
mrg 00333c9e38 fix incorrect (dated?) comment. 1996-06-23 11:16:39 +00:00
mycroft 1328302bd9 Regen. 1996-06-23 11:16:12 +00:00
mycroft 365a977533 Catch up with setre[ug]id() changes. 1996-06-23 11:13:32 +00:00
mycroft f01b3b1837 Regen. 1996-06-23 11:12:22 +00:00
mycroft 3bbb29fe03 Catch up with setre[ug]id() changes. 1996-06-23 11:10:01 +00:00
mrg c7ac10f4db Deal with the case where `$TERM/<baudrate>' exceeds 1024 chars. 1996-06-23 11:09:32 +00:00
mycroft 8ea2fc5788 Regen. 1996-06-23 11:08:01 +00:00
mycroft 351bdbd445 Implement setre[ug]id() compatibly with 4.3BSD, SunOS, and Linux. 1996-06-23 11:04:11 +00:00
mrg c9e514192e look for USD.doc in the right place. 1996-06-23 05:59:51 +00:00
mrg adc186a9c0 delete this file ONCE MORE. SIGH! 1996-06-23 05:51:30 +00:00
mrg 922d5cf939 delete these files ONCE MORE. SIGH! 1996-06-23 05:48:55 +00:00