Commit Graph

20659 Commits

Author SHA1 Message Date
thorpej
582d47fcf0 ia->ia_addr is a physical address, not a kernel virtual address. 1998-01-11 21:55:08 +00:00
thorpej
1687835b3e Pass down bus space tags to children, and use types appropriate for
bus.h.
1998-01-11 21:53:04 +00:00
thorpej
774d66001e Add bus_space.c 1998-01-11 21:42:44 +00:00
thorpej
77706becd7 Initial implementation of bus_space functions for hp300. Some cleanup
of this will be possible once some pmap changes are made.
1998-01-11 21:40:52 +00:00
thorpej
b69358e4ca bus.h for the hp300 port. Only supports bus_space for now. 1998-01-11 21:26:04 +00:00
scottr
448859f0c9 Add NFS_BOOT_DHCP option, and compile nfs_bootdhcp.c if either
NFS_BOOT_BOOTP or NFS_BOOT_DHCP are specified.
1998-01-11 05:57:45 +00:00
scottr
afc2a8933a Make NFS_BOOT_DHCP work as expected. 1998-01-11 05:55:40 +00:00
tv
24ca7df4ba don't run minor() macro twice in ISDEV...() macro definitions 1998-01-10 14:07:25 +00:00
thorpej
e76d5a2fe1 Oops, don't need vm_page_physget() if PMAP_STEAL_MEMORY. 1998-01-10 03:02:58 +00:00
pk
69487f1532 * Fix a train-load of bugs, mostly present in one of these categories:
- "out of resource" errors cause receive buffer chain corruption
	- resets can confuse the interrupt handler
	- multi-cast setup causes receive buffer chain corruption
	- shared memory setup incomplete

* Enhance effiency by avoiding unnecessary shared memory access,
  improved handling of receive frame & buffer descriptors, and
  introducing an `asynchronous' option when issuing 82586 commands.

* Exclusively use offsets relative to the bus handle representing the shared
  memory area to formulate accesses to the chip's data-structures.  The
  front-ends provide glue functions that cater to the chip's endian-
  sensitivity, to perform the actual device access (note: single-byte
  accesses are done here using `bus_space_{read,write}_1()').
  This concludes the transformation into a bus-independent driver module.
1998-01-10 02:35:31 +00:00
pk
f041e52c7e * Rename a bunch of chip definitions for consistency.
* Abolish C structures to access chip data-structures; instead use macros
  that take indices and offsets relative to the bus handle representing
  the chip's resources.

* Include the old version of this file wholesale, until all drivers
  have been updated to use the MI 82586 code.
1998-01-10 01:46:32 +00:00
perry
aceff90d16 add yet another PCI brige -- from pr 4780 from Nathan J. Williams 1998-01-10 01:15:14 +00:00
fvdl
83ef3d4928 Switch off CPU-PCI write posting for the Saturn chipset; it is known
to cause problems with PCI busmasters.
1998-01-09 22:34:58 +00:00
perry
6f57e5c573 multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom) 1998-01-09 22:23:44 +00:00
thorpej
1256fac296 Rearrange alpha_init() somewhat, setting the page size much earlier, and
keeping track of where the kernel lives in K0SEG.  Place early data
structure allocation into an allocsys() function, like other ports, so
that it can be used to first calculate the amount of memory needed
for those data structures.
1998-01-09 21:34:47 +00:00
mycroft
59ea23516a Increase delays to the required 7us. 1998-01-09 21:28:32 +00:00
mycroft
b0cf8e166d Update copyright. 1998-01-09 21:16:36 +00:00
mycroft
1434d2e50d Map the I/O region correctly, but reading its address from the EISA config
space.
1998-01-09 20:55:17 +00:00
thorpej
bb4988dca2 If MACHINE_NEW_NONCONTIG is defined, activate the pmap_steal_memory()
interface.
1998-01-09 19:13:09 +00:00
thorpej
8947029c63 Make this compile in light of recent socket queue data structure change.
Pointed out by Matthias Drochner.
1998-01-09 18:31:50 +00:00
drochner
408be2261c Compile in BOOTP support for diskless boot. 1998-01-09 17:25:30 +00:00
drochner
35718a7622 Use of BOOTP or BOOTPARAM can be conntrolled by config option now. 1998-01-09 17:21:10 +00:00
drochner
9c3e23d351 Compile in BOOTP support for diskless boot. 1998-01-09 17:10:16 +00:00
drochner
874db3d0e0 Selection of network configuration method for diskless boot can be
controlled by config options now. Remove setting of nfs_boot_rfc951,
it is set by default if "option NFS_BOOT_BOOTP" is defined.
1998-01-09 17:06:35 +00:00
drochner
6757ab1b65 Remove conditional setting of "nfs_boot_rfc951" (introduced in previous
change). It's not needed anymore.
1998-01-09 16:01:27 +00:00
drochner
5b055c9032 enable diskless boot with BOOTP and BOOTPARAM configuration 1998-01-09 15:18:50 +00:00
drochner
b5bcdb1107 Conditionalize call to RARP, check interface type.
(This file can now be included even if no ARP capable interfaces are
defined.)
1998-01-09 15:16:55 +00:00
drochner
2179b6488a Use interface type to select "hardware type" in bootp header. 1998-01-09 15:13:44 +00:00
drochner
9e7604474f Use new options "NFS_BOOT_BOOTP" and "NFS_BOOT_BOOTPARAM" for parts
conditional on a particular configuration method.
The global flags "nfs_boot_rfc951" and "nfs_boot_bootparam" control
independantly if the functions are actually called. (Previous meaning
of "nfs_boot_rfc951" was "either-or".)
1998-01-09 15:10:37 +00:00
drochner
dfc3f18cd2 cleanup of diskless NFS boot code:
2 new options, "NFS_BOOT_BOOTP" and "NFS_BOOT_BOOTPARAM", control whether
the corresponding code is included.
1998-01-09 15:03:52 +00:00
thorpej
51902c1094 In vm_page_physload(), check page_shift not cnt.v_page_size for
having been initialized.
1998-01-09 08:50:00 +00:00
thorpej
e47378c640 - pmap_collect_pv() is broken; #ifdef it out (it's not currently ever
called anyway, but now at least the reason is documented).
- rearrange a few things to make it easier to add support for non-contigous
  physical memory.
1998-01-09 08:27:09 +00:00
thorpej
b115c27722 Get rid of some old cruft. 1998-01-09 08:18:22 +00:00
perry
3fe138c146 RCS Id Police. 1998-01-09 08:03:16 +00:00
scottr
867cdfc734 Another update from John: if we're polling, e.g. in ddb, pass the
keystroke to the upper half directly.
1998-01-09 06:59:29 +00:00
thorpej
4deb927ee6 Regen. 1998-01-09 06:59:27 +00:00
thorpej
2f3e61a54a Put RCS IDs into generated files, in the correct place. 1998-01-09 06:59:10 +00:00
thorpej
e41a79ff38 Regen. 1998-01-09 06:58:04 +00:00
thorpej
bd5df8e610 Put RCS IDs into generated files, in the correct place. 1998-01-09 06:57:44 +00:00
thorpej
884cc096ca Regen. 1998-01-09 06:56:47 +00:00
thorpej
8735ce36ca Put RCS IDs into generated files, in the correct place. 1998-01-09 06:56:23 +00:00
thorpej
e21b3a4cdb Regen. 1998-01-09 06:54:56 +00:00
thorpej
d41a505027 Regen. 1998-01-09 06:54:54 +00:00
thorpej
d1ad0bc624 Put RCS IDs into generated files, in the correct place. 1998-01-09 06:54:25 +00:00
thorpej
5170264d4e Gather pv_table and pmap_attributes things togther, and macro'ize
access to them a little better.

Also, improve the performance of pmap_is_{referenced,modified}() and
pmap_clear_{reference,modify}() somewhat.
1998-01-09 06:54:17 +00:00
thorpej
12b9ab0fd5 Regen. 1998-01-09 06:46:47 +00:00
thorpej
9b7afe221e Put RCS IDs into the generated files, in the correct place. 1998-01-09 06:46:26 +00:00
thorpej
15ed345b3b Regen. 1998-01-09 06:43:27 +00:00
thorpej
c5a2e825a0 Regen. 1998-01-09 06:41:17 +00:00
thorpej
b59d427988 Add RCS IDs to generated files, in correct place. 1998-01-09 06:40:43 +00:00
thorpej
14807c2914 Use avail_start/avail_end. 1998-01-09 06:37:04 +00:00
thorpej
f9b6954f55 Call vm_set_page_size() after initializing PAGE_SIZE. 1998-01-09 06:35:17 +00:00
thorpej
80fff795f9 Regen. 1998-01-09 06:19:02 +00:00
thorpej
95b0f526ca Oops, thinko 1998-01-09 06:17:51 +00:00
thorpej
9a4eec1ed1 Regen. 1998-01-09 06:14:57 +00:00
thorpej
d92ba4e07c Regen. 1998-01-09 06:10:55 +00:00
thorpej
355cc817cb Regen. 1998-01-09 06:09:55 +00:00
thorpej
1bc72bcfa6 Regen. 1998-01-09 06:09:54 +00:00
thorpej
1a49aac581 Regen. 1998-01-09 06:09:17 +00:00
thorpej
f35d097c86 Put RCS IDs in generated files, in the right place. 1998-01-09 06:07:26 +00:00
thorpej
4001cf8069 In vm_mem_init(), don't test for cnt.v_page_size being == 0. It is perfectly
legitimate for this to be set if vm_set_page_size() hasn't been called (it's
how the page size is communicated to vm_set_page_size()).  Instead, test
for page_shift == 0; this is one of the values that vm_set_page_size()
initializes.
1998-01-09 06:00:50 +00:00
mrg
aa39c43bc9 call vm_set_page_size(). 1998-01-09 04:37:56 +00:00
thorpej
85d56961e5 Update a comment relative to the vm_bootstrap_steal_memory() change, and
don't include pmap_free_pages() or pmap_next_page() in the new non-contig
case.
1998-01-08 23:48:16 +00:00
thorpej
4cb36c3346 Update a comment to reflect the vm_bootstrap_steal_memory() change, and
while I'm here, note which two functions will no longer exist when
new non-contig code is done for this pmap.
1998-01-08 23:47:07 +00:00
thorpej
54f8b4bf57 In the new non-contig case, redefine pmap_steal_memory() as an alternative
to vm_bootstrap_steal_memory(), since we may need to steal memory from
a direct-mapped segment at this early stage of the game (on e.g. MIPS
and Alpha).

This interface is activated by defining PMAP_STEAL_MEMORY in <machine/pmap.h>.
Otherwise, the pmap_virtual_space() prototype is in-scope for use by
vm_bootstrap_steal_memory().
1998-01-08 23:28:04 +00:00
thorpej
15efce41a3 Zorch pmap_startup() prototype. It was never implemented in machine-dependent
code, and is inlined in the MACHINE_NONCONTIG case of vm_page_bootstrap() now.
1998-01-08 23:13:05 +00:00
thorpej
589a1e440e Clean up and consolidate the old non-contig bootstrap functions, and
rename pmap_steal_memory() to vm_bootstrap_steal_memory().
1998-01-08 23:03:24 +00:00
lukem
c0e8ee54e9 * start from the top of the given ephemeral range and work down;
results in reserved ephemeral ports starting at the top (as per
  current practice), and shouldn't have a negative effect on normal
  ephemeral ports...
* initialise inpt_lastlow in in_pcbinit
1998-01-08 11:56:50 +00:00
mrg
c599e7d439 add new version of non contiguous memory code, written by chuck cranor,
called "MACHINE_NEW_NONCONGIG".  this is required for UVM, the new VM
system (also written by chuck) that is coming soon.  adds new functions:
	vm_page_physload() -- tell the VM system about an area of memory.
	vm_physseg_find() -- returns index in vm_physmem array that this
		address is in.
and several new versions of old functions/macros defined in vm_page.h.


this is the sparc portion.
1998-01-08 11:39:30 +00:00
mrg
a20d56e92e add new version of non contiguous memory code, written by chuck cranor,
called "MACHINE_NEW_NONCONGIG".  this is required for UVM, the new VM
system (also written by chuck) that is coming soon.  adds new functions:
	vm_page_physload() -- tell the VM system about an area of memory.
	vm_physseg_find() -- returns index in vm_physmem array that this
		address is in.
and several new versions of old functions/macros defined in vm_page.h.

this is the MI portion.  sparc, and then later i386 portions to come.
all other ports need to change to this ASAP!  (alpha is already being
worked on)
1998-01-08 11:36:16 +00:00
mrg
0876a69653 some KNF. 1998-01-08 11:03:13 +00:00
mrg
7069ab9961 don't call fb_unblank if NFB < 0 1998-01-08 10:56:36 +00:00
mrg
002fbe8721 do not use fb_unblank unless NFB > 0 1998-01-08 01:13:58 +00:00
thorpej
655a55141c Regen: Back out RCS ID related changes. 1998-01-08 01:07:24 +00:00
thorpej
5713d318b8 Back out RCS ID related changes. 1998-01-08 01:06:50 +00:00
thorpej
db8d7d755a Regen: Back out RCS ID related changes. 1998-01-08 01:05:10 +00:00
thorpej
af0fb8a65a Back out RCS ID related changes. 1998-01-08 01:04:44 +00:00
thorpej
c4a3ed1697 Regen: Back out RCS ID related changes. 1998-01-08 01:02:05 +00:00
thorpej
ddb3a0e478 Back out RCS ID related changes. 1998-01-08 01:01:27 +00:00
thorpej
22aef93dcd Regen: back out RCS ID related changes. 1998-01-08 00:36:12 +00:00
thorpej
b0a69d357f Back out RCS ID related changes. 1998-01-08 00:35:35 +00:00
thorpej
106bb71744 Regen: back out RCS ID related changes. 1998-01-08 00:33:49 +00:00
thorpej
eac46118ba Back out RCS ID related changes. 1998-01-08 00:33:33 +00:00
lukem
1a63d90320 add missing ; ... 1998-01-08 00:32:39 +00:00
thorpej
1b2dbc7a0e Regen: back out RCS ID related changes. 1998-01-08 00:32:06 +00:00
thorpej
b0ecfb4210 Back out RCD ID related changes. 1998-01-08 00:31:23 +00:00
thorpej
0068dec705 Regen: back out RCD ID related changes. 1998-01-08 00:27:16 +00:00
thorpej
585f0dec73 Regen: back out RCD ID related changes. 1998-01-08 00:17:11 +00:00
thorpej
d76d905b2f Back out RCS ID related changes. 1998-01-08 00:16:25 +00:00
thorpej
cbf3cc6bb8 Make insertion and removal of sockets from the partial and incoming
connections queues O(C) rather than O(N).
1998-01-07 23:47:08 +00:00
thorpej
cc22126721 Implement passing credentials as ancillary data on Unix domain sockets,
enabled with the LOCAL_CREDS socket option on the listener.  Semantics are
similar to BSD/OS's:
- Creds are available with first data on SOCK_STREAM, and with every datagram
  on SOCK_DGRAM.
- It is not possible to forge credentials.

Different in that:
- Different credential data structure (ours does not rely on the format
  of internal kernel data structures, and does not pass the login name).
- We can pass creds and file descriptors at the same time (this does not
  work in BSD/OS).

Luke Mewburn <lukem@netbsd.org> gets credit for inspiring me to implement
this.  :-)
1998-01-07 22:57:09 +00:00
lukem
c80b4400e5 add the following, derived from FreeBSD:
* IP_PORTRANGE socket option, which controls how the ephemeral ports
  are allocated. it takes the following settings:
	IP_PORTRANGE_DEFAULT	use anonportmin (49152) -> anonportmax (65535)
	IP_PORTRANGE_HIGH	as IP_PORTRANGE_DEFAULT (retained for FreeBSD
				compat reasons, where these are separate)
	IP_PORTRANGE_LOW	use 600 -> 1023. only works if uid==0.
* in_pcb flag INP_ANONPORT. set if port was allocated ephmerally
1998-01-07 22:51:22 +00:00
thorpej
cf89ccf13e Add uipc_ctloutput(). 1998-01-07 22:50:42 +00:00
thorpej
ba2c7e8ca0 Add flags to the unpcb, and define the "want credentials" flag. 1998-01-07 22:49:47 +00:00
thorpej
e7a511e0c1 Define the LOCAL_CREDS socket option, and pass a proc * to unp_output(). 1998-01-07 22:49:12 +00:00
thorpej
2731959046 Prototype uipc_ctloutput(). 1998-01-07 22:47:49 +00:00
thorpej
84741f2538 Add the sockcred structure and related definitions, and the SCM_CREDS
control message type.
1998-01-07 22:46:26 +00:00
is
5d5c1cd59e - avoid system stack underflow when calling sigreturn via trap #0
- make sure all sigreturn error conditions are reported to the caller,
  instead of the place jumped to.
This is the bugfix part of pr 4628 by ITOH Yasufumi.
The performance optimization part will be handled seperately, after evaluating
its implications.
Testing on 68040 and removing the performance change from the proposed patch
by scottr. Half of the Amiga machdep.c change had to be done manually by me,
as the patchfile didn't apply cleanly.
XXX Yes, Amiga should be changed to use the common sig_machdep.c instead.
XXX Really soon now. I promise.
1998-01-07 22:46:00 +00:00
mikel
c0d8293951 fix some typos in error messages & comments 1998-01-07 08:47:54 +00:00
scottr
4567c69fea Update from John Wittkoski: the Color Classic and Color Classic II
have Cuda hardware, not IIsi-based.
1998-01-07 07:33:36 +00:00