Commit Graph

9331 Commits

Author SHA1 Message Date
cgd
a5649f782f first arg to alpha_XXX_dmamap is now a vm_offset_t 1996-10-25 20:58:11 +00:00
cgd
22b29b5058 prototype alpha_XXX_dmamap(), the alpha DMA mapping hack. 1996-10-25 20:48:59 +00:00
leo
0cda663b65 Make installboot work for 1.2 & 1.2A (should be part of 1.2 patches). 1996-10-25 20:05:04 +00:00
leo
599db9a26c Nuke declaration of susword(). It's declared in systm.h now. 1996-10-25 20:02:34 +00:00
leo
819ba49d29 Nuke 2 useless instructions that only cause _doboot to panic now that
page zero is *properly* protected.
1996-10-25 20:00:39 +00:00
leo
a93d33fb93 db_memrw.c:
- Sync with hp300 version.

Machdep.c:
 - Notify the vm-system that kernel-text is read/execute
 - Notify the vm-system that page zero isn't mapped

[ Grrr.. How do you cancel a check-in when you find out too late they
  should have different comments ]
1996-10-25 19:58:42 +00:00
is
6e74f35ac9 First small hack at 68060 support: processor configuration register.
(We don't use the new instructions lpstop and plpa in our kernel, so no hurry.)
1996-10-24 18:30:17 +00:00
is
b88543e379 Remove addressing bug in hand-optimized assembly code. 1996-10-24 15:52:08 +00:00
fvdl
753949629e Make this compile again if PCI_CONF_MODE is defined (unused label). 1996-10-24 12:32:29 +00:00
fvdl
016d7b35dc Make this compile without COMPAT_10 (unused variable). 1996-10-24 12:22:43 +00:00
mhitch
dd4aa9cef1 Fix typo: #endeif 1996-10-23 20:04:40 +00:00
gwr
601935b8ae Use struct trapframe instead of struct frame, and include a
slight hack to make this cross-build correctly on a SPARC.
1996-10-23 16:39:27 +00:00
gwr
4e462c2f6e Dont bother grouping labels in computeSignal().
This form is easier to compare with trap.h
1996-10-23 16:30:48 +00:00
gwr
6fa72d79b5 Add options EXEC_AOUT and EXEC_SCRIPT 1996-10-23 16:14:23 +00:00
briggs
4675aac3cf Set SCSIBase properly on Quadras. Separate out CLASSAV. From Dave Huang
<khym@bga.com>.
Also fix COMPAT_NOMID to compile again.
1996-10-23 14:12:37 +00:00
briggs
0363bd9a12 Include ether.h since we're now using NETHER, also use NETHER > 0 not NETHER. 1996-10-23 13:35:41 +00:00
matthias
8738c57e61 * Phil Budne's is now integrated.
* Remote kerneldebugging with gdb works too.
1996-10-23 07:55:10 +00:00
matthias
2336fbd2c6 * Phil Budne's much improved scn driver. 1996-10-23 07:52:35 +00:00
matthias
e7e91939da * Remove references to deleted files (oldncr.c, dp.c). 1996-10-23 07:50:03 +00:00
matthias
54eec4c697 * Add EXEC_SCRIPT and EXEC_AOUT. 1996-10-23 07:49:58 +00:00
matthias
0cdf2807ab * KLONDIKE has only four serial lines.
* KLONDIKE has a ns381 installed.
* Add EXEC_SCRIPT and EXEC_AOUT.
* Enable ddb.
* Enable FDESC.
* Monitor speed is 9600 baud.
* Monitor speaks 8N1.
* Pin down devices on the SCSI-Bus.
* Configure vnd, bpfilter, ppp and tun.
1996-10-23 07:49:55 +00:00
matthias
45fe815542 * Add EXEC_SCRIPT and EXEC_AOUT.
* Remove lines commented out.
* scsibus0 is attached to ncr0.
1996-10-23 07:49:54 +00:00
matthias
225801ae14 * New file; configuration for my second pc532. 1996-10-23 07:49:52 +00:00
matthias
414cbce393 * Add EXEC_SCRIPT and EXEC_AOUT.
* Use new options for to set the console baudrate and the default
tty mode.
* Include PPP_BSDCOMP and PPP_DEFLATE.
* scsibus0 is attached to ncr0.
1996-10-23 07:49:49 +00:00
matthias
63d15a966d * Sync with i386 version.
* Scratch ram for debugger stacks ends at VM_MIN_KERNEL_ADDRESS + 0x1000
and not at VM_MIN_KERNEL_ADDRESS + 0x2000.
1996-10-23 07:46:08 +00:00
matthias
e9a160096b * Sync with i386 version. 1996-10-23 07:46:07 +00:00
matthias
4b2a039488 * configure() has to be declared void. 1996-10-23 07:46:04 +00:00
matthias
865930408c * Do not include limits.h, use machine/limits.h. 1996-10-23 07:43:44 +00:00
matthias
897acfdcbb * Do not include stddef.h.
* Add definition of offsetof.
1996-10-23 07:43:42 +00:00
matthias
1a81564477 * Declare reserve_dumppages and pmap_activate. 1996-10-23 07:30:57 +00:00
matthias
1731660b98 * Declare kvtop. 1996-10-23 07:30:54 +00:00
cgd
1b03f1bca7 update for new bus.h macros. bus_io_* and bus_mem_* integrated into
single bus_space_* framework.  Unfortunately, bus_space_{read,write}_*
operations still imply barriers.  That will change soon.
1996-10-23 04:12:13 +00:00
mhitch
0023076caa Need to initialize fi_glasstty before using it. 1996-10-23 02:34:23 +00:00
mhitch
32fccda062 The active target needs to be initialized in siiattach() instead of
old_siiattach().
1996-10-22 23:15:10 +00:00
cgd
2f614ee518 update for new bus.h 1996-10-22 21:34:19 +00:00
cgd
8f5cf31b8a clean up the recent reimplementation, and kill several bogons in the new
definitions.
1996-10-22 21:23:49 +00:00
cgd
6d917387e4 there is no TC I/O space, so in the new bus.h world order there
is no tc_bus_io.c.
1996-10-22 21:15:45 +00:00
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
mark
e41dd7d935 Provide a completely new set of cache clean and tlb flush functions
if CPU_SA110 is defined. Cache cleaning is different on the SA110 as
the cache is a write back virtual cache and is split for data and instruction.
Also the cache and tlb control instructions use different coprocessor #15
registers.
1996-10-15 21:47:51 +00:00
mark
c77f36a38a Idented comments correctly.
Fixed bug in microtime() that could result in incorrect microsecond
adjustments.
1996-10-15 21:35:23 +00:00
mark
535518ceed Added support for the A7000 and more generally for ARM7500 based machines
that are not RC7500 boards.
Fixed vidcaudio_sw_encode() and vidcaudio_sw_decode() functions.
1996-10-15 21:33:51 +00:00
mark
0d4a130939 Added support for NFS root and swap.
Added comments to #ifdef / #endif pairs
Tidied up comments.
1996-10-15 21:32:10 +00:00
mycroft
7f28c2392c Increase the maximum number of ECBs. 1996-10-15 21:31:37 +00:00
mycroft
d2f275101a Minor cosmetic change. 1996-10-15 21:30:19 +00:00
mark
c2a3d7ad3c Cleaned up comments.
Removed suspect FPA probing code, instead use the ARM FPE to probe the FPA.
Neatened up the FPE attachment code.
Recognise StrongARM class of cpu.
Updated the fpa instruction bounce handler to expect a 4th argument
when called on an undefined trap to match recent changes made to
undefined handlers.
1996-10-15 21:26:25 +00:00
mark
46ee6bf856 Added support for the RC7500 and the lmc1982.
Added support for the A7000.
1996-10-15 21:20:15 +00:00
mark
c69e8d2559 Initial commit of the lmc audio driver for the lmc1982 found on RC7500
motherboards.
1996-10-15 21:10:24 +00:00
mark
c107a98f8b Tidied up the comments.
Removed the debugging code for vnode hangs now that this has been fixed
in the mi code.
1996-10-15 21:08:37 +00:00
mark
e7e591d3b5 Separated out the function to place records in the mouse buffer.
Add acknowledgement records to the buffer following origin or bounding
box changes.
Removed prototype for strncmp().
Added support for switch mouse reports between absolute and relative
positions.
1996-10-15 21:06:51 +00:00
mark
65b094f18f Pull in all the recent changes made the dev/isa/com.c driver.
These are all the changes made between 1.81 and 1.88.
1996-10-15 21:00:55 +00:00
leo
5038453647 Initialisation of proc0->p_addr. (Gordon Ross)
This, in conjunction with the trap.c changes, solve the crashes when
referencing illegal addresses in the debugger. Thanks Jason for providing
the trigger and solution ;-)
1996-10-15 20:51:59 +00:00
leo
a51538a2c6 - Some re-arrangements that make tracking of the hp300 version easier.
- Re-write panictrap() so that faults generated by the debugger can be
  handled by the debugger.
- Add a small bit of extra checking to the MMU_FAULT case, to make it more
  robust against pieces of the proc-structure being NULL (Jason Thorpe)
- If p == NULL at the entry of trap(), assign proc0 to it. Fixes a *lot* of
  NULL-pointer dereferences. (Gordon Ross)
1996-10-15 20:46:45 +00:00
mark
8f75693ba4 Get the IIC clock and data bit masks correct on RC7500 boards. 1996-10-15 20:40:31 +00:00
mark
538cb0ef13 Recognise all ARM7500 systesm rather than just RC7500 during probing.
Fixed kbdpoll().
1996-10-15 19:47:04 +00:00
mark
4b50267049 Make the device probe generic to all ARM7500 systems rather than
just RC7500 systems.
1996-10-15 19:37:06 +00:00
mark
3f201e3de4 For RC7500 kernels treat drive type 0x00 the same as drive type 0x10. 1996-10-15 19:31:35 +00:00
mark
63b78f14d6 Cleaned up rtcread().
Implemented rtcwrite() so that the RTC can be set via /dev/rtc?
1996-10-15 19:28:01 +00:00
mark
583b16b82a Added comments to interrupt return points. 1996-10-15 15:51:56 +00:00
mark
a6ee3b3fa9 Not needed as this config is practically identical to PHARM. 1996-10-15 15:43:28 +00:00
scottr
a6bbf8fc5b Define MACH_CLASSQ2, used by Performa 575.
Remove susword() because of prototype conflict with <sys/systm.h>.
1996-10-15 14:42:49 +00:00
scottr
b599d4a3f6 We no longer need 'options GENERIC' 1996-10-15 07:25:55 +00:00
scottr
dca6a7e025 Critical fix from Bill Studenmund: if CTS is deasserted and then
immediately reasserted before we get a chance to process the interrupt,
we can inadvertantly get stuck with zs_tx_stopped set.  Move the delta
detection to the hard zs interrupt handler; the softint handler
will notice that something has happened with CTS and restart the
transmitter if it's asserted.
1996-10-15 06:57:43 +00:00
scottr
6cd86aa894 BSD -> NetBSD 1996-10-15 06:41:48 +00:00
scottr
f4eeb69eab Several 68040/68LC040-related changes; we're not there yet, but this
brings us closer to basic operation.

  - Verified/updated ROM vector entries for many systems, and new vector
    table entries for LC 520, LC 575/577/578, and Quadra 950
  - Implement a new machine class (MACH_CLASSQ2) for the LC 575 series
  - Use the ptest040() helper function in get_physical().

Also, in straytrap(), only enter the debugger #ifdef DDB.
1996-10-15 06:40:39 +00:00
scottr
31d8d5c176 Implement ptest040(), a helper for get_physical(). 1996-10-15 06:31:07 +00:00
mark
0ecc08d0df Removed loads of old debugging code and special swi codes used during
earlier stages of the NetBSD/arm32 development.
Added support for the architecture defined SWI's. Currently
The IMB and IMB-range architecture defined SWI's for the ARM810 are
currently recognised.
Various comments cleaned up.
1996-10-15 03:08:45 +00:00
mark
cbf4892982 Find the mode with the closest frame rate to the one requested if an
exact match cannot be found rather than picking the lowest frame rate.
1996-10-15 02:33:28 +00:00
mark
a3f71d635a Use arm_fpe_getcontext() and arm_fpe_setcontext() to retrieve the
FP state for process_read_fpregs() and process_write_fpregs().
1996-10-15 02:26:11 +00:00
mark
760efeadb3 The undefined handlers now have a fourth argument which is a fault code.
Catch the user breakpoint instruction and generate a SIGTRAP.
1996-10-15 02:14:21 +00:00
mark
59ffb0612b Merged in latest KGDB changes from Wolfgang Solfrank. 1996-10-15 02:11:31 +00:00
mark
4b88966792 Merged in the KGDB changes to locore.S from Wolfgang.
Added the functions atmoic_set_bit() and atomic_clear_bit() that
can be used for setting and clearings bits atomically (need interrupts
to be turned off).
1996-10-15 02:10:17 +00:00
mark
b24dfb3713 Removed dead kernel stack debugging code from the days when we had
a double mapped stack.
Guard the SVC32 and UND32 mode stack check code with #ifdef
STACKCHECKS.
1996-10-15 02:07:08 +00:00
mark
febe210c2f Call mcount() from bcopy() and memcpy() is GPROF and PROFILE_ASM are
defined.
Replaced references to r14 with lr.
1996-10-15 02:04:40 +00:00
mark
dab3173f56 Not needed as the assembly stub for mcount() is defined in
machine/profile.h
1996-10-15 02:00:47 +00:00
mark
ec238c0c33 The bcopy_page() and bzero_page() functions now call mcount() if
GPROF and PROFILE_ASM are defined.
Register usage has been changed to avoid using r11. This means we have
one less register to save during this function.
1996-10-15 01:52:01 +00:00
mark
8850151b06 Removed file arch/arm32/arm32/scratch.S 1996-10-15 01:45:17 +00:00
mark
083ff3dd3d Dead at last.
The functions in this file are either dead, have been rewritten or have
found proper homes (like fusu.S).
1996-10-15 01:45:04 +00:00
mark
55db7609fb Remove the definition of cdev_uk_init() as this is done in <sys/conf.h> 1996-10-15 01:42:18 +00:00
mark
58e481e13b Call mcount() for all fpe core entry points if GPROF and PROFILE_ASM
are defined.
Switch to SVC32 mode before delivering FP exceptions and switch back
to UND32 mode afterwards before exiting.
1996-10-15 01:37:50 +00:00
mark
ad466c40e1 If CPU_SA110 is define adjust the traceback PC values by 4 as the
StrongARM stores PC+8 on STR and STM instructions rather than PC+12.
1996-10-15 01:33:50 +00:00
mark
24e50982df Report the core identity string now available from the core header when
booting.
After assembling the post FP processing callback branch call
sync_icache() if CPU_SA110 is defined.
Return a valid signal code when raising a SIGFPE exception so
the cause of the SIGFPE can be determined.
Added the functions arm_fpe_getcontext() and arm_fpe_setcontext()
to obtain the FP context in a FPE independant form for the ptrace()
syscall.
1996-10-15 01:31:28 +00:00
mark
407ce69224 Use tlb_flush() rather than tlbflush().
In db_write_text() call sync_caches() after modifing the text area
if CPU_SA110 is defined.
Added a new machine command "frame" to print out a trapframe.
Trap the kernel break point instruction specifically and panic on
any other undefined instruction being executed in SVC mode.
1996-10-15 01:24:48 +00:00
mark
e3c0a41e67 Added machine command to print a trapframe. 1996-10-15 01:23:36 +00:00
mark
804b62c479 Major code clean up.
Removed a load of old debugging code that has served it purpose.
1996-10-15 01:20:48 +00:00
mark
578797208e In the function fetchuserword() call mcount() on function entry if
GPROF and PROFILE_ASM are both defined.
Fixed a bug in suswintr() and susword() that caused the value written
to be trashed.
1996-10-15 01:17:59 +00:00
mark
695e09b29a Added generic support for the ARM7500 cpu rather than just the RC7500
motherboard.
Cleaned up a lot of code to match KNF.
When the device is attach the vidc refclk frequency is reported along
with the amount of video memory and the type.
1996-10-15 01:15:24 +00:00
mark
7d0bc8682c Recognise the ARM32_SYNC_ICACHE option to sysarch() syscall and call
sync_icache() to garentee any instruction cache the CPU may have is
in sync with the data cache and main memory.
1996-10-15 01:12:02 +00:00
mark
7cfe42e258 Overhauled and fixed teh console blanking code. Things no longer
go wrong when console blanking occurs while X is running.
The blanktime ioctl now allows blanking times to be set, force
immediate blanking or diable blanking on a per virtual console basis.
Updated the console version number to revision D.
1996-10-15 01:10:06 +00:00
mark
be9a8e231a Removed the function vidc_col() as this has been guarded with #if 0
for a long time now as the function was replaced with a macro.
1996-10-15 01:05:04 +00:00
mark
ea88364d7f Tidied up the comments.
Call the Debugger from the diagnostic code if userret() finds itself
at an spl level other than SPL_0.
1996-10-15 01:04:27 +00:00
mark
04c5783fb7 Call mcount() on function entry if GPROF and PROFILE_ASM are both defined. 1996-10-15 01:00:29 +00:00
mark
a2a2b693c8 Removed a load on unused code that has been hiding here.
The functions vidcconsolemc_render() and vidcconsolemc_cls()
will call mcount if GPROF and PROFILE_ASM are both defined.
1996-10-15 00:55:26 +00:00
mark
c90d8612e7 General code cnd formatting clean up. 1996-10-15 00:52:21 +00:00
mark
0d48d902ea New build of the ARM FPE core. The core header now has a version
number field and an core identity string pointer.
Labels are now defined for all the entry points in the core header
structure so that the linker can relocate the branches to the core.
The core entry points are now branch instructions relative to the
start of the core so the address of the core function does not have to
be calcuated are call time.
1996-10-15 00:49:10 +00:00
mark
ed4a15bc3d Added prototypes for tlb_flush(), cache_clean(), sync_caches() and
sync_icache().
Removed prototype for memset().
Added prototypes for atomic_set_bit() and atomic_clear_bit().
1996-10-15 00:44:58 +00:00
mark
a6bf04810f Include <machine/fp.h> and <machine/reg.h>
Define the two new fields added to the FPE core header in
the arm_fpe_mod_hdr_t structure.
Added prototypes for arm_fpe_getcontext() and arm_fpe_setcontext().
Updated the prototypes for arm_fpe_core_loadcontext() and
arm_fpe_core_savecontext() to pass a fp_context_frame pointer.
1996-10-15 00:42:46 +00:00
mark
fcc485e573 Define a separate set of irq numbers for ARM7500 machines if RC7500 is
not defined as the ARM7500 in A7000 machines has different interrupt
numbers than the ARM7500 in RC7500 machines.
1996-10-15 00:39:23 +00:00
mark
796814b9e9 Added -Wcomment to the CPPFLAGS.
Added -Wreturn-type to the CWARNFLAGS.
Make dependancies for makemodes.
1996-10-15 00:35:48 +00:00
mark
4d21960d40 Added checks for illegal combinations of CPU_ARM6, CPU_ARM7, CPU_ARM7500,
CPU_SA110 and CPU_LATE_ABORT.
Updated the CLKF_INTR() macro for changes made to the interrupt system.
Updated some of the CPU ID codes.
Added the CPU ID for the ARM8.
1996-10-15 00:33:03 +00:00
mark
7e836e3676 splsoftclock() is now a macro rather than a function. 1996-10-15 00:26:46 +00:00
mark
3f12639e0e Added options EXEC_AOUT and EXEC_SCRIPT. 1996-10-15 00:25:45 +00:00