Commit Graph

621 Commits

Author SHA1 Message Date
pk 6d68e2f26f Remove duplication of code from subr_autoconf.c 1995-04-25 19:59:49 +00:00
pk 700118da76 Stop-gap measure to prevent panic when select()ing on /dev/console. 1995-04-25 17:52:43 +00:00
pk 64f2d35a0f Do not report each pseudo-DMA overrun as a (soft) error.
Add a small heuristic to converge on an acceptable threshold value.
1995-04-25 14:44:44 +00:00
christos c5f01c2a4c Fixed comparison in SYS__syscall to be against sysent instead of
p->p_emul->e_sysent [Thanks Charles for pointing this out].
I think that this code needs to be fixed anyway for emulations where
SYS_syscall is not the same number as the NetBSD one (0)... (Only the
alpha port so far?)
1995-04-22 20:49:06 +00:00
christos de42a28a1b - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
1995-04-22 20:24:40 +00:00
pk d923e0ed9b Use vfs_shutdown(). 1995-04-22 10:00:50 +00:00
pk 87beda7b2a Implement zstty(). 1995-04-21 15:51:26 +00:00
pk 532a15a74e sync with sys/conf.h 1995-04-21 15:50:06 +00:00
pk 6367e0730f Use db_printsym() for calls and branches. 1995-04-19 21:24:29 +00:00
pk af16724ee9 Avoid dereffing a fuzzy NULL-pointer. 1995-04-19 20:59:29 +00:00
pk bd52caa035 probeset() was trashing its arguments; fix from Chuck Cranor. 1995-04-19 12:49:27 +00:00
mycroft 72adfee7f7 EMUL_IBCS2_ELF -> EMUL_SVR4; EMUL_IBCS2_{COFF,XOUT} -> EMUL_IBCS2 1995-04-13 20:48:14 +00:00
pk 785f352260 Do a probe in fdmatch() to guard against dumb PROMs. 1995-04-13 20:24:36 +00:00
pk 0e186f0490 Leave `swapdev' alone; it's not really on par with `rootdev' & `dumpdev'. 1995-04-13 16:46:55 +00:00
pk e1873796ae Make size of `struct pmap' independent of `MMU3_L', so libkvm is
usable on all machines.
1995-04-13 16:24:40 +00:00
pk 8fb8266195 Remap regions to KERNBASE on 3-level MMU machines. 1995-04-13 14:52:24 +00:00
pk 2629e0a3f4 Use `register_t'. 1995-04-13 14:50:26 +00:00
pk 71319ed7a3 3-level MMU support: interface to cache_flush_segment() changed. 1995-04-13 14:48:51 +00:00
pk 0cb981d007 crash dumps need revision 1995-04-13 14:45:43 +00:00
pk d018c82634 3-level MMU changes:
- maintain software MMU state in 3-tuples <region,segment,pagemap>
	  for all types of MMU.
	- maintain hardware region maps (in `region' alternate address space)
	  for machines that have them (identified by variable `mmu_3l').
Use <sys/queue.h> for most lists.
1995-04-13 14:38:11 +00:00
pk 49f6b3a9e0 3-level MMU changes. 1995-04-13 14:32:44 +00:00
pk ed2b31feb0 declare externals 1995-04-13 14:31:39 +00:00
pk a83a62afb3 3-level MMU changes: variable `mmu_3l' is set for SUN4_400 models. 1995-04-13 13:51:34 +00:00
pk ba43a19831 3-level MMU changes: software MMU data structures now display a VM model
consisting of `regions', `segments' and `page maps'.
1995-04-13 13:48:46 +00:00
pk c6bf93b06b Add `region' ASI. 1995-04-13 13:41:02 +00:00
pk a98a7ab7f8 Use arp_ifinit(). 1995-04-12 08:47:21 +00:00
pk ee451261d8 iestart() returns nothing. 1995-04-11 09:18:09 +00:00
mellon 4b65c60240 Use endian.h to determine endianness instead of assuming big-endian 1995-04-11 07:06:33 +00:00
mycroft 369e66a776 Sync with the rest of the world. 1995-04-11 06:03:36 +00:00
mycroft e41d4f5e96 Undo accidental change. 1995-04-11 02:42:23 +00:00
mycroft 0c3bca646e Move CHAN_[AB] into here, and prefix with ZS_. 1995-04-11 02:38:16 +00:00
mycroft 2753eeb55e zsreg.h --> z8530.h 1995-04-11 02:30:53 +00:00
mycroft 9b0d3f54e8 Move this into a generic location. 1995-04-11 02:29:25 +00:00
jtc 8cfef1c855 Sparc specific portions of ieeefp.h (fp_rnd, fp_except, constants, etc.). 1995-04-10 21:14:36 +00:00
jtc 182ee20c36 Changed FLT_ROUNDS from constant to a call to __flt_rounds(), so that the
current rounding mode is accurately reported.
1995-04-10 21:11:42 +00:00
pk 96dd4bc868 clear out two typos. 1995-04-10 19:37:49 +00:00
mycroft 68c8c80929 kernel_pmap --> pmap_kernel() 1995-04-10 16:48:27 +00:00
mycroft 22cefc03bc Bring back pmap_kernel(), for now always inlined as a pointer to
kernel_pmap_store.
1995-04-10 12:41:29 +00:00
mycroft e5ea545fb6 vmempage --> vmmap, and remove incorrect comment. 1995-04-10 11:57:17 +00:00
mycroft 127e0761c9 Add mmopen(), mmclose(), and mmmmap() where appropriate. Lock vmmap when
needed.  Make types consistent.
1995-04-10 11:54:47 +00:00
mycroft 66845e73cc cn_tty is unneeded. 1995-04-10 10:23:49 +00:00
mycroft d751b03236 Minor consistency nits. 1995-04-10 10:01:40 +00:00
mycroft 795010b56c map --> mmap 1995-04-10 07:04:18 +00:00
mycroft d64b72d064 Fdclose --> fdclose 1995-04-10 07:01:31 +00:00
mycroft a7b5f01159 Update for conf.h, and add a real chrtoblktbl[]. 1995-04-10 07:01:04 +00:00
pk 2e1b0cc690 Adapt to if.h changes. 1995-04-09 12:36:22 +00:00
pk 6e4b0ecfc6 Unblank frame buffer when entering the debugger. 1995-04-09 11:51:10 +00:00
pk 8161907540 Add evcnt_attach(). 1995-04-07 19:46:13 +00:00
christos f376448086 Added the svr4 files 1995-03-31 02:57:02 +00:00
christos 687b36dccc First pass at the ucontext stuff. 1995-03-31 02:55:59 +00:00
christos d281894ab6 Moved KGDB trap 0x88 to 0x8a, and made 0x88 to be svr4 syscall [this is what
solaris uses]. Stubs for the missing and currently unused signal functions
stolen from the i386 code.
1995-03-31 02:54:10 +00:00
jtc db0046c14d KERNEL -> _KERNEL 1995-03-28 19:59:56 +00:00
jtc 71ab4ed9dc KERNEL -> _KERNEL 1995-03-28 18:13:48 +00:00
cgd fa2133533d invoke ktrsyscall with (vp, code, argsize, args) as args. 1995-03-26 08:03:29 +00:00
jtc f86410093b Changed name of __weak_reference() to __indr_reference(). They really
are indirect references, and I want to add a real __weak_reference()
macro to <machine/cdefs.h> soon.
1995-03-23 19:58:48 +00:00
jtc d57fb977bb Added -D_KERNEL to CFLAGS alongside each -DKERNEL. 1995-03-23 19:46:18 +00:00
cgd b8403d582b don't be so quick to cast macro arguments to unsigned; if the
arguments are really off_t's (e.g. to btodb), then you can lose
information.  This was the "> 4G file systems don't work" bug; physio
uses btodb, which was broken.
1995-03-18 07:22:43 +00:00
pk cb5b3d7700 Add a pmap_pa_exists() in the non MACHINE_NONCONTIG case too. 1995-03-12 18:56:57 +00:00
pk 36009bdf5f Move a comment back to appropriate place. 1995-03-12 12:25:16 +00:00
pk 5307cf957f Use pmap_pa_exists().
Allow read-only access to the prom via /dev/kmem.
1995-03-10 17:06:15 +00:00
pk d374af4496 Prototype for pmap_pa_exists(). 1995-03-10 16:56:27 +00:00
pk eedb392003 Missing #ifdef MACHINE_NONCONTIG.
Add function pmap_pa_exists() to assist /dev/mem.
1995-03-10 16:54:40 +00:00
pk 03b9b4a4bb Add a CR. 1995-03-08 20:58:05 +00:00
pk d61b2703ef Allow for multiple virtual PROM addresses. 1995-03-08 15:51:03 +00:00
pk e924f34f97 Sync with sys/audioio.h for now, so SunOS compat works. 1995-03-04 09:58:45 +00:00
pk 26cb5d939f Move SunOS audio_info compat to <compat/sunos/sunos_ioctl.c>. 1995-03-04 09:55:40 +00:00
pk 06e2052190 Update for 4/100 1995-03-02 20:53:11 +00:00
pk 35ef499ff3 Make more generic. 1995-03-02 20:48:17 +00:00
pk b14295f12d Tally interrupts. 1995-03-02 20:47:11 +00:00
pk 3edb6c02ff Rename audio*() functions to avoid conflicts with sys/dev/audio.c; this is an
emergency measure, driver needs to be converted to generic audio subsystem.
1995-03-02 20:37:46 +00:00
pk c897fc5127 Better 4/100 support. 1995-03-01 21:09:19 +00:00
pk e9df09cd2a Make setjmp/longjmp available on non-DDB kernels. 1995-03-01 09:26:29 +00:00
mycroft 4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
pk 98e7d1b075 Clean NONCONTIG stuff, allocate and map pv_table[] in pmap_init() entirely. 1995-02-23 20:00:57 +00:00
pk 02b0f2a929 floppy levels. 1995-02-23 19:58:16 +00:00
pk 6af8527cf9 cache_flush() only if vactype!=VAC_NONE 1995-02-23 19:56:24 +00:00
pk e6e777cf5d Reorganize to use fast interrupt handler. 1995-02-22 21:37:15 +00:00
pk 7278038bbd add bsd_fdintr.s 1995-02-22 21:32:34 +00:00
pk f80c189dc5 Defines for floppy trap handler. 1995-02-22 21:17:53 +00:00
pk 366442b2e4 Really fix `call n'. 1995-02-22 21:16:51 +00:00
pk 171313384b Floppy trap handler. 1995-02-22 21:14:18 +00:00
pk 6b609180cd Have a variable point at the auxiliary-io register. 1995-02-22 21:13:01 +00:00
pk a9593288ee More on MACHINE_NONCONTIG: gain back wasted pages (and make it work).
Still more GC required.
1995-02-22 21:06:22 +00:00
mycroft a01e93cf4e Use the twiddle() from libsa. 1995-02-22 08:18:18 +00:00
pk 938030c27d fd declarations. 1995-02-18 09:42:19 +00:00
pk 493dddc814 Admit we have a floppy driver. 1995-02-18 09:40:30 +00:00
pk 021803bc33 Little routine to manipulate auxreg bits. 1995-02-18 09:33:29 +00:00
pk 7e192d22be call argument off by two bits 1995-02-17 20:45:12 +00:00
pk 01fb0f1f1f More work on MACHINE_NONCONTIG stuff. 1995-02-17 20:37:13 +00:00
pk 67f4f632d0 More PG_TYPE checks/optimizations suggested by Theo. 1995-02-17 20:33:15 +00:00
pk 6d511104e2 Pilot sun4c floppy driver based on i386 version;
- same limitations as isa/fd.c: just read/write
  - in need of a fast interrupt handler
1995-02-17 20:28:32 +00:00
pk cbbc1b0293 match/attach on sun4's obio bus, from Theo. 1995-02-17 09:47:36 +00:00
pk 018d2f1b4f Working "config generic" support; from Theo. 1995-02-16 21:51:38 +00:00
pk d6faa0bf9c Working "config generic" support; from Theo. 1995-02-16 21:42:50 +00:00
pk 21215997b0 minor clean
add "auxiliary-io" to list of openboot-specials; needed for floppy driver.
1995-02-16 20:39:17 +00:00
pk e1ca20871c missing entry in bdevsw[] 1995-02-15 14:27:36 +00:00
pk 0da3039154 More fixes from Chuck for IO pages related bugs that surfaced with the 4/110.
Also, pay attention to PMAP_TNC bits that can enter from the VM. These
come from the `device' pager, ie. pages associated with mmap()ed devices.
1995-02-10 20:40:47 +00:00
pk 61572da6bf Fix two typos. 1995-02-09 14:38:54 +00:00
pk b96f801acb We have more registers. 1995-02-09 10:34:21 +00:00
pk c8ef09934c Two more VAC_NONE checks. 1995-02-09 10:28:27 +00:00
pk c7431b8a3c Deal with writing to kernel text (largely stolen from the sun3 port). 1995-02-01 21:51:48 +00:00
pk f6cd1eeea7 Integrate changes from Chuck Cranor for the Sun 4/100.
Support for multiple register banks on SBUS devices (based on patches
from Francis Dupont).
Highlights:
	romaux defines an array of register spaces.
	pay attention to `vactype'.
	quirks handling 4/100 idiosyncracies.
1995-02-01 12:37:21 +00:00
mycroft 5a7fac721d Handle incoming messages longer than 1 byte correctly. 1995-02-01 09:50:18 +00:00
pk b846c1f9cd TIOC[SC]DTR ioctls. 1995-01-29 18:56:01 +00:00
jtc 830a53e394 ANSI says that <stdarg.h>'s va_end macro must expand to a void expression.
For consistancy, I'm changing <varargs.h> too.
1995-01-28 01:51:46 +00:00
pk 6879dd4b85 Update based on i386 version; from Chuck Cranor. 1995-01-27 09:49:55 +00:00
cgd b56a5f27d4 add 'maxpartitions' keyword as first 'intesting' thing in the file, to
facilitate the solution of config.new's hardcoded partition number
problems.
1995-01-25 20:45:33 +00:00
cgd 4cc138dd7a vn -> vnd renaming, for consistency 1995-01-25 05:34:51 +00:00
cgd 2ef4ca1f3d vn -> vnd renaming, for consistency 1995-01-25 04:48:07 +00:00
jtc 9540190d45 This file, which will be included by <sys/cdefs.h>, will contain macros
such as __warn_references() and __weak_reference() which are actually
machine dependant.  This will make it easier for ports that are being
bootstraped with ELF and ECOFF based toolchains.

This change also introduces a new macro, _C_LABEL(x).  _C_LABEL expands
its argument, an identifier, to a character string of the identifier
name as it is represented in an object file.

For most ports, _C_LABEL(x) will expand to "_x", for ELF based ports
_C_LABEL(x) will expand to "x".
1995-01-19 01:38:36 +00:00
pk 0bf4b5b424 Remove a debug messsage & add a missing constant. 1995-01-12 07:31:47 +00:00
pk 8290d42317 Use `MACHINE_NONCONTIG' to deal with sparse memory in stead of private
mapping tables. We gain some pages, but there's still some wastage.
For the moment, `MACHINE_NONCONTIG' is still optional.
1995-01-11 21:21:11 +00:00
jtc d7a8b2964f Only define sig_atomic_t when _ANSI_SOURCE is defined. 1995-01-10 19:01:00 +00:00
pk b1ad0e3ed5 Count pages correctly in pmap_bootstrap(). 1995-01-10 16:50:50 +00:00
pk b87c1bb24a Avoid kernel memory corruption if user buffer too small; return ENOMEM in stead. 1995-01-10 16:47:03 +00:00
pk 6cfe5f9b6f pmap_init() already declared elsewhere. 1995-01-10 16:15:20 +00:00
mycroft 820f9da835 Validate /dev/mem addresses again. 1995-01-09 11:22:06 +00:00
mycroft 85a1830551 Reimplement /dev/mem like other ports. Change physlock to be a plain integer.
Keep the zero page after using it.
1995-01-09 08:58:32 +00:00
mycroft 81b3059a98 ESP_ID -> ESP_SELID 1995-01-07 05:17:59 +00:00
mycroft bfbd328f85 Sort. 1995-01-07 05:17:15 +00:00
pk c4a9be4024 Sparc disassembler from David Miller.
Heavily munged by me to:
- reduce table size significantly.
- follow various opcode tables in the Sparc Architecture Manual (V9)
  more closely.
- recognise V8 priviliged instructions.
- fit the DDB interface.
- fix many typos.
Todo:
- get a number of FP ops right (unimportant until V9 is here).
- opcode aliases (`mov',`cmp',`set') for simple instructions.
- better template matching; current method is sloppy and is prone to spurious
  matches.
1995-01-05 21:33:31 +00:00
pk 5188187aff void microtime(). 1995-01-05 16:56:59 +00:00
pk 2a22c853db Adapt to changed SCSI subsystem. 1995-01-02 20:21:01 +00:00
cgd e5049f4d59 make the definition of _JBLEN mach. dep. header-dependent. 1994-12-20 10:36:27 +00:00
deraadt 4ef28ec578 correct ie[1234] addreses 1994-12-17 23:12:41 +00:00
deraadt 7ba7829654 microtime botch 1994-12-17 08:45:32 +00:00
deraadt 553b2d8f73 ... but we still want the sun4c/sun4m case to work 1994-12-17 05:40:24 +00:00
deraadt fe0b8c6a90 oclock support for the 4/100 and 4/200 1994-12-16 22:16:58 +00:00
deraadt 8201cbd042 microtime -> lo_microtime (oclock is different)
on machines with 6 register windows, "nop" out a pair of save/restore's (big
performance win on slow 4/100 and 4/200 machines)
1994-12-16 22:11:47 +00:00
deraadt 07f33ae7d1 obio ie support by chuck and me 1994-12-16 22:01:09 +00:00
deraadt 651f7c8f29 open changed again 1994-12-16 22:00:23 +00:00
deraadt 8730c977bd ie[01234] and obclock 1994-12-16 21:53:43 +00:00
deraadt c68c62c943 SUN4m-only.. 1994-12-16 21:53:25 +00:00
deraadt 2c0a05e7fa oclock for 4/100 and 4/200 1994-12-16 21:53:01 +00:00
deraadt 198bf71a5f do not need clockreg.h 1994-12-16 21:52:36 +00:00
deraadt 1beda66497 increase getprop buffer size 1994-12-16 19:02:16 +00:00
deraadt e22f3bf9f3 typo 1994-12-15 02:53:00 +00:00
deraadt e88bd9f695 obio fixes from the two chucks! 1994-12-14 22:17:18 +00:00
mycroft d42a8b725e Remove extra arg to d_open. 1994-12-14 19:10:08 +00:00
deraadt 0be2ffa45a make BADALIAS() and CACHE_ALIAS_DIST sun4-safe 1994-12-14 06:59:18 +00:00
pk e8880dceb9 Follow prototype changes in libsa. 1994-12-11 15:18:34 +00:00
pk c09156bf8b Introduce pmap_prefer() which is used to obtain a cache-friendly virtual
address.
1994-12-10 11:43:56 +00:00
deraadt ca6f5cbe06 Use symbolic constants to access the prom vector.
Deal with v0 openrom (on sun4c machines only).
1994-12-07 14:47:04 +00:00
mycroft e5379bfffb Clean up deleted files. 1994-12-07 14:46:06 +00:00
deraadt 4144af8de8 bigtime cleanup 1994-12-07 14:45:54 +00:00
deraadt 1ef32e64bc clean better 1994-12-06 20:54:46 +00:00
deraadt 64eedae2df changer fix 1994-12-06 14:39:47 +00:00
pk fc1b40eef4 cosmetic change. 1994-12-06 10:39:40 +00:00
pk 2397f57e36 Move DDB argument processing up before our input registers get trashed. 1994-12-06 09:58:09 +00:00
deraadt 03cba26fa6 place message buffer in low physical memory, so that it can survive a
warm boot. the sun4 boot program corrupts some memory there so adjust
upwards on the sun4. (from chuck)
1994-12-06 08:34:00 +00:00