Commit Graph

2282 Commits

Author SHA1 Message Date
scottr
fe6c8f5812 Mark kernel text read-only, except for the low memory variables used by
the Macintosh ToolBox. Originally committed in rev 1.273.
2002-05-28 17:00:16 +00:00
scottr
f55aa726f8 Add entries for remaining PowerBook Duo models originally
committed in rev 1.273.
2002-05-28 16:57:02 +00:00
scottr
be52d514c6 Back out unintended changes from previous commit. 2002-05-28 16:53:24 +00:00
drochner
60b6f587bc Subtract vm_map_min(kernel_map) from kernel virtual addresses to get offsets
into kernel_object where this was missing.
This is a no-op on ports where VM_MIN_KERNEL_ADDRESS==0, ie all but
cesfic.
Confirmed and corrected by Chuck Silvers.
2002-05-22 14:29:23 +00:00
scottr
91087ff57e Don Bruder's extensive debug output provided in PR 16907 showed that
intvid didn't find the frame buffer on his PB 170 in NetBSD 1.5. This is
because the PowerBook 140/145+145B/170 entries in intvid_info[] were
entered into the table directly from the corresponding hardware tech
notes. Unfortunately, the actual frame buffer is mapped at an offset
of 32 KB from the base of the region (at least when in 32-bit mode).

Since all 4 of these systems have identical video configurations, I'm
updating the rest to match.
2002-05-21 07:05:31 +00:00
scottr
c3abd2f233 From John Klos, originally committed to the amiga port:
Updated NKMEMPAGES_MAX_DEFAULT so that large memory systems won't crash
when allocating/deallocating lots of memory at once.
2002-05-20 05:28:11 +00:00
scottr
ed8eb9970b SMALLRAM is an effective replacement for the SPOT and MYSTERY configs,
which are IIcx and IIx machines with not much RAM, respectively.

The PUMA config is configured somewhat optimally for one of Allen's
Quadras but doesn't do anything special as compared to SMALLRAM.
2002-05-19 22:01:01 +00:00
scottr
5b2ea74e40 Example configuration for a system with a slow 68030 with limited RAM.
This was derived from the old SPOT config and is a cousin of the MYSTERY
config, both of which will be summarily executed.
2002-05-19 21:58:27 +00:00
thorpej
4daab7072a Don't access a scsipi channel's periph table directly; use
scsipi_lookup_periph().
2002-05-16 02:50:53 +00:00
matt
84eb329d14 Eliminate commons (including many used ones). Clean up variable references. 2002-05-14 02:03:00 +00:00
jdolecek
77a65b5e56 use _KERNEL_OPT rather than _KERNEL && !_LKM 2002-05-11 09:39:25 +00:00
wormey
b487c11bb6 Supply missing "flags" keyword. 2002-04-28 06:19:45 +00:00
shiba
a26fd009c9 Add IDE drive support.
Note:
   (1) Character device major number chages to 49 from 48(in my original
       code). So it is necessary to rebuild device files.
   (2) Must use Booter 2.0.0a10 or later.
   (3) Default mode is cpu busy wait. It is defined by flags 0x1000.
       It will be more slow than before.
       No flags means hardware interrupt mode. But it might be able to
       get no interrupts.

Support machines:
   (1) Quadra 630 series
   (2) PowerBook 150

Non tested machine:
   (1) PowerBook 190 series

Approved by: briggs
2002-04-27 19:29:08 +00:00
atatat
d1b3852365 Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
2002-04-25 15:06:20 +00:00
thorpej
eedd94475c * Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
  the magic "files include order" dance in N machine-dependent
  configuration definitions.
2002-04-16 20:50:16 +00:00
briggs
652b9e4c7b Fixes and changes from Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>.
* Clean up after briggs@ changes to support bus_dma.
* Add support for reading sMemory resources from nubus cards.
* Add support for old cards with only the board rsrc (NatSemi NB-GPIB, e.g.)
* Add a few more card identifiers.
2002-04-13 17:49:41 +00:00
gmcgarry
6e066ba77a Add commented-out USERCONF option. Mainly useful for install media
and can be optionally enabled based on miniroot and ramdisk size
requirements.
2002-04-12 08:10:45 +00:00
briggs
41ec4fe6c2 Accept the bus_dma_tag_t for obio, too. 2002-04-10 05:13:09 +00:00
briggs
648cd86d69 Use m68k/m68k/cacheops.[ch]
Use m68k/m68k/bus_dma.c
	- Add mainbus_attach_args with bus_space_tag_t and bus_dma_tag_t.
	- Use passed-in tags for nubus scan.
2002-04-10 04:38:48 +00:00
briggs
c5b80e7823 Constify bus_space_write_multi_N() and bus_space_write_region_N().
Addresses PR port-mac68k/16233.
2002-04-09 01:53:47 +00:00
lukem
d213d804f7 Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
2002-04-02 05:30:34 +00:00
shiba
2955e1790d Add PowerBook 190CS entries. 2002-03-31 02:21:20 +00:00
shiba
a3b10f5127 Switch mac68k to ELF. Now the default executable binaries are ELF.
Approved by Scott,briggs,fredb,wormey
2002-03-25 14:03:05 +00:00
shiba
f819f78977 fixed attach fail intvid in PowerBook Duo 210,230.
these machine works with multi user mode.

References:http://developer.apple.com/techpubs/hardware/Developer_Notes/
		Macintosh_CPUs-68K_Portable/PowerBook_Duo_System.pdf
           http://developer.apple.com/techpubs/hardware/Developer_Notes/
		Macintosh_CPUs-68K_Portable/PowerBook_150.pdf

Submitted: Daishi Kato <daishi@axlight.com>
Tested: Kazuyuki Inanaga <happyday@pp.iij4u.or.jp>
2002-03-22 20:10:28 +00:00
christos
7e277b5782 kill remaining PS_STRINGS instances. 2002-03-20 17:59:22 +00:00
atatat
31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
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
tsutsui
3c8b0446fe Change type of dumpmag to u_int32_t since it is actually
a 32bit unsigned magic number.
As per discussion on tech-kern, and fixes port-sparc64/11949.
2002-03-06 13:10:18 +00:00
shiba
081fae3ddb Fix up a bug which PB150 shuts down when one boots up in progress.
PB150 will work with SCSI disk. But we cannot use an internal IDE
disk yet.

Reviewed by briggs
2002-03-05 17:39:25 +00:00
simonb
9bcc70fa1d Don't cast argument to ffs() to long.
Per discussion on port-alpha, noticed by Robert Elz.
2002-03-05 09:40:38 +00:00
shiba
db5d1f5f34 Add the machine id of PowerBook 190CS. 2002-03-04 16:58:37 +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
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
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
wiz
37e458fa45 strategy should have an 'r'. Inspired by similar change in OpenBSD. 2002-02-19 17:09:40 +00:00
chs
b744097a5f allow writing to write-only mappings. fixes PR 3493. 2002-02-14 07:08:02 +00:00
wiz
66df0333a1 s/seperate/separate/ 2002-02-11 10:44:38 +00:00
fredb
554e7c4e9d Forgot one -- `options COMPAT_15'. 2002-02-06 00:48:53 +00:00
fredb
69538a48bf Update the GENERIC and GENERICSBC kernels to conform to current fashion:
- - Disable `options DIAGNOSTIC' by default, as the checks are reported to
    be not really cheap.
- - Add `options COMPAT_AOUT_M68K', commented out, in preparation for ELF.
- - Remove `options EXEC_ELF32' from the kernel config. You can't just
    build an ELF kernel -- you need to update your toolchain, and then,
    once you go ELF, it's not an option, so it needs to go in std.mac68k,
    as on the other m68k ports.
- - Comment out `options COMPAT_SUNOS'. This hasn't been reported to work
    for a long time, so it's not very useful in GENERIC.
- - Enable `options IPFILTER_LOG', to go along with the `options GATEWAY'
    and `pseudo-device ipfilter' motif.
2002-02-06 00:45:53 +00:00
christos
6c041e0dc7 Frederic Bruckman spotted a missing _C_LABEL. 2002-01-31 18:03:44 +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
jdolecek
ff8305bbac Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).
2002-01-21 21:56:57 +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
thorpej
75dfddd49d Use bpf_mtap(). 2002-01-16 05:56:54 +00:00
manu
eb2b0c03da Added clockctl 2002-01-12 13:22:23 +00:00
chs
9451559ef4 pmap_page_protect(VM_PROT_NONE) must remove all mappings in the PV list,
even if they are wired.  we need to be able to remove all mappings to
pages that are being freed due to (eg.) file truncation.
2002-01-02 00:51:33 +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
tsutsui
20d126a5b4 Fix comments for ref-count of PT pages. 2001-12-16 03:53:21 +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
chs
2dfd15933e change the reference-counting of PT pages to start from zero instead of
one, so that we don't mess up the global count of wired pages by having
the page's wire_count be non-zero when we free the page.
pointed out by Michael Hitch.
2001-12-13 04:39:50 +00:00
briggs
05b3906727 Register prefixes for tron()/troff() macros. 2001-12-09 19:07:01 +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
kleink
e5341ee40f No point in installing svr4_machdep.h. 2001-11-28 13:14:12 +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
isaki
26b511b905 fix typo s/68551/68851/ in a comment. 2001-11-24 06:53:16 +00:00
chs
9b6f5a226b macos partition tables appear to use 512 bytes per record rather than
1 sector per record.  change the label code to use the same layout
so that CDs with macos partition tables work.
2001-11-23 22:31:22 +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
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
chs
7305fb6b53 include COMPAT_AOUT_M68K stuff. 2001-11-20 07:48:31 +00:00
chs
77b6c48c4c support both ELF and a.out symbols for DDB. 2001-11-20 07:45:04 +00:00
chs
8f0070db30 prepare for ELF:
- add "%" prefix to register names in assembly code.
 - use _C_LABEL() where necessary.
 - use packed structures where necessary to match the old ABI.
2001-11-20 03:19:41 +00:00
chs
621a9ec9ea allocate and free page table pages explicitly instead of abusing
uvm_fault_wire().  this allows us to make pt_map non-pageable,
but we need to be careful in pmap_remove() not to attempt to
reference PTEs after the PTP has been freed.
2001-11-19 06:40:11 +00:00
briggs
fd5f7080b3 Correct operation of non-pseudo-DMA mode. Used on 660 & 840 AV models.
From Takeshi Shibagaki<ie9t-sbgk@asahi-net.or.jp>.
2001-11-18 05:22:32 +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
jklos
e00ba8ee0d Now properly probes for cards with 64k of buffer. Reversed order
of tests in case space isn't fully decoded.
2001-11-10 21:32:33 +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
chs
15982c7311 fix typo in pmap_kremove() which was invalidating the wrong TLB entry.
from Hiroki Tanikawa in PR 14099.
2001-09-29 22:00:29 +00:00
fredb
43ff3eb524 Nit -- this kernel is called "INSTALLSBC", not "INSTALL". 2001-09-23 17:30:52 +00:00
fredb
780a06ff07 Sync with "GENERIC". 2001-09-23 17:18:00 +00:00
wiz
55fbb5ff57 Grammar improvements in comments. 2001-09-16 16:40:44 +00:00
wiz
456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
briggs
c477d3ad28 Define __BUS_SPACE_HAS_STREAM_METHODS since the functions are there. Noted
on tech-kern & port-mac68k by "John Ruschmeyer" <jruschme@mac.com>.
2001-09-14 00:58:08 +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
atatat
5f25c01eff Comment out bridge pseudo devices from ports that don't
__HAVE_GENERIC_SOFT_INTERRUPTS.  bridge(4) doesn't compile there.
2001-09-01 23:08:40 +00:00
atatat
97c67a9bae Add bridge pseudo devices to GENERIC configs 2001-09-01 21:52:23 +00:00
simonb
023bdd2bf2 Use comments around the token after a #endif. 2001-08-31 04:44:54 +00:00
chs
c540e9e70b add a missing pmap_update(). 2001-08-23 06:18:47 +00:00
wiz
c52d355d71 "wierd" is weird. 2001-08-20 12:20:01 +00:00
chs
177230d1d6 implement pmap_k{enter_pa,remove}() correctly.
remove various checks for impossible conditions.
other misc cleanup.
2001-08-04 18:42:39 +00:00
chs
6bc422a7ee use pmap_k* in pagemove() (ie. for buffer cache pages)
and in vmapbuf() and vunmapbuf() (since there's no VAC on this platform).
2001-08-04 07:44:52 +00:00
wiz
a9356936b4 seperate -> separate 2001-07-22 13:33:58 +00:00
scottr
79e44b9f63 Hack writedisklabel() to re-read and analyze the Apple Disk Partition Map
to facilitate sysinst-based modification of the same.  From Bob Nestor.
2001-07-14 07:38:31 +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
wiz
3f9984fc90 existent', not existant' 2001-06-19 13:42:07 +00:00
wiz
f3f6c5b675 accessible' only has one a'. 2001-06-19 12:52:20 +00:00
christos
0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00
thorpej
5523a584c5 HZ -> hz 2001-06-05 05:12:18 +00:00
chs
821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
lukem
d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
mrg
67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
mrg
3783ca5d30 define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
chs
e44e9dec8a replace vm_page_t with struct vm_page *. 2001-05-26 21:27:02 +00:00
chs
118ddca24a replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
scw
94225b1490 port-mac68l/12931 by Dave Huang:
Add an itepoll() function. This one slipped through my recent sweep
of line-disciplines...
2001-05-14 09:27:06 +00:00
kleink
a7d0606917 Cosmetical oversight. 2001-05-06 20:25:28 +00:00
thorpej
cf67ac7122 Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
wiz
133599a99d Remove unused variable. Reported by Thilo Manske in port-mac68k/12794. 2001-04-30 17:12:03 +00:00
thorpej
2b27ac7a99 Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure.  Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM.  These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg.  As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now).  Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
bouyer
937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
thorpej
1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
thorpej
55044638aa Remove pmap_kenter_pgs(). It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej
69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +00:00
thorpej
4738622712 Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
2001-04-22 00:33:59 +00:00
thorpej
7f10ba88b1 #define away pmap_update() in <machine/pmap.h> so that no function
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
2001-04-21 23:51:14 +00:00
thorpej
15f731ee94 pmap_update() should not be equated with "flush entire TLB", it is
used to process deferred pmap operations.  Since these pmaps don't
defer anything, pmap_update() is a noop.
2001-04-21 17:25:01 +00:00
thorpej
7fe777de1c toupper() exists in libkern now. 2001-04-18 15:39:34 +00:00
kleink
f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink
739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink
cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink
a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink
7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej
bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
thorpej
0f05a2b35c splimp -> splhigh for frobbing the netisr. 2001-04-12 18:26:26 +00:00
jhawk
d95ba2eb80 Remove gratuitous setting of SYSDIR;
it is set in sys/kern/Make.tags.inc
2001-04-03 17:12:23 +00:00
chs
ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
briggs
d8cd14d437 Rip the guts out of pmap_remove() and create pmap_do_remove(), called with
a flag that determines whether or not wired mapping should be removed.
pmap_collect() calls pmap_do_remove() without this flag, and pmap_remove()
calls with it.
Pointed out on port-mac68k with suggested fix from chs.
2001-02-12 22:00:08 +00:00
thorpej
043e519d55 Adjust the way that media is initialized on DP8390-compatible
chips.  The dp8390_softc now has media_init and media_fini
function pointers that do the work.
2001-02-12 18:49:03 +00:00
briggs
ded0acf164 Clear interrupts on the RasterOps PaintBoard Prism GT 1.0. From
Alastair Bridgewater <nyef@softhome.net>.
2001-01-22 20:27:02 +00:00
briggs
b8d22c0d39 Handle interrupts on the Radius DirectColor/GX (id 0x27c). From
Alastair Bridgewater <nyef@softhome.net>.
2001-01-22 18:23:14 +00:00
scottr
054277902e Correct a thinko: iteopen()/iteclose() shouldn't just pass off to
the wsdisplay driver.  Otherwise, closing ttye0 (ite compat) ends
up closing ttyE0, the actual console, when ttyflags runs.  Fixes
PR 12022.
2001-01-22 07:31:44 +00:00
tv
e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
briggs
118221b2e6 Handle the TRPAD case a little better.
Also, if the so-called DMA operation is a write and ends without target-
complete set, count the data in the FIFO as residual and add that to the
amount in the counters.  Hauke Fath reports that this passes early testing
on his Quantum Viking.
2001-01-18 03:43:18 +00:00
thorpej
577f2ffb1c Remove local declaration of softclock(). 2001-01-17 19:03:14 +00:00
ender
d2d372a707 Fix softclock prototype. 2001-01-17 08:23:49 +00:00
fvdl
c7f1462f3e Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
thorpej
d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej
a3ec356d52 splimp() -> splvm() 2001-01-14 03:22:04 +00:00
thorpej
d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
briggs
f7cf6d4afb Do not try to second-guess the ncr53c9x driver by setting *dmasize to 0
if it is 64k.  TCL and TCM will be set properly if we just leave it alone.
Not only that, the ncr53c9x driver issues TRPAD or TRANS based on this
value.  We do not want TRPAD in this case!
2000-12-29 21:31:44 +00:00
briggs
811d597c78 Rework the esp driver a little bit to improve performance. This requires
an ugly bit where we record the value of a2 while handling a "nofault" bus
error in locore.s in order to know how far the transaction got before a
disconnect (see esp.c comments for more details on this).
Also get rid of a loop (and delay()!) in the interrupt routine--hinted at
and researched by Chas Williams <chas@cmf.nrl.navy.mil>.
2000-12-29 17:23:31 +00:00
jdolecek
e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
scw
4350a7f2b7 Unification of the m68k syscall() function. 2000-12-19 21:09:54 +00:00
bouyer
c71f40d166 Add pseudo-device vlan 2000-12-19 10:42:02 +00:00
jdolecek
cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
jdolecek
ca57e681bd g/c obsolete vtrace(2) stuff 2000-12-13 18:13:05 +00:00
briggs
cd0841b357 Clear interrupts on the Apple "Boogie" card. Information grovelling
and testing by Lucas Lay.
2000-12-09 05:14:31 +00:00
briggs
50b56fe1a2 Do not define the same symbol with two different values. PR#11664. 2000-12-08 14:28:44 +00:00
toddpw
6b0841e32b Fix PR port-mac68k/11343 2000-12-07 10:57:17 +00:00
scottr
7fdcf44432 Don't reference a zs-specific variable unless NZSC is not zero.
Fixes PR 11566.
2000-12-05 21:38:38 +00:00
briggs
e7a6bcd6eb Add the DrHw Apple 24AC "Boogie" video card.
Thanks to Lucas Lay <segfault@mac.com> for digging it up.
2000-12-05 05:05:52 +00:00
briggs
3503f0999b Add defines for:
Apple WGS SCSI / cache card
	FWB JackHammer SCSI card
2000-12-05 05:02:36 +00:00
scottr
fc6d3c5f48 Unmap the valkyrie register space when we're finished with it in
the match function.  It's not like we can save that state for later,
and we don't use it anyway.
2000-12-04 06:25:19 +00:00
scottr
b21b6272fa Fix PR 11000: The esp driver needs two longwords in DAFB register space to
implement pseudo-DMA transfers with the SCSI controller.  This caused our
match to fail when we couldn't map the entire DAFB register/control space
for our own use.  Instead, we map only (about) what we will need in two
separate regions.

As a consequence we no longer do Turbo SCSI configuration here; indeed, it
may have caused us trouble later on if we actually changed the values
stored in those registers in the esp driver.
2000-12-04 06:23:36 +00:00
tsutsui
a8fdbdec1c Remove unused pcbb() macro. 2000-12-01 17:57:43 +00:00
jdolecek
73f3cd8c7e LKMify 2000-11-29 21:51:49 +00:00
jdolecek
17a9fd0da5 split m68k SunOS and SVR4-specific sigcode.s code to sunos_sigcode.s
and svr4_sigcode.s respectively
adjust individual m68k port's locore.s to include new sigcode files if
appropriate
2000-11-26 11:47:23 +00:00
tsutsui
161004f8c3 s/struct const sysent/const struct sysent/
(BTW, luna68k was missed in emul/execsw changes?)
2000-11-21 23:19:42 +00:00
tsutsui
2c7e91a09e Define proper macros for FP frame offsets rather than magic numbers. 2000-11-21 13:54:13 +00:00
jdolecek
baae0324b9 restructure struct emul and execsw, in preparation to make emulations LKMable:
* move all exec-type specific information from struct emul to execsw[] and
  provide single struct emul per emulation
* elf:
  - kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
    per emulation and contains pointer to respective probe function
  - interp is allocated via MALLOC() rather than on stack
  - elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
  to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
  emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
  part of appropriate execsw[] entry
* constify couple of structures
2000-11-21 00:37:49 +00:00
chs
c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
scottr
4db27b3da4 Enhance readability through consistent function parameter names and KNF.
There are no functional changes.
2000-11-16 07:04:12 +00:00
scottr
96cb29b773 As was the original intent a long, long time ago -- but in this galaxy, and
in fact on this planet -- generate a SIGILL for user-mode A-line traps.
The core of this change is taken verbatim from PR 10511, submitted by
Christian Bauer.
2000-11-15 07:15:36 +00:00
scottr
1609858811 The Cuda-based ADB hardware has the ability to queue some commands and
return control to the main CPU before completing the ADB transaction.
Double the adb_op_sync() timeout as a result.  Fixes PR 11310.
2000-11-15 06:35:51 +00:00
thorpej
b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
thorpej
9f60ecd809 We use 4K pages on the mac68k. Make PAGE_SIZE and friends into
compile-time constants.
2000-11-14 19:07:34 +00:00
scottr
a7a5cd8399 Replace the call to macfb_init() when attaching a non-console fb device
with a call to macfb_clear().

[The purpose of macfb_init() is almost exclusively to initialize the
raster console blitter.  We really, really do not want to do this unless
we are actually initializing the console device, else we'll give rcons
the attributes of the last-seen fb device.  These will not necessarily
correspond to the attributes of the actual console device!]
2000-10-22 05:05:39 +00:00
abs
2824f4906d Ensure all INSTALL* kernels have two ptys, and a note explaining why:
pseudo-device  pty             2       # pseudo-terminals (Sysinst needs two)
(Some installers may not be using sysinst, in which case this just reduces
the number of ptys from 16 that are not used to 2 that are not used)
For i386 conf files, no change other than comments.
2000-10-02 18:43:34 +00:00
thorpej
7ca3fb9ef0 Move the check for "promisc + unicast + not for us" into ether_input(),
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
scottr
2c7ec6839c In ems_init(): make sure there's valid data in the buffer after sending
a TALK command to a device.  Noticed by Ken'ichi Ishizaka.
2000-10-01 05:10:57 +00:00
scottr
489ed1a908 The Duo ADB controller doesn't notify us that it needs to be polled
through the (emulated) VIA.  Work around this problem by polling the
Power Manager chip directly.  From Daishi Kato, PR 9852.
2000-09-27 03:57:51 +00:00
scottr
29923311f1 Set up ADB hardware type before making decisions based on same.
This is part of PR 9852 from Daishi Kato.
2000-09-27 03:27:23 +00:00
scottr
7c2fc39588 Now that we do collision detection and assign all ADB devices to distinct
addresses, it makes sense to print the actual address of the device rather
than the original address.  The latter is useful to distinguish the type
of device only, so we maintain that data internally (as we always have).

This closes PR 10557 from Dave Huang.
2000-09-27 03:22:05 +00:00
abs
3ef92f0bdb Use "options<SPACE><TAB>" not "options<TAB>" - noted by simonb.
Move VNODE_OP_NOINLINE and NFS_V2_ONLY into '# Filesystem options' section.
Consistently label '# Filesystem options' and '#File systems' sections.
2000-09-25 13:54:50 +00:00
abs
ccf1c822a6 Ensure all INSTALL config files have (at least) COPTS="-Os", cincluding bebox
based on it working already for macppc.
Also add commented out:
#options        VNODE_OP_NOINLINE       # Don't inline vnode op calls
#options        NFS_V2_ONLY             # Exclude NFS3 and NQNFS code
as suggestions for additional savings
2000-09-25 11:46:37 +00:00
jdolecek
b1f94e26ab don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
2000-09-24 15:59:26 +00:00
scottr
7eec1b2d04 Attach exactly one keyboard to the wscons console. 2000-09-22 04:56:54 +00:00
scottr
e4b50d9bfc Ken'ichi Ishizaka discovered that some devices, e.g. the A3 Mouse, don't
respond in the allotted time if they're told to TALK immediately after
completing a LISTEN command.  Experimentation with adb_op_sync() yielded
consistent results when the timeout was increased from the documented
6900 usec to 8000 usec, so we'll make that change here.

(Accurate and complete documentation of the hardware sure would help...)
2000-09-19 05:17:55 +00:00
thorpej
72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
scottr
ff2130346c Resolve bus_space_write_region_2() type mismatches. 2000-09-13 05:21:16 +00:00
scottr
7eb72c4f15 ae_write_mbuf() broke with the last change; revert. 2000-09-13 05:16:47 +00:00
thorpej
4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
thorpej
58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
thorpej
a86d1f4891 Add a lock around the scheduler, and use it as necessary, including
in the non-MULTIPROCESSOR case (LOCKDEBUG requires it).  Scheduler
lock is held upon entry to mi_switch() and cpu_switch(), and
cpu_switch() releases the lock before returning.

Largely from Bill Sommerfeld, with some minor bug fixes and
machine-dependent code hacking from me.
2000-08-20 21:50:06 +00:00
itojun
85dda25e94 move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
2000-08-13 01:31:15 +00:00
briggs
8d6c85d001 Remove hack for unswapped read/write_multi in swapped space.
Driver now uses read/write_multi_stream_2.
2000-08-01 13:08:39 +00:00
briggs
3ce3697584 Add bus_space_*_stream_N functions. 2000-07-31 22:40:25 +00:00
briggs
bd823b939e Fix code to read a string from the nubus board--it was not terminating
the string properly when the string on the board is longer than the
pre-allocated space.
2000-07-31 22:39:17 +00:00
briggs
2cc07c0541 Add a DIAGNOSTIC panic if (count-using) bus_space macros are called with
a count of zero.  Some drivers do this accidentally and some bus_space
implementations will fail if count is passed as zero (they are set up in
a do-{}-while structure).
2000-07-31 14:59:15 +00:00
briggs
3717acff97 We may wish to install from an SMC-based ethernet, too. 2000-07-31 02:06:48 +00:00
briggs
f5882c7ffa Make sure that bus_space read/write functions that take a count will not be
called if count is zero.  The smc91cxx driver, for example, may try to call
bus_space_write_multi_2() with a count of 0.
2000-07-30 23:17:23 +00:00
briggs
2f76646af1 Some uncommitted poking around. No functional change. 2000-07-30 21:48:54 +00:00
briggs
1e909ae3ca Add SMC-based ethernet and nsphy (AsanteFAST) and ukphy (just in case). 2000-07-30 21:46:39 +00:00
briggs
e74ae8ee59 M.d. glue for nubus SMC 91cxx-based cards--including Focus Interlan and
AsanteFAST.
2000-07-30 21:43:40 +00:00
briggs
fb9995989b Make bus_space_write_region_2 usage match prototype. 2000-07-30 21:41:59 +00:00
briggs
d13747524c Fixup for bogus assumptions about bus_space_handle_t. 2000-07-30 21:40:49 +00:00
briggs
c131e0d1b7 Remove unsupported Focus hardware--this is now probed in if_sm_nubus. 2000-07-30 21:40:09 +00:00
briggs
2bb296de77 Update hack to point to bus_space_handle base address. 2000-07-30 21:39:16 +00:00
briggs
9c85d4dc6a Add byte-swap and stride options to bus_space. Allocate as normal, then
call mac68k_bus_space_handle_swapped() or mac68k_bus_space_handle_set_stride().
Stride is untested.  Swapped code works for SMC ethernet.
2000-07-30 21:38:02 +00:00
briggs
a3f6fd2274 Add nubus attachment for smc91cxx driver. 2000-07-30 21:36:04 +00:00
briggs
5d162e9bcf Add Sigma Designs L-View and AsanteFAST product codes. 2000-07-26 04:36:16 +00:00
briggs
98cdbc4cc9 Remove advertising clause with my name. 2000-07-26 04:35:46 +00:00
scottr
c019fa32ca Revert a bit of the last change to make this compile again. 2000-07-05 07:33:52 +00:00
sommerfeld
502fc00210 Comment out EON ISO-over-ip tunneling pseudo-driver, and document as
broken/fragile.  Unlikely to be of much use, and confuses new users
when their system crashes when they, or their dhclient stumble over
it.  See kern/10500, kern/8994 for the gory details.
2000-07-05 04:07:22 +00:00
scottr
d08e3b12a4 Stabilize ADB support for some non-Apple ADB peripherals. This is the
second (and final) part of the fix for PR 10086.  (There are no longer
any infinite-wait busy loops in the ADB driver!)
2000-07-03 08:59:26 +00:00
scottr
da62d2ef12 Avoid attaching on the Mac TV, as this system seems to not be
completely backward compatible to the II-series sound hardware.
2000-07-02 21:10:14 +00:00