Commit Graph

295 Commits

Author SHA1 Message Date
ragge a355d0bc1b Re-implement page reference bit emulation by using the (otherwise unused)
valid bit. This is faster than the "unmap all" solution that were described
in that Mach paper _and_ it eliminates the need for checking the wired bit.
As a result of this; swapping started working again on vax :-)
1998-01-31 12:17:34 +00:00
ragge eda1eecede Remove __BROKEN_INDIRECT_CONFIG and change all drivers to use
config_search instead.
1998-01-24 14:16:11 +00:00
ragge afb1a37379 Fix page size initialisation. 1998-01-18 22:07:50 +00:00
ragge 37f6125fdd Garbage-collect unnecessary functions. Don't have blkcpy/blkclr
as inline.
1998-01-18 22:06:01 +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 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
thorpej 172a9381b6 - Remove the PCB pointer from the pmap structure. Instead, store the
page {0,1} base and length registers in the pmap structure.  They will
  be loaded in to the PCB when the process's address space is activated
  by way of pmap_activate().
- Remove pmap_pinit() macro; it's now a real function.
- Prototypes for pmap_pinit(), pmap_activate(), pmap_deactivate().
1998-01-03 00:28:43 +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
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 cc1f5b65c9 asm -> __asm__ 1997-11-05 04:23:35 +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
ragge fd48076569 Use genassym for the first time in vax port history. Rewrite cpu_exit,
cpu_switch, setrunqueue and remrunqueue in assembler for efficiency.
1997-11-03 20:00:17 +00:00
ragge ae27edc757 Major rewriting, optimization and simplifying of the pmap code:
- Map in all physical memory first in system space. This reduces
  pmap_copy_page() and pmap_zero_page to 3 resp. 2 instructions.
- Have fized position user page tables. Makes the pv_table smaller
  and all reverse references faster (and simpler).
- Remove the wiring code. Nobody doesn't even know what a DR32 is anymore.
- Simulate page reference bit by setting page invalid, as suggested by
  Rich Draves in a paper for 1991 Mach Usenix Symposium.

This reduced the time spent in the pmap module to between 70-75% of
the previous; and made process startup _much_ faster.
1997-11-02 14:25:19 +00:00
ragge 84f5dc2404 Fix clearing of redundant restart flag; CPU specific.
Also clean up a bit.
1997-11-02 14:07:07 +00:00
thorpej 665f7d1a6e Implement __RENAME() in <machine/cdefs.h> 1997-10-22 05:20:32 +00:00
ragge efa4c7c48e MSGBUFSIZE must be in CLBYTES, not NBPG. Also expand it to 4 * CLBYTES. 1997-10-19 20:48:47 +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
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
ragge cd0d651d0f delay() must be protected by #ifdef _KERNEL. 1997-08-05 13:28:51 +00:00
ragge 23e157b82b Handle XFC instruction faults. 1997-07-28 21:48:33 +00:00
ragge ab4412faad Actually do 'halt' or 'reboot' on MicroVAX. 1997-07-26 10:12:40 +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
ragge 759763742b Remove __VM_PMAP_HACK. 1997-07-06 22:38:22 +00:00
thorpej 0404c01c46 #define DB_AOUT_SYMBOLS 1997-06-26 01:26:56 +00:00
ragge 9412f1c4fc Some new definitions for different boot devices. 1997-06-13 08:24:09 +00:00
mrg dc6a98e92c bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:09:23 +00:00
ragge 2492a42479 System statistics fixes. From Johnny Billquist (bqt@update.uu.se). 1997-06-07 12:15:27 +00:00
gwr e2a58b69f7 Add #define __VM_PMAP_HACK as a temporary measure. 1997-05-16 21:35:30 +00:00
ragge e3a104cb1f Oops, I forgot to check this file in after clock changes. 1997-05-04 19:13:33 +00:00
ragge df9ea3ac75 Updates to KA43 (VS3100/76) support by Bertram Barth. 1997-04-18 18:53:38 +00:00
ragge 1d90a0a507 Add definitions for DEC HW device numbers. 1997-03-15 15:09:40 +00:00
ragge b5b674f227 Do not use inline functions in boot blocks. Some CPUs doesn't have
all instructions.
1997-03-15 15:08:23 +00:00
ragge b64bca2999 Fixed bug that caused d partition being treated as c.
RAW_PART is 2, not 3.
1997-03-09 15:55:58 +00:00
fvdl 115b6d92fa Define ALIGNED_POINTER 1997-02-24 23:16:53 +00:00
ragge e86bc96653 Basic change to cpu-config code. This will make support of new
cpu types much easier.
1997-02-19 10:04:09 +00:00
ragge c3aeacf957 unsigned -> long to match ddb change. 1997-02-16 20:37:29 +00:00
ragge e7d1921239 Remove bogus prototypes. 1997-02-12 17:58:56 +00:00
ragge f5f92a31ca Walk a step closer to more intelligent User PTE handling. 1997-02-12 17:52:59 +00:00
ragge 2bb5ceb3e0 Improve sub-type identification of the CVAX CPU, for later cache handling. 1997-02-12 17:50:36 +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
thorpej fc9c10afb7 Update prototypes to match new calling convention of functions that
find the boot device.
1997-01-31 02:11:51 +00:00
ragge 3026c5e35e Put in another external declaration. 1997-01-11 11:46:43 +00:00
ragge 7bf599379e Prototype change of scanc needs change here also. 1997-01-11 11:07:52 +00:00
ragge f98e31628a #define MAXBSIZE to some nice value. 1997-01-11 11:06:17 +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
jtc 9da5f60715 PROF -> GPROF 1996-11-30 02:48:57 +00:00
jtc 16b48272c4 Define _BSD_CLOCKID_T_ and _BSD_TIMER_T_ 1996-11-15 22:38:45 +00:00
christos 16b74d2c00 use in_addr_t and in_port_t 1996-10-13 03:28:00 +00:00
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
ragge 1c367d4761 Modify bus code arguments. Cleanup. 1996-08-20 14:19:41 +00:00
ragge caff7b03d4 Numerous changes to be able to put Bertram Barth's VAXstation support in.
(Some) Support for VAXstation 2000/MicroVAX 2000, VAXstation 3100/76.
1996-07-20 17:58:12 +00:00
ragge 7ac59ffe68 Reworked time handling; now also handles clock chip CPUs correctly. 1996-07-20 17:35:41 +00:00
ragge 5b0992267c Support for VAX8200; the ka820/ka825 CPUs. 1996-07-20 17:33:06 +00:00
ragge a5b04afcd8 Automatic changing of root device after boot now works. 1996-07-11 19:33:50 +00:00
ragge 02d0803c80 Add spl4 - spl7 macros, easy to use when playing with buses. 1996-07-10 23:51:08 +00:00
cgd 352d972c94 locc() is unused. Remove it from the machine-independent kernel interface. 1996-06-10 15:33:33 +00:00
ragge 7cbd855ad6 Fixed all (proto)type errors. Fixes PR 2377. 1996-05-19 16:43:02 +00:00
ragge a24af7a7c2 Added prototypes to everything. Made all files compile with -Wall. 1996-04-08 18:32:26 +00:00
ragge b7cf2432a0 Fix type clashes. 1996-03-17 22:44:48 +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
ragge f01a5dd8cc We lost declaration of kernel_pmap_store somewhere, put it back. 1996-03-09 23:39:51 +00:00
ragge 6e51b1e47e Support for VAX 8600/8650 added. Works with lots of Unibus adapters,
and will probably work with Massbus adapters as well. (Not tested,
but it's the same code as for 11/780). Ubareset's may cause crashes
on 8600 also like 11/780, but they are more uncommon. No support
for console RL02 yet, but it's likely to come.
1996-03-07 23:22:34 +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
ragge c22fc0bce4 Enable label_t. 1996-03-03 11:21:31 +00:00
ragge 5d89814116 Changes due to 11/780 support. Raise splimp() to BR7. 1996-03-02 14:27:52 +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
ragge df5a5e9485 Remove __FORK_BRAINDAMAGE, and the reason to why it was there. 1996-02-24 15:17:35 +00:00
ragge 2294cbd022 Fixed bug causing DMA to user stack from Massbus disks to give segfaults. 1996-02-23 17:54:33 +00:00
ragge 5025b0f9c9 Definition file for RSP (Radial Serial Protocol) used by DECtape II. 1996-02-17 18:14:50 +00:00
ragge 4cafd3d7d2 PAGE_SIZE should be PAGE_SHIFT. Really ugly bug! 1996-02-11 13:46:23 +00:00
ragge 26d151d2bb Prototype for delay(). 1996-02-11 13:45:37 +00:00
mycroft 5d668ff961 ASSEMBLER -> _LOCORE 1996-02-02 19:08:33 +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
ragge 348b7f3d87 Remove PSL_ALLCC definition. Was commented out anyway. 1996-01-28 12:32:21 +00:00
ragge 1bc66055fb Add uvtopte() macro, to get user pte address easy. 1996-01-28 12:31:24 +00:00
ragge 7a489b8529 Change struct trapframe to also contain stackpointer. 1996-01-28 12:30:13 +00:00
ragge 84c675c572 Change void* to struct pcb* for page table pointers. 1996-01-28 12:27:19 +00:00
ragge 0c5975cdd3 Changed to work correctly with both K&R and ANSI cpp. 1996-01-06 18:37:35 +00:00
ragge 1dab4709a3 Changes requested by Charles Hannum. 1995-12-31 15:05:19 +00:00
ragge d9c6db08da Don't declare _mcount as static, gcc will optimize it away then. 1995-12-31 12:15:58 +00:00
ragge d987547daf An '&' missing in splx macro; causing that sometimes didn't
the interrupt level get set.
1995-12-30 21:37:31 +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
ragge 56ad9078eb MicroVAX III support added. 1995-12-13 18:57:57 +00:00
ragge cf6e6c6ed4 waitabit() macro removed. 1995-12-13 18:56:01 +00:00
ragge 6ab4fc540f Prevent against multiple includes. 1995-12-13 18:55:27 +00:00
ragge dc9996e83e A complete SCB struct included. 1995-12-13 18:54:56 +00:00
ragge 4f22cd5a71 Type change: u_int hoppaddr to void (*hoppaddr)(); 1995-12-13 18:54:03 +00:00
ragge 902fd4cddf PG_SHIFT -> PGSHIFT. 1995-12-13 18:53:15 +00:00
mycroft 292120bf63 Define __FORK_BRAINDAMAGE. 1995-12-09 04:41:41 +00:00
ragge 31f199d4e6 Added earlier forgotten MACHINE_ARCH, pointed out by Arne Henrik Juul.
Cleaned up a bit.
1995-12-04 22:32:53 +00:00
ragge bfc2ca40b8 Function call definition on stack. (calls frame) 1995-11-12 15:07:30 +00:00
ragge 763fd0a011 Macros for locore mapping added. 1995-11-12 14:41:41 +00:00
ragge d96cac4b8e pt_entry_t now struct pte. cleanup. 1995-11-12 14:40:26 +00:00
ragge e6db353726 extern struct scb *scb; added. 1995-11-12 14:38:31 +00:00
ragge 7aac03e745 11/750 specific things moved to ka750.h 1995-11-12 14:37:18 +00:00
ragge 2a23f39e82 struct ivec_dsp for interrupt vector allocation added. 1995-11-12 14:33:11 +00:00
ragge 3095b6514c No need anymore. 1995-11-03 14:34:52 +00:00
ragge 46e32a9703 No need for this file anymore; it's defines moved to other places. 1995-11-03 14:29:23 +00:00
ragge b57ff30a87 Added #ifdef _KERNEL around definition of struct rpb. 1995-10-20 13:47:27 +00:00
ragge 5d49d3ac8f Use macros.h when STANDALONE is defined. 1995-10-20 12:55:06 +00:00
ragge 2572267bae relocation_info added. 1995-09-23 14:57:40 +00:00
ragge 4ff0530b57 Changed way to calculate USRPTSIZE. 1995-08-22 04:28:20 +00:00
ragge ce63fbf5f1 Bug fix in byte_swap_word(); didn't always make it. 1995-08-21 16:36:32 +00:00
ragge e7749341ad Added PG_URKW: World readable, kernel writable. 1995-08-21 03:28:50 +00:00
mycroft 6deb1a5816 Fix comment on splnet(). 1995-08-13 00:45:21 +00:00
mycroft 0e29cb31fa Replace splnet() with splsoftnet(). Add splnet(). 1995-08-13 00:32:47 +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
ragge 5ad69f2c9d nton?/ntoh? moved to endian.h. 1995-07-05 08:22:21 +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
cgd 1c0be437b1 define __BDEVSW_DUMP_OLD_TYPE for ports where it's true. clean up
some m68k ports inclusion of common header.
1995-06-26 05:13:37 +00:00
ragge 913f0b045e DDB support. splddb() and trapcode for ddb. 1995-06-16 15:17:27 +00:00
ragge 215feb7abb New file pcb.h. USRTEXT changed to 0x400. 1995-06-05 17:17:57 +00:00
ragge ae74b4ebab Changed *_MIN to be correct. 1995-05-28 18:38:30 +00:00
jtc 8aa6c376b6 KERNEL -> _KERNEL 1995-05-11 16:52:54 +00:00
ragge 197ff756b0 Machine dependent core dump struct added. 1995-05-07 16:43:34 +00:00
ragge 29a5673f41 BROKEN_SWAP removed, swapping verified OK.
pmap_collect(pmap) added as null define.
1995-05-05 14:13:01 +00:00
ragge bd890814cf Removed cpu_set_init_frame() use.
Increased default limits of memory use, ridiculously small before.
1995-05-05 10:53:53 +00:00
cgd 8703076975 define BROKEN_SWAP and/or cpu_swapout as appropriate. 1995-05-05 03:41:51 +00:00
ragge a412d4803c mtpr support for 11/780 added. DELAY added. mcount() corrected.
trapframe fixed to support all registers.
1995-05-03 19:53:40 +00:00
ragge 172d108798 Added SSIZE_MAX, SIZE_T_MAX, UQUAD_MAX, QUAD_MAX and QUAD_MIN. 1995-04-16 20:10:33 +00:00
ragge 4807c769ca Added regs for trace. 1995-04-12 15:26:49 +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
ragge c362495157 Some bug fixes & update of pcb. 1995-03-30 20:42:55 +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
ragge 1e9d064a15 Def's for uVAXII added. 1995-02-23 17:51:41 +00:00
ragge 4fb1817e07 Lots of fixes... 1995-02-13 00:43:20 +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
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
jtc d7a8b2964f Only define sig_atomic_t when _ANSI_SOURCE is defined. 1995-01-10 19:01:00 +00:00
cgd e5049f4d59 make the definition of _JBLEN mach. dep. header-dependent. 1994-12-20 10:36:27 +00:00
ragge ca49094181 Lots of updates & fixes. 1994-11-25 19:08:50 +00:00
cgd d62187c043 new RCS ID format. 1994-10-26 08:01:33 +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
ragge e2ce91ebf4 Changes to make files more 4.4/1.0B working. 1994-10-08 15:43:53 +00:00
jtc badcc17a6d Add constants required by XPG3 1994-10-05 17:16:29 +00:00
ragge 186e16d63e Minor updates of some errouneous parameters. 1994-08-16 23:41:53 +00:00
ragge 8026fb53f2 Initial VAX port merging. 1994-08-02 20:18:46 +00:00