ragge
2de1ab0486
Add ci_cpuid.
...
Change the CLKF_ macros because the idle loop is now running at IPL1.
2001-05-29 21:29:32 +00:00
ragge
3b4d7a2948
Must lock kernel when softclock is called from outside hardclock.
2001-05-29 21:28:14 +00:00
ragge
1cf7a84a88
Add a bunch of locking code for MP systems.
2001-05-29 21:27:25 +00:00
ragge
c20a10d57d
Call proc_trampoline_mp() after fork in multiprocessor environment.
2001-05-29 21:26:44 +00:00
ragge
6492868388
Change Swtch so that the old process context is stored directly and the
...
idle loop is on the interrupt stack instead of the last running process'
stack. This is needed to work in a multiprocessor environment.
2001-05-29 21:25:11 +00:00
mrg
3783ca5d30
define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
...
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
ragge
b7fc0b163a
Compare arguments must have correct order, won't work as expected otherwise.
2001-05-27 19:33:20 +00:00
ragge
aee2068e10
Don't install machine/loadfile_machdep.h; per PR#12666.
2001-05-27 15:37:06 +00:00
chs
11a9651c8f
replace vm_page_t with struct vm_page *.
2001-05-26 21:27:10 +00:00
matt
8db6fcfd51
Move the diagnostic tests with the if.
2001-05-19 23:47:19 +00:00
matt
66d1e28936
Don't compute psuedo header checksum if nxt == 0.
2001-05-19 00:04:56 +00:00
matt
c45b32243a
Add a VAXANY type. Eventually to used in INSTALL / GENERIC to easily
...
include support for all VAX platforms
2001-05-16 05:36:53 +00:00
ragge
825165a54a
Octal numbers _must_ have a heading '0'!
2001-05-15 18:59:45 +00:00
ragge
74d7e1ecfa
Write support for TU58 tapes written.
2001-05-14 14:43:45 +00:00
ragge
73b901c711
Add checksum calculation, busy-wait loops for receive packets and use
...
correct interrupt levels (spl7). Reading tapes now work reliable.
2001-05-13 21:19:44 +00:00
matt
ed4e69766c
Add VAX640
2001-05-13 15:37:28 +00:00
ragge
68d0ed5c0c
Add bus type.
2001-05-13 15:24:18 +00:00
ragge
f0870603cb
Remove forgotten VAX_BTYP_690. From Michael Kukat.
2001-05-04 14:13:50 +00:00
matt
1d9ed205f2
change to let make obj work right with MAKEOBJDIRPREFIX and read-only source
2001-05-03 05:23:29 +00:00
ragge
5d8483d12a
KA690 is not a Mariah. From Michael Kukat.
2001-05-02 17:35:12 +00:00
matt
2cc76644a2
Use the symtab info given by loadfile in the booter instead of assuming
...
we know where it is. This is a requirement for ELF.
2001-05-02 16:05:07 +00:00
matt
504811fa55
Include ELF symbol in DDB is we are an ELF kernel.
2001-05-02 15:59:38 +00:00
matt
62b9bd04b1
Pass the numbers of syms down as well.
2001-05-02 15:33:14 +00:00
scw
2963ff5c58
Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
...
in each tty driver to indirect through it.
This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
matt
4bef52d8d5
Use loadfile with boot commands, not exec.
2001-05-02 06:56:54 +00:00
matt
4414a7f791
Keep around a version of boot with symbols.
2001-05-02 06:56:29 +00:00
ragge
2ea00c4d85
Add ka610, remove TS11.
2001-05-01 13:21:27 +00:00
ragge
b07617dece
More CPU definitions. From Michael Kukat.
2001-05-01 13:20:35 +00:00
ragge
9ee994852e
Use linear memory mapping for MV1. No map registers.
2001-05-01 13:20:02 +00:00
ragge
e0a272b2cb
Support for MicroVAX 1.
2001-05-01 13:18:27 +00:00
ragge
ecf0eb7abd
CPU support file for KA610 (MicroVAX I). Very simple.
2001-05-01 13:17:55 +00:00
ragge
68cb5a262d
Do not (try to) remap the qbus on MV1.
2001-05-01 13:08:09 +00:00
ragge
362abadb92
Detect 4000/500A, 4000/600A and 4000/705A. Also detect MicroVAX 1.
2001-05-01 11:13:46 +00:00
ragge
1e1a8fa3fd
Support for more NVAX types: VAX 4000/705A and (untested) 600A.
...
From Michael Kukat.
2001-05-01 11:11:47 +00:00
matt
1e70afa5e6
Make the jmp_buf bigger under ELF so it can store a full context.
2001-05-01 04:47:37 +00:00
thorpej
cf67ac7122
Per discussion w/ chuck and chuck, restructure the md page stuff
...
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
matt
79649c917a
Move RB_KDB check to after VM is init so that there's an
...
interrupt stack for DDB to run on. This makes boot -d work.
2001-04-30 04:26:19 +00:00
thorpej
2b27ac7a99
Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
...
each vm_page structure. Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM. These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.
This deprecates struct pmap_physseg. As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.
Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now). Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
matt
a403ed4939
Fix printing of stack traceback (last argument was always wrong). Use
...
%#x so that 0s are 0 and not 0x0
2001-04-29 22:17:24 +00:00
kleink
fe3c9ceaf7
* Move definitions of exact-width integer types from <machine/types.h>
...
to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
intmax_t, pointer-type and size_t arguments.
2001-04-28 15:41:28 +00:00
ragge
0c1fdede08
MD in4_cksum.
2001-04-28 09:38:03 +00:00
ragge
8f8a96a056
Fix a bug so that MD-optimized in4_cksum() now works.
...
While here; rewrite header checksum calculation in assembler.
2001-04-28 09:36:01 +00:00
ragge
ec52ca1e06
Enable the L1 cache on KA640. Problem reported and testing help from
...
Saku Setala.
2001-04-27 15:02:37 +00:00
kleink
99054d7a6c
Add definitions for C99 fastest minimum-width integer types.
2001-04-26 16:25:19 +00:00
bouyer
937a7a3ed9
Pull up the thorpej_scsipi branch to main branch.
...
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
will be requeued, or a REQUEST SENSE will be sent as appropriate.
Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
ragge
2f019a2701
Support for KA681 (4000/500A) from Michael Kukat.
2001-04-24 20:16:36 +00:00
thorpej
1c3a62e066
Sprinkle pmap_update() calls after calls to:
...
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).
These calls are relatively conservative. It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
thorpej
1e306aae10
Garbage-collect pmap_bootstrap_alloc(); nothing uses it.
2001-04-23 23:58:09 +00:00
thorpej
55044638aa
Remove pmap_kenter_pgs(). It was never really adopted by
...
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej
69abdbf60c
Undo a misguided previous change to the pmap_update() API.
2001-04-22 23:19:26 +00:00
thorpej
cfb5c7ed9f
Make pmap_virtual_space() a required pmap function, even on platforms
...
which have pmap_steal_memory(). This is to reduce the API differences
between pmaps that implement pmap_steal_memory() and pmaps which do
not.
Note that pmap_steal_memory() needs to adjust *vstartp and/or
*vendp only if it used addresses within the range provided to UVM
via the pmap_virtual_space() call. I.e. it is not necessary to do
so in any current pmap_steal_memory() implementation.
2001-04-22 17:22:57 +00:00
thorpej
4738622712
Give pmap_update() an argument (a pmap_t) so that it knows which
...
pmap it should be updating.
2001-04-22 00:33:59 +00:00
thorpej
15f731ee94
pmap_update() should not be equated with "flush entire TLB", it is
...
used to process deferred pmap operations. Since these pmaps don't
defer anything, pmap_update() is a noop.
2001-04-21 17:25:01 +00:00
kleink
f06533a1ee
Add definitions of C99 integer format conversion macros.
...
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink
739cb75837
Add definitions of C99 specified-width integer type limits.
...
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink
c544d84b41
Catch up with ansi.h rev. 1.12: define SIZE_T_MAX and SSIZE_MAX as long
...
integer constants in ELF environments.
2001-04-15 14:16:08 +00:00
kleink
80ad23a5da
Catch up with ansi.h rev. 1.12: define intptr_t and uintptr_t as long
...
integers in ELF environments, like is done with ptrdiff_t.
2001-04-15 13:38:19 +00:00
kleink
a7c20e5788
Add definitions of C99 integer constant macros.
2001-04-14 22:38:33 +00:00
kleink
7affdab52e
Add definitions of C99 minimum-width and greatest-width integer types.
...
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej
bf2dcec4f5
Remove the use of splimp() from the NetBSD kernel. splnet()
...
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
kleink
9133b51cd8
Replace the 'unsigned __COMPILER_INT64__' construct with a new name,
...
__COMPILER_UINT64__, to be supplied - if such a case is made, it shouldn't
be assumed that the unsigned type-specifier may be applied to it.
2001-04-12 22:01:18 +00:00
thorpej
023e07a194
splimp -> spluba
2001-04-12 19:16:56 +00:00
thorpej
c031c366f6
Add spluba().
2001-04-12 19:16:06 +00:00
thorpej
9b2337e9d8
splimp -> splbio.
2001-04-12 18:34:56 +00:00
thorpej
7a46b74c7b
splimp -> splbio.
2001-04-12 06:20:59 +00:00
thorpej
b614ba3c5c
splimp -> splhigh
2001-04-12 06:08:44 +00:00
thorpej
ff7a879497
splimp -> splvm
2001-04-12 06:07:42 +00:00
ragge
b98dc685a3
Be sure that all kernel stack pages are valid after swapin. Fixes PR#12520.
2001-04-01 19:18:42 +00:00
ragge
fab65b55e4
(Untested) recognition of KA55.
2001-03-31 11:50:45 +00:00
ragge
9a6b7bcffa
Support for the 4000/600 cache, from Lord Isildur. (mrfusion@vaxpower.org)
2001-03-31 11:50:12 +00:00
ragge
b6aa1dfc2b
Compile vsbus_dma.c if vax53, hinted by Michael Kukat.
2001-03-27 18:01:59 +00:00
lukem
20ba07f2fe
- add dev_noimpl(xxx,yyy) macro to replace "(dev_type_xxx((*))) yyy",
...
and use appropriately
- create more helper macros:
. cdev__xyz_init(c,n), such as cdev__ocri_init() for
/* open, close, read, ioctl */, etc.
. cdev__xRy_init(c,n), where nullop is used instead of enodev to dummy out
method `R' and the comments now read /* xxx (read) yyy */ instead
. cdev__xyz_t_init(c,n,t) - as per cdev__xyz_init, but sets d_type = t
as well
- use seltrue instead of dev_noimpl(poll,*), as (IIRC) cdevsw.d_poll should
always DTRT WRT returning a valid result. (a few devices previously
incorrectly returned ENODEV)
- use dev_noimpl(stop,enodev) instead of dev_noimpl(stop,nullop) if tty
== 0, because it doesn't matter if dev_type_stop isn't implemented in that
case, and it allows the use of the cdev__xyz_init macros. certain ports
(sparc,sparc64,x68k) used the nullop method for dev_type_stop in a few
drivers, whereas everything else uses enodev
- ensure that the comments are accurate WRT the behaviour of a given entry
2001-03-26 12:33:22 +00:00
ragge
4a933b0a25
VAX_STYP_690 added, from Lord Isildur.
2001-03-21 21:11:13 +00:00
soren
912c115675
s/vm_page_alloc_memory/uvm_pglistalloc/ in panic message.
2001-03-21 18:40:28 +00:00
matt
96184e84cf
Add a diagnostic when we encounter an unknown boot device type.
2001-03-20 05:51:35 +00:00
chs
ac3bc537bd
eliminate the KERN_* error codes in favor of the traditional E* codes.
...
the mapping is:
KERN_SUCCESS 0
KERN_INVALID_ADDRESS EFAULT
KERN_PROTECTION_FAILURE EACCES
KERN_NO_SPACE ENOMEM
KERN_INVALID_ARGUMENT EINVAL
KERN_FAILURE various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE ENOMEM
KERN_NOT_RECEIVER <unused>
KERN_NO_ACCESS <unused>
KERN_PAGES_LOCKED <unused>
2001-03-15 06:10:32 +00:00
thorpej
2c4c690f14
Add the BUS_DMA_STREAMING flag.
2001-03-07 22:42:16 +00:00
ragge
f860eda596
This file hasn't been in use for a long time.
2001-03-05 16:02:23 +00:00
mrg
dc3c3a7bdd
re-add.
2001-02-25 14:56:47 +00:00
mrg
c4b3d490bb
delete (again), then add (again) ?
2001-02-25 14:56:01 +00:00
mrg
af19a7de64
try a `cvs ci -f' to make this appear on the trunk again. no changes.
2001-02-25 14:47:22 +00:00
cgd
8a986b2e96
convert to use getprogname()
2001-02-19 22:48:57 +00:00
ragge
195dd4efe6
Make the machine halt when halted and reboot when rebooted.
...
From Shinmyoh Koji (yesu@rb3.so-net.ne.jp ).
2001-02-18 16:56:22 +00:00
ragge
aa13a12702
Support to control the leds on VAXstations, taken from Sun3 and ported
...
to vax by Shinmyoh Koji (yesu@rb3.so-net.ne.jp ).
2001-02-18 10:44:20 +00:00
ragge
4e155d4593
Check page reference in pmap_clear_reference(). Fixes vax hang problem
...
with ubc, tested by Chuck Silvers.
2001-02-11 19:25:55 +00:00
chs
fac51ab1a0
create dependency info for assym.h.
2001-02-08 15:19:14 +00:00
abs
c78bf4efdb
Add ipfilter, and a bunch of (commented out) network options.
2001-02-05 17:32:08 +00:00
ragge
1af765a6dd
Oops, forgot this file.
2001-02-05 13:20:10 +00:00
ragge
2c1941b3eb
Giant update from Michael Kukat (michael@unixiron.org).
...
Fixes support for:
MicroVAX 3100m90
MicroVAX 3100m95
VAX 4000/100 (tested)
VAX 4000/105A (tested)
VAX 4000/108
VAX 4000/400 (tested)
VAX 4000/500 (tested)
VAX 4000/600
2001-02-04 20:36:26 +00:00
ragge
e4d9af4b42
A bunch of new CPUs that are supported, from Michael Kukat
...
(michael@unixiron.org ). Among them are 4000/400, 4000/500 and 4000/105A.
2001-01-28 21:01:52 +00:00
ragge
747983bb5b
Fix late "constifying" in ddb.
2001-01-28 20:47:45 +00:00
ragge
630d0523f6
These are not used anymore.
2001-01-28 20:04:50 +00:00
ragge
8032849729
Rename dz_ibus to dz_vsbus.
2001-01-28 19:26:34 +00:00
tv
e58532a4bf
No-op commit to force update to a non-"-kk" revision.
2001-01-18 17:47:58 +00:00
jdolecek
d5d431e8ae
make db_[e]regs[] const
2001-01-18 10:54:27 +00:00
fvdl
c7f1462f3e
Add machdep file for procfs. Currently only used for linux-style
...
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
thorpej
d74e432ed3
Make softclock a generic soft interrupt of the API is available,
...
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej
45de366b2e
Rename __GENERIC_SOFT_INTERRUPTS to __HAVE_GENERIC_SOFT_INTERRUPTS,
...
and place the definition in <machine/types.h>. This can now be used
as a flag to indicate whether or not <machine/intr.h> can be included
to get the generic soft interrupt API.
2001-01-14 23:50:28 +00:00
thorpej
d85a75f583
Make sure everybody has an splvm() and equate it with splimp() (splimp()
...
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
matt
27980172f6
Add the types needed by the new locale code.
2001-01-13 03:48:26 +00:00