Commit Graph

9194 Commits

Author SHA1 Message Date
mhitch
39079306ce Add the missing ".set noreorder". 1996-10-22 20:46:09 +00:00
pk
fd8ac8b221 If no specific kernel architecture is requested, define the CPU_* and
NBPG et.al. as in the generic case. This would be the expected thing to do
when compiling LKMs and such.
1996-10-22 19:11:19 +00:00
cgd
48dc9aaae4 update alpha bus.h for new bus space interfaces. chipsets haven't
been updated yet, and the hacked DMA vto(busphys) macro is gone and
hasn't yet been replaced.
1996-10-22 18:06:54 +00:00
veego
cf6307b2e7 Fix GRFTOGGLE.
The old version only toggles to the amiga signal and do not go back to
the CyberVision signal.
1996-10-22 16:59:56 +00:00
perry
8ca5cce5c7 sync (mostly) with Alpha version. Among other things, this fixes the
boot-time printf better.
1996-10-22 16:38:34 +00:00
gwr
b0e589ced7 Define the *poll functions. 1996-10-22 15:58:12 +00:00
perry
ac4e0ab44e add a missing \n in the printf in rd_attach_hook. added an XXX
comment to note that this printf still isn't quite right (possibly
because this is now a pseudodevice), and the autoconf printout when
mounting root on a ramdisk isn't right, either. This should both be
fixed.
1996-10-22 10:19:10 +00:00
thorpej
b84a8f42d9 Implement eisa_mem_{alloc,free}(), a method for allocating/freeing
EISA bus physical address space.

This i386 implementation allocates system physical address space
after the end of RAM.
1996-10-21 23:12:56 +00:00
thorpej
16c4c5af26 New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
	  devices.  It's all "bus space" now, and space tags
	  differentiate the space with finer grain than the
	  bus chipset tag.
	- Add memory barrier methods.
	- Implement space alloc/free methods.
	- Implement region read/write methods (like memcpy to/from
	  bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
1996-10-21 22:24:37 +00:00
hpeyerl
05fe4c93dc Force some drive mappings for reasons I won't get into. 1996-10-21 16:43:05 +00:00
veego
d576aeff5e include update for config(8)
increase the number of bpfilters to 16
1996-10-21 11:13:39 +00:00
veego
c8902b053c include update for config(8) 1996-10-21 11:11:23 +00:00
veego
2745d7df21 This config files are no longer needed.
Copy the GENERIC config file and use that.
1996-10-21 11:04:32 +00:00
veego
0d00de6c6e Fix console problem on fast machines. pr#2777 1996-10-21 09:31:53 +00:00
scottr
289b73be85 Fix a raft of printf format strings and some declaration problems for
the case where we define DEBUG.  From Erik Bertelsen, closes PR 2871.
1996-10-21 05:42:23 +00:00
briggs
084b3f6a4c Fix two bugs noticed by Taras Ivanenko <ivanenko@ctpa03.mit.edu>
via.c: don't allow spl to remain at splhigh on error.
mainbus.c: Make sure that variable is initialized.
1996-10-21 01:59:31 +00:00
perry
7117cf93ec Add #include <sys/systm.h>, so that cc -W* doesn't bitch and error out
when printf() gets used in this file.
1996-10-21 01:49:22 +00:00
scottr
a6865e3d2b Don't try to reference nfsbootdevname if we have no ether devices.
Fixes PR 2860, from Paul Goyette <paul@pgoyette.bdt.com>.
1996-10-21 00:31:18 +00:00
thorpej
43ba106ec2 Remove declaration for now-gone function. 1996-10-20 23:47:40 +00:00
thorpej
af8d8d2a56 Arrange this file into sections (configure(), root device goo, console goo,
old-config goo).  Place old-config goo at the end so that it's easy to
#ifdef our or delete (muahahah!).

Garbage collect a couple of unused functions.
1996-10-20 23:46:06 +00:00
thorpej
bbdd41a2a7 Back out last change, and add a comment about what should happen.
(*grumble* will teach me to do a `make clean' next time.)
1996-10-20 23:23:28 +00:00
hpeyerl
7aa41bf1a7 #ifdef out a couple of variables dependant on USER_LDT. 1996-10-20 22:39:03 +00:00
pk
52acac0518 Regroup the definitions of NBPG, PGOFSET and PGSHIFT into the section that
enumerates the possible SUN? combinations.
1996-10-20 20:26:52 +00:00
pk
62c32ff2dc Drop a duplicate `#include ppp.h'; noted by Chris Demetriou. 1996-10-20 19:32:42 +00:00
pk
4dd0b24bf9 Make sure to refer to `sc_ovtype' only when SUN4 is defined, as noted
by `r.evans@ic.ac.uk'.
Also, explicitly testwhether we're dealing with a pfour.
1996-10-20 19:18:00 +00:00
pk
b246894d9b Document `-a karch' option.
Fix a formatting nit.
1996-10-20 16:17:04 +00:00
pk
5ced353a7a Add -a <arch>' switch to force the target architecture. Retain -h' for
compatibility.
1996-10-20 16:00:14 +00:00
thorpej
7133ecf2ca Don't need to mark 0-NBPG as VM_PROT_NONE in kernel_map anymore; the
first entry is now properly setup in kmem_init().
1996-10-19 21:11:32 +00:00
thorpej
7958973110 Set VM_MIN_KERNEL_ADDRESS to NBPG. This is a better way of getting
the kernel_map to treat page 0 properly.
1996-10-19 21:07:42 +00:00
is
e10e9e8455 Clean up the attach messages a bit. 1996-10-19 16:54:14 +00:00
thorpej
cf9b36ab1d Set up a kernel_map entry for the text segment with protection of
VM_PROT_READ|VM_PROT_EXECUTE.  The previous default (VM_PROT_ALL)
would cause the following scenario:
	- someone attempts to write kernel text (my test was writing
	  to an offset of /dev/kmem which was known to be in the text
	  segment, while in single-user mode).
	- enter trap() with MMU fault (because of RO pte).
	- trap() calls vm_fault(), which looks up vm_map_entry for
	  fauling address.
	- vm_fault interprets write fault and VM_PROT_WRITE (in VM_PROT_ALL)
	  as COW; new page allocated, data copied to new page, new page
	  mapped in at trunc_page(<faulting va>).
	- wow, look at the fireworks!
Fixes two potential symptoms:
	- kernacc() returns TRUE when checking for permission to write
	  an offset in kernel text, which is bogus, since the text has
	  been mapped RO by pmap_bootstrap().
	- Handling of a stray pointer that attempted to scribble into
	  kernel text would not be executed properly.
1996-10-19 08:51:33 +00:00
cgd
a6d9feb7a5 clean up chrtoblktbl, adding comments naming the devices which actually do
have entries in both device switch tables.  Add 'st' entry to chrtoblktbl.
1996-10-18 21:26:57 +00:00
cgd
44365140cf Severely clean up netisr handling. Clean up includes for netisr handlers.
Fix PPP netisr handling, add NATM netisr handling.
1996-10-18 20:35:23 +00:00
fvdl
d1400746a5 Fix some printf formatting strings within DEBUG and DIAGNOSTIC defines.
From Mike Long, PR 2859
1996-10-18 09:03:42 +00:00
thorpej
6126eea479 Tell the `upper half' of the VM system that page 0 isn't mapped. If we
don't do this, kernacc() will bogusly return TRUE for page 0, causing a
NULL pointer dereference in uiomove() when reading /dev/kmem.

Thanks to Scott Reynolds for noticing the problem.
1996-10-18 08:57:14 +00:00
thorpej
150c33e60b Use ${INSTALL}. 1996-10-18 05:55:26 +00:00
thorpej
c9592404ce Clarify the comment about enabling interrupts above level 11, suggested
by Andrew Gillham.
1996-10-18 01:36:16 +00:00
mark
1f388af5cf Fixed 4 compiler warnings about casts on insw() and outsw() calls. 1996-10-18 00:48:29 +00:00
fvdl
6177bfa965 Remove compiler warning when USER_LDT not specified. PR 2852 1996-10-17 19:41:00 +00:00
fvdl
3e338cbad4 Fix compiler warning (PR 2852) 1996-10-17 19:38:45 +00:00
fvdl
f9a53c581f Cast ioport_ex_storage to caddr_t, needed becauseit is now long[]
and creates warnings.
1996-10-17 19:31:09 +00:00
cgd
8f799be896 add a WEAK_ALIAS macro if building on an ELF-capable system, which creates
a weak alias for a symbol.
1996-10-17 18:33:53 +00:00
is
7e1b190155 Change Blizzard IV/1260/2060 to the name used by the driver.
While we're here, clean up a few other entries.
1996-10-17 15:49:39 +00:00
is
8f5996c976 Add driver bznsc (for BliZzard, New version: -IV, -1260, -2060).
Still untested on -1260/-1230, and hangs when enforcing SFAS_NO_DMA on 2060;
but works with DMA on the latter.

Still untested in a NetBSD-12A environment. (Sorry, don't have the hardware
myself.)

Thanks to Laurent Baroukh for being the guinea pig, and to Jerome Lovy
for forwarding the hardware information Phase V gave him, and to Phase
V for providing it.
1996-10-17 15:42:36 +00:00
ws
2c65d27e6b Forgot to "cvs add" this in the last:
Rename recently checked in KGDB to IPKDB to resolve conflicts with older KGDB
1996-10-17 12:09:05 +00:00
thorpej
78bce16293 Couple of changes:
- Rename EX_NOBLOB to EX_NOCOALESCE; it's much more descriptive of
  what's going on.
- Ensure that fixed extent storage is longword aligned.
1996-10-17 08:31:28 +00:00
scottr
6bb6fab4ce Changes from the hp300 trap.c:
- Fix up usage of MBD_ISPID().  (from Jason Thorpe)
- Be careful not to deref bad pointers in the MMU fault handler.  (ditto)
- Ensure trap() never deals with a NULL proc, and if our proc has
  no pcb, punt.  (Suggested by Gordon Ross)
1996-10-17 06:42:44 +00:00
scottr
ccaecc2dda Some changes from hp300 (thanks Jason!):
- Initialize proc0.p_addr just after setting up the kernel stack, to avoid
  getting NULL pointers in trap().  Change suggested by Gordon Ross.
- Panic if main() returns.
1996-10-17 06:32:13 +00:00
jonathan
772aec9bf4 Remove #ifdef DEBUG lint:
change "%x" -> "%p" for printfs() with pointer args in i386_{set,get}_ldt()
1996-10-17 05:26:25 +00:00
jonathan
6dab138cc0 Remove lint inside #ifdef DEBUG:
* fix pmap debugging format strings: "%x" -> "%lx" for vm_offset_t
         "%x" -> "%p" for pointers.
  * add prottypes for pmap dumping functions
  * add missing return types on pmap dumping functions
  * move initialization of pamp_enter_pv():pv  before #ifdef DEBUG code
    which uses pv.
1996-10-17 05:11:47 +00:00
mark
ac0fd0fce1 Added a few more patches for SA100 support. This is just several
extra cache clean operations during pte manipulation.
1996-10-17 02:55:29 +00:00
mark
6b1666ce52 Don't generate an error if FFS is not compiled in. 1996-10-17 02:52:26 +00:00
cgd
8cab2f173f update for changes in asm.h 1996-10-17 02:50:38 +00:00
mark
c252b86536 Couple of fixes for SA100 support.
Added comments to match up #ifdef / #endif pairs.
1996-10-17 02:50:14 +00:00
cgd
905f7abae1 Add __CONCAT and ___CONCAT to concatenate identifiers. Add LLABEL to
create an assembly label, and SYSCALLNUM to convert a syscall name into
the macro that's defined to be its number.  Add a CALLSYS_NOERROR macro
which invokes the named system call.  (CALLSYS_NOERROR is here since
it's used in locore, for sigcode.)
1996-10-17 02:49:04 +00:00
mark
1dd91a8515 Updated vmemcachectl() to allow control of write buffer and cache enable
bits on the video memory ptes.
1996-10-17 02:48:39 +00:00
mark
f5c1850ab4 Tweaked several db_printf() calls. 1996-10-17 02:46:49 +00:00
mark
65b01531b9 Reality check. 1996-10-17 02:44:17 +00:00
mark
36cd31048b Removed references to the debug function checkinodes(). 1996-10-17 02:43:38 +00:00
mark
abb703fc1b Add files for cosc SCSI driver
Add file for RC7500 prom code.
1996-10-17 02:41:26 +00:00
mark
6ed8e72d96 Fix the pcb_fpstate field. 1996-10-17 02:37:48 +00:00
jtk
37449bd6a8 fix compile warnings with -DDEBUG or -DAPMDEBUG 1996-10-16 22:30:34 +00:00
ws
31bdb14ed5 Rename recently checked in KGDB to IPKDB to resolve conflicts with older KGDB 1996-10-16 19:32:08 +00:00
ws
cf37e5a69e Indent properly 1996-10-16 17:26:19 +00:00
ws
e8b039bf8b Add EXEC_ stuff 1996-10-16 17:13:28 +00:00
leo
86c616102f select -> poll 1996-10-16 12:57:11 +00:00
leo
226d874081 Add '-Wall -Wstrict-prototypes -Wmissing-prototypes' to CFLAGS. 1996-10-16 12:53:46 +00:00
leo
4a6637f783 Add EXEC_SCRIPT and EXEC_AOUT options. 1996-10-16 12:52:47 +00:00
leo
b87085e3a0 Update pathnames of included files for new version of config. 1996-10-16 12:50:30 +00:00
leo
b0b9a3e82c locore.s now needs FR_SIZE. 1996-10-16 12:42:45 +00:00
leo
1bd559103e Sync trace traps with the hp300. 1996-10-16 12:41:50 +00:00
jonathan
5c6013d588 Clone a 5000/{120,125,133} config file from the 5000/240 config. 1996-10-16 08:35:49 +00:00
jonathan
3280c75a3d Update model-specific pmax kernel config files for post-12 config:
add arch/pmax/conf/ to includes,  options MIPS1,   etc.
1996-10-16 08:29:34 +00:00
scottr
fb42630e15 Eliminate fusword() prototype, as it's now in <sys/systm.h> 1996-10-16 06:27:05 +00:00
jonathan
8ffa855e18 Increase MAXDSIZE to 256Mbytes. 1996-10-16 06:10:41 +00:00
jonathan
0d1085302d alpha_mb() -> tc_mb(), for alpha/pmax convergence, even tho the tc_mb()
interface in tc_machdep.h is obsolete.
Change "#if 0" around  pmax rcons mouse-redirection to "#ifdef HAVE_RCONS"
1996-10-16 05:07:57 +00:00
jonathan
f5343d2229 Cleanups, and convergence with the Alpha driver:
* kill scc_tty[] and needs-count.
  * Add usable-when-cold version of sccparam().
  * Add pre-autconf() console initialization entrypoint.
  * remove lint for gcc -Wall
  * wbflush() -> tc_mb()
all but the last of which have been fed through cgd and committed to the
Alpha scc driver.
1996-10-16 05:04:51 +00:00
cgd
caa0b41652 spaces -> tabs where appropriate, some (minor) KNF (it needs much more),
kill spaces at EOL.
1996-10-16 04:07:16 +00:00
scottr
e326c3123f We're paranoid; disable the IIci's cache card. 1996-10-16 04:00:28 +00:00
scottr
3370e6c419 External cache card on the IIci is enabled by default;
use DISABLE_EXT_CACHE to turn it off.
1996-10-16 03:55:21 +00:00
cgd
99ffca7953 more updates from jonathan. kill scc_tty array and needs-count 1996-10-16 03:53:31 +00:00
jonathan
428a2b873f Fix polled I/O getc/putc functions for non-serial consoles when
still cold (e.g., to initialize keyboards and mice).
Why these use polled, rather than interrupt-driven, IO is a mystery.
1996-10-16 02:10:33 +00:00
jtk
aa8449a9ef fix compile errors & warnings 1996-10-16 01:12:18 +00:00
mark
fdf25ce9ce Added generic ARM7500 support. This mainly effects the kernel bootstrapping
code as video memory must be reserved from main memory for the display.
In addition this adds generic support for using DRAM for video memory
on all machines. All video memory accessing should use the video_memory_t
structure.
Added support for the RC7500 motherboard. The RC7500 support includes a
replacement init_arm() function. This also supports the RC7500 prom debug
monitor for debugging the kernel boot.
dumps now work so call dumpsys() following a panic.
Added support for the SA110. This mainly consists of making sure the data
cache is cleaned when appropriate and that the instruction cache is
kept in sync during the bootstrap and when signal handlers are built on
the stack.
Use a larger UND32 mode stack if we are configured for KGDB.
Remove KERNEL_PT_KSTACK references as these should have died with the
removal of double mapped kstacks eons ago.
Make sure we call doshutdownhooks() if boot is called while we are still
cold.
Cleaned up prototypes declarations.
Sorted out comment indentation.
1996-10-16 00:35:45 +00:00
cgd
862e0d2653 various bits of cleanup, from jonathan stone, to make this and the pmax
driver slowly converge.
1996-10-16 00:03:02 +00:00
cgd
f31bd002d2 add a new function, hwrbp_restart_setup(), to be called after
autoconfiguration.  It clears the RPB's per-cpu-slot BIP flag and
sets up the RPB's restore_term and restart vectors, etc.  add a
console_restart() function, which causes a panic and system dump,
that is invoked (indirectly) via those vectors.
1996-10-16 00:00:40 +00:00
cgd
2f7e2d8853 add an XentRestart, pointed to by the retore_term HWRPB vector (and maybe,
eventually, the restart HWRPB vector), which calls console_restart.  This
is invoked when the console halt switch is used and the user enters 'c'
at the console prompt, and eventually causes a system crash dump to be
generated.
1996-10-15 23:56:56 +00:00
mark
1beb8a9aad Added support for the SA110. This primarily consists of extra cache
clean and tlb flush code along with write buffer drains that are
dependant on the definition of  CPU_SA110.
The memory reserved for the L1 pagetables is now wired into the memory map
during the pmap_init rather than at L1 pagetable allocation time.
The L1 pages tables are zeroed during initialisation and when they are
released rather than when they are allocated.
When searching for a free L1 page table start search at the page table
after the last one allocated rather than always starting from the first one.
Added some extra DIAGNOSTIC checks for invalidate page index numbers.
Removed some old debugging code that escaped the last clean up.
Idented comments in line with code.
1996-10-15 23:52:52 +00:00
cgd
9da2b9743a define and call a new function, hwrbp_restart_setup(). It's called after
autoconfiguration to clear the RPB's per-cpu-slot BIP flag and to set up the
RPB's restart function pointers, etc.
1996-10-15 23:52:49 +00:00
mark
daec9c54ff Use atomic_{set,clear}_bit() for manipulating the soft interrupt mask.
splsoftclock() is now a macro so the function is dead.
Cleaned up and debugged dumpsys(), kernel core dumps now work.
1996-10-15 23:39:30 +00:00
cgd
e897979b3e don't set dumplo to -1 on error. deal with the case where dumplo is
still 0 after dumpconf().
1996-10-15 23:27:27 +00:00
mark
81f6df323e *Major* rewrite, long overdue.
The irq delivery code has been rewritten. On entry to the irq vector the
processor is switched to SVC32 mode so all interrupt routines now run
in SVC32 mode rather than IRQ32 mode. This fixes lots of irq re-enabling
problems.
Interrupt latency times are now vastly improved for high priority interrupts.
Cleaned up calling ast() before returning to USR32 mode (don't need to
mess about with trapframe copying.
Cleaned up all the comments and sorted out their indentation.
Rewritten the soft interrupt delivery code.
Added generic ARM7500 support rather than just RC7500 support.
1996-10-15 23:20:40 +00:00
mark
b37e8debe6 Added a generic exit routine. This loops round calling ast() if the
astpending flag is set until it is clear at which point to exits to
user land.
Merged in latest kgdb support from Wolfgang.
1996-10-15 22:56:27 +00:00
mark
32549532dc Major comment and code clean up to suit KNF.
Added support for the SA110. This cpu does not need any register fix-ups
following a data abort.
Return valid signal code values on SEGV's. See machine/signal.h for
decoding SEGV signal codes.
1996-10-15 22:22:22 +00:00
mark
f015b1bac6 Added support for the SA110. Additional cache clean operations are
required during pagemove() and vmapbuf() and vunmapbuf().
The kernel and undefined mode stack checks are now guarded with
#ifdef STACKCHECKS.
Tidied up comments.
1996-10-15 22:07:41 +00:00
mark
af9c048e19 Added support for the SA110. If CPU_SA110 is defined then the data
cache needs to be cleans and the instruction and data caches need to
be invalidate along with the instruction and data tlbs when
the TTB is reloaded during a context switch.
1996-10-15 22:04:19 +00:00
thorpej
9f1ba5739f Don't need "options GENERIC" anymore. 1996-10-15 22:01:53 +00:00
thorpej
608efe383e Use the hp300 version of db_memrw.c (forgot to commit this change the
other day).
1996-10-15 22:00:31 +00:00
thorpej
b12cf5890d RCS id police. 1996-10-15 21:59:03 +00:00
mark
5a79d9e2a1 Add the lmcaudio device and files. 1996-10-15 21:53:21 +00:00