Commit Graph

261 Commits

Author SHA1 Message Date
Garrett Wollman
e766e4d9f1 Made all header files idempotent and moved incorrect common data from
headers into a related source file.  (This is the only change to locore.s).
Also fixed pg() to be properly declared and use stdargs.
1993-11-07 17:41:36 +00:00
David Greenman
d19eeaea76 splnone()'s in the trap code can be deadly. Save/restore previous priority
instead.
1993-11-04 15:05:41 +00:00
Christoph Robitschko
d73546248a Modified the "rude stack hack" that it only applies to addresses within
the stack area and not memory above VM_MAXUSER_ADDRESS.
That way, copyout and friends now work for pages whose page table entries
have not yet been allocated/been paged out.
1993-11-01 11:51:29 +00:00
David Greenman
519471cc84 Yank out Christoph Robitschko's hack for the hanging console problem as
it didn't actually fix it, and because starting the getty on /dev/console
instead of /dev/vga is a good work-around.
1993-10-18 14:21:48 +00:00
Rodney W. Grimes
b8b4b679c0 Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some
minor cleanup.  Added $Id$ to files that did not have any version info, etc
1993-10-16 15:24:44 +00:00
Rodney W. Grimes
47cacd3854 Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some
minor cleanup.  Added $Id$ to files that did not have any version info, etc
1993-10-16 14:15:10 +00:00
Rodney W. Grimes
960173b9b2 genassym.c:
Remove NKMEMCLUSTERS, it is no longer define or used.

locores.s:
	Fix comment on PTDpde and APTDpde to be pde instead of pte
	Add new equation for calculating location of Sysmap
	Remove Bill's old #ifdef garbage for counting up memory,
	that stuff will never be made to work and was just cluttering
	up the file.

	Add code that places the PTD, page table pages, and kernel
	stack below the 640k ISA hole if there is room for it, otherwise
	put this stuff all at 1MB.  This fixes the 28K bogusity in
	the boot blocks, that can now go away!

	Fix the caclulation of where first is to be dependent on
	NKPDE so that we can skip over the above mentioned areas.
	The 28K thing is now 44K in size due to the increase in
	kernel virtual memory space, but since we no longer have
	to worry about that this is no big deal.

	Use if NNPX > 0 instead of ifdef NPX for floating point code.

machdep.c
	Change the calculation of for the buffer cache to be
	20% of all memory above 2MB and add back the upper limit
	of 2/5's of the VM_KMEM_SIZE so that we do not eat ALL
	of the kernel memory space on large memory machines, note
	that this will not even come into effect unless you have
	more than 32MB.  The current buffer cache limit is 6.7MB
	due to this caclulation.

	It seems that we where erroniously allocating bufpages pages
	for buffer_map.  buffer_map is UNUSED in this implementation
	of the buffer cache, but since the map is referenced in
	several if statements a quick fix was to simply allocate
	1 vm page (but no real memory) to it.

pmap.h
	Remove rcsid, don't want them in the kernel files!

	Removed some cruft inside an #ifdef DEBUGx that caused
	compiler errors if you where compiling this for debug.

	Use the #defines for PD_SHIFT and PG_SHIFT in place of
	constants.

trap.c:
	Remove patch kit header and rcsid, fix $Id$.
	Now include "npx.h" and use NNPX for controlling the
	floating point code.

	Remove a now completly invalid check for a maximum virtual
	address, the virtual address now ends at 0xFFFFFFFF so
	there is no more MAX!!  (Thanks David, I completly missed
	that one!)

vm_machdep.c
	Remove patch kit header and rcsid, fix $Id$.
	Now include "npx.h" and use NNPX for controlling the
	floating point code.

	Replace several 0xFE00000 constants with KERNBASE
1993-10-15 10:34:29 +00:00
Rodney W. Grimes
a0ad3760a2 Changed trap.c so that a panic will occur if we do not have hardware
FP and we try to call the emulator when it is not compiled in.
Removed the #if defined(i486) || defined(i387) that use to call the
panic if we did not have a math emulator.
Removed an extranious include of i386/i386/math_emu.h from math_emulate.c.
1993-08-28 13:25:22 +00:00
Andrew Moore
5bb374bc76 patch 1of2 to prevent kill -1 syslogd from hanging the console
blindly applied patch provided by Christoph Robitschko:
*** cons.c.orig	Sat Jun 12 07:57:53 1993
--- cons.c	Thu Aug 19 22:34:53 1993
***************
*** 56,61 ****
--- 56,62 ----
  #include "sys/tty.h"
  #include "sys/file.h"
  #include "sys/conf.h"
+ #include "sys/vnode.h"

  #include "cons.h"

***************
*** 105,118 ****
--- 106,130 ----
  	(*cp->cn_init)(cp);
  }

+ static struct vnode	*cnopenvp = NULLVP;
+
+
  cnopen(dev, flag, mode, p)
  	dev_t dev;
  	int flag, mode;
  	struct proc *p;
  {
+ 	int		error;
+
+
  	if (cn_tab == NULL)
  		return (0);
  	dev = cn_tab->cn_dev;
+ 	if (cnopenvp == NULLVP)
+ 		if ((error = getdevvp(dev, &cnopenvp, VCHR))) {
+ 			printf("cnopen: getdevvp returned %d !\n", error);
+ 			return(error);
+ 		}
  	return ((*cdevsw[major(dev)].d_open)(dev, flag, mode, p));
  }

***************
*** 121,130 ****
  	int flag, mode;
  	struct proc *p;
  {
  	if (cn_tab == NULL)
  		return (0);
  	dev = cn_tab->cn_dev;
! 	return ((*cdevsw[major(dev)].d_close)(dev, flag, mode, p));
  }

  cnread(dev, uio, flag)
--- 133,153 ----
  	int flag, mode;
  	struct proc *p;
  {
+ 	int		error;
+
+
  	if (cn_tab == NULL)
  		return (0);
  	dev = cn_tab->cn_dev;
! 	if (vcount(cnopenvp) <= 1)
! 		error = (*cdevsw[major(dev)].d_close)(dev, flag, mode, p);
! 	else
! 		error = 0;
! 	if (error == 0) {
! 		vrele(cnopenvp);
! 		cnopenvp = NULLVP;
! 	return(error);
! 	}
  }

  cnread(dev, uio, flag)
1993-08-20 05:46:09 +00:00
David Greenman
269312019a * Applied fixes from Bruce Evans to fix COW bugs, >1MB kernel loading,
profiling, and various protection checks that cause security holes
  and system crashes.
* Changed min/max/bcmp/ffs/strlen to be static inline functions
  - included from cpufunc.h in via systm.h. This change
  improves performance in many parts of the kernel - up to 5% in the
  networking layer alone. Note that this requires systm.h to be included
  in any file that uses these functions otherwise it won't be able to
  find them during the load.
* Fixed incorrect call to splx() in if_is.c
* Fixed bogus variable assignment to splx() in if_ed.c
1993-07-27 10:52:31 +00:00
Rodney W. Grimes
5b81b6b301 Initial import, 0.1 + pk 0.2.4-B1 1993-06-12 14:58:17 +00:00