jtc
8bd51c47b9
Copyright assigned to the NetBSD Foundation
1996-02-27 22:28:09 +00:00
mycroft
d1bae2700f
Add the obligatory copyright notice.
1996-02-18 13:01:05 +00:00
christos
4d234d08d8
Move pmap_page_index declaration to <vm/pmap.h>
1996-02-12 21:12:29 +00:00
mycroft
9d9a70a5a2
Fix #includes.
1996-02-02 18:05:36 +00:00
mycroft
88e512b693
LOCORE -> _LOCORE
1996-02-01 22:28:24 +00:00
mycroft
7149c5ff14
VM86 support, by John Kohl, touched up a bit by me.
1996-01-08 13:51:30 +00:00
mycroft
87a8c945ba
Hand-code softintr() to deal with GCC braindamage.
1996-01-07 21:48:35 +00:00
mycroft
0696821419
Deal with GCC's dead code elimination being suboptimal.
1996-01-07 03:59:28 +00:00
mycroft
41f463bf2c
Modify splraise() to allow better optimization.
1996-01-07 02:40:44 +00:00
mycroft
946507cf4d
Make cpl, ipending, and astpending volatile.
1996-01-07 02:08:28 +00:00
mycroft
cd8fe86bcb
Make the type of __builtin_va_list a long.
1995-12-26 01:16:24 +00:00
mycroft
0c00214737
Use __builtin_va_alist.
1995-12-26 00:19:09 +00:00
mycroft
fa887628d8
Stylistic changes.
1995-12-25 23:15:31 +00:00
mycroft
d1de691efb
Stylistic changes.
1995-12-25 22:22:02 +00:00
mycroft
0199e002ad
Update for GCC 2.7, and fix bugs.
1995-12-25 21:41:08 +00:00
mycroft
1ca89b7f91
Enable paging of the user area.
1995-12-24 01:07:32 +00:00
mycroft
d2e4a2de4b
Minor cleanup.
1995-12-21 01:08:59 +00:00
mycroft
6698d239ca
Use the U suffix to insure unsigned values are treated as such.
1995-12-20 23:30:57 +00:00
mycroft
e28d5e9168
Use #pragma only for 2.0 <= GCC < 2.7.
1995-12-20 18:09:24 +00:00
mycroft
e09cc4cf9d
Use alternate structure packing method added in GCC 2.7.
1995-12-20 17:58:55 +00:00
mycroft
dab27d0c21
Use explicit integer sizes. Adjust constraints for GCC 2.7.2.
1995-12-20 07:53:09 +00:00
mycroft
086845d5d3
Move the initialization of proc0's TSS and LDT to the end of cpu_startup(),
...
and switch to dynamically allocating the TSS.
1995-10-12 17:56:36 +00:00
mycroft
2765bc7b44
Go back to statically allocating the GDT entries for proc0.
1995-10-11 19:32:31 +00:00
mycroft
ddbde6d166
Remove reference to dead variable.
1995-10-11 06:24:28 +00:00
mycroft
72805df917
Various changes from John Kohl and me:
...
Map kernel stacks only at unique addresses.
Use one TSS per process.
Add sysarch calls for modifying IOPL and the I/O permission bitmap.
Add a compacting GDT entry allocator, for TSS and LDT selectors.
Enable modifying %fs and %gs with PT_SETREGS.
Sanitize various bits of code.
1995-10-11 04:19:29 +00:00
mycroft
25f53a986f
Add USERMODE() and KERNELMODE() macros, and use them.
1995-10-10 04:45:03 +00:00
mycroft
0ad97bc5c9
FreeBSD binary compatibility module, from Noriyuki Soda.
1995-10-10 01:22:31 +00:00
mycroft
8096b83664
Eliminate soft segment descriptors; instead use a functional interface for
...
creating segment descriptors. Add the duplicate system call gate used by
BSD/OS 2.0 executables. Prototype setsegment() and setgate(), and fix a bogon
caught by this.
1995-10-09 06:34:11 +00:00
fvdl
9ca2821d22
A couple of definitions added for previous changes.
1995-08-27 20:57:18 +00:00
mycroft
54c9a1df90
Replace splnet() with splsoftnet(). Add splnet().
1995-08-13 00:22:40 +00:00
mycroft
ce7cc0c18a
Move the `used fpu' flag into mdproc, so it can be referenced when a process
...
is swapped out. Implement process_{read,write}_fpregs.
1995-08-06 05:32:59 +00:00
cgd
479fb9e45b
add <sys/cdefs.h> inclusions. namsspace-protect physadr, label_t
...
def'ns against _POSIX_SOURCE and _ANSI_SOURCE.
1995-07-06 03:39:32 +00:00
mycroft
9fbf4d6f47
Make hardware interrupts always block all software interrupts.
1995-07-04 07:09:53 +00:00
cgd
c83f9c5568
remove unused cpu_exec() definitions. moved "broken swap" markers, for
...
ports that still need it, to types.h.
1995-06-28 02:55:18 +00:00
cgd
db66a978e9
IdlePTD has been gone for a while. PTDpaddr now exists.
1995-06-26 13:25:29 +00:00
cgd
2d49c3885b
clean up definitions of ctod(), dtoc(), ctob(), btoc(), btodb(), and
...
dbtob(). remove unused definitions of ctos(), stoc(), and dtob().
1995-06-26 06:55:38 +00:00
jtc
55fbbc705d
Wrap with #ifndef _XXX_FLOAT_H_/#define _XXX_FLOAT_H_/ ... /#endif.
1995-06-20 20:45:22 +00:00
jtc
1d65cdd4ab
#include <sys/cdefs.h>.
...
Wrap __flt_rounds() declaration with __BEGIN_DECLS/__END_DECLS.
1995-06-20 20:32:22 +00:00
pk
a47021162b
Prototype sysarch(2) (Thorsten Lockert, PR#1096)
1995-06-05 19:36:23 +00:00
mycroft
4ea6427a03
Increase size of imask[]. Sigh.
1995-06-04 20:22:50 +00:00
mycroft
8bb190daa3
Add a separate IPL_IMP, used by splimp().
1995-06-04 08:29:41 +00:00
mycroft
d69f7885b7
Allow [nh]to[hn][ls]() to do constant folding.
1995-06-01 17:19:18 +00:00
jtc
8aa6c376b6
KERNEL -> _KERNEL
1995-05-11 16:52:54 +00:00
mycroft
4e9f66f9ca
Improve Linux signal emulation, and emulate the modify_ldt() call.
1995-05-07 02:59:30 +00:00
mycroft
6e02c4b647
Add a copy of the user code and data descriptors in the GDT.
1995-05-06 20:30:14 +00:00
mycroft
7a69a9c95b
Define i386_[gs]et_ldt_args here.
1995-05-06 19:19:57 +00:00
cgd
8703076975
define BROKEN_SWAP and/or cpu_swapout as appropriate.
1995-05-05 03:41:51 +00:00
mycroft
40b72cc7a2
Wrap NGDT and NLDT in parens.
1995-05-04 05:37:39 +00:00
mycroft
029176e96b
Add PCB_USEDFPU.
1995-05-03 00:08:19 +00:00
mycroft
4eea138a48
Add sc_gs and sc_fs. Move sc_onstack and sc_mask to end.
1995-05-01 14:14:11 +00:00
mycroft
bbfcbb8483
Add VM86 segment registers to trapframe.
1995-05-01 14:13:26 +00:00
mycroft
ae11bd216c
Remove historical garbage.
1995-05-01 08:14:25 +00:00
mycroft
5a7e987371
Make md_regs a pointer to a trapframe.
1995-05-01 07:56:20 +00:00
mycroft
8b51849f9d
Make this includable from locore. Remove unused GDT and LDT slots.
1995-05-01 07:37:43 +00:00
mycroft
c2e46efab2
Rename ibcs2_sigflags to __spare, but leave the space for now.
1995-05-01 04:53:24 +00:00
mycroft
92e9818c88
Expose idt[] here.
1995-05-01 04:49:51 +00:00
mycroft
b8d3de2758
Add pcb_cr0.
1995-05-01 04:49:28 +00:00
christos
de42a28a1b
- added sunos_machdep.c for sun3, atari, amiga and mac68k.
...
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
1995-04-22 20:24:40 +00:00
mycroft
20cf41aa94
Clean this up a bit:
...
* Abstract the conditional for immediate port numbers, and make it always
false if not optimizing.
* Add some whitespace to the string functions to make them more readable.
1995-04-22 03:59:59 +00:00
mycroft
b4813fa24a
Alias delay() to DELAY() for mi code.
1995-04-21 21:56:01 +00:00
mycroft
22cefc03bc
Bring back pmap_kernel(), for now always inlined as a pointer to
...
kernel_pmap_store.
1995-04-10 12:41:29 +00:00
mycroft
e957423a98
Move fp_except and fp_rnd definitions to machine/include.
1995-04-09 21:31:58 +00:00
fvdl
fb00b736fd
Arch dependant defs for Linux. Just signal stackframe definition for now.
1995-04-07 22:31:19 +00:00
jtc
ec2bda0f0b
Changed FLT_ROUNDS from constant to a call to __flt_rounds(), so that the
...
current rounding mode is accurately reported.
1995-04-07 15:00:54 +00:00
christos
0fd8f81d69
Reorganization of the signal frame and ucontext to make it shareable with
...
the sparc code. Added trap defines.
1995-03-31 02:51:37 +00:00
jtc
71ab4ed9dc
KERNEL -> _KERNEL
1995-03-28 18:13:48 +00:00
jtc
f86410093b
Changed name of __weak_reference() to __indr_reference(). They really
...
are indirect references, and I want to add a real __weak_reference()
macro to <machine/cdefs.h> soon.
1995-03-23 19:58:48 +00:00
cgd
b8403d582b
don't be so quick to cast macro arguments to unsigned; if the
...
arguments are really off_t's (e.g. to btodb), then you can lose
information. This was the "> 4G file systems don't work" bug; physio
uses btodb, which was broken.
1995-03-18 07:22:43 +00:00
christos
bbcbf6ccbf
Added defines for svr4_sysarch()
1995-02-01 01:40:25 +00:00
jtc
830a53e394
ANSI says that <stdarg.h>'s va_end macro must expand to a void expression.
...
For consistancy, I'm changing <varargs.h> too.
1995-01-28 01:51:46 +00:00
mycroft
7b87637bb3
Rearrange struct reg to match what the rest of the world expects.
1995-01-26 18:12:03 +00:00
christos
cf1d6b55f3
Modify the floating point part of our context to reflect reality.
1995-01-25 04:18:52 +00:00
jtc
9540190d45
This file, which will be included by <sys/cdefs.h>, will contain macros
...
such as __warn_references() and __weak_reference() which are actually
machine dependant. This will make it easier for ports that are being
bootstraped with ELF and ECOFF based toolchains.
This change also introduces a new macro, _C_LABEL(x). _C_LABEL expands
its argument, an identifier, to a character string of the identifier
name as it is represented in an object file.
For most ports, _C_LABEL(x) will expand to "_x", for ELF based ports
_C_LABEL(x) will expand to "x".
1995-01-19 01:38:36 +00:00
mycroft
ecef8fddfa
Remove PSL_USERCLR, and add a PSL_USERSTATIC. Change the bit descriptions to
...
more closely match the 386 manual. (Probably the mnemonics should be changed,
too.)
1995-01-15 00:57:50 +00:00
jtc
d7a8b2964f
Only define sig_atomic_t when _ANSI_SOURCE is defined.
1995-01-10 19:01:00 +00:00
christos
b006bf7e68
Added missing forward declaration
1995-01-09 01:05:24 +00:00
christos
e1c97cde06
New file for signal handling and {g,s}etcontext().
1995-01-08 21:23:31 +00:00
mycroft
d16dcced99
Add interrupt sharing types.
1995-01-03 01:19:19 +00:00
cgd
7b8535b554
do the right thing with strange-sized varargs objects.
1994-12-28 22:45:42 +00:00
cgd
e5049f4d59
make the definition of _JBLEN mach. dep. header-dependent.
1994-12-20 10:36:27 +00:00
mycroft
d2d4dc4654
Use immediate constants for port numbers < 0x100.
1994-11-20 21:36:44 +00:00
christos
f63115591a
Included <sys/cdefs.h> since this file is now using __signed.
...
It broke non gnu compilers.
1994-11-20 18:50:18 +00:00
mycroft
e075f8c13d
Convert port, IRQ, and DRQ numbers to ints.
1994-11-18 22:18:35 +00:00
mycroft
1c5ac2e88c
pcb.h requires segments.h now.
1994-11-08 23:09:21 +00:00
mycroft
205d425f2f
As pointed out by Bruce, splsoftclock() needs to process pending interrupts
...
when lowering the priority. Do this by simply calling splx(). For the
benefit of NFS (for now), modify splx() to return a value so that
splsoftclock() does. This work is optimized out for every use of splx()
that ignores the value, so it only affects relevant code.
Also, clean up this file a little.
1994-11-06 01:37:47 +00:00
mycroft
c2191a2ad0
Fully prototype ssdtosd() and sdtossd().
1994-11-05 03:20:36 +00:00
mycroft
34c4570d61
Only use ssdtosd() when creating, expanding, or copying the LDT. Keep a copy
...
of the result in the PCB so it can be loaded quickly on context switches.
1994-11-05 03:17:33 +00:00
andrew
20cc8b6c5c
Increase NKPDE to cope with 64MB RAM.
1994-10-31 06:30:52 +00:00
cgd
022ee8f7fe
new RCS ID format.
1994-10-27 04:14:23 +00:00
cgd
77e4fe47ef
update for new syscall args description mechanism
1994-10-20 04:43:21 +00:00
cgd
f501e4e128
make <stdarg.h> a symlink, and clean up ports' stdarg.h and varargs.h files.
1994-10-15 04:57:29 +00:00
cgd
49c34d3337
move arch dependence to archs. clean up a bit. deal with weird MAXPARTITONS.
1994-10-14 18:26:22 +00:00
mycroft
c3fa5122d6
#include cpufunc.h from pmap.h.
1994-10-09 15:00:38 +00:00
mycroft
e19b0472c8
Make multiple-inclusion protection consistent.
1994-10-09 13:33:53 +00:00
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