Commit Graph

40843 Commits

Author SHA1 Message Date
thorpej 24f4ce3eb0 Regen. 2000-09-20 00:46:35 +00:00
thorpej 6cc3e82c48 Add National Semiconductor DP83815 10/100 Ethernet. 2000-09-20 00:46:10 +00:00
itojun 1e79c22464 repair SADB_ADD/UPDATE for ipcomp. no encryption key will be attached to
ipcomp.  (KAME 1.53 -> 1.54)
2000-09-20 00:42:47 +00:00
itojun 6a4cd1c5f9 make proposal/combination PF_KEY message on SADB_ACQUIRE optional, to
support ipcomp ACQUIRE messages (again).
it violates RFC2367 slightly.  RFC2367 does not suport ipcomp at all
so we have no choice.
(KAME 1.151 -> 1.152)

do not leave dangling pointer after KFREE().  caused kernel panic with
certain PF_KEY message (error case) - only root can open PF_KEY socket
so it is not security issue.
(KAME 1.152 -> 1.153)
2000-09-20 00:08:42 +00:00
bjh21 1f4240a461 Extend NFS_V2_ONLY to remove NQNFS lease support as well. Saves another 10k. 2000-09-19 23:26:25 +00:00
fvdl 082a77ccfe Bring the default value of NMBCLUSTERS into the modern age. 2000-09-19 22:21:54 +00:00
fvdl 874d41c959 "ENOBUF" on socket writes isn't really fatal; we may just be too fast
for the driver. Don't log the error, just try again. Could try to
be smart and do a backoff, but it's probably not worth the trouble.
2000-09-19 22:21:21 +00:00
fvdl 8d38a9fc8e Adapt some defaults/max values to be more realistic. 2000-09-19 22:19:12 +00:00
fvdl de98f0812b Add fields to deal with commit ranges. 2000-09-19 22:18:40 +00:00
fvdl 861339828d Update for VOP_FSYNC parameter change. Simplify nfs_flush. 2000-09-19 22:18:03 +00:00
fvdl ddf47f8f0d Update for VOP_FSYNC parameter change. 2000-09-19 22:15:41 +00:00
fvdl 45dc18d175 Add prototypes for commitrange functions. 2000-09-19 22:14:59 +00:00
fvdl 09f52ac6fc Don't do write gathering for v3; it makes no sense. Unless the client
is broken and does sync writes all the time, but that's the client's
fault.
2000-09-19 22:14:42 +00:00
fvdl 9ed021b771 Add functions to deal with keeping track of commit ranges. 2000-09-19 22:13:55 +00:00
fvdl 45460eabe0 Initialize the lock needed to serialize commits for one NFS node. 2000-09-19 22:13:01 +00:00
fvdl 899fb781e0 Move handling of B_NEEDCOMMIT buffers to nfs_doio, so that bawrite() calls
for them are actually done asynchronously. Idea taken from FreeBSD.

Do away with nfs_writebp completely, it's not needed anymore.

Keep an eye on the range of a file that needs to be committed, and
do it in heaps.
2000-09-19 22:11:47 +00:00
fvdl 7f432c74ab Bump some defaults and maximums to better values. 2000-09-19 22:05:55 +00:00
fvdl 8fd422dede Adapt for VOP_FSYNC parameter change. 2000-09-19 22:05:29 +00:00
fvdl 81ba8e7ff7 Adapt for VOP_FSYNC parameter change.
Implement range fsync for FFS. Note: not yet implemented for the
SOFTDEP case.
2000-09-19 22:04:08 +00:00
fvdl db4108490a Adapt for VOP_FSYNC parameter change. 2000-09-19 22:01:59 +00:00
fvdl a6a5e6cca7 Adapt for VOP_FSYNC parameter change.
Small optimization to shutdown code: only take the syncer lock if
the FS actually used it.
2000-09-19 22:01:41 +00:00
fvdl 8c28d7e864 Adapt for VOP_FSYNC parameter change. 2000-09-19 22:00:01 +00:00
fvdl ffdb0fc59d VOP_FSYNC interface change -> 1.5F 2000-09-19 21:59:30 +00:00
fvdl 2dbd4e25a8 VOP_FSYNC interface change --> 1.5F 2000-09-19 21:58:59 +00:00
fvdl 9d8dbdad9a Regen. 2000-09-19 21:58:01 +00:00
fvdl bf60f8be2e Add start and end parameters to the fsync VOP, giving a range of the
file to write out. If both are 0, the whole file is synced. A filesystem
that is not able to sync out a range of a file may elect to sync
the whole file anyway.
2000-09-19 21:57:14 +00:00
bjh21 4b85232148 MI seeq8005 attribute. 2000-09-19 20:23:34 +00:00
scw 0161d6a880 Pass the requested cpu irq priority through to the VME chipset-specific
backend.

The VME2chip can use this to translate a VMEbus irq to a cpu irq.

The VMEchip (on mvme147) can't deal with the VMEbus irq and cpu irq
being different so we just panic in that case for now.
2000-09-19 19:35:52 +00:00
scw 18deccffca Add IPL_SERIAL. 2000-09-19 19:31:34 +00:00
itojun dde2adf8e4 for t_template, allocate mbuf cluster only if really necessary.
this avoids too aggressive memory usage on heavy load web server, for example.
From: Kevin Lahey <kml@dotrocket.com>

release and reallocate t_template, if t_template->m_len changes.
(this happens if we connect to IPv4 mapped destination and then IPv6
destination, on a single AF_INET6 socket)

KAME 1.26 -> 1.28
2000-09-19 18:21:41 +00:00
bjh21 33daa8de6b New kernel option, NFS_V2_ONLY, which aims to reduce the NFS client to just
that required to support NFSv2 mounts.  Not finished yet, but already
provides some 44k of saving in code size on arm26.  More savings, and some
documentation, are still to come.
2000-09-19 17:04:50 +00:00
pk d5fe063129 MULTIPROCESSOR: if the cache flush functions are no-ops on a single
processor, they can be no-ops in the MP case as well.
2000-09-19 13:44:35 +00:00
kleink cafe9756bf Define pid_t via <sys/ansi.h>. 2000-09-19 08:35:36 +00:00
wdk d471ac652d Forgot to commit this file with the 2 stage bootstrap 2000-09-19 07:50:50 +00:00
jeffs f1173a05e0 Add trace/t pid support for mips. 2000-09-19 06:22:51 +00:00
scottr e4b50d9bfc Ken'ichi Ishizaka discovered that some devices, e.g. the A3 Mouse, don't
respond in the allotted time if they're told to TALK immediately after
completing a LISTEN command.  Experimentation with adb_op_sync() yielded
consistent results when the timeout was increased from the documented
6900 usec to 8000 usec, so we'll make that change here.

(Accurate and complete documentation of the hardware sure would help...)
2000-09-19 05:17:55 +00:00
minoura 575a64a7af Correct comments. 2000-09-19 03:17:59 +00:00
fvdl c5d8401866 Add support for the 3c555, 556 and 556B MiniPCI cards. Based on the
cardbus code and the FreeBSD xl driver.
2000-09-19 01:15:06 +00:00
fvdl af02376ac9 Regen. 2000-09-19 01:11:38 +00:00
fvdl fbf3c412e4 Add IDs for the 3c555, 556 and 556B 3Com MinPCI Ethernet cards. 2000-09-19 01:10:48 +00:00
fvdl d9e2aff0df Add explicit config values for 8 bit and offset EEPROMS, since this
property is now shared with the PCI frontend.
2000-09-19 01:10:12 +00:00
thorpej a42b372bd6 In pmap_ptpage_steal(), don't traverse into the kernel portion
of the address space.
2000-09-19 01:02:37 +00:00
fvdl 3ec253a800 Fix bug in access cache that might result in permission being denied
needlessly. From Matthias Drochner.
2000-09-19 00:00:18 +00:00
itojun e485f6527e pullup IPv6 and subsequent headers, on IPv6 IPsec transport mode input.
(not normally visited - we have switched to m_pulldown.  just for completeness)
2000-09-18 22:18:00 +00:00
itojun 20595bfe10 do not compile files under sys/crypto, which we no longer are using. 2000-09-18 22:15:21 +00:00
itojun 303fcdf765 repair blowfish-cbc. BF_encrypt() takes value in host byteorder, yuck!
(no effect to 1.5 branch)
2000-09-18 21:57:35 +00:00
bjh21 40aba7cd4d Split the arm26 Ether3 (ea) driver into an MI driver for the SEEQ 8005 chip,
and a front-end driver for the Ether3.  Only semantic change is to remove
ea_claimirq() and ea_releaseirq() on the grounds that the seem too spurious
to warrant a callback to the front-end.
2000-09-18 20:51:14 +00:00
bjh21 41b1cb9327 Remove mention of truly dead files 2000-09-18 20:08:43 +00:00
bjh21 f32aac93cb Add an ROMTEXTBASE option to change where the text segment is linked. This
might be useful for making rommable kernels if I can get the rest of the
infrastructure sorted.
2000-09-18 18:33:33 +00:00
bjh21 bae27bc250 Make the FOURMEG kernel a bit smaller. Still not small enough. 2000-09-18 18:30:01 +00:00
uch 0500ddb633 [R3900/R3920] sync with
| Module Name:	syssrc
 | Committed By:	nisimura
 | Date:		Sat Sep 16 07:20:17 UTC 2000
2000-09-18 18:17:32 +00:00
bjh21 35dc9595d6 Move the user structure for process 0 into the same page as its stack segment,
the same as for every other process.  It probably doesn't matter, but it makes
me feel more comfortable.
2000-09-18 18:01:39 +00:00
nonaka 0079d5e3ba Added installboot program. 2000-09-18 15:44:09 +00:00
wdk 513cc0ca27 Linker script for building first stage bootstrap. Due to bugs/limitations
in the MIPS prom loader we have to be very careful how the sections are
ordered and the number of sections defined.   For this reason the standard
linker scripts cannot be used.

The exact rules don't appear to be documented and a little experimentation
is required.
2000-09-18 11:48:29 +00:00
wdk a3ec172607 Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware.  A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length.  We need to add a "boot" entry of
the correct length starting at block 2.  The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
2000-09-18 11:40:46 +00:00
abs 7dea4938ea If device and mountpoint are given without -t, and without a : in the
device, check the disklabel for filesystem type. Fall back to ffs as ever.
2000-09-18 10:48:23 +00:00
toshii faf55ac40c Change tiocm_to_{com,zs}'s second argument to u_long to match with
the type in their caller.
2000-09-17 22:07:39 +00:00
eeh 264b1139cd Prevent the compiler from blowing up on sparc64. From mrg. 2000-09-17 19:55:28 +00:00
eeh 0596b6b6dc Make the improved %tick changes work with machines that use the counter-timer
for the clock.
2000-09-17 19:23:37 +00:00
is ff3205e665 Make this build again. Fixes by Michael Hitch. 2000-09-17 18:24:12 +00:00
eeh 903720d945 Add bus_space*stream*() methods. I hope they work. 2000-09-16 14:07:58 +00:00
ichiro 60095a9e92 regen. 2000-09-16 11:46:17 +00:00
ichiro de4b3b44f1 delete "128MB"
same products number; 32MB,64MB,128MB
2000-09-16 11:45:38 +00:00
itojun 691fdbb4f0 kame sys/netinet6/icmp6.c 1.140 -> 1.144
>   in the check for the incoming redirect message, examine the gateway
>   (from the routing table) only when the address family of the gateway is
>   AF_INET6.
2000-09-16 10:12:22 +00:00
wdk 74fa574688 * Add INET6 and IPSEC support.
* Enable vnd driver for creating a working miniroot.
2000-09-16 09:35:38 +00:00
wdk 0b445f157e Add missing align argument to uvm_map() which was missed by thorpej during
original commit.
2000-09-16 09:18:01 +00:00
wdk da962aaad5 Add support for bootinfo structure to be passed from 2nd stage bootstrap.
Pass symbol table information to DDB if available.
2000-09-16 08:34:26 +00:00
wdk 780256a327 Prototype prom_ioctl 2000-09-16 08:27:58 +00:00
wdk b57fe26ada Write a NetBSD disklabel to 2nd sector while retaining the Mips volume
header in the ist sector.   We now use the NetBSD label in preference
to the Mips Volume header.
2000-09-16 08:27:16 +00:00
nisimura 70a97ab16c Introduce new MIPS1 direct mapped cache capacity detection logics. 2000-09-16 07:20:16 +00:00
jeffs 36c4252a17 Re-enable SR IE bit before calling syscall(). Matches Tohru's mips1 change. 2000-09-16 06:57:21 +00:00
nisimura 2982d7707b There is no need to handle processor master interrupt mask SR_INT_IE
in syscall() anymore.  By defition, processor was in SR_INT_IE turn
on prior to have syscall exception.  MIPS1 assembler hook arranges
to enable the bit for its own.  MIPS3 does the same effect by
turning off EXL bit.
2000-09-16 05:07:06 +00:00
nisimura f4b74d3898 - Reimplement MIPS1 cache size dectection logic taking advantage of the
fact the direct mapped cache makes address alias effect.
- Just turn on processor master interrupt mask IEc (SR_INT_IE) bit prior
  to call syscall() kernel entry point.  IEp is always 1 in this case
  by defition.
2000-09-16 04:54:44 +00:00
simonb 3db7ffbbce Add a (commented out for now) VNODE_OP_NOINLINE options line, and mention
that it makes smaller and possibly slightly faster kernels.
2000-09-16 00:09:14 +00:00
simonb 4afcecdc80 Use VNODE_OP_NOINLINE - saves about 17k off the INSTALL kernel size. 2000-09-16 00:06:56 +00:00
chuck 9dc2f5ced0 IDT32364's Config register uses a different base for IC/DC (instruction
and data cache sizes).   R4000 uses 2^(12+IC) and 2^(12+DC).  IDT32364
uses 2^(9+IC) and 2^(9+DC).

abstract around the problem by making the base a parameter to the
MIPS3_CONFIG_CACHE_SIZE macro.   we pass the base down from mips_vector_init
to mips3_vector_init and to mips3_ConfigCache (where it is used).

XXX: someone with an MIPS3_4100 should switch to this and get rid
of the ugly ifdefs in cpuregs.h
2000-09-16 00:04:57 +00:00
tsutsui 6c7e1613e0 Add uvm_pageidlezero support. From x68k. 2000-09-15 17:15:05 +00:00
toshii 8debbc34ab Change the second argument of tiocm_to_ucom to u_long,
since the second argument of ioctl is a u_long value.
2000-09-15 17:03:24 +00:00
tsutsui 74662105ab netintr() is now declared in isr.h. 2000-09-15 15:55:10 +00:00
tsutsui f528673cf3 Add prototype declaration of netintr(). 2000-09-15 15:52:15 +00:00
drochner a960881851 -make the default screentype override less invasive, call it
VGA_CONSOLE_SCREENTYPE because the screen types are hardware specific
 and make it affect the console only (no need to change runtime
 behaviour), don't call vga_setscreentype() unless necessary (to avoid
 trouble with strange hardware - PR kern/11025)
-some beginnings of ISO-7 (greek) font support
2000-09-15 14:13:01 +00:00
drochner 8d027cedf8 add definitions for ISO-7 (greek) support 2000-09-15 14:09:10 +00:00
scw 53d57897d0 Use the complete ethernet address stored in nvram on mvme162/mvme167
instead of faking the first 5 nibbles a'la mvme147.

Apparently recent mvme16x boards have a new 5 nibble prefix...
2000-09-15 08:50:24 +00:00
jeffs bdad8bae5b Handle R4K trap faults in user mode like overflows (deliver SIGFPE). This
prevents a panic running crashme.  Better comment for VCE define.
2000-09-15 06:50:46 +00:00
enami 48b7bc7f16 The struct prochd isn't a proc. Start scaning from prochd.ph_link instead
of &prochd.
2000-09-15 06:36:25 +00:00
enami ead2ed15cf Add few more L2 cache info entry. 2000-09-15 03:44:28 +00:00
enami 29027825f3 When fetching cache info:
- Don't fall into infinite loop even if the # of iteration necessary isn't 1.
- Don't interpret lower 8bit of AL, which is # of iteration, as a descriptor.
2000-09-15 03:41:18 +00:00
thorpej 03810b147f Make sure to lock the proclist when we're traversing allproc. 2000-09-14 19:13:29 +00:00
thorpej d4f4fa2190 Make sure pmap_collect() doesn't remove wired mappings. Per discussion
w/ Chuq Silvers.  Fixes a panic when a program with wired pages that
has run for a long time when the system is under heavy memory load
exits (specific case was ntpd, reported by Simon Burge).
2000-09-14 17:06:52 +00:00
augustss c1682ac85d Recognize Rio 600. 2000-09-14 03:13:21 +00:00
augustss 95cbe2c829 Regen. 2000-09-14 03:11:52 +00:00
augustss d28bd1b67f Ad some new devices and change vendor name from SUPRA to DIAMOND2. 2000-09-14 03:11:23 +00:00
hubertf 9b8c74f603 regen for trek thumbdrive 2000-09-14 00:04:15 +00:00
hubertf 494592f30d Add Trek Technology ThumbDrive (128MB) 2000-09-14 00:02:56 +00:00
is 47d6ee388a Missing piece of PowerPC support. 2000-09-13 20:15:52 +00:00
tron dd9df6ffdf Use correct product id for VIA VT6102 chip. Problem pointed out by
Jaromir Doleeek in private e-mail.
2000-09-13 16:40:15 +00:00
thorpej 3d6272fcdf Use VNODE_OP_NOINLINE. 2000-09-13 16:26:15 +00:00
thorpej d41cf2a285 defopt VNODE_OP_NOINLINE. 2000-09-13 16:10:50 +00:00
thorpej e3d2277d32 Regen: VNODE_OP_NOINLINE vs. LKM. 2000-09-13 16:09:52 +00:00
thorpej 7f3e4b0331 If building an LKM, always cause it to use the non-inline version
of the vnode ops, and if LKM support is included in the kernel,
always include the non-inline stubs regardless of whether or not
they're being used in the static kernel iamge.
2000-09-13 16:09:27 +00:00
ad dcdc66f936 Regen. 2000-09-13 15:58:13 +00:00
thorpej 5d879e9012 Regen for VNODE_OP_NOINLINE. 2000-09-13 15:51:19 +00:00
thorpej 9d482308b1 Allow the VOP_*() calls to be un-inlined with the VNODE_OP_NOINLINE
kernel option.  Saves 36k of kernel text on an i386 GENERIC.  Useful
for install media kernels, small memory systems, embedded systems.
2000-09-13 15:50:26 +00:00
thorpej 72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
ad b9bacc07be Add product IDs for AMI MegaRAID boards. 2000-09-13 14:45:09 +00:00
tron d4a2e19802 Add support VIA VT6102 chip found e.g on the D-Link DFE530TX NIC.
Fixes PR kern/11001 by Petter Lindquist.
2000-09-13 14:00:48 +00:00
tron ea2fc5c0fd Regen. 2000-09-13 13:58:25 +00:00
tron 928a30552d Remove incomplete (and incorrect) entry for D-Link 530. 2000-09-13 13:58:06 +00:00
tron e6debfdcbf Regen. 2000-09-13 13:53:22 +00:00
tron a42050f3e7 Use "VT6102 (Rhine II) 10/100 Ethernet" as description to be consistent
with existing entry for "VT86C100A (Rhine-II) 10/100 Ethernet".
2000-09-13 13:53:06 +00:00
tsutsui ed45ef52e2 Disable KERNFS. 2000-09-13 13:52:21 +00:00
tron 0c0911bb54 Regen. 2000-09-13 13:48:44 +00:00
tron d6cf9f28b0 Add VT6102 Rhine II 10/100BaseTX ethernet chip used on e.g. the
D-Link 530TX NIC.
2000-09-13 13:48:09 +00:00
thorpej d0b099a9fc Fetch cache info via `cpuid' insn, parse it, remember it,
and report it at boot time.
2000-09-13 08:04:15 +00:00
jeffs efef8a5aa6 Do not save t* registers in syscall stub as suggested by cgd. Saves
a whole 0.01us in lmbench lat_syscall null on our 250Mhz QED system.
$at is still saved just to be safe, although it looks like it does
not need to be.  $v1 is used in syscall(), although I'm not sure why.
2000-09-13 06:48:04 +00:00
nisimura c65b8a8ceb Nuke unused obscure #define's. 2000-09-13 05:23:37 +00:00
scottr ff2130346c Resolve bus_space_write_region_2() type mismatches. 2000-09-13 05:21:16 +00:00
toshii 8b74873d54 Cleanup the error handling code introduced in rev. 1.26. Commented by jhawk.
No functional change.
2000-09-13 05:17:14 +00:00
scottr 7eb72c4f15 ae_write_mbuf() broke with the last change; revert. 2000-09-13 05:16:47 +00:00
thorpej 90a2e46ab1 Add support for using the 586- and 686-class performance
counters.
2000-09-13 04:47:00 +00:00
thorpej b9b07590ec Define some 586-class CESR MSR bits. 2000-09-13 04:44:27 +00:00
simonb 57a9ae4559 Add support for booting off RAIDframe RAID1 mirrors.
If the first partition is of type FS_RAID, then add 64 to the block
number for each I/O in rzstrategy().
2000-09-13 04:06:46 +00:00
nisimura cfbce2edce Have MI SCSI device descriptions in GENERIC, removing 'mi.scsi' file. 2000-09-13 03:44:38 +00:00
thorpej e2cc69026a Add 686-class performance counter events. 2000-09-13 03:37:04 +00:00
nisimura bf7a6e6857 Found glyph pixel order inverted on screen. 2000-09-13 02:11:14 +00:00
nisimura 0ba2036eee Introduce 'segbase' global variable to hold the pointer to current
process's segtab, retiring 'pcb_segtab' field from 'struct pcb'.
This would be another MULTIPROCESSOR unfriendly and the necessity
might be eliminated when the way to hold PTE is redesigned.
2000-09-13 01:53:00 +00:00
chuck 0dcdf1214c kill mips3_write_xcontext_upper 2000-09-13 01:20:41 +00:00
chuck 6f9229b2e6 modify mips3 locore to elminate the abuse of XContext
so that we can run on systems that do not have XContext
(e.g. IDT 32364).
2000-09-13 01:12:47 +00:00
perseant a477e1b98b Cast back to int32_t in LFS_EST_BFREE and LFS_EST_RSVD macros, for
consistency with their arguments.

Change the debugging printf in lfs_reserve to match, and enclose it in
#ifdef DEBUG.

Tested on alpha, arm32, sparc.
2000-09-13 00:07:56 +00:00
eeh 022746fd14 This really does seem to fix the ref/mod issues. (Yeah, like were did we hear that before?) 2000-09-12 19:42:26 +00:00
pk aa6df7169b yank error. 2000-09-12 19:13:30 +00:00
minoura a78010b7b8 Adjust ramdisk sizes. 2000-09-12 17:07:44 +00:00
soren 99418ce05f Remove old comment. 2000-09-12 15:40:36 +00:00
minoura 8199d05ce7 Reduce ramdisk size by using hacked commands in distrib/utils. 2000-09-12 15:40:00 +00:00
minoura ff4b8473ae Enable sram device, which is used by memswitch(8). 2000-09-12 15:00:06 +00:00
tsubai a0cf020afb Configure L2 cache if it is not enabled by the firmware. 2000-09-12 14:47:38 +00:00
nisimura c8321c45a7 Found glyph pixel order inverted on screen. 2000-09-12 09:45:48 +00:00
sato aa96730805 bzero allocated structutre initialy. 2000-09-12 08:25:44 +00:00
enami 9466b8d07e Define an auto variable `bn' as off_t instead of int since it is finally
converted to byte offset.
2000-09-12 08:03:24 +00:00
eeh 5be9d50b09 Fix new version of microtime. 2000-09-12 04:16:29 +00:00
perseant 78ae325de3 Make this file compile on the alpha as well (use %ld and cast to long,
instead of %qd with no cast).
2000-09-12 03:22:53 +00:00
haya 6502a2efd8 Clean-up: Remove unnecessary global reset (for debug) and change the
name of some variables for the consistency of naming rule.
2000-09-12 03:19:51 +00:00
takemura 83517998af fix typo in boot message. 2000-09-12 02:12:20 +00:00
eeh cc7f95986b (Hopefully) fix clock skew on machines that us %tick for the clock (UIIi). 2000-09-11 23:29:31 +00:00
eeh 870af94ef7 Add locking to pmap operations and support multiple physical memory segments. 2000-09-11 23:27:22 +00:00
eeh cb2350a90d Don't take protection faults on I/O mappings. 2000-09-11 22:37:34 +00:00
eeh df698d172e Fix some sign extension bugs. 2000-09-11 22:36:35 +00:00
eeh 6c00d395e1 Don't take protection faults on I/O pages. 2000-09-11 22:34:02 +00:00
thorpej e0797e1775 Fix 0 vs. NULL confusion. 2000-09-11 18:45:29 +00:00
ad decb1dcfcf const tty{numbers,letters}, and remove PCVT hack. 2000-09-11 15:12:40 +00:00
pk 13275642e0 make compile #if LOCKDEBUG is on. 2000-09-11 13:51:29 +00:00
sato 5bb7aeddee - delete some unused codes (but some experimental code is not deleted)
- add experimental HPCFB_JUMP code but it is not enabled.
2000-09-11 13:44:49 +00:00
nisimura a101bca4b8 Needs to have machine/asm.h for userland applications. 2000-09-11 03:25:40 +00:00
oster 32802fc83f Be consistent: use mcpair->cond instead of mcpair->flag.
This also lets us clean up a bunch of cruft.
2000-09-11 02:23:14 +00:00
oster e8645831a5 Only reset the timer value if it actually accumlated time.
Otherwise it may never accumulate any time, and the recon delay
will never happen.
2000-09-11 00:22:45 +00:00
jdolecek ae3a3247bb handle KERN_MAXPTYS via new sysctl_pty(), which uses pty_maxptys() provided
by tty_pty.c
2000-09-10 17:29:50 +00:00
jdolecek 9bdbbbc834 change DEFAULT_MAXPTYS to 256
make all local variables static
use simplelocks - we really need only mutexes, full locks are not necessary
update couple of comments to be more accurate

add function pty_maxptys(), which provides a safe way to get&set maxptys - this
	also supports setting maxptys to lower than current value, if the
	value is lower or equal current number of ptys
2000-09-10 17:26:45 +00:00
sato 96f8d01088 add SPEAKER pwctl device for several machines. 2000-09-10 15:48:10 +00:00
sato 20cc493f48 add CONFIH_HOOK_POWERCONTROL_SPEAKER. 2000-09-10 15:45:47 +00:00
sato 988e123a02 - not handle CONFIG_HOOK_POWERCONTROL events because the events
handled by lower lcd/lcdlight control device.
2000-09-10 15:33:48 +00:00
sato 39556606fe handle CONFIG_HOOK_POWERCONTROL events
- PWR_SUSPEND: save giu bits values and turn "off" the values.
- PWR_RESUME: restore giu bits values.
2000-09-10 15:30:32 +00:00
lukem cbb605647a add (commented out) entry for WSCONS_DEFAULT_TYPE 2000-09-10 11:48:38 +00:00
lukem 6439b28202 * rename vga_stdscreen* -> vga_25lscreen*
* in vga_init(), set the screen type to WSCONS_DEFAULT_TYPE, which defaults
  to "80x25".
    XXX: the code currently makes no attempt to ensure that a font
	 with the appropriate width & height is available, effectively
	 limiting this default to either "80x25" or "80x24" at this
	 time.
* make wsdisplay_screentype_pick() non static, so that vga_init() can use it
2000-09-10 11:44:13 +00:00
pk 4e56e1746f Turn off page zeroing in the idle loop; an unidentified bug causes (very
sporadic) user process corruption.
2000-09-10 11:32:04 +00:00
simonb 7381ac703b KNF - variable declarations. 2000-09-10 10:43:53 +00:00
takemura ed9f910cc8 Introduce WSDISPLAY_NULLSCREEN to allow low level device to detach control
process. Hpcmips frame buffer driver(hpcfb) call wsdisplay_switch with
WSDISPLAY_NULLSCREEN to notify user process of suspend/resume event.
2000-09-10 09:39:57 +00:00
takemura 3369a78b96 Create dummy main window to resolve the problem that it can't setup color
palette correctly.
version no gets '1.16.00 2000.09.10'
2000-09-10 08:29:53 +00:00
takemura 1f41d9a644 Previous revision contains some Japanese chars by mistake.
The bootloader has been improved by Kazuma Arino.
  - dialog style main window
  - support to read compressed kernel image
  - automatic boot with timer
  - human readable configrarion file
version no gets '1.15.00 2000.08.29'
2000-09-10 08:02:13 +00:00
nisimura eafab3fe6b RB_DFLTROOT is obsolute and G/C'ed from main trunk at late Jul of 2000. 2000-09-10 06:26:51 +00:00
chs 62a6d0660c move the guts of pmap_remove() to pmap_do_remove(), which has a flags arg
to tell it whether or not to remove wired mappings.  pmap_remove() wants
to remove wired mappings, pmap_collect() doesn't.  fixes PRs 10363 and 10761.
2000-09-10 03:45:58 +00:00
toshii f7d700a127 Make the control line handling a little better. Avoid a DTR/RTS issue
from uninitialized sc_mcr by not calling ucom_{dtr,rts} if possible.

XXX Flow control is still incomplete and needs more work.
2000-09-10 03:10:20 +00:00
augustss 76451577e7 Make this file compile again. 2000-09-10 00:20:45 +00:00
eeh 2f28900566 Make sbus_wenable() and ebus_wenable() work on 32-bit kernels. 2000-09-09 23:29:06 +00:00
perseant 17cb334f4f oops 2000-09-09 21:03:31 +00:00
scw 4bf2309112 Partially back-out the previous change. What was I thinking... 2000-09-09 19:51:36 +00:00
jdolecek 60059df29c needs-count is no longer needed for pty, needs-flag is sufficient 2000-09-09 16:54:34 +00:00
jdolecek 1ef0c139f9 allocate pty kernel structures on demand at run-time - this allows
to support arbitrary number of ptys without need of kernel recompile
(the extra device special files in /dev/ still need to be created, of course)

upper limit of supported ptys is controlled via new sysctl variable
kern.maxptys (KERN_MAXPTYS), which is raise-only and defaults to 512.
2000-09-09 16:42:04 +00:00
itojun 2192675fb1 move file static variable into auto variable, for better thread safety.
(not really required for big lock MP).  sync with kame
2000-09-09 16:15:47 +00:00
itojun f8481d085e add attribute(packed).
From: Alfred Perlstein <bright@wintelcom.net>
2000-09-09 11:42:22 +00:00
pk 3011e0816b Revise pv_table_map(): to simplify calculations, pv_table[] now covers
all of physical memory, i.e. it conceptually is pv_table[0..avail_end].
The previous version could lead to an off-by-one error in the page allocation
for pv_table[] in some memory configurations.
2000-09-09 10:24:34 +00:00
nisimura 59178ec7b4 Use dev/{rasops,wsfont} instead of awesome dev/rcons. Still much to do
before being useful.
2000-09-09 06:15:17 +00:00
nisimura 48ff19c98b u_char -> u_int for function argument and return of Zilog register
manipulation helper functions; no loss, no gain, for Alpha processor.
2000-09-09 06:08:42 +00:00
perseant 9c7f8050f4 Various bug-fixes to LFS, to wit:
Kernel:

* Add runtime quantity lfs_ravail, the number of disk-blocks reserved
  for writing.  Writes to the filesystem first reserve a maximum amount
  of blocks before their write is allowed to proceed; after the blocks
  are allocated the reserved total is reduced by a corresponding amount.

  If the lfs_reserve function cannot immediately reserve the requested
  number of blocks, the inode is unlocked, and the thread sleeps until
  the cleaner has made enough space available for the blocks to be
  reserved.  In this way large files can be written to the filesystem
  (or, smaller files can be written to a nearly-full but thoroughly
  clean filesystem) and the cleaner can still function properly.

* Remove explicit switching on dlfs_minfreeseg from the kernel code; it
  is now merely a fs-creation parameter used to compute dlfs_avail and
  dlfs_bfree (and used by fsck_lfs(8) to check their accuracy).  Its
  former role is better assumed by a properly computed dlfs_avail.

* Bounds-check inode numbers submitted through lfs_bmapv and lfs_markv.
  This prevents a panic, but, if the cleaner is feeding the filesystem
  the wrong data, you are still in a world of hurt.

* Cleanup: remove explicit references of DEV_BSIZE in favor of
  btodb()/dbtob().

lfs_cleanerd:

* Make -n mean "send N segments' blocks through a single call to
  lfs_markv".  Previously it had meant "clean N segments though N calls
  to lfs_markv, before looking again to see if more need to be cleaned".
  The new behavior gives better packing of direct data on disk with as
  little metadata as possible, largely alleviating the problem that the
  cleaner can consume more disk through inefficient use of metadata than
  it frees by moving dirty data away from clean "holes" to produce
  entirely clean segments.

* Make -b mean "read as many segments as necessary to write N segments
  of dirty data back to disk", rather than its former meaning of "read
  as many segments as necessary to free N segments worth of space".  The
  new meaning, combined with the new -n behavior described above,
  further aids in cleaning storage efficiency as entire segments can be
  written at once, using as few blocks as possible for segment summaries
  and inode blocks.

* Make the cleaner take note of segments which could not be cleaned due
  to error, and not attempt to clean them until they are entirely free
  of dirty blocks.  This prevents the case in which a cleanerd running
  with -n 1 and without -b (formerly the default) would spin trying
  repeatedly to clean a corrupt segment, while the remaining space
  filled and deadlocked the filesystem.

* Update the lfs_cleanerd manual page to describe all the options,
  including the changes mentioned here (in particular, the -b and -n
  flags were previously undocumented).

fsck_lfs:

* Check, and optionally fix, lfs_avail (to an exact figure) and
  lfs_bfree (within a margin of error) in pass 5.

newfs_lfs:

* Reduce the default dlfs_minfreeseg to 1/20 of the total segments.

* Add a warning if the sgs disklabel field is 16 (the default for FFS'
  cpg, but not usually desirable for LFS' sgs: 5--8 is a better range).

* Change the calculation of lfs_avail and lfs_bfree, corresponding to
  the kernel changes mentioned above.

mount_lfs:

* Add -N and -b options to pass corresponding -n and -b options to
  lfs_cleanerd.

* Default to calling lfs_cleanerd with "-b -n 4".


[All of these changes were largely tested in the 1.5 branch, with the
idea that they (along with previous un-pulled-up work) could be applied
to the branch while it was still in ALPHA2; however my test system has
experienced corruption on another filesystem (/dev/console has gone
missing :^), and, while I believe this unrelated to the LFS changes, I
cannot with good conscience request that the changes be pulled up.]
2000-09-09 04:49:54 +00:00
perseant 988a012d50 Change dlfs_dmeta and dlfs_avail to signed quantities, to prevent
underflow errors, visible in userland as impossibly high values
returned from df(1).
2000-09-09 04:18:28 +00:00
perseant 8cb6723a92 Fix a buffer-cache corrupting bug in lfs_writeseg, where brelse could
be improperly used on an already-queued buffer.
2000-09-09 04:13:43 +00:00
perseant 4446817aca Make sure to unmark B_DELWRI on blocks freed due to truncation to a non-zero
file length.  Should fix PR #s 10551 and 10831.
2000-09-09 03:47:05 +00:00
msaitoh 3a0bdcde18 check _STANDALONE macro, too. 2000-09-09 00:16:21 +00:00
tron cb01317d62 Final fix to make this work without object directories again. 2000-09-08 19:57:05 +00:00
msaitoh 2b1674cc62 remove extra #endif 2000-09-08 19:52:13 +00:00
tron 3220c30427 Readd at signs before commands which were removed for debugging. 2000-09-08 19:50:52 +00:00
msaitoh 2cb1f4181a sync with i386's revision 1.133:
It's legal to mmap pages in the lower part of the stack (<limit),
	and use them, so allow this by relaxing the check for it.
2000-09-08 19:48:12 +00:00
tron 278e796ec6 Do last change differently: "(unset MAKEOBJDIRPREFIX || true)" is a NOP,
use "MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX" instead.
2000-09-08 19:48:00 +00:00
tron f5cb2786f8 Use "(unset MAKEOBJDIRPREFIX || true)" because unset return an error code
if the variable was not set before.
2000-09-08 19:45:45 +00:00
chs e3b6ec1d77 remove extra paren so this compiles again. 2000-09-08 19:26:17 +00:00
msaitoh 772c846544 delete an obsolete comment. 2000-09-08 18:46:39 +00:00
simonb 665eca96e0 In wsdisplay_usl_ioctl2(), use a u_long for the request to be passed off
to wsdisplay_internal_ioctl() instead of an int.
With this, the pcvt compat ioctl's work on an Alpha and probably other
64 bit archs.
2000-09-08 15:32:57 +00:00
ad 237007cd69 - Set CCB_ACTIVE flag in all cases when DIAGNOSTIC is defined.
- Correct arguments to bus_dmamap_create().
2000-09-08 12:16:17 +00:00
ragge d85872dd78 By some reason setstatclockrate() suddenly get called occationally
(it hasn't been called since -94 :-) Remove the panic that happens when
it is called.
2000-09-08 11:41:59 +00:00
tsubai 9fdd44d404 DDB single step and stack trace support. 2000-09-08 10:15:23 +00:00
jeffs bbcf1beea0 In outofworld, keep $sp for DDB case if it looks like a kernel address
so the stacktrace is ok.
2000-09-08 07:24:42 +00:00
toshii 6bc11dce71 In ucomopen(), make sure to call splx() before returning
when initialization fails.
2000-09-08 07:20:52 +00:00
matt 9c01e4e226 deal properly with MAKEOBJDIRPREFIX (which has priority over MAKEOBJDIR so
the MAKEOBJDIR to ${MAKE} has no effect) so we unset MAKEOBJDIRPREFIX before
invoking ${MAKE}
2000-09-08 05:37:59 +00:00
oster 3fa62c4642 Make sure we are passing a locked vp to VOP_CLOSE. 2000-09-08 01:36:35 +00:00
augustss 19f36696bc ANSIfy last patch. 2000-09-08 01:27:12 +00:00
augustss 96d1acf3d6 Add isoc support. From FreeBSD via Berndt Josef Wulf <wulf@ping.net.au> 2000-09-08 00:55:26 +00:00
soren f0c15086d2 Regen. 2000-09-07 23:26:41 +00:00
soren 36d7d0f902 s/AT&T Microelectronics/Lucent Technologies/ 2000-09-07 23:26:28 +00:00
fvdl 7f5724ad4c In the case of MAP_ANON, Linux mmap ignores the fd argument completely.
So, always pass -1 to the native syscall in that case, to avoid
errors if a Linux app doesn't specify -1 as the fd (which some do).
2000-09-07 22:20:45 +00:00
jeffs 8f8a7ca780 Shuichiro URATA pointed out that the R4000 needs 3 nops. Other OSs make
it look at casual inspection like 1 nop is needed but play other tricks.
Still have reduced by 1 nop.  Hopefully this covers the NEC 41[x]1.  Could
not find info for those processors.
2000-09-07 20:31:02 +00:00
thorpej a1139ee535 Example config file for enabling large page support. 2000-09-07 18:55:30 +00:00
thorpej 2fc18ed7a4 Replace the old db_memrw.c with the hp300 version, modified for i386
and large page support.  This version is a bit more intelligent about
how it deals with kernel text pages.

Now that this is fixed, don't map the kernel text read-write if
DDB is configured.
2000-09-07 18:46:19 +00:00
thorpej a68986edfc Add optional support for mapping the kernel with large (4MB) pages.
Right now, only does kernel text, and wastes a little memory, but
there is some noticeable performance improvement even with just text.
2000-09-07 17:20:58 +00:00
thorpej 2204402aa1 If KERN_LDSCRIPT is specified as a makeoption, then add it to the
linker flags.
2000-09-07 06:39:36 +00:00
thorpej 1946ce2a42 A linker script based on elf_i386.x which aligns the .data segment
to a 4MB boundary, thus allowing the text and read-only data to be
mapped using large pages.
2000-09-07 06:36:24 +00:00
thorpej 50668be499 Deal with low addresses in pmap_k{enter_remove}. port-i386/10966. 2000-09-07 06:06:52 +00:00
chs 11d2a68c1e fix uvm_coredump32() just like uvm_coredump(). 2000-09-07 05:01:43 +00:00
augustss 9a43fc6477 Regen. 2000-09-07 04:00:21 +00:00
augustss 006df0f4cb Add scores of scanners (from FreeBSD). 2000-09-07 03:59:55 +00:00
sato 9a5210c76d - adapt config_hook(CONFIG_HOOK_PMEVENT,..)
save cmu clock mask register and disable all clock when PWR_SUSPEND event.
  restore saved cmu clock mask register when PWR_RESUME event.
2000-09-07 03:11:11 +00:00
thorpej fbc40806dd vtopte() and kvtopte() now check for kernel vs. non-kernel addresses,
respectively.
2000-09-06 23:32:13 +00:00
thorpej b53916e196 Cast arguments to kvtopte() to vaddr_t. 2000-09-06 23:28:30 +00:00
thorpej 5f98fd6c03 On second thought, back out kvtopte() change in previous. Dug, PT pages
are in a special VA range, not kernel VA range.
2000-09-06 22:23:46 +00:00
thorpej ba3605f2bf Use kvtopte() for kernel addresses. 2000-09-06 22:22:27 +00:00
thorpej a7b2cf9d7a Print CPU features, and use kvtopte() for kernel addresses. 2000-09-06 22:19:46 +00:00
thorpej e32a6a7c54 Use kvtopte() for kernel addresses. 2000-09-06 22:09:58 +00:00
scw 7f3786d36a Add preliminary support for the MVME162-LX 200/300 series of boards.
Currently, the major onboard devices are supported (disk, network,
rs232 and VMEbus). However, work is still need to support the remaining
devices (eg. IndustryPack sites).

These boards are available with a dazzling array of build options. At
this time, the following options are *required*:

	o Real floating point hardware (the 68LC040 model isn't tested),
	o The VMEchip2 must be present,
	o If offboard VMEbus RAM is not present, at least 8MB of onboard
	  RAM is required.
	o Even if offboard VMEbus RAM *is* present, at least 4MB of onboard
	  RAM is required. (Boards with 1 or 2MB onboard RAM *can* be
	  supported with offboard RAM, but not without some funky values in
	  the VMEbus Master mapping registers.)

There is no support for boards other than those in the -LX 200/300 series.
2000-09-06 19:51:42 +00:00
thorpej 7dd395bb7f Remove some vto*() macros that won't stand a chance of working
with PSE or PAE, and reimplement vtphys() in terms of pmap_extract().
2000-09-06 19:09:45 +00:00
thorpej 08e45b3689 Cast the argument to vtophys() to vaddr_t. 2000-09-06 18:56:45 +00:00
thorpej e79103cb0a Cast the arg to vtophys() to vaddr_t. 2000-09-06 18:48:36 +00:00
bouyer 2a11ec9347 Add definition for "Actiontec 56K PCI Master", from Bill Hudspeth. 2000-09-06 15:27:37 +00:00
minoura b53cfef01f Adjust ramdisk size. 2000-09-06 14:29:41 +00:00
sommerfeld c9febd72cb Lock scheduler before putting new proc on run queues. 2000-09-06 14:06:42 +00:00
tsubai d0078c839c Add breakpoint(). 2000-09-06 11:25:13 +00:00
wdk b38096892a Microtime calculation was seriously incorrect when HZ != 100
Give rest of clock interrupt code a revamp.  Because we are using an external
cycle counter we can now handle loosing several hundred interrupts without
the time slipping.
2000-09-06 07:52:47 +00:00
jeffs 8f2cc012b5 Remove 3 of the nops between tlbwr and eret in tlb miss handlers. They
were added early when adding the QED support.  RM5231 seems to work fine
w/o the extra nops.  Noticed by Chuck Cranor.
2000-09-06 06:33:42 +00:00
augustss 130aad8a7d ANSIfy. 2000-09-06 00:17:23 +00:00
augustss 6c0346a534 Regen. 2000-09-05 22:39:59 +00:00
augustss 0b631b84eb Add a Logitech trackball. 2000-09-05 22:39:16 +00:00
thorpej 3cf4e948c1 Cast arg to vtophys() to vaddr_t. 2000-09-05 22:37:33 +00:00
thorpej eac566737e In pmap_extract():
- Return FALSE if the PTE does not have PG_V set (previously, you would
  get always get true of the PDE was valid, even if the PTE was not).
- Teach it about 4MB pages.
2000-09-05 21:56:41 +00:00
thorpej 7683d3f956 Define PG_LGFRAME, which is the page frame mask for large (4MB) pages. 2000-09-05 21:52:16 +00:00
thorpej 9c5afcb2f0 Move the Alpha _mcount() into a .S file so that it can be
pre-processed, like other Alpha assembly files.
2000-09-05 16:28:30 +00:00
bouyer ca5824ec3b Implement suspendsched() by putting all sleeping and runnable processes
in SSTOP state, execpt P_SYSTEM and curproc processes. We have to way to
find the original state of the process so we can't restart scheduling,
so this can only be used at shutdown time.

XXX suspendsched() should also deal with processes running on other CPUs.
I don't know how to do that, and as long as we have a kernel big lock,
this shouldn't be a problem.
2000-09-05 16:27:51 +00:00
bouyer aacf1f7a6a Back out the suspendsched()/resumesched() thing, per request of Jason Thorpe &
Bill Sommerfeld. suspendsched() will be implemented in a different way.
2000-09-05 16:20:27 +00:00
tsubai bc0d647e21 Preserve symbol table for DDB. 2000-09-05 15:57:26 +00:00
tsubai dfcd3bca08 On G3 and G4, display short message if L2 cache is not enabled. 2000-09-05 15:29:28 +00:00
haya 4171157155 Clean-up card-type depend code. 2000-09-05 09:01:17 +00:00
enami 445cbcb8c1 Accquire vnode interlock while playing with flags to see if there
is someone waiting this vnode.
2000-09-05 05:13:43 +00:00
enami ef2b361222 Fix to work with objdir. 2000-09-05 05:05:16 +00:00
soren c5ce14be0a Back out (most of) previous. I was using an 1.5 asm.h and hadn't
noticed cgd's fix..
2000-09-05 01:24:51 +00:00