Commit Graph

14327 Commits

Author SHA1 Message Date
scottb b8bb612601 Add ibcs2_sendsig function.
Add ibcs2_sigcode function to locore because we need to call our own
	version of sigreturn.
Add support for emul_ibcs2_xout (XENIX) structure because we need to emulate
	some syscalls differently.
1998-03-05 04:20:44 +00:00
thorpej 53e3bf87b9 Fix think'o in last kcopy() change. 1998-03-05 02:10:57 +00:00
thorpej df1fcaa8e3 Rename NetBSD/news to NetBSD/newsmips. 1998-03-04 22:26:35 +00:00
thorpej 157b712178 Rename NetBSD/news to NetBSD/newsmips. 1998-03-04 22:14:13 +00:00
mikel 415c4a15df duplicate i386 fixes (q.v.) 1998-03-04 07:20:13 +00:00
cgd 8854631e5f add file declarations for MD pciide file.
add (temporary) device/file declarations for the MI PCI IDE controller
driver.  These are present here until the wdc declaration mess is
resolved, because until then they need to go into MD files files in
places where they play nice with the wdc declaration.
1998-03-04 06:40:29 +00:00
thorpej f766e521be In kcopy(), make sure we save and restore the old fault handler; kcopy()
is called from uiomove(), which may be in the code path of servicing
a non-fatal page fault caused by a copyin() or copyout().

Originally suggested by Steve Woodford.
1998-03-04 06:39:14 +00:00
cgd ccdea2d9c8 machine-dependent bits (for compat interrupt mapping) of PCI IDE driver. 1998-03-04 06:35:47 +00:00
thorpej a2db880e8c In kcopy(), make sure we save and restore the old fault handler; kcopy()
is called from uiomove(), which may be in the code path of servicing
a non-fatal page fault caused by a copyin() or copyout().
1998-03-04 02:11:58 +00:00
thorpej da3c8e52f1 Make this work with DEBUG="-g" 1998-03-03 07:38:40 +00:00
thorpej 803f5aa188 Remove the memcpy() alternate entry point for bcopy(), a temporary measure
until the memcpy()/bcopy() thing is worked out.
1998-03-02 23:40:42 +00:00
thorpej f02b1a7a33 Make this compile again in light of Lite2 merge. (Yuck.) 1998-03-02 23:17:19 +00:00
scottr da7d7ca568 Add magic number for driver map structure. (oops!) 1998-03-02 22:40:31 +00:00
cgd 09dbd9234d fix typo in last commit (noticed on inspection) 1998-03-02 21:36:55 +00:00
cgd 7ff7b02fac allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 20:01:05 +00:00
cgd 9da165424c allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 19:57:00 +00:00
fvdl 25bc5ab033 Don't make simple_lock decls dependent on NCPU > 1, be consistent with
the rest of the kernel.
1998-03-02 18:06:32 +00:00
fvdl ede1a3fc5b Make this compile again. 1998-03-02 17:58:34 +00:00
drochner e3d8e9c72b enable compatibility for old partition ID per default 1998-03-02 17:07:53 +00:00
ragge 8e2874bf64 Support for UVM on VAXen. 1998-03-02 17:00:00 +00:00
drochner 3bb9e75863 Change MBR partition type for NetBSD to 0xa9, like the i386 port.
Provide compatibility via COMPAT_386BSD_MBRPART.
1998-03-02 16:18:17 +00:00
ross 03169f0089 Second part of cdev_decl() migration. Declare cputype variable.
Add config info for a12 switch driver and console driver.
1998-03-02 08:04:04 +00:00
ross 41a61f7c9e Update interrupt name table for a12 crossbar. 1998-03-02 07:47:52 +00:00
ross b8d5ca6c78 Centralize cdev_decl() for these MI drivers + a12dc in machine/conf.h (cgd)
(This does not introduce any config or option dependencies.)
1998-03-02 07:44:18 +00:00
ross ff94450f84 Use the more consistent register field names & add ctags(1) keys. 1998-03-02 07:07:41 +00:00
ross 6e6f663204 Rewrite of interrupt dispatch logic. Add ctags(1) keys for *a12*.h files. 1998-03-02 07:03:20 +00:00
ross 13aeff8570 Fix attachment message. 1998-03-02 06:59:38 +00:00
ross 1ada245647 Support attachment of xb and a12dc, define most of the remaining
core logic register fields.
1998-03-02 06:56:16 +00:00
ross 469f9b6126 Clean up attachment code and prototypes. 1998-03-02 06:53:34 +00:00
mikel dfb1317f8a remove some lint; from Thorsten Frueauf in PR 5085.
also made one implicit int declaration explicit.
1998-03-02 06:20:16 +00:00
mikel 3119a26ccd s/CFLAGS/CPPFLAGS/ 1998-03-02 06:17:29 +00:00
thorpej 7a571c643b Rename a few macros to better describe what they are:
- kvtol1pte() -> l1pte_index()
- vatoste() -> l2pte_index()
- vatopte() -> l3pte_index()
1998-03-02 00:49:01 +00:00
thorpej 54bb4f9e6e Rewrite pmap_enter() to have a more sane structure, useful for when
page table page management is rewritten.
1998-03-02 00:22:54 +00:00
fvdl 25a2f5ee46 Put #if NCPU > 1 around initialization of simple_locks too, to avoid
compile errors.
1998-03-01 23:19:01 +00:00
augustss 1918ca1e5b Change ie[01] to ef, ai, and ix so that these kernels can be used again. 1998-03-01 20:45:26 +00:00
fvdl 0485953099 Make this compile after the lite2 merge. 1998-03-01 13:22:55 +00:00
ross 4ebd177543 Remove the A12 from the rogue's gallery of the promcons-addicted. 1998-03-01 08:17:36 +00:00
ross 39254d4d4b Poll console at 50 Hz, not 1024 Hz! (4 tlb and imb coherency ops per poll
make this exceedingly expensive even on an alpha)  Note: only 3 systypes
still use promcons.
1998-03-01 07:40:11 +00:00
is eb3cda883b Probe for the native DraCo (rekeycaped MF-II) keyboard, instead of guessing
it from the QuickLogic chip version byte.
If found, switch it to non-autorepeat mode (which seems to avoid the race
condition which made my keyboard driver / X server lose state under heavy
interupt load).
If not found, assume an Amiga keyboard on CIA-A.
XXX We should probe for the presence of the CIAs on the DraCo.
1998-02-28 21:53:15 +00:00
veego b6ca941200 Sync it with the i386 version so lint doesn't complains about an syntax
error for __warn_references.
1998-02-28 12:20:25 +00:00
ragge ad1f451760 Move the boot program higher up in memory; to allow loading of bigger kernels. 1998-02-28 12:10:13 +00:00
ross 2170c2a46d Force elf symbol sections to an addressable boundary. 1998-02-28 10:38:55 +00:00
cgd 18a1481f7a Use NFS_BOOT_DHCP rather than NFS_BOOT_BOOTP. The former is more
flexible, and the boot blocks use DHCP already(!!!) and it'd be good
for the kernel to be consistent with them.
1998-02-28 02:01:32 +00:00
pk d22f956657 Remove `_NEW_I82586'. 1998-02-28 01:15:51 +00:00
thorpej ba3ddd48ad Move the code that enters and removes entries from the pv_table into
functions pmap_enter_pv() and pmap_remove_pv().
1998-02-28 01:07:05 +00:00
pk 32ad582965 Replace monolithic `ie0' and `ie1' driver by `ef', `ix', `ai' front-ends. 1998-02-27 23:57:31 +00:00
thorpej 9bbe89ea3f Garbage-collect the kpt_page stuff; it was basically unused in this
pmap, and isn't applicable to how dynamically allocated kernel page
tables will work on the Alpha.
1998-02-27 22:25:25 +00:00
thorpej 11490942aa Nuke memcpy() from here; it's in libkern. 1998-02-27 21:38:31 +00:00
thorpej faf1155de5 Revamp pv_table management:
- Make pv_table an array of struct pv_head's, which contain LIST_HEADs
  for the pv_entry's, as well as page attributes (mod, ref, ptpage).
- Use <sys/queue.h> to manipulate pv_entry lists.
- Fix several obvious bugs in pmap_collect_pv().
- Use K0SEG to access pv_page's.
1998-02-27 19:39:03 +00:00
thorpej 5ec2d93c1e Fix a typo. 1998-02-27 19:13:04 +00:00
cgd 84fad9aba3 make it clear that the "old BSD partition ID!" message is a warning (by
prefacing it with "WARNING: ").
1998-02-27 18:57:40 +00:00
scottr e3dfc809c6 Remove dpme.h, as it's no longer necessary. 1998-02-27 09:17:18 +00:00
scottr c1ea2b45ff Integrate Macintosh partition map and driver descriptor map definitions. 1998-02-27 09:15:21 +00:00
thorpej f17bbcfffa Changes necessitated by the fact that all pmaps have their own level 1
page tables: use curpcb to determine which level 1 map defines the
current VM context, and use that level 1 map when mapping and unmapping
the PROM.
1998-02-27 04:03:00 +00:00
thorpej c4e7c88520 Step 1 of the Grand Alpha Pmap Rototill:
- Clean up pmap_bootstrap() some, and make a slight change to how the
  PROM mappings are saved.
- Give each pmap its own level 1 page table, rather than sharing a global
  level 1 page table.  This will eventually allow for Very Large user
  address spaces.
- Keep a list of all pmaps, so that when kernel level 2 page tables are
  allocated, all level 1 tables may be updated.
- Add a couple of functions for allocating and freeing page table pages.
- Add a few comments about ASN allocation.
1998-02-27 03:59:58 +00:00
thorpej 5d56ce57ba Several changes related to all pmaps having their own level 1
page table:
- Update the current hwpcb pointer in the SWITCH_CONTEXT macro, so that
  we know it's always correct.
- Optimize cpu_switch(): if we're switching to ourselves, skip the
  actual context swap.
- Clean up some comments and remove some code rendered obsolete by
  the fact that address spaces are now selected by switching to a
  new level 1 page table.
1998-02-27 03:53:49 +00:00
thorpej cb6972d4d3 Implement alpha_pal_swpctx(). 1998-02-27 03:44:53 +00:00
scottr f5f997d1dc Bump down maxusers to a reasonable value on a machine with 8MB. 1998-02-27 01:33:14 +00:00
gwr 0228ba8d86 Make the messages printed by _nodb_trap() more helpful. 1998-02-26 20:31:13 +00:00
gwr eeb690065b Use trap 14 as PROM abort 1998-02-26 19:30:59 +00:00
gwr 23b16936e8 Fix build with NFB=0 1998-02-26 16:01:18 +00:00
perry edac6b7ff2 define kernel only inline static functions only #ifdef _KERNEL 1998-02-26 01:57:30 +00:00
thorpej 8d0d59284b Use allocsys(), mips_init_msgbuf(), and mips_init_proc0(), plus small
changes for MACHINE_NEW_NONCONTIG.
1998-02-25 23:31:29 +00:00
thorpej d6085102e9 DECstations have one physical memory segment. 1998-02-25 23:31:03 +00:00
thorpej b3c5864223 Use allocsys(), mips_init_msgbuf(), and mips_init_proc0(), plus small
changes for MACHINE_NEW_NONCONTIG.
1998-02-25 23:30:33 +00:00
thorpej c2e692ff93 PICA has one physical memory segment. 1998-02-25 23:30:11 +00:00
thorpej 330e4f8d24 Fix a few screwups that made it impossible to config these kernels. 1998-02-25 23:29:49 +00:00
thorpej 477d46784e Use allocsys(), mips_init_msgbuf(), and mips_init_proc0(), plus small
changes for MACHINE_NEW_NONCONTIG.
1998-02-25 23:28:25 +00:00
thorpej d184112bd5 NEWS has one physical memory segment. 1998-02-25 23:27:20 +00:00
thorpej da6458bfb4 Implement and switch to MACHINE_NEW_NONCONTIG. 1998-02-25 23:26:41 +00:00
thorpej 4673e0c339 Prototype allocsys(), mips_init_msgbuf(), and mips_init_proc0(). 1998-02-25 23:25:16 +00:00
thorpej 469520ccd4 Pull some code out of N mach_init() functions, and place it in a
common place:
- allocsys(), which computes space for and assigns addresses
  to kernel data structures at boot time.
- mips_init_msgbuf(), which initializes the error message
  buffer at the end of core.
- mips_init_proc0(), which initializes the U-area for proc0
  and nullproc.
1998-02-25 23:24:35 +00:00
perry 398e0f8c64 add /* LINTLIBRARY */ to supress lots of "unused function" warnings
from lint.
1998-02-25 22:36:45 +00:00
perry 1ed8ea9966 note second parm of sysarch() is now void *, + trivial KNF, etc. 1998-02-25 21:41:55 +00:00
perry 56c01cbd82 change second parm of sysarch() from char * to void * 1998-02-25 21:24:56 +00:00
drochner 3ee0e26f7d document 3c900 TPO support, add comments 1998-02-25 12:19:12 +00:00
drochner 41bbe0c360 3c900 TPO works too, as reported by Feico Dillema <dillema@acm.org>. 1998-02-25 12:15:49 +00:00
chuck e308ffd825 compute st_map size properly 1998-02-24 19:01:59 +00:00
leo 25811c51ea Declare 'fd_cd'. 1998-02-24 13:02:54 +00:00
leo e4b379c7c1 Only try to initialize the PCI-bus when NPCI > 0. 1998-02-24 13:02:06 +00:00
thorpej 89d112dd92 Switch this kernel to UVM. 1998-02-24 11:05:37 +00:00
thorpej 7027d87a18 Duh! Use uvm_km_valloc_wait(), NOT uvm_km_zalloc() to allocate user page
tables.  (Thanks for pointing that out, Chuck!)
1998-02-24 07:42:05 +00:00
thorpej 58509e699f Add support for UVM. 1998-02-24 07:38:01 +00:00
scottr a316576397 A change ripped out of i386/machdep.c:
--
When allocating bus space in bus_space_alloc(), use EX_FAST to find
the first fit in the map.  The previous behavior violated the principle
of least surprise (especially annoying when you're debugging space allocation
problems).  Suggested by Chris Demetriou.
1998-02-24 07:06:39 +00:00
scottr 15b125de34 ROM vectors and related information needed to support the Performa 588
(and quite probably all LC/Performa 580/588 models).  Thanks to
Yasuhiro Endoh for providing the necessary data.
1998-02-24 07:00:14 +00:00
scottr 6f382db074 The code compiled in by the MADHATTER option is now standard issue. While
here, do a bunch of KNF, particularly whitespace issues.
1998-02-24 05:59:34 +00:00
mycroft 78875d069d ofd -> ofdisk 1998-02-24 05:49:28 +00:00
mycroft 6bab18f8f1 Catch up with changes in dev/ofw. Add mainbus. 1998-02-24 05:45:51 +00:00
thorpej 7198bb7811 Set the VM page size after clearing the BSS segment. 1998-02-23 20:05:09 +00:00
thorpej a3a297cc40 Two purely cosmetic whitespace changes. 1998-02-23 18:45:44 +00:00
scottr c285c9fbfa Remove the limit on bufpages we picked up from i386 in 1993
(which was removed from that port not long after), as it's not
an especially meaningful test.

Also, bump the number of swap buffers allocated to 3/4 the amount
of file i/o buffers (taken from the Amiga port).
1998-02-23 07:24:44 +00:00
mycroft ee0b9799e7 Fix layout of powerpc_saved_state; copy in saved MSR. 1998-02-23 03:23:05 +00:00
mycroft 79f597383e Fix layout of powerpc_saved_state. 1998-02-23 03:22:16 +00:00
mycroft d387a356c8 Clean up, add physadr. 1998-02-23 03:21:40 +00:00
scottr c1a185be97 Mostly KNF. There's still a bunch of ugly comments and some problems
with long lines, but this is at least a big step in the right direction.
1998-02-23 03:11:26 +00:00
scottr e50238f77a Rewritten II-series ADB code from John Wittkoski. Also, a whole
lotta KNF.
1998-02-23 03:09:40 +00:00
mycroft d56d21012f Slight rearrangement. 1998-02-23 01:54:26 +00:00
is 85c6760e2d Initialize keyboard structures also from kbdopen(), if necessary.
To do this, move the flag variable to kbdenable().
This will make kernels with serial console provice a working keyboard driver.
1998-02-23 00:47:30 +00:00
mark 1876c03a83 Only include armfpe.h if we are building FPE support into the kernel.
Missed from the last commit.
1998-02-22 23:45:13 +00:00
mark c67078a448 Update arm_fpe_[gs]etcontext() functions to take a struct fpreg pointer
as the second argument.
1998-02-22 23:39:53 +00:00
mark 5a2727a17e Fix arm_fpe_[gs]etcontext() prototype declarations to take a
struct fpreg pointer as the second argument.
1998-02-22 23:38:18 +00:00
mark b9ce4e7ddb Include arm32/fpe-arm/armfpe.h for arm_fpe_[gs]etcontext() prototypes.
Remove unnecessary include files and cleanup some dead code.
1998-02-22 23:35:45 +00:00
is 7667dac2d2 Actually fix, rather than mask, the Amiga big machine panic: the pmap needs
to (pre)allocate enough kernel page table pages to (among others) map the
buffer cache buffers.
1998-02-22 22:51:46 +00:00
mycroft c1444078b5 Finish making this compile after libkern changes. 1998-02-22 15:25:28 +00:00
mycroft b20ba808f2 Clean up after ffs() change.
Do *not* set runtime here; the way it was done was highly bogus, and the value
just gets blasted right away by mi_switch().
1998-02-22 15:13:36 +00:00
drochner e225b4cbdd -check MBR signature before using MBR partition data
-add new FAT types and Linux EXT2 to the faked-up partition table
1998-02-22 14:48:27 +00:00
drochner 74b401ffd1 -correct misleading name and comment for MBR partition type 14
-add FAT32 and EXT2FS
1998-02-22 14:45:43 +00:00
ragge 1e3fb9012d Type fix so that time get read correct on VS2000, from Ken Wellsch. 1998-02-22 14:19:39 +00:00
mycroft 1638d144ca Always go to splhigh() inside DDB. 1998-02-22 14:07:21 +00:00
scw ef52501a4f Implement changes for UVM. 1998-02-22 11:33:10 +00:00
mycroft bb0363853f ffs() is identical to the one from libc, so just use that.
Move random() to libkern.
1998-02-22 09:31:00 +00:00
mycroft 533de19431 Remove random.s. 1998-02-22 08:51:04 +00:00
mycroft dcfb8695ab Move to libkern. 1998-02-22 08:50:17 +00:00
mycroft 065e369ab5 Remove random.s. 1998-02-22 08:35:33 +00:00
mycroft 8776736cea Move to libkern. 1998-02-22 08:34:35 +00:00
mycroft 4b6d15532b Nuke random.s. 1998-02-22 08:21:33 +00:00
mycroft 5a22434af5 Remove this copy of bzero(). 1998-02-22 08:19:05 +00:00
mycroft f118bc7042 Move to libkern. 1998-02-22 08:13:47 +00:00
mycroft ab5aeaa789 Clean up #include paths.
Copy prom2boot() from kernel source.
rename _rtt() to OF_exit(), and add a _rtt() that calls it.
1998-02-22 07:42:30 +00:00
mycroft 03f75a79ff Nuke the override of libkern SRCS from orbit. 1998-02-22 07:19:02 +00:00
mark 39ce947f1a Add missing interrupt enable callbacks lost during the adding of ATAPI
support. Spotted while working on MI wdc support for the ICS interface.
1998-02-22 02:36:22 +00:00
mark 05fa7c54a5 Clean up the comments and correctly indent them. Change various RiscBSD
references to NetBSD ones.
1998-02-22 00:31:00 +00:00
mark 550b5bff23 Guard spl related variables and pmsputbuffer() with #ifdef MOUSE_IOC_ACK.
Declare pmsputbuffer() as static.
1998-02-22 00:25:03 +00:00
mark a0ce540d73 Guard spl related variables and qmsputbuffer() with #ifdef MOUSE_IOC_ACK 1998-02-22 00:24:12 +00:00
mark a55279da6a Updated to use cpu_reset() rather than boot0().
Set cpu_reset_address to 0x00000000 for currently supported systems.
Update associated comments.
1998-02-22 00:08:16 +00:00
mark d011ec2573 Provide a prototype for cpu_reset(). 1998-02-22 00:05:56 +00:00
mark dc37a51773 In the future we may want to branch somewhere other than zero when
reseting the CPU. Rename the boot0() function to cpu_reset() and
provide a variable to hold the cpu reset address.
1998-02-22 00:05:00 +00:00
jonathan 78b939d4b5 Pull up duplicated CPP definitions from float.h rev 1.10:
>DBL_MIN and DBL_MAX were less precise than they should have been.
1998-02-21 23:50:24 +00:00
mark 44e22f7606 Fix a couple of unused variable warnings for RC7500 builds. 1998-02-21 23:40:03 +00:00
mark 35c234d2a6 Replace -Wreturn-type with -Wall for CWARNFLAGS. 1998-02-21 23:30:56 +00:00
mark 88aa559e5e Remove inclusion of machine/katelib.h
Remove local prototype of savectx().
Comment all the #endif lines for PMAP_DEBUG
Remove un-necessary variable 'up' from cpu_fork().
Use %p rather than %x for several debug print messages.
1998-02-21 23:27:10 +00:00
mark 018ce60490 Remove functions for disable_interrupts(), enable_interrupts() and
restore_interrupts() as these have been replaced by macros in
machine/cpufunc.h.
1998-02-21 23:21:28 +00:00
mark 2553c95bde Include machine/cpufunc.h for interrupt disable/restore routines. 1998-02-21 23:19:36 +00:00
mark 24aaa5f9dd Add macros for the CPU functions disable_interrupts(), enable_interrupts()
and restore_interrupts().
1998-02-21 23:17:05 +00:00
mark ccb81fe3d3 Remove prototype declarations of disable_interrupts(), enable_interrupts()
and restore_interrupts() as these are CPU related functions.
1998-02-21 23:16:28 +00:00
mark 706589adb9 Update the L1_SEC() macro to take a cache enable mask.
Add a macro L1_SEC_SIZE to define the size of a L1 section.
1998-02-21 23:11:28 +00:00
mark 854d928a14 Fix typo in a DMA dummy stub function. 1998-02-21 23:09:37 +00:00
mark 6eccd50f49 Remove local prototype for savectx().
Update all map_section() function calls to map I/O sections as
non-cacheable.
1998-02-21 23:08:17 +00:00
mark c273b285d8 Remove local prototype of savectx().
Updated all map_section() function calls to map sections as non-cacheable.
1998-02-21 23:04:54 +00:00
mark 99ae0b08fe Updated all map_section() function calls to map I/O sections as
non-cacheable.
1998-02-21 23:02:34 +00:00
mark 1c782f5da1 Add a cacheable flag field to the map_section() function so that L1 page
table section mappings may be made cacheable.
Remove a few nasty hardcoded shifts and use macros from machine/pte.h
instead.
Cleaned up a few comments.
1998-02-21 23:00:57 +00:00
mark 745e11a2b1 Remove local prototype of savectx(). 1998-02-21 22:57:44 +00:00
mark 628ae33403 Remove register declarations. 1998-02-21 22:56:58 +00:00
mark 1bd5283fb7 Remove inclusion of katelib.h and include cpu.h and cpufunc.h. 1998-02-21 22:52:50 +00:00
mark ba8b28d360 Remove local prototypes of strstr(). 1998-02-21 22:51:43 +00:00
mark c81dae4473 Move some prototypes form katelib.h to a more suitable home in cpu.h 1998-02-21 22:49:18 +00:00
mark ea04275578 Remove local prototype of disassemble() and include disassm.h instead
for prototype.
Fix compiler warnings about unused variables with certain config options.
1998-02-21 22:43:29 +00:00
mark d13b903579 Remove local prototypes for disassemble() and include disassem.h instead
for the prototype.
1998-02-21 22:41:34 +00:00
mark 83fcf2d5c8 Define prototypes for disasm() and disassemble(). 1998-02-21 22:38:40 +00:00
jonathan f7bd3a0119 Move existing contextsw-avoidance code in rzdump() earlier, since rzready()
also calls biowait().

Some drives seek to modepage on every modepage geometry-sense in rzready()
cache dev_t of last readied device in rzdump() to elide rzready() calls.
2x speedup of dumps on rz25 and 20x-30x speedup on some IBM OEM 4gig drives.
1998-02-21 20:20:55 +00:00