Commit Graph

1399 Commits

Author SHA1 Message Date
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