Commit Graph

412 Commits

Author SHA1 Message Date
mycroft c87fbde918 Fix typo. 1994-10-09 13:31:19 +00:00
mycroft 701c0f0058 Eliminate i386_saved_state. 1994-10-09 13:27:07 +00:00
mycroft 8295e4b8f2 Nuke dirty(). 1994-10-09 13:23:21 +00:00
mycroft ebbc8e0476 Make the conversion macros more consistent. 1994-10-09 13:20:37 +00:00
mycroft 18830ce0ea Define pmap_update() using tlbflush(). 1994-10-09 13:11:18 +00:00
mycroft 47db98b4d9 Eliminate register restrictions where possible. 1994-10-09 13:02:56 +00:00
mycroft 112dac786c Make reg, frame, and sigcontext more similar. 1994-10-09 12:39:05 +00:00
mycroft 13c1794b82 Eliminate tf_isp. 1994-10-09 09:20:28 +00:00
jtc badcc17a6d Add constants required by XPG3 1994-10-05 17:16:29 +00:00
jtc 62db8972b1 Updated bde's comments wrt. i387 control word settings so that they
describe NetBSD, rather than 386BSD 0.1.
Removed 386BSD and BDE control word constants, since we don't need and
will never use them.  However, The iBCS control word constant is kept,
since we might want to use it in the iBCS binary compatibility code.
1994-09-22 00:37:13 +00:00
mycroft 1c8e17fb63 Prototype spllower(). 1994-09-19 05:05:15 +00:00
jtc bdd26b125c asm -> __asm (PR #463). 1994-09-10 01:07:08 +00:00
mycroft 0d3651018e Make kernel_pmap a macro that points directly to kernel_pmap_store. 1994-09-09 23:58:48 +00:00
mycroft 4116a4243e Various changes:
* Inline some functions.
* Eliminate redundant calls to pmap_page_index().
* Reduce the number of TLB flushes in accordance with the i386 SSWG.
* Inline pmap_remove() in pmap_remove_all().  (Most if it is unnecessary.)
* Allocate pv_entry's in pages, and keep a list of free entries in each page,
and a list of pages with free entries.  (Trying to reduce malloc() overhead,
and improve locality of reference.)
* Remove a couple of macros that aren't really useful.
* Remove pmap_kernel() completely.
1994-09-07 20:48:52 +00:00
jtc b3b55d02f1 Misc changes to make this file more like the asm.h headers used by other
architectures:
	Renamed _C_FUNC() to _C_LABEL()
	Renamed _ASM_FUNC() to _ASM_LABEL()
	Merged _BEGIN_ENTRY with _ENTRY
	Renamed _END_ENTRY to _PROF_PROLOGUE

When assembling with profiling enabled, set up stack frame before calling
mcount() in _PROF_PROLOGUE.  Also omit emitting .long 0's, as they are no
longer used by the profiling code.
1994-09-02 05:02:47 +00:00
mycroft d20de15399 Add USPACE. 1994-08-24 19:32:36 +00:00
mycroft 01c2a3243e Add flags for iBCS2 compat. 1994-08-15 22:19:44 +00:00
mycroft 5f27568164 Eliminate struct pte and struct pde. 1994-08-15 14:46:45 +00:00
mycroft 60280d9735 Don't allow VM86 mode, for now. 1994-08-13 06:55:47 +00:00
deraadt ffb9d6e173 document cyrix configuration registers 1994-08-03 21:39:16 +00:00
cgd 3fbc338a62 define __BIT_TYPES_DEFINED__ for compatibility with things like BIND and nvi 1994-07-20 05:44:19 +00:00
mycroft 551f7bc780 Since we're no longer using xchg instructions, there's no reason to prefer
a q reg over and other.  Also, fix some types in the case of _POSIX_SOURCE.
1994-07-15 21:10:21 +00:00
deraadt 50b13742e4 _MACHINE_VARGS_H_ 1994-06-29 00:45:01 +00:00
mycroft 470742fbc0 profile_tick() is no longer needed. 1994-06-14 19:37:39 +00:00
mycroft 9a87e0deef Increase default NKPDE. 1994-06-02 09:29:01 +00:00
mycroft 65a32ed04c Add cpu_set_init_frame(). 1994-05-27 11:22:58 +00:00
mycroft 736870802e Add some more constants. 1994-05-24 11:54:24 +00:00
deraadt f90fda8fd6 cyrix CPU_486DLC 1994-05-24 07:24:37 +00:00
cgd 979f061754 use __signed instead of signed, per Lite 1994-05-24 00:51:36 +00:00
cgd 4d7a245049 can't use u_long 1994-05-23 07:41:24 +00:00
cgd d158bd71a6 add cpu_swapin 1994-05-23 03:00:56 +00:00
cgd 30f3283f7d cast to quiet warning 1994-05-23 02:59:44 +00:00
cgd 81193600f0 update from lite 1994-05-21 06:48:13 +00:00
cgd 9e66548df2 struct md_coredump 1994-05-21 06:48:05 +00:00
cgd aa81f487b0 new way of naming things 1994-05-21 06:47:54 +00:00
cgd 7e860c9159 make cpu_wait a macro, and define cpu_coredump 1994-05-19 08:09:49 +00:00
cgd c9d464003e USL copyright foo 1994-05-16 10:58:26 +00:00
mycroft 8d17074a03 Duh. 1994-05-13 11:12:38 +00:00
mycroft a4ea4bf624 Need some more macros not in the 4.4-Lite version. 1994-05-13 10:47:57 +00:00
mycroft 65d3a66647 Do this better. 1994-05-13 10:40:19 +00:00
mycroft 365ea433a5 Needed for new profiling code. 1994-05-13 09:37:23 +00:00
cgd 70b556d027 new defn's 1994-05-09 03:23:03 +00:00
cgd 2636f2c86a cpu-dependent sysctl structs 1994-05-07 00:53:14 +00:00
mycroft 62b418de75 Correct comment. 1994-05-06 12:23:10 +00:00
mycroft 895e9ed71a Mostly stylistic change. 1994-05-05 07:39:28 +00:00
cgd a0a7429482 lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around.  kill some unnecessary type and macro
definitions.  standardize clock handling.  More changes than you'd want.
1994-05-05 05:35:42 +00:00
cgd 4bbabd8e7a Rename a lot of process flags. 1994-05-04 03:41:12 +00:00
mycroft fb12ba70e2 Only #include other stuff #ifdef KERNEL. 1994-04-08 04:24:16 +00:00
mycroft 3f5e4f423f Implement dynamic IRQ configuration and IRQ sharing. Inline spl*() calls.
Reorganize and clean up the relevant code.
1994-04-07 06:48:19 +00:00
mycroft beb5680d81 This is #included multiple times. 1994-04-03 22:36:41 +00:00
mycroft 0234c30a00 Clean up #includes. 1994-04-03 22:28:23 +00:00
mycroft 3a8dd5d6b1 Clean up #includes. 1994-04-03 18:58:55 +00:00
mycroft 3ce26e4f42 Make sure we get psl.h. 1994-04-03 18:54:21 +00:00
mycroft c075fee1b2 Clean this up a little. 1994-04-03 18:53:53 +00:00
jtc 91906bc019 Inline assembly [hn]to[nh][sl] functions used xchgb %h1,%b1 instead of the
faster (on the i486 & i586) rorw $8, %w1.  The inline assembly for GCC 1.X
already used rorw.  Using rorw is one byte longer, but we wouldn't be
inlining at all if we weren't optimizing for speed.
1994-03-16 17:20:24 +00:00
cgd 6c218e563f add basic integral types (a la sparc port) that new nvi wants. 1994-03-14 02:10:40 +00:00
jtc 427a14083c Added RCSID macro, for RCS ID's (what else?). 1994-03-12 01:23:21 +00:00
mycroft 3a57542a30 Back out previous change for now. 1994-03-09 07:58:39 +00:00
mycroft a692d2185a Inline spl*() calls. 1994-03-08 13:24:46 +00:00
mycroft 917559fb12 Add `com' softintr. 1994-03-08 06:57:28 +00:00
hpeyerl 6d35bd3f7f Move some machine dependant disklabel stuff in here. 1994-02-22 17:16:41 +00:00
cgd efa03b9a6c fix from Thomas Eberhardt <thomas@mathematik.uni-Bremen.de>:
byte swap macros used a variable "X" internally, which would get
screwed up if user programs #defined "X".  change uses of X to __x.
1994-02-12 07:23:49 +00:00
jtc 5235180083 Fix spelling error in Copyright notice 1994-01-28 23:43:26 +00:00
cgd 5444802ec5 getting and setting FP regs aren't appropriate yet 1994-01-28 07:06:32 +00:00
pk 24e4cb4bad move varargs stuff to arch/<machine>/include. 1994-01-27 00:18:18 +00:00
jtc 2a51c00a70 FPU control word of 0x137f doesn't work well in "real" world applications
so I've changed it to 0x127f.  64 bit precision causes errors in paranoia
and our math library, changing to 53 bit precision solves these problems.

I've been told that long double support in Gcc 2.5 requires 64 bit mode,
so a comprehensive FP strategy (compiler, library, FPU, emulator) will
have to be addressed in the future.
1994-01-25 19:58:30 +00:00
jtc c4b7945dca My previous checkin didn't really change the FPU Exception Mask -- it was
trapped inside an #ifdef -- this commit changes it as I had originally
intended.
1994-01-17 18:10:01 +00:00
mycroft 900084ce24 Clean up deleted files. 1994-01-16 02:00:01 +00:00
cgd ea52295d11 SHMMAXPGS now pegged at 1024, where it belongs 1994-01-16 01:36:07 +00:00
mycroft c8b8051b89 Gratuitous formatting changes. 1994-01-11 13:30:40 +00:00
cgd cb875046b8 LBL "/dev/audio" include file.
probably will need to be hacked if "the right things" are done to bsd_audio.c
1994-01-09 19:30:17 +00:00
cgd 8cdc8d997d define PT_STEP, and clean up some 1994-01-09 16:53:03 +00:00
mycroft 4eb1bbfb0b Use PSL_MBO and PSL_MBZ in the more traditional way. 1994-01-09 14:58:14 +00:00
cgd 23c144e8b3 code reorg 1994-01-08 11:13:52 +00:00
jtc ceb7f9888d Change default NetBSD NPX control word to 0x137f.
This masks all FP exceptions (like every other UNIX system), and makes
it possible for gcc 2.5's long double support to work.
1994-01-08 01:19:06 +00:00
pk 6f81dd8136 Add .type directive to ENRTY().
Move PIC_ macros over here from SYS.h
1994-01-07 00:46:20 +00:00
mycroft d5bb16fdb2 Move kernel to 0xf8000000. 1994-01-05 16:02:36 +00:00
mycroft e254def3cf Fix VM_{MIN,MAX}_KERNEL_ADDRESS. 1994-01-04 00:44:03 +00:00
mycroft c0e772492e Inline all the [lr]cr[023]() `functions' in cpufunc.h. 1994-01-03 16:21:48 +00:00
mycroft 7131e8517e Garbage collection. 1994-01-03 16:20:47 +00:00
mycroft e75be43c5d Make sure we get the correct `rep' prefix per the Intel manual (though really
GAS should figure this out itself).
1993-12-31 21:11:32 +00:00
deraadt 89ea303b7c fix __asm() clobber list for some instructions. fix from
Lennart Augustsson <augustss@cs.chalmers.se>
1993-12-30 05:16:43 +00:00
cgd fd9de878ef add NPTEPG back in. gdb wants it. Thanks to Rich Murphey for pointing it out. 1993-12-22 17:39:45 +00:00
cgd d2ad7a00c2 should be 'struct reg' not 'struct regs' -- it's in reg.h, after all!
also, delete r_fs and r_gs; looking at the code and comments
describing/using this struct, they don't belong here
(though if support for them is ever put in here, they should be,
but for i486-en only...  how do you do that 'reasonably,' though?
interface issues...)
1993-12-22 12:57:24 +00:00
cgd 7fbfc4bac0 add (possibly iffy) definitions of PSL_USERSET and PSL_USERCLR,
"standard" PSL masks.
1993-12-22 12:56:08 +00:00
cgd dced52af6c bump MAXSSIZ back down to 8M (from 256M, where charles put it).
execve() currently allocated MAXSSIZ of address space (AND PAGE TABLES)
for the stack.  until that's changed, and the stack-handling code is
updated to match, MAXSSIZ==256M will make execve() significantly slower
than MAXSSIZ==8M.
1993-12-22 12:30:59 +00:00
mycroft 6c32b87568 Remove two unused fields. 1993-12-21 09:47:45 +00:00
mycroft 0cd3f0fdd2 Remove some things which should not be here. 1993-12-20 09:08:11 +00:00
mycroft de04e7e727 New, more complete version. 1993-12-20 09:07:22 +00:00
mycroft 2250fff236 Cleanup and garbage collection; nothing significant. From magnum branch. 1993-12-20 05:25:02 +00:00
mycroft 546d92cec9 Forgot to decrement these. 1993-12-19 07:54:52 +00:00
mycroft c857af00dc Clean up trap handling and macroize interrupt entry and exit code. From
magnum branch.
1993-12-19 06:58:12 +00:00
mycroft 8b7ff01b9e Clean up deleted files. 1993-12-19 03:42:13 +00:00
mycroft 90b25c90a1 Cleanup from magnum branch. 1993-12-19 03:41:30 +00:00
mycroft ea13c12adc From magnum branch:
Remove Jolitz's netisr kluge.  Make sure cpl == 0 really means base priority.
Other minor cleanup.
1993-12-17 00:10:06 +00:00
mycroft 1cc1b73beb Cleanup of startup and signal handling code from magnum branch. 1993-12-15 09:31:29 +00:00
mycroft fccc819b20 Fold in most of the magnum vm changes. 1993-12-14 05:31:17 +00:00
deraadt 9a48e42157 __386BSD__ -> __NetBSD__ 1993-12-07 12:51:58 +00:00
cgd b26f063ecf add MACHINE_ARCH as i386 1993-12-04 02:04:31 +00:00
cgd 183fd1b02f cut down SHMMAXPGS (temporary) 1993-11-15 11:41:54 +00:00
cgd 4878a43c3d Add the System V message queue and semaphore facilities. Implemented
by Daniel Boulet <danny@BouletFermat.ab.ca>
1993-11-14 13:21:59 +00:00
brezak b92626678c Cleanup LDT/GDT defines 1993-10-26 15:53:54 +00:00
pk 14e6ea89aa Put definition of __LDPGSZ and `struct relocation_info' where they belong:
in <machine/exec.h>.
1993-10-18 09:46:56 +00:00
cgd 7b64280a28 patch from rod grimes:
Fix definitions to be in terms of a minimum number of constants by
using the SHIFT value as the basis for the other values, for example
instead of:
#define         NBPG            4096
#define         PGSHIFT         12
use:
#define         PGSHIFT         12
#define         NBPG            (1 << PGSHIFT)
1993-10-09 01:35:50 +00:00
andrew ef83446787 Exports the pccons ioctls. 1993-09-28 03:26:17 +00:00
jtc e7ecd24ac3 Do not provide quad constants if compiling in a strict ansi or a strict
posix environment.
1993-09-24 18:22:31 +00:00
brezak 4212e64961 Include sys/signal.h instead of machine/signal.h 1993-09-21 20:51:12 +00:00
brezak 90add535c9 Add tISP offset 1993-09-19 18:59:35 +00:00
brezak a3e9fd6947 Add per-process LDT slot. 1993-09-19 18:59:17 +00:00
brezak 044ac34c5a Define signal frame here. 1993-09-19 18:58:39 +00:00
brezak 66f540572a Defines architecure dependant syscalls. 1993-09-19 18:58:14 +00:00
brezak 5413da0ff5 Machine dependant signal.h. Defines sigcontext and sig_atomic_t for i386 port. 1993-09-19 18:57:48 +00:00
cgd 0145d113ae get rid of the #ifndef KERNEL around the include of sys/cdefs.h,
a la 4.4, because it seriously breaks things otherwise, given
inclusion of endian.h in types.h
1993-09-17 01:44:08 +00:00
mycroft a46b224043 Add constants for quad support. 1993-09-16 06:01:11 +00:00
mycroft 111aecd0a9 Add an #ifndef _POSIX_SOURCE... 1993-09-16 05:59:43 +00:00
brezak cb098b5eb0 Changes to use a trap frame for syscalls. 1993-09-16 03:24:13 +00:00
mycroft 606544f20d Add _QUAD_HIGHWORD and _QUAD_LOWWORD for Torek's quad stuff. 1993-09-16 02:25:45 +00:00
jtc c3f643cd8a Remove NEED_* defines, as they are now satisfied by libkern. 1993-09-11 00:16:40 +00:00
jtc aabddf622f STDC -> __STDC__ 1993-09-08 16:55:17 +00:00
sef b477be52eb Yet more of the ptrace() reorg; now ptrace_setregs() and ptrace_getregs()
are present, along with PT_GETREGS and PT_SETREGS ptrace commands.
1993-09-05 03:53:52 +00:00
cgd 59a008c712 change maximum stack size to 8M. 1993-09-04 22:21:28 +00:00
cgd 2403a33987 decouple MAXDSIZ and MAXSSIZ. MAXSSIZ now is 2M; shouldn't need more,
and saves time in exec.
1993-09-04 00:38:47 +00:00
cgd c10d5aa752 get rid of bogus #define of resettodr(); now setting time actually works! 1993-09-02 02:10:35 +00:00
brezak 5bce7d4176 Add prototype for pmap_bootstrap(). 1993-08-30 18:09:57 +00:00
brezak 4aca3365cc i386 Machine dependant changes to handle non-contiguous memory. 1993-08-27 23:52:22 +00:00
jtc c41b22b4f6 Removed CLK_TCK, it's value is not machine dependant.
It's supposed to be defined in <time.h>, not <limits.h> anyway.
1993-08-18 00:22:44 +00:00
jtc 35fdf4ad74 Declare ntohl, ntohs, htonl, and htons functions.
Use GCC's inline assembly iff we are using GCC.
Use bswap instruction if using gcc and defined(KERNEL) &&
	((defined(I486_CPU) || defined(I586_CPU)) && !defined(I386_CPU))
1993-08-16 18:30:35 +00:00
mycroft 63c0a317bb Add ALIGNBYTES for new fts(). 1993-08-03 21:51:10 +00:00
mycroft aee4b07b8a Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
1993-08-02 17:48:44 +00:00
jtc 3643c134f1 Change "#endif FOO" to "#endif /* FOO */", to keep gcc -Wall, lint, etc.
from complaining about a trivial issue.
1993-07-29 21:42:19 +00:00
cgd 499f536ddc up default data size limit to 16M, like on freefall, so everything will
compile properly with gcc2.
1993-07-13 10:16:40 +00:00
cgd 4cbf5e04e2 update for better FP routines, from AT&T & elsewhere 1993-07-09 09:39:13 +00:00
deraadt 748e864b38 No need for the DELAY() macro. in userland. It just polutes the namespace. 1993-07-05 01:12:46 +00:00
andrew a9f16886f9 Re-entrancy protection. 1993-06-27 04:50:12 +00:00
andrew 13834263a8 Clobbered '/*' within comment, to keep gcc -Wall happy. 1993-06-27 01:24:55 +00:00
cgd c8bdad0560 convert magic numbers to network byte order, and attendent changes 1993-06-18 06:49:30 +00:00
mycroft 420720c2f3 Clean up deleted files. 1993-06-17 04:24:06 +00:00
mycroft df4fb4cae4 Make ioctl definitions ANSI-compliant. 1993-06-17 04:07:41 +00:00
jtc 2a6a498c49 Move my assembly versions of strlen and ffs into the kernel 1993-06-16 22:22:39 +00:00
mycroft 409bc91101 Move asm.h from /usr/include/sys to /usr/include/machine. 1993-06-16 21:42:43 +00:00
brezak c9a48f2b77 Move spkr.h to include/machine so users can use it. 1993-06-16 18:12:23 +00:00
andrew fc37a8acde Microsoft/Logitech busmouse ioctls. 1993-06-13 14:01:06 +00:00
cgd 8a05b36058 incorporate Bruce Evans' interrupt changes, as hacked by Rod grimes,
for patchkit patch 158.  it appears to work well.
1993-06-06 04:14:01 +00:00
cgd e52125aa5d change MCLSHIFT to 11, so mbuf cluster size is bigger than MTU
of network interfaces, for performance.  to use old size,
use "options MCLSHIFT=10" in your kernel config.
1993-06-05 23:11:10 +00:00
cgd f813a8b341 add prototype for a function to be called from execve to check a_mid type 1993-06-03 01:31:15 +00:00
cgd f9518c61da get rid of last bit of signal-trampoline-in-pcb hackery 1993-06-02 04:28:37 +00:00
cgd 6738d12182 set things up so that the signal trampoline code is on the stack,
like it normally is in BSD systems.  still has a bit of hair...
1993-06-02 04:11:48 +00:00
cgd eff5542792 machine-dependent exec stuff 1993-06-02 02:46:58 +00:00
cgd 44dcf397e8 move sipcreg into i386/include/reg.h where it belongs, right next to ipcreg. 1993-05-24 11:37:12 +00:00
cgd 30177b538f add rcsids to everything and clean up headers 1993-05-22 07:56:12 +00:00
cgd 253169d468 add "cpu classes" in addition to cpu names, put cpu names in table, along
with mapping to classes.  this is for upgraded cpu-id code coming "soon"
1993-05-21 12:23:31 +00:00
cgd 12fb16dc4b move cpu types out of assym.s and into cputypes.h
and have that file included by cpu.h and by locore.s
1993-05-21 11:06:07 +00:00
cgd cdcb81b16e hack on the uname "machine name" stuff for hopefully the last time.
now it uses MACHINE, as defined in param.h
1993-05-20 15:36:20 +00:00
cgd 62b2b3e2f9 clean up for new cpu stuff 1993-05-20 14:34:43 +00:00
cgd 99a13fab8d make uname stuff in init_main machine independent 1993-05-20 02:05:39 +00:00
deraadt 9948c39839 npx patches from Bruce Evans. patchkit 10002 1993-05-09 23:02:34 +00:00
mycroft 36b1304dc1 Make mbuf sizes tunable from config file (from 386BSD path 134). 1993-04-22 03:54:17 +00:00
deraadt fe6c03e9c7 /* ... /* ... */ problem in an include file 1993-04-07 09:15:28 +00:00
cgd 5d07e08579 added changes from Steven Reiz <sreiz@aie.nl> (based on
those by Poul-Henning Kamp <phk@data.fls.dk>) to get the kernel
to compile properly when gcc2.* is cc.  (should still work
when gcc1.39 is in use.)
1993-04-03 02:15:18 +00:00
cgd 9483844857 changed value of NKMEMCLUSTERS, to help avoid kmem_map too small problem 1993-04-01 00:06:43 +00:00
cgd e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00