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