Commit Graph

1520 Commits

Author SHA1 Message Date
simonb 1bc6516acc Only define _BSD_WCHAR_T_ once. 2001-09-17 05:40:38 +00:00
ragge 482334fa14 Add bus_space_mmap(). 2001-09-16 20:39:02 +00:00
wiz 456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
ragge bed9e93ceb #define __HAVE_GENERIC_SOFT_INTERRUPTS for netisr_dispatch.h. This is
already defined in machine/types.h, but that file cannot be included
in an assembly file.
2001-09-16 12:51:03 +00:00
chris 0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
matt 97c7e7fe8d Always include -Wno-main 2001-09-09 22:53:02 +00:00
atatat 97c67a9bae Add bridge pseudo devices to GENERIC configs 2001-09-01 21:52:23 +00:00
simonb 023bdd2bf2 Use comments around the token after a #endif. 2001-08-31 04:44:54 +00:00
chs ba2c8088f4 use pmap_k* for buffer cache pages. 2001-08-24 04:34:25 +00:00
chs b356420a02 in vunmapbuf(), call pmap_*remove() explicitly since uvm_km_free_wakeup()
will soon no longer do it for us.
2001-08-19 17:36:28 +00:00
wiz e320555c3b if_il.c lives in dev/qbus now, and is mentioned in dev/qbus/files.uba.
Remove commented out line for it.
2001-08-18 14:52:37 +00:00
matt b46d7a47ab Don't substract KERNBASE, xor it to clear. The former causes GNU ld to
bitch about a signed overflow and this code is only done once, incurring
an extra instruction isn't going to matter much in the long run.
2001-08-05 06:14:22 +00:00
bjh21 ad2c12a28d Bump version numbers of all bootloaders that use loadfile/ELF, to account for
my changes to symbol loading.  I should probably have done this at the time,
but it's better late than never.
2001-08-02 12:24:05 +00:00
matt 218b61dcd1 Change clock_t and time_t to more LP64 friendly types. 2001-07-28 07:43:07 +00:00
matt f47c5bbd3d Under ELF, change clock_t and time_t to int's (more LP64 friendly). 2001-07-28 05:04:45 +00:00
ragge f5abeb5b4b Set MAXPHYS to 64k instead of 63k. 2001-07-27 12:58:21 +00:00
ragge 39a7595b28 Calculation of unibus map register size was wrong. 2001-07-27 12:57:20 +00:00
wiz e11d04474c issueing -> issuing 2001-07-26 22:55:12 +00:00
wiz 30b2bf87ed Various typos in comments (neccessary, sceme, choise, ...). 2001-07-26 15:05:07 +00:00
wiz a9356936b4 seperate -> separate 2001-07-22 13:33:58 +00:00
thorpej babefc5331 Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
ragge 29455521b5 Do more intelligent calculation of KVM size. This reduces the amount of
pre-allocated physical memory significantly.
A 11/750, for example, get 2MB more free (of 14MB), about 12%.
2001-06-30 12:54:33 +00:00
darcy ce0ec1e208 Add System V semaphore resource limits to each GENERIC file that has an
option for System V semaphores.  It appears that there are no overrides
in the code and each file has the following added.

 options    SYSVSEM     # System V semaphores
+#options   SEMMNI=10   # number of semaphore identifiers
+#options   SEMMNS=60   # number of semaphores in system
+#options   SEMUME=10   # max number of undo entries per process
+#options   SEMMNU=30   # number of undo structures in system
 options    SYSVSHM     # System V shared memory

If anyone thinks that this is incorrect for any of these files, please
correct it.

Note - the i386 port was not forgotten.  It was done separately.
2001-06-30 11:00:31 +00:00
ragge 2c4d8265db Panic if page fault on interrupt stack, per request from Jason Thorpe. 2001-06-28 21:54:23 +00:00
matt c12370b691 Don't include -mno-pic on gcc 2.95 2001-06-25 05:12:01 +00:00
lukem da0e06bcd6 remove remnants of np device, per my recent files.vax commit 2001-06-22 16:40:51 +00:00
wiz e2eaa3b87a constraint, not contraint. 2001-06-21 12:15:03 +00:00
thorpej 8eb3b954f1 Don't need to prototype child_return() here, it's in <sys/proc.h>. 2001-06-14 22:56:55 +00:00
lukem 6b358ba879 remove interlan np100 entry as the referenced files don't exist 2001-06-13 06:43:08 +00:00
ragge 3bd0afbc54 Make tracing of stack by frame argument work. 2001-06-12 13:22:06 +00:00
ragge 5335780e31 Support to get into DDB from hardclock interrupts by putting a value in
the RPB wait field.
2001-06-12 13:20:29 +00:00
ragge 8f96f4b21c Fix problem where console interrupts never got enabled after RB_ASKNAME. 2001-06-12 13:18:38 +00:00
ragge 8f68bebb7e Detect 4000/VLC correctly + make halt/reboot work.
From Michael L. Hitch (mhitch@montana.edu).
2001-06-12 11:24:50 +00:00
wiz 40ac848024 Fix various misspellings of compatible/compatibility. 2001-06-11 01:50:48 +00:00
ragge 83e47d5e8d Revision line #1 broke, fixed. 2001-06-10 20:47:49 +00:00
ragge b47f638d85 Check in work done by bjc@openbsd.org, OpenBSD revs 1.4 and 1.5 of the
same file. No other changes, OpenBSD log messages below.

> More EMODD work:
>         - Using CVTDL and subtracting to seperate integer from fraction does
>           not work if the integer is >32 bits long; instead, rearrange the bits
>           into a quadword, use ASHQ to truncate, and then subtract.
>
> Also:
>         - Set the condition codes properly; this fixes the other problem with
>           >32-bit-integer parts in libm by letting modf subtract the fractional
>           part (which *is* a double) to get the integral part in a double.

>         - move the zero checks earlier in the routine
>
>         - instead of 'ret' in zeroexit, use brw goback

> Switch a "BGTR foo" to a "BLSS bar; BRW foo; bar:".  In this case, the
> difference between the BGTR and foo: is too large for a byte displacement.
> as should give an error or at least a warning here, but it doesn't;
> instead it merrily outputs a completely bogus displacement.
> This fixes problems with EMODD on numbers with negative exponents.
>
2001-06-10 20:46:18 +00:00
chs 762bab2606 implement pmap_clear_modify() correctly. 2001-06-07 05:29:13 +00:00
chs ec218acedd make this compile without MULTIPROCESSOR. 2001-06-06 06:29:36 +00:00
chs 8688ff47c8 make this compile without DEBUG. 2001-06-06 06:23:13 +00:00
ragge 32874c14c8 Detect MicroVAX 3100/m80 correctly. From Michael Kukat. 2001-06-05 11:25:11 +00:00
ragge f81f19e7b3 Add rudimentary multiprocessor support for DDB. 2001-06-04 21:37:11 +00:00
ragge 93ece82137 Check for console printf's in spinlocks, per discussion on tech-smp. 2001-06-04 15:37:05 +00:00
ragge 30e020fbaa The beginning of pmap locks. While here, some cleaning and KNF. 2001-06-04 15:36:00 +00:00
ragge 81d993ac3b Add splipi(). 2001-06-04 15:34:57 +00:00
ragge da2e5c43e1 Add IPI_TBIA to flush the translation buffer. 2001-06-04 15:34:15 +00:00
ragge d35f5e00dc Move some locks closer to the important point. 2001-06-04 15:33:07 +00:00
ragge e2f864bf95 Break out the MP-dependent calls. Add definitions for the IPI functions. 2001-06-03 15:12:57 +00:00
ragge d0a8785b5e Add define for IPI vector. 2001-06-03 15:10:34 +00:00
ragge 8d7b76581f Implement spinlocks as subroutines instead of inlines.
Add SPINLOCK_SPIN_HOOK; the VAX has low-priority IPIs like Alpha.
2001-06-03 15:10:11 +00:00
ragge 6e219aa5a7 Add bbssi/bbcci (bit set/clear and branch interlocked) as inline functions. 2001-06-03 15:08:32 +00:00
ragge 1da9a91480 A bunch of fixes:
- Make generic console routines not relying on running on master cpu.
- Add routine to start console transmitter (after IPI).
- Use real IPIs instead of the "console doorbell".
- Add routines cpu_send_ipi()/cpu_handle_ipi().
2001-06-03 15:07:20 +00:00
chs 821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
ragge d674a69f7a And now we're running! 2001-05-29 21:55:00 +00:00
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