Commit Graph

538 Commits

Author SHA1 Message Date
lukem cd19d52695 * rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
are now consistently named
* fold opt_mdsize.h into opt_md.h
2002-03-10 19:56:37 +00:00
thorpej a180cee23b Pool deals fairly well with physical memory shortage, but it doesn't
deal with shortages of the VM maps where the backing pages are mapped
(usually kmem_map).  Try to deal with this:

* Group all information about the backend allocator for a pool in a
  separate structure.  The pool references this structure, rather than
  the individual fields.
* Change the pool_init() API accordingly, and adjust all callers.
* Link all pools using the same backend allocator on a list.
* The backend allocator is responsible for waiting for physical memory
  to become available, but will still fail if it cannot callocate KVA
  space for the pages.  If this happens, carefully drain all pools using
  the same backend allocator, so that some KVA space can be freed.
* Change pool_reclaim() to indicate if it actually succeeded in freeing
  some pages, and use that information to make draining easier and more
  efficient.
* Get rid of PR_URGENT.  There was only one use of it, and it could be
  dealt with by the caller.

From art@openbsd.org.
2002-03-08 20:48:27 +00:00
bjh21 dcdd6be3c3 Correct definitions of various control register bits. 2002-03-07 23:16:44 +00:00
bjh21 08f3639e04 Add a comment explaining why I use -ffixed-r14 (though actually I'm not sure
it's necessary).
Add -mshort-load-words, since that's safe on all arm26 systems.
2002-03-07 23:15:23 +00:00
wiz 634dabecb0 possible has two s. 2002-03-04 15:35:56 +00:00
simonb 6f0fb25121 Don't need to declare phys_map - it is declared in <uvm/uvm_extern.h>. 2002-03-04 02:43:22 +00:00
christos e8116a8f5b - Use DEV_ constants, instead of documenting the numbers!
- Delete cdev_decl(mm); where appropriate, and other hand-crufting [hi powerpc!]
2002-02-27 01:20:51 +00:00
simonb d9ab16ba2f Purge CLSIZE, CLSIZELOG2 and MCLOFSET.
Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
  are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
2002-02-26 15:13:19 +00:00
bjh21 44aa53a31d Undo part of rev 1.42:
SWP instructions really do both read and write the referenced address.
2002-02-14 11:54:16 +00:00
bjh21 2470f8172a Since core dumps are useful on arm26 now, don't bother dropping into DDB on
user-mode faults, even in DEBUG kernels.
2002-02-14 11:49:15 +00:00
chs b744097a5f allow writing to write-only mappings. fixes PR 3493. 2002-02-14 07:08:02 +00:00
thorpej cd98cbf7fb * For platforms which are already ELF, remove the definition of
MACHINE_ARCH since <arm/param.h> already sets it correctly to "arm".
* For platforms which are not yet ELF, defined MACHINE_ARCH to "arm32"
  if __ELF__ is not defined by the C preprocessor.
* In <arm/param.h>, clarify the rules about when MACHINE and
  MACHINE_ARCH are defined, and to what.  Also, for ELF platforms,
  int the non-_KERNEL case, force both MACHINE and MACHINE_ARCH to "arm",
  rather than allowing platform-specifc code to define either.
2002-02-12 06:58:18 +00:00
jdolecek 6d265bd894 add options PIPE_SOCKETPAIR to individual kernel configs
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
2002-01-27 13:23:08 +00:00
oster 39b858e3bf Add new RF_* options for RAIDframe bits that are no longer built by default.
While we're here, enable RAIDframe (and RAID_AUTOCONFIG) by default for
architectures that I'm comfortable can deal with it being on by default.

Also: bump the number of 'raid' devices from 4 to 8, since 4 seems to
be insufficient in practise.
2002-01-19 18:45:06 +00:00
bjh21 0598bbd10f Separate out syscall() out into three parts:
swi_handler() does stuff that all SWIs will need, then calls
   curproc->p_emul->e_syscall.
  syscall() handles native NetBSD system calls.
  linux_syscall() handles Linux system calls.
2002-01-17 17:26:03 +00:00
bjh21 9fe68c4f64 Combined syscall handler for all ARM ports. This is basically the arm32
version, made readable and compatible with arm26.  In addition, this adds
support for NetBSD/arm's newly allocated SWI range.
2002-01-12 20:02:13 +00:00
manu d397792cbb Added clockctl 2002-01-12 12:36:31 +00:00
bjh21 2b44bd85c5 On arm26, vectors.S needs to be at the start of the kernel text, so that it's
on a page boundary and can be mapped straight into zero page.  This means it
has to be in MD_SFILES on arm26, and not in SFILES.

This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
2002-01-07 21:15:50 +00:00
martin b506d6e135 Add PPPoE to all generic kernels that should be able to use it.
XXX TODO: do this for INSTALL kernels too, add sysinst support and make the
XXX needed binaries available on the ramdisk root fs.
2001-12-28 12:21:52 +00:00
bjh21 00bd2cbdac Merge ast() and userret() between arm32 and arm26. The implementation used
is the arm32 one.
2001-12-21 22:56:16 +00:00
bjh21 73cedb8d55 Ensure that podulebus gets attached after unixbp, since it needs to know
whether the system has a unixbp to know what interrupt mask to use.
This could be cleaner.
2001-12-21 22:41:18 +00:00
bjh21 b4b00796cd Fix a couple of obvious bugs in new code:
set_r15() needs to put the new value into R15, not the old one.
get_r15() can return using MOVS rather than MOV.
2001-12-20 17:45:31 +00:00
bjh21 449c8ab9e1 Remove a couple of outdated comments: arm26 kernels now use APCS-32, so
the I and F flags don't get restored on function exit.
2001-12-20 16:22:14 +00:00
thorpej 014157862c * Share a common vector page between arm26 and arm32.
* Use a common set of exception handlers for all arm32 platforms.
* New FIQ framework based on discussions with Ben Harris, shared
  between arm26 and arm32.
2001-12-20 01:20:21 +00:00
thorpej bab6522cfb Delete MACHINE_ARCH assignment. 2001-12-19 18:35:35 +00:00
bjh21 d7be12c439 Report a display type of WSDISPLAY_TYPE_VIDC, since we'll probably share
interfaces with the VIDC20 drivers in acorn32 eventually.
2001-12-16 15:15:44 +00:00
gmcgarry bdd225baa1 Add a blurb to the top of all GENERIC files. This serves three purposes:
- to clarify some terminology
- to clarify the intention of the GENERIC file
- to cross-reference some useful man pages
2001-12-14 05:34:45 +00:00
tv 8e6f7afb5b MKfoo=no -> NOfoo 2001-12-12 01:48:43 +00:00
atatat b45c51b1fc Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.
2001-12-09 05:00:40 +00:00
bjh21 792f0d66cc Kill BBBB. boot26 has been working fine for months now. 2001-12-03 23:07:25 +00:00
bjh21 5dd767837c Make the slightly absurd case of not having keyboard _or_ mouse configured
work too.
2001-12-03 22:46:23 +00:00
bjh21 8039409128 Make it possible to build a kernel with either mouse or keyboard support
missing.  Note that it's necessary to drop both wsmouse and arcwsmouse to
lose mouse support, and analogously for the keyboard.
2001-12-03 22:37:57 +00:00
bjh21 7f81573aa0 Disable interrupts for podule loaders from C rather than assembler, since the
former is more portable and less error-prone.  This fixes port-arm26/14811.
2001-12-03 20:54:07 +00:00
bjh21 a7297d1928 Slight tweak to AST handling logic -- on return from ast_handler(),
IRQs are enabled, so we have to disable them again before checking
astpending.
2001-12-01 17:30:07 +00:00
bjh21 de5af1d829 Add "options FLASHYTHING", which causes IPL changes to trigger screen border
colour changes.  This gives quite a good real-time visual impression of what
the system's doing at reasonable overhead.
2001-11-29 22:17:16 +00:00
lukem ecb81c3f6d - convert usage of "defopt" to "defflag" where the relevant option does
not support a value (e.g., it's to be used as "options FOO" instead of
  "options FOO=xxx"). options that take a value were converted to
  defparam recently.
- minor whitespace & formatting cleanups
2001-11-28 10:21:10 +00:00
thorpej 1b71762f33 Move disklabel_acorn.h to <sys/disklabel_acorn.h>, much like we did
with disklabel_mbr.h.  More cleanup yet to come.
2001-11-25 16:22:47 +00:00
thorpej b8ed19b4ef No longer need <machine/undefined.h>. 2001-11-23 21:23:30 +00:00
thorpej fc019be5fd Use <arm/undefined.h> instead of <machine/undefined.h>. 2001-11-23 21:18:29 +00:00
thorpej 0a824f32cb No longer need <machine/pte.h>. 2001-11-23 20:43:03 +00:00
thorpej 0ab1aedd0d No longer need <machine/cpufunc.h> 2001-11-23 19:40:45 +00:00
bjh21 c8dbbf25b2 all -> realall, so that "make dependall" works correctly. 2001-11-23 12:58:03 +00:00
atatat 155e541aa2 Instead of checking for previous usage, just append to some make
variables.  Tweak some variables to provide for more uniform defaults.
Minor adaption to makefiles for already converted ports.
2001-11-23 05:18:59 +00:00
atatat 2bf2c362fb The bridge(4) pseudo-device no longer requires the port to
__HAVE_GENERIC_SOFT_INTERRUPTS, so add it back to all GENERIC configs.
2001-11-23 05:00:22 +00:00
thorpej 67fd41ddbf Add 26-bit and 32-bit types.h files, which indicate the programming
model in use for a given platform (__PROG26 vs __PROG32), then pulls
in <arm/types.h>.  Change each ARM port to pull in <arm/arm26/types.h>
or <arm/arm32/types.h> as appropriate.  Change all references to PROG26
and PROG32 to __PROG26 and __PROG32.  Eliminate the opt_progmode.h
header file.
2001-11-22 17:59:57 +00:00
lukem 03aef4723c cleanup:
options SPACE TAB
	makeoptions TAB
	psuedo-device TAB
	remove trailing whitespace
	replace multiple spaces -> tabs
	options "FOO" -> options FOO
	options "FOO=bar" -> options FOO=bar
	options "FOO=\"bar\"" -> options FOO="\"bar\""
2001-11-20 12:56:17 +00:00
bjh21 5fbb068685 Remove printf from pmap_clear_modify; it triggers too often. 2001-11-18 15:57:23 +00:00
bjh21 b5dff60f89 Several changes (sorry!):
Refuse to clear the modified bit on a page if it has a writeable kernel
mapping.  I'm not sure this is the right thing to do, but since further
writes to the page won't set the bit again, it's safer than clearing it,
and makes NFS writes work properly.

Add debugging code for modified-bit emulation, which checksums
allegedly-unmodified pages to see if they're _really_ unmodified.
Disabled by default because it's slow.

In the process, fix a bug in pv_release whereby the modified bit for a
page got cleared when its last mapping was removed.  This seems to finish
the NFS write fixes started by the first change above.
2001-11-18 15:47:36 +00:00
bjh21 04e005d19a Don't bother setting lint flags. arm26 doesn't pass lint anyway, so we may
as well use the defaults.
2001-11-16 14:53:47 +00:00
bjh21 eff0c97bb0 Use the exciting new MI kernel building machinery on arm26. 2001-11-16 14:46:16 +00:00