Commit Graph

1363 Commits

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