Commit Graph

1535 Commits

Author SHA1 Message Date
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
matt
d962f9c52e Add a kludge that makes stack tracebacks work. 2000-12-30 20:16:34 +00:00
matt
8a55dd0d98 Make this compile without having a SMG device. 2000-12-30 20:15:02 +00:00
matt
c03997bb51 Make this compile again. 2000-12-30 20:11:54 +00:00
jdolecek
e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
tsutsui
cb7f7c7f3b Remove "rnd is EXPERIMENTAL" comments. 2000-12-19 15:51:47 +00:00
bouyer
c71f40d166 Add pseudo-device vlan 2000-12-19 10:42:02 +00:00
jdolecek
cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
matt
3d9cc98e9a Add VAX 4000/200 2000-12-10 03:37:56 +00:00
matt
f7b27589e3 Enable VS4000/90 SCSI controller in INSTALL kernel. 2000-12-07 01:24:25 +00:00
ragge
f8a6a4ce46 Add lkkbd/lkms/fonts, remove lkc. 2000-12-02 17:18:54 +00:00
ragge
2f2f3de2ed Recent lkkbd/lkms/lkc changes. 2000-12-02 17:15:37 +00:00
ragge
cfcd7e9e98 Use lkkbd. Add hardware cursor support. Use wsfont fonts instead of the
old QDSS fonts (support not finished). KNF cleanup.
2000-12-02 17:14:00 +00:00
ragge
3321363123 Remove lkc, add lkkbd/lkms support. 2000-12-02 17:09:43 +00:00
ragge
a81d92ef69 Add prototype. 2000-12-02 17:08:32 +00:00
ragge
37bfa1d6e8 Add fusword() + a MP change. 2000-12-02 17:07:55 +00:00
ragge
e392e575c1 lkc is gone, long live wskbd. 2000-12-02 17:07:27 +00:00
matt
ca7a0ec817 Make this compile again. 2000-11-24 09:39:37 +00:00
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
ragge
5c50116697 Console Communication Area (CCA) layout description.
Used on for example VAX 6000 machines.
2000-07-06 17:34:29 +00:00
matt
8fbc28d991 Revert WEAK_ALIAS back to ELF only.
Change ALTENTRY so there is no change of alignment or section
2000-07-03 23:05:32 +00:00
matt
4f1fa84a93 Rework ALTENTRY a bit. 2000-07-03 04:24:56 +00:00
matt
959b8d8a1e Make cross-compile friendly 2000-07-03 04:24:12 +00:00
cgd
a5c13f9ad4 Kwality control:
* put #includes of opt headers and headers to get protos used by
  net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
  in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
  local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
  netisr_dispatch.h (pc532) to use it.
2000-07-02 04:40:33 +00:00
matt
c9e87920af GCC 2.96 wants the = constraint first. Older gcc(s) don't care. 2000-07-01 06:43:42 +00:00
matt
5ccb0f3e95 Add ELF support. 2000-07-01 06:42:54 +00:00
matt
c9e3b4a94f a.out allow weak symbols too. 2000-07-01 06:42:06 +00:00
matt
e9b3d6fc85 GCC 2.96 wants the = constraint first. Also change to be a bit more
efficient.  Instead of using indirect register access, change the
constraint to memory and use the value directly.  This allow PC-rel
access among other things.
2000-07-01 06:41:06 +00:00
matt
54a2dbe16a More GCC 2.96 changes. 2000-07-01 06:38:53 +00:00
itojun
d738f90fd7 raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory.  MHLEN is too small
  already (less than 80) and there are chances for unwanted packet loss due
  to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
  (even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
  extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
2000-06-30 17:55:11 +00:00
itojun
d76ae83df8 add PULLDOWN_TEST for all the platforms.
XXX should be moved to somewhere else when stabilized
2000-06-30 17:10:15 +00:00
matt
8231e1afca fix typo 2000-06-30 03:35:32 +00:00
mrg
7e590c46fe remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 07:07:52 +00:00
matt
f77f36407d Use __builtin_va_list when GCC >= 2.96 2000-06-28 21:13:35 +00:00
ragge
30a1a1bb3c Add hdc controller and rd disks. 2000-06-27 18:50:47 +00:00
ragge
2be09b4a84 Do 3 retries on a failing sector before giving up.
Clear pending interrupts before starting a DMA transfer. If an interrupt
occurs while the HDC9224 is doing DMA, the transfered data will be
scrambled (without giving any errors, quite bad).
2000-06-27 18:46:17 +00:00
ragge
92f0a8f388 Make this file compile again. 2000-06-27 18:38:27 +00:00
mrg
d726c1dfc5 remove redundant vm includes. 2000-06-27 09:09:51 +00:00
matt
34def42c3d Add ELF support. 2000-06-27 06:17:28 +00:00
kleink
bb2ed0f487 G/c _BSD_INTPTR_T_ and _BSD_UINTPTR_T_. 2000-06-27 05:53:22 +00:00
kleink
47b5c5e3b1 Resolve some formatting nits; add __intptr_t and __uintptr_t. 2000-06-27 04:58:51 +00:00
kleink
e695f72a2e Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
2000-06-26 15:42:16 +00:00
mrg
2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
simonb
889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
ragge
7781fd263e Detect "rd" as root device. 2000-06-25 18:27:24 +00:00
ragge
bd66c9dafc Make the HDC9224 MFM device driver up-to-date; has been not-working
since NetBSD 1.2 (!) It also uses interrupts instead of polling now.
Also fix the DMA area locking between SCSI and MFM disks.
Still missing - floppy support.
2000-06-25 16:00:43 +00:00
kleink
133ea38323 Add a WEAK_ALIAS() macro. 2000-06-23 12:18:45 +00:00
fvdl
1ee7d22c0b Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC. 2000-06-22 20:27:49 +00:00
matt
15511d1dcc Move COFF_LDPGSZ to ibcs2_machdep.h. Fix nmagic loader to deal with
subpage mappings.
2000-06-21 05:45:15 +00:00
ragge
e79e5730cc Variable "from" must be in first block read from disk, otherwise it will be
overwritten on non-VMB machines.
2000-06-19 20:05:17 +00:00
matt
1293f1b88b Rename ncr[5380] device to si to more consistent with other ports.
Add VAX660 to cputype.h.  Remove needs-flag from si & asc entries.
2000-06-19 04:22:14 +00:00
matt
955a631ce4 We use opt_cputype.h now. 2000-06-18 22:47:19 +00:00
matt
4e6d07206d make printf happy. 2000-06-17 01:05:11 +00:00
matt
ff76991706 Add an installboot. 2000-06-17 01:01:06 +00:00
matt
94956e7869 Adjust this a bit so that the primary entry point is 0x200, not 0x0a. 2000-06-17 01:00:17 +00:00
matt
4343326b78 Add an installboot(8) for vax. This is needed so the VAX can do multiboot
CDroms.
2000-06-17 00:59:24 +00:00
matt
bd160eabec these are obsolete now that vax uses sysinst. 2000-06-16 06:36:45 +00:00
matt
1e3f670589 This file now lives one level down in common. 2000-06-16 06:35:12 +00:00
matt
2aaf9eb5c7 now lives one level down in boot. 2000-06-16 06:33:22 +00:00
ragge
53cc7ebe6b Standalone device driver for DEBNx (ni) ethernet controllers. 2000-06-15 19:53:23 +00:00
ragge
8767feaaff Recognize "ni" as boot device. 2000-06-15 19:49:37 +00:00
veego
223d7455c7 Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
2000-06-14 22:02:13 +00:00
ragge
2df63a9cc1 Evil bug: sizeof(struct cpu_info) -> sizeof(struct ka820_softc). 2000-06-12 11:26:26 +00:00
ragge
8ea974e809 Put all cputype definitions in one file instead of separate files.
This was becoming unmaintainable.
2000-06-12 11:13:14 +00:00
matt
7f40194cbc Make spl0 & spllowersoftclock return void. 2000-06-11 23:33:37 +00:00
matt
0dc4d9cf90 export bus.h 2000-06-11 23:32:55 +00:00
matt
e910b71c73 Comment out asc0 for vs4000/90. remove slip/ppp. 2000-06-11 23:32:10 +00:00
matt
3dfb96fa8f Add local symlink so that machine & vax refer ../../include instead of the
system ones.
2000-06-11 23:30:35 +00:00
ragge
11b7c895aa Remove some unneeded code. 2000-06-11 10:40:06 +00:00
ragge
fdc27c43a1 Fix booting from BI-based disks. 2000-06-11 10:39:26 +00:00
ragge
e7aefcd7ae Allow printf's from slave CPUs by stealing the v_putc function.
Easier than expected because the printout lock is hold in the higher levels.
2000-06-11 07:50:11 +00:00
ragge
b826825917 Code to spin up other CPUs on a VAX 8200 system.
Haven't solved the printf() problem yet, though.
2000-06-10 14:59:38 +00:00
matt
50dff37fd9 fix botch by me. 2000-06-10 05:24:46 +00:00
matt
2dde4ce0c9 Slight stylistic changes. Add KAME checksum routine. 2000-06-07 19:31:33 +00:00
jhawk
c063b64a2b Do not clear msgbufenabled in dumpsys(). Dump messages will now go to
the message buffer. This can be invaluable in debugging if the dump
fails (assuming a persistant message buffer)
2000-06-05 23:44:55 +00:00
nisimura
4371d91433 Have MI ncr53c9x_attach() the 2nd and 3rd arguments for scsipi_adater
and scsipi_device respectively, with size reduction of ncr53c9x_softc.
Specifying NULL instructs the driver to use default adapter and default
device codes. Every target port has ncr53c9x_attach(sc, NULL, NULL) anyway.
2000-06-05 07:59:50 +00:00
matt
661884208a add support for counting soft interrupts 2000-06-05 03:45:23 +00:00
matt
2f85fe7adb Adjust to new evcnt stuff. 2000-06-05 00:09:17 +00:00
matt
ac621687a3 Add coff_machdep.h (now need due to the recent exec_coff changes). 2000-06-04 21:06:18 +00:00
ragge
1320a4106c Adopt to latest mba/hp changes. 2000-06-04 20:04:21 +00:00
ragge
79e7f9966d Adapt to mba changes. Fix assembler buf (EDIV uses 64-bit arg, not 32). 2000-06-04 19:58:17 +00:00
matt
a8a863d4ea more cleanup. use __builtin_frame_address(0) instead of our funky
FRAMEOFFSET macro.  define an interrupt call frame and use that directly
instead of some magic offsets.  Make boot autoconf.o use the current
reality.
2000-06-04 19:30:14 +00:00
matt
e2293f4ad0 Add a comment 2000-06-04 19:03:27 +00:00
ragge
c46119030a Forward declaration of `struct proc'. 2000-06-04 18:27:39 +00:00
matt
f08ff1ad2d use PR_IPL instead of 0x12.
align entries of various symbols.
2000-06-04 18:13:06 +00:00
ragge
db7db1456e Remove home-grown interrupt vector handler.
Bus_space'ify; needed to get RH11 working. Still much more to do, though.
2000-06-04 18:04:38 +00:00
ragge
d7a5a63645 Changes to sbi_attach_args. (and some cleanup) 2000-06-04 18:02:35 +00:00
ragge
1838716f7b Remove some unneeded code. (and cleanup). 2000-06-04 18:00:48 +00:00
ragge
82e0b5f7db Changes of sbi_attach_args. (and cleanup) 2000-06-04 17:59:50 +00:00
ragge
1e19df4bfd Clean up the sbi_attach_args struct and put in tag/handle.
Move a nice macro to scb.h.
2000-06-04 17:58:19 +00:00
matt
0bd304e528 More event counter stuff. Plus a little cruft cleanup while doing it. 2000-06-04 06:16:53 +00:00
matt
713121e8c4 Nuke it. It's in dev/qbus now... 2000-06-04 04:48:34 +00:00
matt
078c7563c2 newer version exists in dev/qbus. nuke this one. 2000-06-04 04:19:57 +00:00
matt
061896a992 now in dev/qbus so nuke this version. 2000-06-04 04:16:58 +00:00
matt
7c24069048 Add extra argument to scb_vecalloc (a struct evcnt *)
Move ivec_dsp from trap.h to scb.h
Add interrupt counting to asc, le, ze, ncr, dz interrupts.
add common support for counting interrupts to cnm_idisp so
it can be done very efficiently.
2000-06-04 02:19:24 +00:00
matt
baaa1154d5 no need to raise ipl since the definition of softintr_schedule is that
it's from at or above softipl.
2000-06-02 22:14:10 +00:00
matt
34a96c661b replace spl4 with splconsmedia 2000-06-02 21:51:46 +00:00
matt
d278b1da45 Add IPL_* codes.
Add other codes for struct references.
Add softintr framework for IPL_SOFTNET and IPL_SOFTSERIAL.
General cleanup of .s files replacing hardcoded structure offsets with
symbolic ones.
2000-06-02 21:51:15 +00:00
matt
83a385c230 use splsoftddb() instead of hardcoding the ipl. 2000-06-02 21:49:06 +00:00
matt
b8cccfafd8 Move spl macros from <machine/param.h> to <machine/intr.h>
Fix botch on my part and make the IPL_* match reality on VAX.
Redefine spl macro using the symbolic IPL_ instead of being hardcoded.
Move schedsoftnet, schedsoftclock from <machine/cpu.h> to <machine/intr.h>
Add a _setsirr macro for schedsoft*.
Add softintr function and framework.
2000-06-02 21:47:02 +00:00
matt
fb6a3dfb64 Include offsets in vs_cpu register in comments. 2000-06-02 21:39:54 +00:00
matt
e488ca043b change void f() to void f(void) 2000-06-01 02:28:11 +00:00
matt
c9aff328d9 Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +00:00
matt
22635242c9 Eliminate booted_from. extern'ed booted_device (for raidframe). nothing
outside autoconf.c in sys/arch/vax needs to deal with booted_device).
2000-05-31 23:55:51 +00:00
matt
7a66d70655 add placeholders for the MicroVAX 3400 (ka640). 2000-05-31 23:53:27 +00:00
thorpej
858becb7c2 In the MULTIPROCESSOR case, initialize p_cpu before a process is
marked SONPROC.
2000-05-31 05:10:54 +00:00
ragge
992002c2be Use the cpu_info struct to store cpu-specific data in the same way in
both uniprocessor and multiprocessor environments. Use the otherwise
unused internal CPU register SSP to store the cpu_info pointer.
The macros curcpu(), curproc, cpu_number() and need_resched() are now the
same in both uniprocessor and multiprocessor environments.
2000-05-29 20:00:55 +00:00
matt
33889a5e6c Enable DDB. 2000-05-28 20:21:04 +00:00
matt
166475069f fix it so it compiles. 2000-05-28 18:17:59 +00:00
thorpej
e03e9e8086 Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1().  In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.
2000-05-28 05:48:59 +00:00
matt
141dcca251 Add VAX660/670/680 support. 2000-05-28 05:17:25 +00:00
ragge
26acf7f88a Only map in map registers and the I/O page if they are not mapped in already. 2000-05-27 21:44:35 +00:00
ragge
8293b12111 Write kvtopte() and kvtophys() as inline assembler. GCC create quite bad
code for them, and they are only 2-3 instructions each if written by hand.
2000-05-27 21:17:06 +00:00
ragge
6cfde8f146 Remove the pcbtrap global variable, use a per-CPU variable instead. 2000-05-27 20:02:58 +00:00
ragge
98d0ab9e1c Use machine instead of vax in include path. 2000-05-27 16:44:14 +00:00
ragge
99baa81ae7 Rewrite cpu_fork(), it now looks like and works as other ports' cpu_fork()
(calling child_return() etc...). Have fun, Jason!
2000-05-27 16:33:04 +00:00
ragge
aacf5a4bc1 Growel out the SCSI BUS ID from NVRAM instead of hard-code it. 2000-05-27 10:12:45 +00:00
thorpej
21fc65e1a8 sleep() -> tsleep() 2000-05-27 04:52:27 +00:00
matt
fa1474c2eb This need <sys/sched.h> to compile. 2000-05-27 03:23:22 +00:00
sommerfeld
40339b39f9 Reduce use of curproc in several places:
- Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.

 - Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.

 - Add a second proc argument for inferior() since callers all had
curproc handy.

Also, miscellaneous cleanups in ktrace:

 - ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.

 - move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.

 - simplify interface to ktrwrite()
2000-05-27 00:40:29 +00:00
thorpej
a7d0570e67 First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

	- Global state: sched_qs (run queues), sched_whichqs (bitmap
	  of non-empty run queues), sched_slpque (sleep queues).
	  NOTE: These may collectively move into a struct schedstate
	  at some point in the future.

	- Per-CPU state, struct schedstate_percpu: spc_runtime
	  (time process on this CPU started running), spc_flags
	  (replaces struct proc's p_schedflags), and
	  spc_curpriority (usrpri of processes on this CPU).

	- Every platform must now supply a struct cpu_info and
	  a curcpu() macro.  Simplify existing cpu_info declarations
	  where appropriate.

	- All references to per-CPU scheduler state now made through
	  curcpu().  NOTE: this will likely be adjusted in the future
	  after further changes to struct proc are made.

Tested on i386 and Alpha.  Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
2000-05-26 21:19:19 +00:00
ragge
02512fa1e9 Correct a comparision. 2000-05-26 21:05:23 +00:00
ragge
4eea61af11 If we panic before the vsbus is found, don't panic again. 2000-05-26 21:05:01 +00:00
ragge
1e700bc362 Make it compile again. 2000-05-26 20:51:25 +00:00
ragge
b2bc655ba8 Fake success when trying to use the strategy() routine on a network device.
This avoids clobbering errno and bad error messages.
2000-05-26 20:18:57 +00:00
ragge
e2148b38ab Don't init the net info more than once. 2000-05-26 20:16:46 +00:00