Commit Graph

738 Commits

Author SHA1 Message Date
erh ccea47d790 Moved to compat/linux/i386/linux_machdep.h. 1998-10-01 02:20:52 +00:00
jtk 358521eba1 add prototype for bioscall() 1998-10-01 02:00:37 +00:00
christos 029ab07a4d delint 1998-09-26 19:21:19 +00:00
thorpej dbebd9b148 Need 13 longs for jmp_buf; signal mask is 128 bits now.
XXX Actually, libc appears to use only 7 of the previous 10, so increasing
the size isn't actually necessary!  But there was a gap at the end before,
so we'll keep it.
1998-09-14 21:31:52 +00:00
thorpej 27f3588d7b oops, missed one. 1998-09-14 02:50:12 +00:00
thorpej cbfc257eda sigset13_t -> int. 1998-09-14 02:48:33 +00:00
thorpej 35c106630e __LIBCxx_SOURCE__ refers to the library major number, not the NetBSD release
number.
1998-09-13 02:18:38 +00:00
thorpej 6351312ff7 Fix thinko in last thinko fix. We always have to store an old style
signal mask since a 1.3 binary may attempt to invoke sigreturn(2) directly
for an alternate exit from the signal handler.  If we don't do this, it will
get a garbage signal mask if it tries to do that.
1998-09-13 01:45:04 +00:00
mycroft 3f2c7263b1 Fix thinko in previous. 1998-09-12 10:48:27 +00:00
mycroft 89ea1fcbdd Version sys_sigreturn, to avoid breaking programs that use it explicitly. 1998-09-12 00:47:12 +00:00
mycroft fb526e055c Substantial signal handling changes:
* Increase the size of sigset_t to accomodate 128 signals -- adding new
  versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
  sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
  sys_sigpending() and sys_sigsuspend() into separate functions, and call them
  from all the emulations rather than hard-coding everything.  (Avoids uses
  the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
  pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
  bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
  in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.

Note: Only code touched by the i386 port has been modified.  Other ports and
emulations need to be updated.
1998-09-11 12:50:05 +00:00
christos 2d876282c2 Assign copyright to TNF. 1998-09-05 15:28:06 +00:00
jtk 663e79e90a add 32-bit register support and beginnings of APM V1.2 support 1998-08-31 23:54:32 +00:00
jtk 10ec6359b5 add 32-bit register support to BIOSCALL interface 1998-08-31 23:52:40 +00:00
cgd 5fa7eee1ff don't define __BUS_SPACE_COMPAT_OLDDEFS by default. As stated in
bus_space(9), if drivers want it (they shouldn't; easy to convert) they
can define it right before including bus.h.  There's been a release since
the interfaces were (slightly) changed, and no code in the source tree
uses the old interfaces as far as I can tell.
1998-08-30 23:40:14 +00:00
mycroft c9a799adf6 Assign my copyrights to TNF. 1998-08-15 04:57:50 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
thorpej f41c00629b Garbage-collect vm_offset_t and vm_size_t. 1998-08-13 21:36:27 +00:00
thorpej 330d142f16 vm_offset_t -> {vaddr_t,paddr_t}, vm_size_t -> vsize_t 1998-08-13 21:36:02 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
kleink 546365a27e _POSIX_SOURCE -> _POSIX_C_SOURCE 1998-08-06 11:25:04 +00:00
mycroft da2e61d160 Delint. 1998-07-27 13:55:32 +00:00
is 6054d626f9 Switching dev/ic/lpt.c to use spllpt() instead of spltty(). It doesn't use
tty structures, and on some machines (namely the DraCo internal lpt, and some
multi-i/o boards for Amigas and DraCos), tying spltty to the pretty high printer
interupt level would hurt serial performance.

On all affected ports but Amiga, spllpt() has been defined in machine/intr.h
to be spltty(), thus preserving old behaviour. Portmasters are encouraged to
change is, if they feel something else is better (e.g., one of its own were
possible).
1998-07-18 21:27:25 +00:00
thorpej 5f59f7e15a Add i386 relocations. 1998-07-12 17:09:43 +00:00
thorpej 1bd007d54b Define 2 free lists: a default, and a "first16", which is where the first
16M of RAM goes (in an effort to protect ISA DMA-safe memory).
1998-07-08 04:38:33 +00:00
thorpej 8f2575ec87 Use fixed-size types. 1998-07-07 04:29:42 +00:00
mjacob 20f9998e6f allow a config file to redefine MAXPHYS 1998-07-01 00:51:15 +00:00
kleink 1fbd0b3749 GC the unused `physadr' type, which was not able to hold a complete physical
address on 2 architectures anyhow.  Also, move the definition of the `label_t'
type inside _KERNEL protection, since it is specific to the in-kernel
setjmp()/longjmp() implementations.
1998-06-14 20:09:22 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
drochner 81fd096b37 Since wscons can support VT_xxx ioctl()s, enable them if NWSDISPLAY > 0.
Implement KDGKBTYPE and KDGKBENT, this will make X servers happy.
1998-06-11 22:26:13 +00:00
thorpej f8e69a4627 Don't enable BUS_SPACE_DEBUG automatically if DEBUG is defined. 1998-06-09 22:53:57 +00:00
thorpej 528bbb95ed Add debugging support to the bus_space macros. If BUS_SPACE_DEBUG (or DEBUG)
is defined, the bus_space macros will check to ensure that the bus address
and the target buffer (if applicable) are aligned properly for the size
of the type being used.  If they are not, a message will be displayed on
the console.

While strict alignment is not strictly necessary on the x86, ensuring
proper alignment can aid performance, and help make drivers more portable
to architectures (like the Alpha and StrongARM) which _do_ require strict
alignment.
1998-06-07 03:32:32 +00:00
thorpej f018f866d7 Add a `bounce threshold' to the i386 DMA tag. 1998-06-03 06:33:02 +00:00
kleink a97fc2f180 If any of _ANSI_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE are defined, don't
provide any identifiers other than sig_atomic_t.
1998-05-25 20:59:01 +00:00
chuck 7704d6d342 correct some addresses in the comment that i missed when
KERNBASE changed a while back (from Matthias Drochner)
1998-05-05 01:36:46 +00:00
thorpej 627388689b Whitespace. 1998-05-04 06:09:35 +00:00
thorpej 1686aca01d Pull in opt_gateway.h as appropriate. 1998-04-29 23:11:00 +00:00
kleink a53c1863fe Provide definitions for intptr_t and uintptr_t, signed resp. unsigned integral
types large enough to hold any pointer.
1998-04-27 17:39:10 +00:00
thorpej ff701f8abb Garbage-collect the DMA tag's "_cookie" member; it's not used for anything. 1998-04-26 22:37:20 +00:00
drochner 3ae87f413f "spkr" is now mi. Keep this file for compatibility. 1998-04-15 21:40:27 +00:00
drochner 7689c5d866 remove unneeded stuff 1998-04-15 21:39:01 +00:00
drochner 4682d49cf1 tell drivers that this port knows about the new wscons code
(and generates the NWSCONS etc include files)
1998-03-22 17:53:23 +00:00
drochner d4d8012d51 Export pcconskbd_cnattach() - it is used if pccons attaches to the MI
keyboard controller driver.
1998-03-22 17:49:00 +00:00
drochner 06471a2eed switch to non-BROKEN_INDIRECT_CONFIG 1998-03-22 12:52:03 +00:00
scottb d24f809241 Added prototype for ibcs2_sendsig. 1998-03-05 05:23:49 +00:00
fvdl 25bc5ab033 Don't make simple_lock decls dependent on NCPU > 1, be consistent with
the rest of the kernel.
1998-03-02 18:06:32 +00:00
perry edac6b7ff2 define kernel only inline static functions only #ifdef _KERNEL 1998-02-26 01:57:30 +00:00
perry 398e0f8c64 add /* LINTLIBRARY */ to supress lots of "unused function" warnings
from lint.
1998-02-25 22:36:45 +00:00
perry 56c01cbd82 change second parm of sysarch() from char * to void * 1998-02-25 21:24:56 +00:00
drochner 74b401ffd1 -correct misleading name and comment for MBR partition type 14
-add FAT32 and EXT2FS
1998-02-22 14:45:43 +00:00
drochner 7d1b6dbcbf -define new own partition ID for NetBSD (0xa9)
-protect structure definitions from inclusion in assembler files
1998-02-19 14:10:34 +00:00
mycroft c525e48e35 Include correct information for long doubles (i387 extended precision). 1998-02-18 09:22:02 +00:00
thorpej edbfcebb6a Fixup an inconsistency in the declaration of PTDpaddr, pointed out by
Chris Demetriou.
1998-02-18 03:04:40 +00:00
cgd 3bbb7f7d45 Move pmap_map() function definition to MD headers, as appropriate. It's
an internal function, and the VM system shouldn't try to prototype it.
(Note that some ports _don't_ prototype it.)
1998-02-18 02:05:32 +00:00
thorpej b7d1ce7766 Switch the i386 port to the new kernel crash dump format. 1998-02-18 01:09:25 +00:00
mrg d90485202c - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
thorpej 9eb328b495 RCS ID police. 1998-02-06 22:26:13 +00:00
thorpej 2d1cb11d5b Allow userland access to pd_entry_t and pt_entry_t, like the old pte.h
used to do.  Also, RCS ID police.
1998-02-06 21:58:05 +00:00
mrg 6bcccb887c oops, forgot to add these new files 1998-02-06 07:41:33 +00:00
mrg 29e93b8bea add the i386 MD portions for UVM. 1998-02-06 07:21:42 +00:00
drochner 3f38ea4063 provide pushfl/popfl to C code 1998-02-05 19:53:52 +00:00
thorpej 8abe76d2f0 Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
1998-02-04 05:12:46 +00:00
thorpej 99cc8482d1 Change the last argument of bus_dmamap_sync() from bus_dmasync_op_t to int,
and allow more than one synchronization operation to be specified in
a single call.  Dissallow mixing of PRE and POST operations.
1998-02-04 01:57:27 +00:00
thorpej a7c5c1ef3c Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
1998-02-04 00:32:55 +00:00
mycroft b5c132e4d2 Prototype __flt_rounds() consistently. 1998-02-03 01:26:20 +00:00
mycroft d664bf39b8 Add some comments about what the control words do. 1998-01-24 14:00:36 +00:00
mycroft a963fe5864 Store the initial NPX control word appropriate for the emulation in the saved
FPU state, and use it when initializing the FPU on demand.
1998-01-24 13:19:46 +00:00
mycroft 22c1670658 Some rearrangement of the startup code:
* Move some of the memory bootstrapping and the DDB startup earlier.
* Always put the IDT and the initial GDT and LDT in a separate page.
* Various minor changes.
1998-01-23 00:44:02 +00:00
thorpej 54a35a6019 Generate dependencies on the USER_LDT option. 1998-01-22 00:39:16 +00:00
thorpej 9ba18e2255 Generate dependencies on the MATH_EMULATE option. 1998-01-21 23:29:08 +00:00
drochner 66e093ada9 remove unused and misleading KERNSIZE definition 1998-01-20 13:11:25 +00:00
thorpej cf591e644b Generate dependencies on the VM86 option. 1998-01-15 22:25:52 +00:00
thorpej 032c433933 Just commit to using MACHINE_NEW_NONCONTIG. 1998-01-15 22:20:15 +00:00
thorpej 1484fa567d Generate dependencies on the CPU type options (I386_CPU, I486_CPU, ...) 1998-01-15 19:47:36 +00:00
mrg 057795048f this is the i386 MD portion of the MACHINE_NEW_NONCONTIG code, as
written by chuck cranor.  thanks to mycroft for helping me find the
one little line of code i accidentally deleted while merging it.

this is not enabled by default.  `options MACHINE_NEW_NONCONTIG'
will use this code.  eventually, this should go into <machine/vmparam.h>
insteaed of MACHINE_NONCONTIG.
1998-01-13 12:52:16 +00:00
perry 6f57e5c573 multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom) 1998-01-09 22:23:44 +00:00
thorpej 3e7eb6c80a Garbage-collect pm_pdchanged; it's not used by anything. 1998-01-06 07:16:06 +00:00
perry 015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
thorpej b9f1b716f3 Now that all ports have pmap_activate(), and it has an identical interface,
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
fvdl be205fedc0 Define constants for the start and end VA of user page tables. 1997-12-07 21:30:11 +00:00
bouyer d45f82208d Add a cpu_setup() function to "struct cpu_nocpuid_nameclass" and
"struct cpu_cpuid_family", so that we can have a cpu_setup function per
known cpu type. For now use it only for cyrix 6x86 to enable suspend-on-halt
and implement cyrix's workaround to the "coma bug".
1997-11-27 11:53:45 +00:00
kleink 66c2794142 Add _BSD_SUSECONDS_T_ and _BSD_USECONDS_T_; do some space vs. tab formatting
cleanup
1997-11-23 20:20:53 +00:00
mycroft 6a310175c6 Some general cleanup:
* Call gdt_init() earlier on.
* Don't bother to check for TSS and LDT descriptors in verr_gdt().
* Nuke the sti special case for trace and breakpoint traps.
* Move some variable declarations into more appropriate locations.
1997-11-13 03:16:42 +00:00
thorpej 0b04d28454 Mark uses of long long with /* LONGLONG */ for lint. From
Chris Demetriou <cgd@pa.dec.com>.
1997-11-05 04:36:08 +00:00
thorpej 023d8288ee asm -> __asm__ 1997-11-05 03:53:20 +00:00
thorpej 4730a8cbec Bug fixes and cleanup from Chris Demetriou <cgd@pa.dec.com>:
- fix _C_LABEL so that it actually works.
- make __RENAME use _C_LABEL.
- fix __RENAME so that it expects an unquoted argument.
- fix __indr_reference and __warn_references so that they
  supply their own final semicolon.
- define __warn_references to nothing if not GNU C (required
  by the way it's used).

The __warn_references semicolon change has to be made
so that __warn_references can be defined into nothing.
(A ; all by itself isn't a great idea.)  The __indr_reference
change was made for consistency.
1997-11-04 23:09:23 +00:00
thorpej 15339d7ea8 Make pmap_{,de}activate() take a pointer to a proc. 1997-11-04 01:37:01 +00:00
thorpej 665f7d1a6e Implement __RENAME() in <machine/cdefs.h> 1997-10-22 05:20:32 +00:00
fvdl d41883c9ac Fix typo in VM_MAX_ADDRESS. 1997-10-20 09:02:21 +00:00
fvdl 74f97b28cc Change various constants that depend on the kernel VM base address. Lower
it to 0xf0000000 to give it more breathing space.
1997-10-20 00:45:03 +00:00
mikel 4c46c2bcc3 cosmetic cleanup (newlines, comments) 1997-10-18 04:51:03 +00:00
bouyer 9cba1f94e1 Add detection of cyrix/ibm 6x86 cpu: these CPU pass the 486 test, but
fail the cyrix486 one. Add a test which succeed for all cyrix CPUs (from
FreeBSD).
1997-10-17 18:05:44 +00:00
mycroft 3e3c21dc5d Update a comment dating from 4.3/VAX. 1997-10-16 02:31:32 +00:00
jtk d6c9c08d70 put in place a proper bioscall.h (sorry about that!)
finish up incomplete job of moving structure used by bioscall() to
<machine/bioscall.h>, with associated changes in include file strategy,
genassym stuff, etc.
1997-10-15 01:20:33 +00:00
christos 37f905c2b8 Someone [who will remain nameless] forgot this... 1997-10-14 22:00:05 +00:00
christos b848861bfd Add ENDIANNESS constant 1997-10-11 19:11:10 +00:00
bouyer 6ab3092b11 Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
1997-10-09 15:42:19 +00:00
jtc 1bcecdd613 Fix tipo inherited from old version of TNF copyright template. 1997-10-09 08:48:33 +00:00
fvdl d786742d91 Provide workaround (by Charles Hannum) for error in register allocation that
could occur in bus_space_write_multi*
1997-10-01 08:25:15 +00:00
drochner b8a47d06da Define "machdep.booted_kernel" for sysctl. 1997-09-20 12:40:25 +00:00
drochner 17b42ff68d Data structures passed from the boot loader to the kernel. 1997-09-20 12:08:21 +00:00
leo d4713d24c2 Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
mycroft 99a6404735 Add an ibcs2_setregs(). 1997-09-11 23:05:30 +00:00
mycroft d766a8aa21 Remove some vestiges of BDB. 1997-09-09 21:42:38 +00:00
chuck 0b471e545e add bits for %cr4 and cpu_feature [from freebsd and www.sandpile.org] 1997-09-05 22:28:12 +00:00
chuck 302dad0aaa add invlpg, and rcr4/lcr4 1997-09-05 22:25:20 +00:00
drochner fe882d2810 Put all console initialization into 1 exported function (pccnattach()).
Delay setting of cn_tab->cn_dev until autoconfiguration attach
  to get the minor number right.
Delete unused pccnprobe() and pccninit().
1997-08-23 14:10:12 +00:00
cgd efecf08fef Sync with bus_space(9):
* make map and alloc take 'flags' rather than 'cacheable,' for
  more flexibility.
* rename BUS_BARRIER_* to BUS_SPACE_BARRIER_*, for consistency.
* rename bus_space_copy_* to bus_space_copy_region_* and make their
  defns match the updated spec.
Backward compatibility is provided by defining __BUS_SPACE_COMPAT_OLDDEFS,
which is currently defined by default.
1997-08-15 00:45:16 +00:00
drochner 5a32b608a0 -Export variables needed for system console initialization.
-Because *cnputc()'s second argument is an "int" in cons.h, correct
  pccnputc() accordingly.
1997-08-14 16:02:14 +00:00
perry 03c3f2c28f fix spelling error, pr-3974 from Dave Huang 1997-08-12 23:53:54 +00:00
thorpej 8d85b14ca8 Give the __GNUC__ versions of ntohl() and friends the proper (in_addr_t
or in_port_t) signature.
1997-07-17 18:44:08 +00:00
perry ad1710ce1e update comment from 1981 on memory and disk prices -- pr-2754 from Curt Sampson 1997-07-12 16:18:36 +00:00
cgd 9989c90b52 rename i386 bus_space_{map,unmap,subregion,alloc,free} implementation
functions (which only work on memory and i/o space) to i386_memio_*,
and make bus_space_* in bus.h be #defines which invoke them.  This makes
life easier for people who need to define the all of the bus_space functions
so that they work on spaces other than memory and I/O space.  Also, add
an _i386_memio_map function which is like i386_memio_map but doesn't do
the extent map checking or allocation.  _i386_memio_map and i386_memio_*
are for use only by machine-dependent code.
1997-07-10 02:36:44 +00:00
thorpej 15de91e26d Add a breakpoint() inline, used by DDB and KGDB. 1997-07-05 20:49:46 +00:00
thorpej bbf08442c7 Define the ALTENTRY() macro here. 1997-07-05 20:49:19 +00:00
thorpej 0404c01c46 #define DB_AOUT_SYMBOLS 1997-06-26 01:26:56 +00:00
thorpej 9e69444bbd Nuke __VM_PMAP_HACK. 1997-06-12 23:57:26 +00:00
mrg dc6a98e92c bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:09:23 +00:00
thorpej 7a15aef7ea Pull thorpej-bus-dma branch into mainline. 1997-06-06 23:24:31 +00:00
gwr e2a58b69f7 Add #define __VM_PMAP_HACK as a temporary measure. 1997-05-16 21:35:30 +00:00
mycroft 1963665c7e Add IPL_AUDIO. 1997-03-21 04:34:18 +00:00
mycroft ff6b9e27ce Do not permit the user to set the nested task flag. 1997-03-19 03:52:02 +00:00
fvdl b754b514dc Bring limits up to 'modern' standards. 1997-03-05 23:51:47 +00:00
mycroft b2038a332d Import interrupt priority changes from com patches:
* Make it a strict hierarchy.  (It was close anyway).
* Add `serial' and rename `softtty' to `softserial'.
* Make soft interrupts a bit less special-case.
1997-02-28 16:24:03 +00:00
jonathan a2ff9d9662 Protect MCLSHIFT definition so users can customize MCLBYTES. 1997-02-26 01:21:18 +00:00
fvdl 115b6d92fa Define ALIGNED_POINTER 1997-02-24 23:16:53 +00:00
gwr ea3925f508 FIXUP_PC_AFTER_BREAK now takes an arg of type db_regs_t * 1997-02-06 21:16:28 +00:00
perry 19d153fc48 Nuke some options GENERIC residue. 1997-02-04 04:57:10 +00:00
mycroft 12da023cd4 db_expr_t became a long. 1997-02-03 23:36:09 +00:00
fvdl 3dc301ff58 Include VM_MAX_KERNEL_BUF constant to put a cap on buffer cache KVM usage.
Override via config file possible.

XXX this is a stopgap measure.
1996-12-09 22:49:42 +00:00
fvdl 9e2e734159 Remove _MCOUNT_DECL prototype once more. 1996-12-07 12:59:45 +00:00
fvdl 671b24f374 Add _MCOUNT_DECL prototype. 1996-12-05 10:21:09 +00:00
cgd 96acdadef7 First step inn removing config_scan() and the hacks that gave devices
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:

Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
1996-12-05 00:13:47 +00:00
fvdl 380174248f Change asm.h to make it usable for kernel profiling as well.
Make mcount() a prototype in profile.h
1996-12-04 00:03:41 +00:00
fvdl 2775763610 Added types/definitions for changed CPU recognition code. 1996-12-03 23:54:54 +00:00
thorpej 3883cff7fb Oops, bus_space_set_{multi,region}_N() is supposed to have an `offset'
argument.  Add one to the `prototype' in the comment which preceeds
`not implemented' :-)
1996-12-02 05:35:13 +00:00
jtc 9da5f60715 PROF -> GPROF 1996-11-30 02:48:57 +00:00
jtk 73b960a308 add pre-probe step so that autoconfiguration does not print 'apm0 at
mainbus0 not configured' message if configured but not present in the
BIOS
1996-11-22 00:19:07 +00:00
fvdl c15f6d921f Changes for NKPDE calculation from cgd.
- New variables: biosextmem, biosbasemem, nkpde
- Above can be set by using the options BIOSEXTMEM, BIOSBASEMEM,
  and NKPDE respectively (EXTMEM_SIZE is now called BIOSEXTMEM).
  When preset this way, they won't be filled in / calculated.
- Readable by sysctl using machdep.nkpde, machdep.biosbasemem
  and machdep.biosextmem.
- nkpde is calculated as:

	min(NKPDE_MAX, NKPDE_BASE + (biosextmem >> 10) * NKPDE_SCALE)

  Where NKPDE_MAX is 31, NKPDE_BASE is 4, NKPDE_SCALE = 1.
1996-11-18 01:06:09 +00:00
jtc 16b48272c4 Define _BSD_CLOCKID_T_ and _BSD_TIMER_T_ 1996-11-15 22:38:45 +00:00
fvdl ac0bb07268 Add MACHINE_NONCONTIG as a define. 1996-11-15 09:21:41 +00:00
thorpej e463f9241e Two things pointed out by Chris Demetriou <cgd@cs.cmu.edu>:
- The boundary argument to bus_space_alloc() should be a bus_size_t, not
  a bus_addr_t.
- The buffer arguments in the "multiple write" methods should have
  const qualifiers.

And one from me:
- Make bus_space_barrier() eat up the arguments passed to it so that
  the compiler doesn't needlessly whine.
1996-11-10 03:19:25 +00:00
thorpej 16c4c5af26 New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
	  devices.  It's all "bus space" now, and space tags
	  differentiate the space with finer grain than the
	  bus chipset tag.
	- Add memory barrier methods.
	- Implement space alloc/free methods.
	- Implement region read/write methods (like memcpy to/from
	  bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
1996-10-21 22:24:37 +00:00
christos 06555645c2 printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:24:36 +00:00
christos 1f54d4ded6 add in_addr_t and in_port_t and use them. 1996-10-11 00:02:47 +00:00
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
christos 0b99fde177 Fix PR/2782: Remove definition of dos_partitions[]. 1996-10-01 00:06:05 +00:00
cgd 0e097578a2 add and use a machine-dependent header, which currently defines some
macros to use to remove #ifdefs from the machine ID case check.
Eventually, these headers will contain other information, e.g.
machine-dependent relocation information, etc.
1996-09-26 21:50:55 +00:00
jtk 2b5e1cd158 clean up missing prototype, extra variable 1996-09-10 11:22:33 +00:00
jtk 1a1feb3827 change APM to use new almost-generalized BIOS trampoline:
/*
 * void bioscall(int function, struct apmregs *regs):
 * 	call the BIOS interrupt "function" from real mode with
 *	registers as specified in "regs"
 *	(for the flags, though, only these flags are passed to the BIOS;
 *	the remainder come from the flags register at the time of the call:
 *	(PSL_C|PSL_PF|PSL_AF|PSL_Z|PSL_N|PSL_D|PSL_V)
 *
 *	Fills in *regs with registers as returned by BIOS.
 */

Thanks to Charles Hannum for complaining and inspiring me to hack this
together.
1996-09-08 15:43:37 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
jtk f613796771 make all constants use APM_ prefix, and some other minor cleanup so that
this can be the sole APM include file
1996-08-30 02:36:00 +00:00
jtk b86b695240 add Advanced Power Management driver
Includes bootstrap support from FreeBSD (Tatsumi HOSOKAWA and <ukai>)
1996-08-25 23:38:57 +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
mycroft b3d8a261b9 Make imask[] larger, to match other changes. 1996-05-13 06:11:28 +00:00
mycroft 635c72115c Add multiple-inclusion protection. 1996-05-13 01:35:06 +00:00
mycroft 417bb90896 Move spl*() and soft interrupt definitions into intr.h. For now, include it
from psl.h.  XXX Will change after release.
1996-05-13 01:28:01 +00:00
mycroft a8e2ce97e4 Implement IPL_HIGH. 1996-05-12 23:06:06 +00:00
mycroft 9f8f77f8f6 Move IPL_* and IST_* constants into intr.h. 1996-05-12 22:52:23 +00:00
jtc 0edf3579f4 Revert last change.
Changing types from unsigned {long,short} to u_int{32,16}_t causes problems
in a lot of userlevel code because those types aren't defined when machine/
endian.h is included.  And IMO including sys/types.h in machine/endian.h
is clearly wrong.

XPG4.2 defines new types in_addr_t and in_port_t for the {h,n}to{n,h}{l,s}
functions.  But we don't have time to figure out the implementation issues
given the current release schedule.
1996-05-08 20:00:38 +00:00
christos 59fdcbc7ad Change the prototype of fillw from (int, caddr_t, size_t) to
(short, void *, size_t).
1996-05-05 19:29:26 +00:00
christos 573f5e0cd6 Add the joystick 1996-05-05 19:28:34 +00:00
christos b927d7be11 Fwd declarations for MD drivers. 1996-05-03 19:34:11 +00:00
christos 8fd0f1f8b3 Add missing prototypes. 1996-05-03 19:26:28 +00:00
christos 391a4ddc7c use u_int32_t instead of unsigned long
and u_int16_t instead of short in the {h,n}to{n,h}{l,s} inline routines
and macros.
1996-05-03 19:25:23 +00:00
christos 0b3580eb25 Comment out unused routines; add prototype for kdb_trap 1996-05-03 19:23:59 +00:00
christos dc3ce37d53 Add prototypes from other files. 1996-05-03 19:22:49 +00:00
christos 1044435088 Avoid unused variable warnings, by using the first argument to the bus
functions.
1996-05-03 19:22:18 +00:00
mycroft 7511a5540e Remove BIOSSEG.
Don't mess with the flags when entering a software interrupt.
Use IF, not VIF.
NOTE: These changes break dosemu, but are required for proper emulation.
1996-04-30 10:35:25 +00:00
mycroft 47bf863ac1 Make some of the flag handling clearer. No functional change. 1996-04-18 10:04:32 +00:00
mycroft 035e9c211e Use the flag mask in a somewhat more sane fashion. 1996-04-12 05:57:43 +00:00
mycroft c8ab43244b Actually keep track of the naughty PSL bits.
Use VIF, rather than IF, by default, to be compatible with dosemu.  XXXX
1996-04-11 10:07:17 +00:00
mycroft 48643c6605 Export [gs]et_vflags(), and always use them when saving/restoring registers
in VM86 mode.
Allow changing of *all* PSL bits in VM86 mode; some applications don't work
right otherwise, and all the nasty bits are virtualized anyway.
Make sure PSL_VIF, PSL_VIP, and PSL_VM don't show up in the user's view of
the PSL.
1996-04-11 07:47:33 +00:00
thorpej 84c7027789 Add bus_io_{read,write}_multi_{1,2,4,8}() to the <machine/bus.h>
interface, and implement them (except for the 8-byte versions) on
the i386.
1996-04-05 23:59:37 +00:00
mycroft 6424af4c10 Prototype delay(). 1996-03-29 00:23:28 +00:00
perry ee2fa11baf add joystick driver from Matthieu Herrb (pr #2267) 1996-03-27 19:11:13 +00:00
jtc 2ce5f1478b Add _BSD_WINT_T_ definition so we can handle wint_t type added in NA1. 1996-03-16 01:31:45 +00:00
ghudson 4e0c8707f7 To enable people to mount DOS partitions on disks with no NetBSD
partition, add the MBR partitions to the default (faked-up)
disklabel used by NetBSD if it can't find a real one.  If the
type of the MBR partition is one of the common DOS ones, mark the
partition as having an MSDOS filesystem.
1996-03-09 20:52:54 +00:00
cgd 0b56afadf3 make this idempotent. bus.h needs to include it, and other things which
may include something that includes bus.h may include it as well.
1996-03-08 20:15:23 +00:00
cgd 6826c7bf48 bus memory and I/O space access functions/macros, to be used by
machine-independent code for more sane access to bus resources.
New functions will be added to this set, in the future, as appropriate,
but this is a good starting set.  Defines:
	bus_{io,mem}_{map,unmap}
	bus_{io,mem}_{read,write}_{1,2,4,8}
functions, and several types to go with them.
1996-03-08 20:11:23 +00:00
cgd 18ec26aa21 add _MACHINE and _MACHINE_ARCH, which are like MACHINE and MACHINE_ARCH,
execpt without quotes.  meant to be __CONCAT()ted for easy #includes
of machine-dependent headers for MI code (e.g. for the MI ISA/EISA/PCI/TC
bus code).
1996-03-04 05:04:10 +00:00
cgd 1c5d7babe5 Clean up tabbing/spacing in defns of MACHINE, MACHINE_ARCH, and MID_MACHINE. 1996-03-01 23:30:08 +00:00
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
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