Commit Graph

1459 Commits

Author SHA1 Message Date
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
ragge 2987c0474d Fixes from OpenBSD by Brandon Creighton. (bjc@openbsd.org)
Log message from OpenBSD:

> - add EMODD emulation (EMODF) -- this fixes modf() and some libm code
>   on systems which don't have native EMODD (i.e., most of them)
>
> - big cleanup of the getval_* stuff - have one routine doing most of the work
>   instead of four doing the same thing
>
> - add some miscellaneous routines -- count sig. bits
>
> - add more operand addressing modes (still not all fully implemented)
>   both the existing POLYD and EMODD can use them
>
> - add me to copyright
>
2001-01-08 22:08:22 +00:00
takemura c5fd828440 replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
2001-01-03 10:08:55 +00:00
matt 4622cfafe0 Redefine the memset/memmove/bcopy/bzero/memset macros to use more agressive
constraints in their inline asm.  Gcc generates much better code now.
2001-01-02 04:03:42 +00:00
matt ab88a97d88 de-__P. cleanup the whitespace a bit. add a very small optimization. 2000-12-31 19:41:41 +00:00
matt 143230cc74 Rename arithflt to trap. Change trap label to Xtrap. This is due to that
arithflt is really the trap handler so call it that.
2000-12-31 19:27:24 +00:00
ragge de50d468c9 Do not touch pv_table when mapping/unmapping I/O registers. This caused
mmap() of framebuffers to give unpredictable faults.
2000-12-31 11:16:55 +00:00
matt 625392adca improv the stack trace by printing the fp at the start of each line and
noticing trap frames, and printing that information as well.  For example
Stack traceback :
0x87ba2bc4: _arithflt+0x1a7(0x87ba2cac)
0x87ba2c50: trap type=0x8c code=0x8 pc=0x800008ef psl=0xc00000
0x87ba2c1c: _copystr+0x23(0x8095f378,0xa539f,0x86c0bd20)
2000-12-31 05:52:48 +00:00