Commit Graph

1342 Commits

Author SHA1 Message Date
chs 197f7aae9c two changes to pmap_enter():
- allow entry of the same mapping that's already there.
   this can happen with UBC.
 - if PMAP_CANFAIL, return failure rather than sleeping
   when we fail to allocate a ptp.
2000-11-21 06:14:40 +00:00
chs 2116915a30 eliminate TRUNC_PAGE() and ROUND_PAGE() in favor of their
lowercase counterparts.  also, a little misc cleanup.
2000-11-21 05:49:07 +00:00
chs c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
matt b605c997e2 Commit changes to SCSI working on the VS4000/9x. "Don't overthink the
plumbing!  Duh!".
2000-11-16 19:25:40 +00:00
thorpej b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
matt 960800cbb8 Convert some spaces to tabs. 2000-11-15 00:49:31 +00:00
thorpej fb50850754 We use 4K VM pages on the VAX. Make PAGE_SIZE and friends into
compile-time constants.
2000-11-14 19:49:57 +00:00
matt 037cfa6d83 Fix a thinko or two i made a few days ago. I could have sworn i compiled
this. :)
2000-11-09 01:54:20 +00:00
matt b9d975e3d2 NOMAN needs to be *before* we include bsd.own.mk 2000-11-09 01:52:55 +00:00
simonb be1c09c850 Use the canonical RF_PROTECTED_SECTORS #define hack. 2000-11-03 00:30:34 +00:00
matt 2f33599840 Casting lvalues is evil. Do it the right way. 2000-11-02 17:04:28 +00:00
matt ab1d1ef33d Add code to read the disklabel and add the beginning offset for A. Add
support for booting off a RAID root parition.
2000-11-02 17:01:47 +00:00
matt fba0f63c68 Change the way we make machine-links so that only occurs when we are building
on VAX.
2000-11-02 17:00:24 +00:00
ragge 78e81aa036 Remove unused define. 2000-11-02 14:48:51 +00:00
eeh 8c3f6a0d10 Adapt to new line discipline scheme. 2000-11-02 00:37:56 +00:00
ragge 8aed9a24ac Define NO_MID_CHECK, to allow booting of old VAX kernels with other (or
none) mid.
2000-11-01 14:25:38 +00:00
ragge d89e5a54ad Start address must be == 0, otherwise loading on some MicroVAXen will
fail (boot program loaded at address 0 anyway, but tries to start at
the compiled entry point).
2000-11-01 14:06:44 +00:00
ragge a0bc5f5454 Declare revision correctly. 2000-11-01 14:04:28 +00:00
ragge b43932dec2 If a process is locked into memory with mlockall() (like ntpd is)
pmap_enter() will get called trying to wire an already wired page again
if sysctl() is called. To avoid a panic the "wired" check is moved after
the double-mapping check.
2000-10-31 20:15:09 +00:00
matt 76afe54fae add a clarifying comment. 2000-10-18 21:38:52 +00:00
dmcmahill 07f0a9daf8 add '-s' option which will cause the installboot program to recalculate the
16 bit sun checksum.  This flag is needed when making iso 9660 images which
are bootable on both sparc and vax machines.
2000-10-17 22:11:22 +00:00
ragge 7ac8ee6f59 By accident, a previously unused bit in the PTE got used as wired bit.
Because of this kvtophys() of wired pages did set the leftmost bit, causing
the pager to hang while swapping. This is now fixed by using another
free bit in the PTE as wired bit instead.
This fixes PR#11121.

Many thanks to Chuck Silvers that found what the problem was!
2000-10-15 11:00:38 +00:00
ragge de4982c7fa Fix bug that prevented DMA to work on SCSI chain B. This fixes PR#11124
but in a different way than suggested by the submitter.
2000-10-05 07:34:49 +00:00
itojun 9e47af8814 enable rnd device. they are now mandatory for ssh/sshd support,
so it makes more sense to enable it.
please disable them if there's any issues, but in that case, in-tree
ssh/sshd won't work.
2000-10-04 03:35:53 +00:00
abs 2824f4906d Ensure all INSTALL* kernels have two ptys, and a note explaining why:
pseudo-device  pty             2       # pseudo-terminals (Sysinst needs two)
(Some installers may not be using sysinst, in which case this just reduces
the number of ptys from 16 that are not used to 2 that are not used)
For i386 conf files, no change other than comments.
2000-10-02 18:43:34 +00:00
thorpej 7ca3fb9ef0 Move the check for "promisc + unicast + not for us" into ether_input(),
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
abs 3ef92f0bdb Use "options<SPACE><TAB>" not "options<TAB>" - noted by simonb.
Move VNODE_OP_NOINLINE and NFS_V2_ONLY into '# Filesystem options' section.
Consistently label '# Filesystem options' and '#File systems' sections.
2000-09-25 13:54:50 +00:00
abs ccf1c822a6 Ensure all INSTALL config files have (at least) COPTS="-Os", cincluding bebox
based on it working already for macppc.
Also add commented out:
#options        VNODE_OP_NOINLINE       # Don't inline vnode op calls
#options        NFS_V2_ONLY             # Exclude NFS3 and NQNFS code
as suggestions for additional savings
2000-09-25 11:46:37 +00:00
jdolecek b1f94e26ab don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
2000-09-24 15:59:26 +00:00
jdolecek 49c105ffdb add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
2000-09-24 12:32:31 +00:00
simonb cd2e1c1e91 Use ${COPY} instead of -c for ${INSTALL} commands. 2000-09-23 13:53:41 +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
chs e3b6ec1d77 remove extra paren so this compiles again. 2000-09-08 19:26: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
ragge 7b3463b7d7 Fix to correctly identify 3100/m30. From moj@stacken.kth.se. 2000-09-04 11:46:33 +00:00
jhawk a022cf9d37 Use
${MAKE}
instead of
  make
2000-08-30 23:51:46 +00:00
jdolecek ad4cbd94a4 Switch to newvers_stand.sh-based boot block versioning. Add sensible 'version'
template, the boot block changes were picked from cvs annotates for Makefile
and boot.c.

Reviewed by Ragge.
2000-08-30 18:16:09 +00:00
matt 4027af140c Make the pmap: enter on myself panic conditional under DIAGNOSTIC 2000-08-27 17:14:44 +00:00
ragge fa53886b69 Wiring of a page were done at the wrong place, so pages in kernel space
never got the wired bit set. This caused panics if a swapped out process
was swapped in again and the kernel stack had not yet been unmapped.
While here, add a forgotten lock initializer.
2000-08-27 14:14:50 +00:00
matt 98e5e148fa Since cpu_switch (aka Swtch) is now called at splsched() with sched_lock
locked, cpu_exit needs to do that too.  Since in the lock debug case we
have to use a CALLS which wipes out R0-R6, change the convention for Swtch
so that the proc is passed in R6 and that R6 is clobbered.  This is so
Swtch itself doesn't have to save/restore the proc pointer explicitly.
2000-08-27 00:21:46 +00:00
matt 5c62e0cab4 Fix the idle loop. 2000-08-26 15:13:23 +00:00
matt 7e0ad8b0c2 Update to reflect new processor switching conventions w/ LOCKDEBUG
and MULTIPROCESSOR
2000-08-26 03:38:46 +00:00
matt fc1511e910 add a COMPAT_15 and remove TCP_COMPAT_42 2000-08-26 02:32:57 +00:00
matt 3fec8167d3 Reverse polarity on INSN_EMULATION to NO_INSN_EMULATION. Thus by default
all kernels will have instruction emulation.
2000-08-26 02:30:59 +00:00
matt 3351f4cf4b Need <bsd.own.mk> for OBJECT_FMT. 2000-08-25 03:51:34 +00:00
thorpej 4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
ragge 5796505d43 Fix after %b fixes. 2000-08-24 13:12:25 +00:00
thorpej 58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
thorpej 23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
ragge d9bb2fc1fa Clear result registers before using them.
Be more informative if unimplemented addressing modes.
2000-08-14 11:16:52 +00:00
itojun 85dda25e94 move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
2000-08-13 01:31:15 +00:00
tv ccb5bdbdd9 %b -> bitmask_snprintf() 2000-08-09 03:02:52 +00:00
tshiozak 51a53de0d5 Preparation for the future introduction of multibyte locale.
- MB_LEN_MAX is increased to 32.
 - To ensure binary compatibility for old executables
   under multibyte locale, versioned setlocale is added.
 - __mb_len_cur definision is added in setlocale.c
   and enable it in stdlib.h .
   It is also important for multibyte locale stuffs,
   but I just forgot.
2000-08-08 22:31:13 +00:00
ragge d254a73539 Remove some unneccessary TBIA's. Keep track of wired pages.
Fix PR#8503 (refcount error).
2000-08-08 19:06:52 +00:00
ragge a8b7c77ff8 Be sure that cache is enabled. 2000-08-08 17:54:46 +00:00
ragge 73bb1e9018 Write code to handle unimplemented instructions trapped via SCB vector 0x18.
This may happen on machines missing parts of the instruction set (like
some floating point formats).
Only one new instruction added; POLYD, so that the libm assembly files can
be used on architectures missing that instruction.
Also; include emulation code if compile-time option INSN_EMULATE is defined
instead of trying to match on which cputype it is.
N.B. POLYD isn't fully implemented, just enough to make libm happy.
2000-08-08 16:48:12 +00:00
ragge cf62d07e82 Fix bug that trashed the SPT if any copy* function were used before
the first swtch().
2000-08-02 12:13:22 +00:00
mason 4a353b5330 Moving to a default of 64 PTYs. 2000-07-27 17:53:35 +00:00
matt 63466a9699 Un __P. 2000-07-26 21:50:48 +00:00
ragge 1d79c50d61 Oops, forgot a debug return. 2000-07-26 15:16:55 +00:00
ragge 97c8ae87cd nmi files. 2000-07-26 12:37:14 +00:00
ragge f9374fe05f Add bi interrupt allocator. Should be somewhere else. 2000-07-26 11:55:55 +00:00
ragge e50ddafc0b Add badaddr() field. 2000-07-26 11:55:01 +00:00
ragge 550bb5fbb2 Make yeartonum/numtoyear visible. 2000-07-26 11:54:32 +00:00
ragge c034e1d483 VAX-specific bi support changes. 2000-07-26 11:53:30 +00:00
ragge 9c3b3ed9c6 Discover the KA88 cpu. 2000-07-26 11:50:51 +00:00
ragge 3a73106b1b KA88 console support. 2000-07-26 11:50:16 +00:00
ragge 0aeb2853f9 Support for a machine-specific badaddr handler. 2000-07-26 11:48:50 +00:00
ragge b38b1995fa Support for the KA88 CPU and the NMI backplane. 2000-07-26 11:47:15 +00:00
ragge 851da6dda0 Remove the use of global "mastercpu", the world is different now. 2000-07-26 11:44:25 +00:00
matt a6f212052a Enable emulation for everything but 7xx/8xxxx 2000-07-22 05:03:23 +00:00
ragge 96122c2884 Do mtpr(0, PR_TBIA), not mtpr(1, PR_TBIA). This has worked on all CPUs
except for KA88.
2000-07-19 21:08:06 +00:00
matt b14e1fbbd4 Tpyo 2000-07-19 20:29:45 +00:00
matt 38c659cca5 Include ELF support by default. 2000-07-19 18:29:21 +00:00
matt 8e9ff5814e More ELF changes (a.out still works). 2000-07-19 18:15:01 +00:00
matt d66b7dcc2d Switch to loadfile instead of exec. Now we can load a.out or ELF kernels. 2000-07-19 02:39:11 +00:00
matt ad99ca5ed2 use size_t instead of u_int. 2000-07-19 01:02:52 +00:00
matt ab5d2882a0 Move KA630 definitions from boot/boot/consio.c to here. 2000-07-19 01:01:58 +00:00
matt 15c6bb6dbd ELFify (udiv -> __udiv, urem -> __rem) 2000-07-19 01:01:02 +00:00
matt 732a08c3c3 Put the assembly consio routines in a separate file so it can deal with
a.out/ELF differences.
2000-07-19 00:59:20 +00:00
matt 9b4c867626 Add support for loading a 2nd stage boot in either a.out or ELF.
Add support for loading a 2nd stage boot directly to it's desired address
if possible.
cleanup use of u_int/size_t.
2000-07-19 00:58:23 +00:00
matt f96915efa5 Changes so that the kernel can be compiled under __ELF__. 2000-07-17 02:54:04 +00:00
matt 5d9fda1ecd switch size_t, ptrdiff_t, & ssize_t to long int (signed or unsigned) for
__ELF__.
2000-07-17 02:52:24 +00:00
matt cb551c438d Reflect the new reality. 2000-07-13 03:18:22 +00:00
matt 841f05f1b2 Use <machine/asm.h> 2000-07-13 03:17:21 +00:00
matt 20b3698aee Include libkern.h 2000-07-13 03:13:40 +00:00
matt 98ffc615b2 Use <machine/asm.h>. (e.g. prepare for ELF) 2000-07-13 03:13:05 +00:00
ragge c71d0f69c6 Forgot a debug printf. 2000-07-10 10:45:21 +00:00
ragge 5ae755e1bf Save registers for eventually later usage.
Use REI to clear pipes after code copy.
2000-07-10 10:42:27 +00:00
ragge baec928850 NODESIZE -> BI_NODESIZE. 2000-07-10 10:40:38 +00:00
ragge ed83213bf2 Add support for VAX 6000 + VAX 8000. Tweak console routines.
Create a fake RPB if either netbooted (on machine without RPB) or
loaded from console storage (without VMB intervention).
2000-07-10 10:38:23 +00:00
ragge 175e6ad859 Add code that allows the boot blocks to be loaded by VMB.EXE, and
also have optional MTPR printf available.
2000-07-10 09:55:36 +00:00
ragge 8658157274 Nexus vector number is 0x14-0x17, not 14-17! Fortunately, 3 wrong did
one right. Pointed out by Kenn Humborg (kenn@linux.ie).
2000-07-10 09:14:32 +00:00
ragge 089ed65ef7 Add NMI and XMI outcommented, the same with VAX 6400 and VAX 8000. 2000-07-06 18:04:56 +00:00
ragge 0e29b678ce Add xmi_mainbus.c file. 2000-07-06 17:43:38 +00:00
ragge 63852b4193 Some defines for the 6000/400 CPU. 2000-07-06 17:42:49 +00:00
ragge 443db45277 Framework for the mainbus-XMI block. Not completely finished. 2000-07-06 17:41:37 +00:00
ragge b98189c9f5 CPU support for the 6000/400 CPU. No support for spinning up the
slave processor yet, though.
2000-07-06 17:40:00 +00:00
ragge d5e70ee279 Add code to support loading of kernel directly via MOP.
This is only intended for development purposes, not production use.
2000-07-06 17:37:40 +00:00
ragge 6bf625c8c0 Recognise VAX 6000/400. 2000-07-06 17:36:22 +00:00