Commit Graph

171 Commits

Author SHA1 Message Date
simonb 4324f37586 Use "#define<tab>". 2002-02-28 03:17:23 +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
christos 6b030ee036 - define other DEV_ constants that the local port uses.
- delete cdev_decl(mm) since <sys/conf.h> does it.
2002-02-27 01:19:03 +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
chs b744097a5f allow writing to write-only mappings. fixes PR 3493. 2002-02-14 07:08:02 +00:00
thorpej 07d023a3aa Define ELF32_EHDR_FLAGS_OK()/ELF64_EHDR_FLAGS_OK() and use it
as an added measure to make sure that we can execute a binary.
These default to (1) if elf_machdep.h does not override them.

On Sun2, ELF32_EHDR_FLAGS_OK() checks for the presense of EF_M68000,
since the 68010 cannot run binaries for the 68020-and-up.
2002-01-28 22:15:54 +00:00
thorpej 9c3a981460 Just use the stock m68k/elf_machdep.h for now, so that things compile.
A patch to handle EF_M68000 will be posted shortly.
2002-01-28 21:52:49 +00:00
thorpej cde2b1d9c7 Clean up CPP flags. 2002-01-28 21:29:46 +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
manu 5f90ae55b5 Added clockctl 2002-01-12 14:52:40 +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
fredette a366516238 Added ifmedia(4) support. 2001-12-17 18:14:17 +00:00
fredette 9976af904a Remove some devices that aren't needed in INSTALL or RAMDISK
kernels, reenable NFS v3, and enable kernfs in INSTALL.
2001-12-15 22:22:13 +00:00
fredette 74e4ac42de Be sure to mark in the prototype attach args
that a physical address is required for each
device on this bus.
2001-12-15 22:13:11 +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
thorpej 51535d4bf5 Add support for dumping ELF-cormat core files. 2001-12-09 23:05:56 +00:00
fredette b596abc4ed Picked up some old scheduler changes. Now the sun2 locore
corresponds tightly to revision 1.81 of the sun3 locore.
2001-12-07 05:24:56 +00:00
fredette 2fe9375188 Tweaked whitespace and, in comments only, added % to make this
file much easier to compare to its sun3 cousin.
2001-12-06 21:05:12 +00:00
fredette f1673ae4dd Abstract out a large chunk of the kernel build machinery so that new
build features (such as ross's DEBUGLIST) can easily be applied to all
ports.  This should reduce the complexity of each port's kernel
Makefile considerably.
2001-12-01 15:23:18 +00:00
fredette d4f3b9c987 Catch-up to revision 1.135 of the sun3 pmap. This revision
corresponds tightly to that one.
2001-11-30 18:22:51 +00:00
fredette a5c8b5d17f Implement bus_space_mmap. 2001-11-30 18:11:56 +00:00
fredette d925ceec5b vm_offset_t -> vaddr_t or paddr_t, as appropriate.
Purge register qualifiers.
bcopy() -> memcpy(), bzero() -> memset()
No longer try to protect the kernel with uvm_map_protect,
pmap_bootstrap has already done this.
Now use pmap_kenter_pa/pmap_kremove when dumping, instead
of pmap_enter/pmap_remove.
2001-11-30 18:10:27 +00:00
fredette bbb634ca9e vm_offset_t -> vaddr_t or paddr_t or db_addr_t, as appropriate.
vm_size_t -> vsize_t
Purge register qualifiers.
bcopy() -> memcpy(), bzero() -> memset()
2001-11-30 18:06:55 +00:00
fredette 94ae8e87a9 Purge vm_offset_t. 2001-11-30 17:52:33 +00:00
fredette b9b98bff66 Convert to use genassym.cf and genassym.sh, as other ports do. 2001-11-30 15:58:24 +00:00
fredette af0a38f1d6 In kernel config files, now mention the options SCSI_OLD_NOINQUIRY,
NFS_V2_ONLY, and VNODE_OP_NOINLINE, commented out as appropriate
for each configuration.
Convert to use genassym.cf and genassym.sh, as other ports do.
2001-11-30 15:54:31 +00:00
fredette 708a12fced A new config file for VME-only machines 2001-11-26 21:20:35 +00:00
fredette 877ea05895 Only declare the console keyboard on zs if it's a Sun-2
or later keyboard.
2001-11-26 18:06:36 +00:00
fredette 6aa55077e7 Disabled some more things that lighter kernels don't need,
and picked up some formatting fixes from GENERIC.
2001-11-26 17:51:08 +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
lukem 99bccc3cab - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
	KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
	DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for  options KGDB_DEVNAME="\"com\""
- use correct quotes for  options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
2001-11-20 08:43:19 +00:00
soren 662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
thorpej 47514a31be Remove unneeded declarations of the db_machine_init() function. The
ARM ports are the only ones that actually have one, and it is about
to change.
2001-11-09 06:52:23 +00:00
jmc 6d536163de Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.
2001-10-26 06:45:33 +00:00
thorpej ba217c4196 Set MACHINE_ARCH explicitly in Makefiles for which it is constant.
Also, since config(8) now explcitly sets MACHINE, there is no need
to do it here in the Makefile.
2001-10-23 19:26:41 +00:00
fredette d17c1f50bd Changed an obio to read Multibus. 2001-10-01 01:53:31 +00:00
fredette 65df8b69be Added the prom_kbdid function, to help us figure out if
the console keyboard is on the parallel interface or zs1.
2001-10-01 01:46:56 +00:00
chs 64c6d1d2dc a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps.  this is
   required now, since I've removed the globals that expose the address range.
   pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's
   no longer any need to special-case it.
 - eliminate struct uvm_vnode by moving its fields into struct vnode.
 - rewrite the pageout path.  the pager is now responsible for handling the
   high-level requests instead of only getting control after a bunch of work
   has already been done on its behalf.  this will allow us to UBCify LFS,
   which needs tighter control over its pages than other filesystems do.
   writing a page to disk no longer requires making it read-only, which
   allows us to write wired pages without causing all kinds of havoc.
 - use a new PG_PAGEOUT flag to indicate that a page should be freed
   on behalf of the pagedaemon when it's unlocked.  this flag is very similar
   to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the
   pageout fails due to eg. an indirect-block buffer being locked.
   this allows us to remove the "version" field from struct vm_page,
   and together with shrinking "loan_count" from 32 bits to 16,
   struct vm_page is now 4 bytes smaller.
 - no longer use PG_RELEASED for swap-backed pages.  if the page is busy
   because it's being paged out, we can't release the swap slot to be
   reallocated until that write is complete, but unlike with vnodes we
   don't keep a count of in-progress writes so there's no good way to
   know when the write is done.  instead, when we need to free a busy
   swap-backed page, just sleep until we can get it busy ourselves.
 - implement a fast-path for extending writes which allows us to avoid
   zeroing new pages.  this substantially reduces cpu usage.
 - encapsulate the data used by the genfs code in a struct genfs_node,
   which must be the first element of the filesystem-specific vnode data
   for filesystems which use genfs_{get,put}pages().
 - eliminate many of the UVM pagerops, since they aren't needed anymore
   now that the pager "put" operation is a higher-level operation.
 - enhance the genfs code to allow NFS to use the genfs_{get,put}pages
   instead of a modified copy.
 - clean up struct vnode by removing all the fields that used to be used by
   the vfs_cluster.c code (which we don't use anymore with UBC).
 - remove kmem_object and mb_object since they were useless.
   instead of allocating pages to these objects, we now just allocate
   pages with no object.  such pages are mapped in the kernel until they
   are freed, so we can use the mapping to find the page to free it.
   this allows us to remove splvm() protection in several places.

The sum of all these changes improves write throughput on my
decstation 5000/200 to within 1% of the rate of NetBSD 1.5
and reduces the elapsed time for "make release" of a NetBSD 1.5
source tree on my 128MB pc to 10% less than a 1.5 kernel took.
2001-09-15 20:36:31 +00:00
chris 0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
fredette 2468247eff In _bus_dmamap_load, now check the return value of pmap_extract
under DIAGNOSTIC, and fixed a bug where we weren't putting the
right size into a newly valid map.
2001-09-06 21:38:40 +00:00
fredette b1b29ae867 Added -D__SVR4_ABI__ to XDEFS. Without it, m68k libkern assembly
functions don't return pointer values in %a0.
2001-09-06 20:04:16 +00:00
atatat 97c67a9bae Add bridge pseudo devices to GENERIC configs 2001-09-01 21:52:23 +00:00
fredette d77c828c64 Fixed a bug processing options - we were ORing
an uninitialized auto into boothowto.
2001-08-26 18:39:15 +00:00
fredette 6682ab1fbf Under __ELF__, getvbr must return its pointer value
in %a0, not %d0.  This fixes many problems with
getting the PROM to halt and reboot the machine.
2001-08-26 17:12:11 +00:00
chs 72b6b0b123 in vunmapbuf(), call pmap_*remove() explicitly since uvm_km_free_wakeup()
will soon no longer do it for us.
2001-08-19 18:08:30 +00:00
fredette e5769f5f01 Sometimes the ec board reports a packet length that's too large.
Try to deal with this by clipping the packet length, and, under
DEBUG, printf when we do.  Also zero out the packet status in
the buffer before we give it back to the board.
2001-08-17 20:27:12 +00:00
fredette 8b21bb0078 Under DEBUG, have a global buserr_reg that stores the
last value read out of the bus error register.
2001-08-17 00:00:26 +00:00
fredette ba289d7421 Now treat the bus error register as 16-bits wide, even
though it has nothing in the top half.  Reading it as
only 8 bits can sometimes give erroneous values.  Under
DEBUG, also stash the value read in the buserr_reg global,
since the value is only latched until read.
2001-08-16 23:54:31 +00:00
fredette aeb5917f66 Made prom_putchar and prom_putstr use the PROM putchar
function instead of framebuffer functions.  This makes
serial consoles work again.
2001-08-16 01:47:45 +00:00