Commit Graph

159 Commits

Author SHA1 Message Date
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
fredette 170407cf2c Fixed a bug where we were using ETHERMIN and ETHERMTU
where we really wanted ETHER_MIN_LEN and ETHER_MAX_LEN.
2001-08-14 03:57:16 +00:00
chs 29f6bd03da use pmap_k* for buffer cache pages. 2001-07-29 23:56:33 +00:00
fredette 7c89e5223a Added. 2001-07-15 16:29:29 +00:00
fredette bb6c8bfadd Now mimic the sparc64's handling of NKBD/NSUNKBD and NMS/NSUNMS. 2001-07-13 22:27:02 +00:00
fredette cc468086e7 Fixed the known obio address range for the Multibus
machines to avoid bwtwo matching on obio.
2001-07-12 19:24:40 +00:00
abs 01b024cd5b Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
2001-07-08 16:32:12 +00:00
darcy ce0ec1e208 Add System V semaphore resource limits to each GENERIC file that has an
option for System V semaphores.  It appears that there are no overrides
in the code and each file has the following added.

 options    SYSVSEM     # System V semaphores
+#options   SEMMNI=10   # number of semaphore identifiers
+#options   SEMMNS=60   # number of semaphores in system
+#options   SEMUME=10   # max number of undo entries per process
+#options   SEMMNU=30   # number of undo structures in system
 options    SYSVSHM     # System V shared memory

If anyone thinks that this is incorrect for any of these files, please
correct it.

Note - the i386 port was not forgotten.  It was done separately.
2001-06-30 11:00:31 +00:00
fredette 3543a1603c Removed stand from SUBDIRS. 2001-06-27 19:23:16 +00:00
fredette 9dd442f913 Added a Makefile for the sun2 includes. 2001-06-27 19:22:18 +00:00
fredette 4c566b2daa Include a common header, then define macros that
give the appearance of specific attach args for
the mbio and mbmem buses.
2001-06-27 19:21:49 +00:00
fredette 2cf2ebc67c Now define a suitable ELF32_MACHDEP_ID_CASES. 2001-06-27 19:20:22 +00:00
fredette dd2704a334 Just include a common header. 2001-06-27 19:19:22 +00:00