Commit Graph

1919 Commits

Author SHA1 Message Date
tsutsui 7f54ebdd6b - enable adv, pcscp, ex, vr and sequencer (which I am/was using)
- add (commented out) ne[01] at isa? (working)
- add (commented out) file-system CODA
- add (commented out) mpu* at sb? and midi* at mpu? (untested)
- comment out faith (sync with GENERIC)
- some more cosmetics
2000-02-19 00:14:58 +00:00
thorpej fd8c03cf44 Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().
2000-02-14 21:42:50 +00:00
mark 068fcab81e Enable rl ethernet device.
General tidy up.
2000-02-13 05:26:04 +00:00
mark f43601877b Remove __BROKEN_CONFIG_UNIT_USAGE. 2000-02-13 05:20:45 +00:00
mark d97d3dc6a5 Enable rl ethernet device and do some general cleaning up. 2000-02-13 05:19:40 +00:00
mark 7ef62e2b59 Remove unncessary cf_unit usage.
Make sure we only attach 1 of these devices.
2000-02-13 05:00:57 +00:00
mark 9316cea99d Remove unnecessary cf_unit usage. 2000-02-13 04:59:57 +00:00
kristerw 952281e8fb Fixed a bug in the ATR parsing; If TA(i) was absent, then TA(i+1) was
used as TA(i) (and similary for TB(i) and TC(i))
2000-02-13 01:31:22 +00:00
kristerw 8ff64870d4 The T0 byte must not be included in the TCK calculation (ISO/IEC 7816-3
chapter 6.4.5)
2000-02-12 22:40:12 +00:00
thorpej dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
shin 7f5a7c00ac fix include file.
<netinet6/ip6.h>	->	<netinet/ip6.h>
2000-02-09 05:48:26 +00:00
thorpej 52a2804a5c Add a new function call to the ISA DMA API: isa_dmamaxsize(), which returns
the maximum transfer size for the specified DMA channel.  Make all clients
of ISA DMA use this call to determine their maximum transfer size.
2000-02-07 22:07:27 +00:00
thorpej fe551f0e64 Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle.  Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.
2000-02-07 20:16:47 +00:00
kleink 36e6bc645e Improve namespace test macros a bit. 2000-02-05 14:04:36 +00:00
cgd 7d16ac338c add __BROKEN_CONFIG_UNIT_USAGE #define, becuase these ports do very
wrong things with device configuration data "cf_unit" information.
2000-02-05 00:13:22 +00:00
kleink 82464e46d6 Add a C99-style va_copy macro. 2000-02-03 16:16:06 +00:00
tsutsui 11c8f56d48 Revert STRIPPROG -> STRIP 2000-02-01 05:25:24 +00:00
drochner 8eb798e603 define a "BUS_SPACE_MAP_PREFETCHABLE" flag which basically means that
device accesses are idempotent (but should not be cached by the CPU)
2000-01-25 22:13:17 +00:00
augustss 85fcd0b58d Update for the ucom(4) addition. 2000-01-25 08:31:56 +00:00
tron 04eb110431 Add "dependall" target for comfort. 2000-01-24 20:36:06 +00:00
hubertf 4b6b32e4fd sync with GENERIC,v 1.61 2000-01-23 23:54:34 +00:00
hubertf 7e5ff67457 Add commented out "ident"-command 2000-01-23 23:46:04 +00:00
tron 156ac6704c Add commented out entry for overlay filesystem. 2000-01-23 01:06:33 +00:00
tsutsui b236cf48c3 check whether tv_usec >= 1000000 2000-01-22 05:21:24 +00:00
thorpej 52242fdf9f Update for sys/buf.h/disksort_*() changes. 2000-01-21 23:28:59 +00:00
sommerfeld aa195e816f Fix PR9240: comment above cpu_fork() out of synch with reality on most ports.
(comment change only, but was wrong for more than just i386).
2000-01-20 22:18:54 +00:00
wrstuden 87e1b0f9b7 Add overlay to kernel configs. 2000-01-20 19:12:28 +00:00
thorpej a0397a2573 Move callout initialization to a single location; no need to duplicate
that code all over the place.
2000-01-19 20:05:30 +00:00
tsutsui e61f177ab1 STRIP -> STRIPPROG 2000-01-19 16:29:54 +00:00
tsutsui 644b514c39 Change STRIPFLAGS=-g for cross-toolchains. 2000-01-19 14:44:58 +00:00
msaitoh 0b9af6bdce check whether tv_usec >= 1000000 2000-01-19 02:52:16 +00:00
thorpej d0bb9fdf22 Remove one line of junk. 2000-01-18 19:36:58 +00:00
thorpej ed244ca8e4 Use b_cylinder as defined in sys/buf.h 2000-01-18 19:34:24 +00:00
augustss f7145f672e Add USB-Ethernet adapters. 2000-01-17 17:47:03 +00:00
mark e41b004de0 Increase the kernel VM area for both SHARK and Footbridge systems. 2000-01-10 07:44:55 +00:00
mark 8920fc9215 Rework of kernel I/O & memory mappings along with new implementation of
bus_space_map for PCI memory.
The mapping of system devices and I/O space has been shuffled to place them
at the top of memory leaving a larger contiguous chunk between the kernel
itself and the I/O mappings for the kernel VM area. This allows support
for kernel VM areas > 48MB.
The 144MB fixed mapping of early PCI memory space has been removed and a
new version of the bus_space_map() function has been implemented to map
PCI memory into the kernel VM area as required rather than using the fixed
mapping.
A mapping of the first 1MB of PCI memory is maintained for ISA memory
accesses and accesses to the VGA memory.
2000-01-10 07:43:07 +00:00
mark 656c8e63b4 Add description of the pciide & wd flags (from i386 GENERIC config).
Restore the isp driver now that we can down load firmware again.
2000-01-10 07:22:35 +00:00
mark 996c945e65 Add a several casts (mainly cosmetic). 2000-01-10 04:05:50 +00:00
mark 62645f43ba Add support for a boot argument podule?=mmmmpppp to enable the manufacturer
and product IDs for a podule to be overriden. The IDs are specified in hex.
A value of "ffff" means disable and replaces the podule?.disable option.
This allows podules whose IDs have been changed e.g. by PowerROMs to still
have the correct driver attached.
Based on my original patch but tided up and debugged by Stephen Hobbs.
2000-01-10 04:01:17 +00:00
mark 58465c9fcd Print leading zero when displaying the date in resettodr().
Fixes PR9129.
2000-01-07 23:43:45 +00:00
kleink 693059feda const -> __const and include <sys/cdefs.h> earlier; fixes PR lib/9052
by Takahiro Kambe.
2000-01-04 14:20:05 +00:00
tron e1e62b88e3 Correct description of "vnd" pseudo device. 1999-12-24 00:15:50 +00:00
kleink 11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
soren 0d5146155c s/16x450/16x50/ 1999-12-12 11:51:29 +00:00
mark cd20e6eb44 Add fields found in new format ebsaboot structures. 1999-12-06 09:55:57 +00:00
ragge 0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
thorpej 4560ac465a Split the PC-like keyboard controller driver into chip back-end and
bus front-end.
1999-12-03 22:48:22 +00:00
tron b226b8aa37 Increase packet counter before passing packets to BPF. 1999-11-30 17:02:39 +00:00
tron 8f0521d4a1 Increase packet counter before calling the input routine like all the
other ethernet interface drivers do.
1999-11-30 00:05:56 +00:00
tron a260687a14 Increase packet counter if a packet is received. This might fix
PR port-arm32/8527.
1999-11-30 00:02:51 +00:00
simonb 9c807e7a3c Move strtoul.c (via CVS repo copy) to libkern. Also sort prototypes
in libkern.h and sources in arm32/Makefile.inc alphabetically.
1999-11-29 23:12:56 +00:00
mark 52dcf041ef Remove the ISP scsi driver. With the removal of the Qlogic microcode
it is no longer possible to setup these devices thus the driver will not
work.
1999-11-28 00:34:17 +00:00
tron 82d9324e38 Remove duplicate IPv6 options. 1999-11-22 08:14:05 +00:00
itojun 0cea637239 merge SHARK.v6 into SHARK. 1999-11-22 05:17:33 +00:00
itojun e9a0023b37 bring in content of GENERIC.v6 into GENERIC.
remove GENERIC.v6 file (as it is part of GENERIC now).

"faith" interface is commented out by default as it is not really for
general use.
IPsec items are commented out as well, though we can enable "options IPSEC"
without export-related issue ("options IPSEC" will enable authentication
portion only).  We may need to think about it again.

if you have problem compiling with INET6 on archs I do not have access to,
please contact me.

XXX what to do with arch/arm32/SHARK{,.v6}?
1999-11-21 14:00:37 +00:00
jun 62d5d129d5 - merge CATS.v6 to CATS
- add UCONSOLE
- remove XSERVER (it only uses in shark/pccons.c?)
1999-11-20 07:28:35 +00:00
jun c090b6a417 add comments
XSERVER
	INSECURE
	SOFTDEP
1999-11-19 06:25:11 +00:00
matt a56a96a888 #elifdef ??? Change to #elif defined(__ELF__) 1999-11-17 18:08:01 +00:00
mrg e69f5159aa fix a problem in previous: avoid using shadow variable names. 1999-11-17 08:43:53 +00:00
tron 073ee3b029 - Add IPv6 options and devices.
- Add commented out softdep option.
1999-11-16 10:22:42 +00:00
fvdl 8bec119fcc Add commented out option SOFTDEP to all GENERIC kernels. 1999-11-15 19:10:44 +00:00
fvdl d116707af0 Add
prefix ../gnu/sys
cinclude "conf/files.softdep"
prefix

to all std.* files, so that soft dependencies can be activated using
"options SOFTDEP".
1999-11-15 19:00:25 +00:00
thorpej 1946167939 Update for pmap_enter() API change. No functional difference. 1999-11-13 00:30:26 +00:00
mark 3d347d6d24 Regenerate from podules. 1999-11-12 07:38:51 +00:00
mark 9d919b7239 Add EtherI and EtherN podule ID's
From Mike Pumford, part of PR/8765.
1999-11-12 07:37:21 +00:00
mark e28a162f54 In _bus_dma_sync() drain the write buffer after the cache clean.
Spotted by Richard Earnshaw.
1999-11-12 07:29:34 +00:00
mycroft cf29975968 Hack to work around _C_LABEL() fallout so WARN_REFERENCES() works again. 1999-11-07 07:12:07 +00:00
mycroft 9a6b48c680 Fix compilation error due to cpp headaches. 1999-11-03 22:13:20 +00:00
chs b2eeefd2b9 mycro-optimization (ie. from charles). 1999-11-03 15:32:45 +00:00
chs 4659d58793 return an error if `len' is 0. 1999-11-02 07:45:59 +00:00
chs f8d11b005f only clear pcb_onfault if we actually set it. fixes PR 7838. 1999-11-02 06:48:33 +00:00
lukem fa284ad64d sort arm32_db_command_table[] 1999-10-28 06:49:20 +00:00
cgd c9c2181ed9 provide an __ELF__ version of _C_FUNC and _C_LABEL, convert the assembly
#defines in asm.h to use them, and convert code which needs to use C labels
to use _C_LABEL as well.  (I can't see any reason why the label vs. function
differentiation shouldn't be GC'd; i only added uses of _C_LABEL.)  This
should help if this port is converted to use ELF, and was checked by
compiling all kernels in arm32/conf (with some driver removals and some
MI header fixups re: common blocks) with an arm-linux ELF toolchain.
1999-10-26 06:53:41 +00:00
mark 1d1283b4c0 Make this build again. 1999-10-24 22:19:47 +00:00
jdolecek 7f589dba84 rename the MD Debugger() to cpu_Debugger()
add MI Debugger() which switches to console if wscons is used prior
to calling cpu_Debugger()
1999-10-12 17:08:56 +00:00
tron 7d4a18b335 Use long int format in calls to db_printf() where required. 1999-10-05 12:34:32 +00:00
jun aa11952de6 kernel configuration for IPv6/IPsec. should be in GENERIC in the future. 1999-10-05 02:22:14 +00:00
ross f67733aa38 s/_ARM32_DISKLABEL_H_/_MACHINE_DISKLABEL_H_/
This aligns arm32 with all the other ports and fixes a cross-compile problem.
1999-10-04 19:31:05 +00:00
thorpej e6c88a7686 Update for SCSIPI changes. 1999-09-30 22:59:52 +00:00
tron d889983e60 Small enhancement to the mcount() function to make profiling of assembler
functions easier. Patch supplied by Richard Earnshaw in PR port-arm32/8462.
1999-09-21 22:15:11 +00:00
thorpej 11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
matt 458fefc5ad Compile the kernel for SHARKs optimized for strongarm. 1999-09-16 16:49:49 +00:00
thorpej 3b01d1b872 Rename the machine-dependent autoconfiguration entry point `cpu_configure()',
and rename config_init() to configure() and call cpu_configure() from there.
1999-09-15 18:10:33 +00:00
tron 5f94d21164 Fix typo in "#ifdef" in ie_read_frame() which prevented Berkeley Packet
Filters from working correctly. Fixes PR port-arm32/8343 by
Richard Earnshaw.
1999-09-13 20:17:35 +00:00
mark eddd4afb9c Fix compile errors when ARM700BUGTRACK is defined. 1999-09-13 06:17:27 +00:00
mark a212e2ddf3 Add ess plug and plug audio device.
Add wsmux device.
Add placeholders for more PCI cards.
1999-09-13 05:19:45 +00:00
chs f3a668ed84 eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
is 3e7102ecac Don't flush more than necessary. By Richard Earnshaw in PR 8132. 1999-09-10 10:12:09 +00:00
augustss 14b98cd440 Add uaudio driver. 1999-09-09 12:33:43 +00:00
thorpej c068ef8152 Add `umass'. 1999-08-29 16:55:48 +00:00
simonb 3c185af5fd Include <sys/endian.h> after defining whether where are little- or
big-endian.  i386, pc532 and vax still include <machine/byte_swap.h>
and define macros for the {n,h}to{h,n}*() functions.  mips also
defines some endian-independent assembly-code aliases for unaligned
memory accesses.
1999-08-21 05:53:50 +00:00
simonb 06a92524c2 Include <sys/bswap.h> for function prototypes. i386, pc532 and vax
still include <machine/byte_swap.h> and define macros for some of
the bswap*() functions.
1999-08-21 05:39:51 +00:00
sommerfeld 3931d8c7c9 Add umodem; fixes kernel build error.. 1999-08-18 23:34:27 +00:00
mark 35b63730ff Fix typo. 1999-08-17 01:39:09 +00:00
augustss db574ba708 Add umodem device. 1999-08-16 22:27:08 +00:00
thorpej 28fb7c1eb8 Define cpu_number() as discussed on tech-smp. 1999-08-10 21:08:05 +00:00
thorpej eb20bbc780 Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied.  Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX.  This platforms still have this bug until their
XXX spl*() functions are fixed.
1999-08-05 18:08:08 +00:00
sommerfeld d6fd753892 Let arm32 kernels build after addition of wsmux. 1999-07-31 23:12:20 +00:00
augustss 3652732791 Add wsmux device.
(Also add lots of missing chrtoblktbl[] entries.)
1999-07-29 19:14:35 +00:00
augustss a7cd454b1d It's time to be COMPAT_14. 1999-07-29 10:37:12 +00:00
cgd f886376518 be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.
1999-07-26 05:20:44 +00:00
explorer 4cbf118032 add a SHARK.v6, so the shark specific kernel can get v6, too 1999-07-23 22:45:23 +00:00
christos 41cc9a0eb8 enable PPP_BSDCOMP, PPP_DEFLATE, PPP_FILTER, PFIL_HOOKS, IPFILTER_LOG
on the GENERIC kernels that had them commented out.
XXX: Please note, that not all the kernels have all the options defined!
1999-07-20 07:40:34 +00:00
thorpej 0945bf58b0 Add examples for including the kernel crypto bits from either crypto-us
or crypto-intl, commented out, with instructions to use only one, and
adjust the prefix as necessary.
1999-07-09 18:55:33 +00:00
mrg ecdad0ec33 clean up a bit after jason :)
- fix emitrules() like emitfiles() to deal with the prefix (otherwise it
  would attempt to find the file in the normal base for the NORMAL_C rule).
- add emitincludes() which adds include directives for each prefix to the
  $INCLUDES variable in the makefile.
- add %INCLUDES to each Makefile.arch to deal with the above.

this makes "prefix" actually work in a usable manner, and now i can move
on to fixing compiler warnings (errors) in the ESP code. :)
1999-07-09 09:52:55 +00:00
thorpej 3ebbe095e0 Change the pmap_extract() interface to:
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
1999-07-08 18:05:21 +00:00
thorpej c4d8d19db9 pseudo-device -> defpseudo, per grammar change in config(8). 1999-07-07 00:05:28 +00:00
itojun 5effafcaa6 kernel configuration for IPv6/IPsec. should be in GENERIC in the future.
(source code will be committed soon)
1999-07-01 07:00:12 +00:00
itojun 427639cdce - Call ip6intr if INET6 is defined.
- remove "need-flag" for mac68k esp driver, as it is not used in anywhere
  and conflicts with IPsec ESP header.

This should be the only MD change in IPv6 support, except kernel config file.
Very sorry if you have any compilation problem with it (I believe it is okay).
If your favorite arch is not included in here, please add a
call to ip6intr() from softintr handle.
1999-06-28 08:20:40 +00:00
cgd 8375a442f7 wildcard root spec, or MEMORY_DIS_IS_ROOT won't work right 1999-06-26 23:17:04 +00:00
cgd e9969b5e0d need md if we want a miniroot 1999-06-26 07:29:18 +00:00
cgd 4bb852a2c8 Add a shark kernel with ramdisk for a miniroot file system. 1999-06-26 07:00:44 +00:00
cgd ecc0edc397 clean up memory disk options 1999-06-26 06:56:26 +00:00
sommerfeld 459e986089 PR7812: add prototype for sysarch(); fixes build of libarch on arm32 1999-06-20 15:26:38 +00:00
cgd 7c02d93c04 nuke current definitions provided by __BUS_SPACE_COMPAT_OLDDEFS.
I'll do what I can to make new ones soon.  8-)
1999-06-18 04:49:24 +00:00
thorpej 0288ffb53a pmap_change_wiring() -> pmap_unwire(). 1999-06-17 19:23:20 +00:00
thorpej f5a527bb4e Remove pmap_pageable(); no pmap implements it, and it is not really useful,
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.
1999-06-17 18:21:21 +00:00
thorpej 2c35c7bd03 Only declare block major numbers for devices which can be the root device. 1999-06-07 20:31:27 +00:00
thorpej d76e7b8c6d Don't pass a nam2blk around at all; just have setroot() and friends reference
dev_name2blk[] directly.  Addresses PR #7622 (ITOH Yasufumi), although
in a different way.
1999-06-07 20:16:08 +00:00
mark eb947d2f5e Fix bug in event signalling. 1999-06-01 09:34:06 +00:00
mark 29fe96b920 Guard inclusion of opt_cputypes.h. 1999-06-01 03:37:02 +00:00
mark 8885cdd879 Implement a workaround in initarm() for a problem that stopped ARM610
and some ARM710 processors from completing their initial bootstrap.
Fixes PR7595.
1999-05-28 09:59:31 +00:00
mark ccb5b09c4f Grr. Nuke the remaining allocsys() prototypes. 1999-05-27 09:08:09 +00:00
mark 99804cc3e7 Nuke old prototype of allocsys(). 1999-05-27 09:04:11 +00:00
thorpej beb8d06638 Generally update the comment above vunmapbuf(). 1999-05-26 22:19:33 +00:00
thorpej a2d06a4721 Generally update the comment above the vmapbuf() implementations. 1999-05-26 22:07:36 +00:00
thorpej 2580d306ab Change the vm_map's "entries_pageable" member to a r/o flags member, which
has PAGEABLE and INTRSAFE flags.  PAGEABLE now really means "pageable",
not "allocate vm_map_entry's from non-static pool", so update all map
creations to reflect that.  INTRSAFE maps are maps that are used in
interrupt context (e.g. kmem_map, mb_map), and thus use the static
map entry pool (XXX as does kernel_map, for now).  This will eventually
change now these maps are locked, as well.
1999-05-26 19:16:28 +00:00
thorpej 40aacb6eb5 No longer need to pmap_modified_emulation() in cpu_swapin(), since
uvm_fault_wire() does the right thing with access_type.

XXX Was there a bug here?  pmap_modified_emulation() *wasn't* done in
XXX cpu_fork()!!
1999-05-26 00:40:20 +00:00
thorpej 5832084eaf bus_dmamem_map() maps DMA safe memory, which is usually one or more
managed pages, into KVA space.  Since the pages are managed, we should
use pmap_enter(), not pmap_kenter_pa().

Also, when entering the mappings, enter with an access_type of
VM_PROT_READ | VM_PROT_WRITE.  We do this for a couple of reasons:

	(1) On systems that have H/W mod/ref attributes, the hardware
	    may not be able to track mod/ref done by a bus master.

	(2) On systems that have to do mod/ref emulation, this prevents
	    a mod/ref page fault from potentially happening while in an
	    interrupt context, which can be problematic.

This latter change is fairly important if we ever want to be able to
transfer DMA-safe memory pages to anonymous memory objects; we will need
to know that the pages are modified, or else data could be lost!

Note that while the pages are unowned (i.e. "just DMA-safe memory pages"),
they won't consume any swap resources, as the mappings are wired, and
the pages aren't on the active or inactive queues.
1999-05-25 23:14:03 +00:00
thorpej 87a9ee7804 Copy alignment fix from dev/ic/i82586.c (Um, this copy of the driver
needs to die, pretty please.)
1999-05-21 21:31:37 +00:00
lukem e4a87aa1a9 * convert to using MI allocsys(). most ports were using an MD allocsys(),
although a couple still used the old pre-4.4-lite (?) mechanism.
* use format_bytes() to format the various printf()s that print out memory sizes
1999-05-20 08:21:42 +00:00
scw 07daebdd99 Fix copyin() with zero length. (Arguments to 'moveq' were swapped).
CVo: ----------------------------------------------------------------------
1999-05-19 07:50:06 +00:00
thorpej f98d358a1f Rework layer 2 protocol input routines. Instead of calling e.g. ether_input()
directly, call the function pointer (*if_input)(ifp, m).  The input routine
expects the packet header to be at the head of the packet, and will adjust
as necessary.  Privatize the layer 2 input and output routines, allowing
*_ifattach() to set them up as appropriate.
1999-05-18 23:52:51 +00:00
thorpej c10a926030 Allow the caller to specify a stack for the child process. If NULL,
the child inherits the stack pointer from the parent (traditional
behavior).  Like the signal stack, the stack area is secified as
a low address and a size; machine-dependent code accounts for stack
direction.

This is required for clone(2).
1999-05-13 21:58:32 +00:00
hpeyerl 09bb229d59 make this compile without 'options IRQSTATS'. 1999-05-11 12:41:15 +00:00
tron e39de367b4 Install "devmap.h" to "/usr/include/machine" so that the SHARK X11
server can be compiled.
1999-05-07 20:50:31 +00:00
thorpej 20d1861d97 Revert previous. Um, Christos, why did you delete the body of this
file?  :-)
1999-05-07 00:28:22 +00:00
kleink fc1b5041ac Add a _C_LABEL() macro. 1999-05-06 13:54:06 +00:00
mycroft e6548e54bd Enable interrupts *after* reading the fault address and status. This is
necessary because some interrupt handlers may cause additional faults (e.g.
through R/M emulation) and thereby trash the previous fault state.
From Richard Earnshaw.
1999-05-05 22:06:15 +00:00
christos 62a2dac0d8 whitespace... 1999-05-04 13:57:19 +00:00
christos c596c324e3 Define __builtin_*() for lint 1999-05-03 16:30:31 +00:00
thorpej b8073b401b Garbage-collect the VM_MBUF_SIZE constant. Instead, use the size
(nmbclusters * mclbytes), so that the right amount of KVA space is
allocated if those variables are patched.
1999-04-26 22:46:44 +00:00
mark 9a56e04261 Fix microtime() to sanely handle calls before the clocks have been
initialized. This is the DC21285 version of the IOMD fix for PR7357.
1999-04-23 09:09:04 +00:00
ross a1cca18262 Implementing bus_space_barrier(9)::isa_bs_barrier() with panic(9)
does in fact get you a barrier, but it's unnecessarily drastic.
Fixes kern/7431 "SHARKs with a serial console and com.c 1.59.2.1 won't boot".
1999-04-22 10:12:41 +00:00
mark 7c3542d098 Add the rnd pseudo device. 1999-04-20 09:30:08 +00:00
mark 902004cefc Don't try and calculate the time in microtime() unless cpu_initclocks()
has already been called and thus we know the values the timers are using.
This also ensures that clock_sc will always be valid when we try and use
it to read the timer registers.
Fixes PR7357.
1999-04-20 09:14:32 +00:00
pk b13e5d1469 Quote "AS IS" as in the majority of Carnegy Mellon notices. 1999-04-12 20:38:17 +00:00
chs f455dd6596 add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
1999-04-11 04:04:04 +00:00
hubertf bbb1c4b60f Actually, we're in sync with GENERIC V1.55 1999-04-09 00:22:43 +00:00
pk c40eb1cd97 Fix a pasto in copyright text which has been procreating like rabbits.. 1999-04-06 20:09:18 +00:00
mark 46b87f5da5 Changed the way in which virtual address space is reserved for the SA110
fast cache clean area as the recent pmap changes mean that the existing
approach no longer works. Fixes PR7272.
1999-04-06 06:57:00 +00:00
mark c05b9ed27a When handling a page fault, panic if the map is NULL so that we don't
dereference it when doing handled or modified emulation. This can happen
if fault are taken during early parts of the bootstrap, resulting in
recursive faulting.
1999-04-06 06:35:03 +00:00
mark 9ea7a42377 Added installation configuration for CATS kernels. 1999-04-05 07:30:43 +00:00
mark e9dc39c682 Fix this so that it compiles when IRQSTATS is not defined. 1999-04-05 07:04:17 +00:00
mark f187f77f1e Update for change to isapnp_devmatch().
Fixes PR7303.
1999-04-03 23:53:48 +00:00
thorpej 967b8c433c Don't call configure() from cpu_startup(). 1999-04-01 00:17:45 +00:00
mycroft 9d0dcbced4 Prefault the u-area pages at swapin time. 1999-03-30 21:01:42 +00:00
mycroft dcdd0d6124 Map the system page with access_type=READ. 1999-03-30 20:59:52 +00:00
mycroft a3346d4ca8 Page 0 should never get R/M emulation. 1999-03-30 15:13:42 +00:00
mycroft 8cab76a0ec Make the kernel silent by default when running crashme. 1999-03-30 10:10:57 +00:00
mycroft f317021d2c Some of the DIAGNOSTIC checks were too strict and could be tripped by crashme. 1999-03-30 10:10:22 +00:00
mrg c17a4018cb pull in new (?) BUS_SPACE_BARRIER_{READ,WRITE} definitions. 1999-03-29 12:42:51 +00:00
mycroft 665b05efd4 GC physical_memoryblock. 1999-03-29 10:02:19 +00:00
mycroft e89e34c04a Nuke the contents of pmap_pageable(). It accomplishes nothing on this port,
and it's potentially a serious bug.
1999-03-29 07:15:06 +00:00
mycroft 460d63062a Do the previously slightly differently; we want to count by pages anyway.
Also fixes a problem with not flushing TLB entries in vmapbuf().
1999-03-29 06:24:31 +00:00
mycroft 12f5abbcee A few things:
* Count page table pages in the RSS.
* Rather than patching it up, panic if access_type has bits not in prot, as
  this should now be impossible.
* Add page table reference counting, but currently disabled as it still has
  some issues.
1999-03-28 22:01:06 +00:00
sommerfe ee7bbe5b2f Fix bug in previous change which resulted in kernel VA space leak.
We need an accurate len after we clear the PTE's in vunmapbuf.
1999-03-28 20:21:51 +00:00
mycroft ea8db6d88d Fix the vunmapbuf() problem, by zeroing out the PTEs before freeing the VA
range.  This is reasonable given that we inserted the PTEs manually in the
first place.
Also try to use specific cache/TLB purges.
1999-03-28 06:35:38 +00:00
nathanw 95b075be1e Remove commented-out uaudio declaration;
we don't actually have support for it.
1999-03-27 23:27:57 +00:00
mycroft 237c992085 Fix a possible glitch (not mine) in the wired page accounting. 1999-03-27 14:13:42 +00:00
mycroft 15217d40e3 More DIAGNOSTIC checks... 1999-03-27 11:45:07 +00:00
mycroft a1784400cd GC PT_Us, add more DIAGNOSTIC checks. 1999-03-27 09:41:03 +00:00
explorer 02db718d0f enable pseudo-device rnd on GENERIC-type, and remove EXPERIMENTAL from rest. 1999-03-27 07:11:35 +00:00
mycroft 93768384ee Fix a bug in pmap_collect_pv(), even though nobody currently uses it:
When we put a page on the collection list, we must subtract NPVPPG from the
total free count: one for each pv_entry that's free in that page, and one for
each free pv_entry in other pages that we're going to eat by moving the ones
in the page being collected.
1999-03-27 05:57:02 +00:00
mycroft 32295b2dac Further cleanup:
pmap_find_pv(), pmap_clean_page() and pmap_remove_all() are only called on
managed pages, after VM initialization.  Panic if this invariant is violated.
Also, panic if we try to enter a PT page through pmap_enter(), rather than
silently patching it up.
pmap_initialized is now #ifdef DIAGNOSTIC.
1999-03-27 05:12:21 +00:00
mycroft 9c6b797796 Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
  because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
  avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot.  Also, DO NOT use
  pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
  access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
  access_type = 0.  This should probably be revisited.
1999-03-26 23:41:25 +00:00
mycroft e84fe91c51 Take advantage of the new `access_type' for pmap_enter(), and always do R/M
emulation of managed pages.  This required the following `interesting' changes:
* File system buffers must be entered with an access type of
  VM_PROT_READ|VM_PROT_WRITE, so that the pages will be accessible immediately.
  Otherwise we would have to teach pagemove() to update the R/M information.
  Since they're never eligible for paging, the latter is overkill.
* We must insure that pages allocated before the pmap is completely set up
  (that is, pages allocated early by the VM system) are not eligible for R/M
  emulation, since the memory needed for this isn't available.  We do this by
  allocating the pmap's internal memory with uvm_pageboot_alloc().  This also
  fixes an absolutely horrible hack where the pmap only worked because page 0
  happened to be mapped.
  to be mapped.
Also:
* Push the wired page counting into the p->v list maintenance functions.  This
  avoids code duplication, and fixes some cases where we were confused about
  which pages to do it with.
* Fix lots of problems associated with pmap_nightmare() (and rename it to
  pmap_vac_me_harder()).
* Since the early pages are no longer considered `managed', just make
  pmap_*_pv() panic if !pmap_initialized.
1999-03-26 22:00:24 +00:00
hubertf b97ebf9749 Sync some options from GENERIC 1999-03-26 02:48:18 +00:00
hubertf b3acf3a4e4 s/internally/internal/ 1999-03-26 02:46:14 +00:00
thorpej 587eda7c3f Use ETHER_*_LEN constants from <net/if_ether.h> instead of defining them
ourselves.
1999-03-25 23:11:51 +00:00
tron 732f052e13 Don't include "opt_uvm.h" any more. 1999-03-24 12:41:27 +00:00
tron 4cdff58b76 Don't include "opt_uvm.h" any more. 1999-03-24 12:16:50 +00:00
tron 75377e1815 Don't include "opt_uvm.h" any more. 1999-03-24 11:35:30 +00:00
mrg ca5f9685bb clean up kernel/config files files for machVM lossage. 1999-03-24 06:06:09 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
mycroft 006ee23e99 Fix another problem is the modified bit emulation that caused double faults.
We need to set the L2 type preemptively, as it may still be L2_INVAL if the
page had not been previously accessed.
1999-03-24 02:45:27 +00:00
mycroft 11d7efb7ba Forgot a return instruction in the error case. 1999-03-24 01:51:56 +00:00
drochner 76fa1751fe Add a macro to check for sufficient pointer alignment in bus.h context,
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
1999-03-23 21:29:03 +00:00
mycroft 1bb64b0636 __SWAP_BROKEN is no longer useful here. 1999-03-23 19:16:03 +00:00
mycroft 6bb727e736 Nuke some more code that was fetching PT_M and PT_H from pv_flags. 1999-03-23 18:39:38 +00:00
mycroft 5f63cab877 The page and section fault handling paths are essentially identical, so
combine them.  This also fixes a performance issue, in that we always
faulted pages twice in order to write them.
1999-03-23 18:02:02 +00:00
mycroft 79e56d3237 The ARM has the same copy-on-write bug as the i386 -- the write enable bit in
PTEs is ignored when in kernel mode.  Hack around this just like we do on the
i386, by adding a prepass to copyout() to check for write permission on the
destination pages.
1999-03-23 17:14:34 +00:00
mycroft 8f3d31a32b More cleanup...
* Don't bother pulling PT_M and PT_H bits from pv_flags; they can't ever be
  set there!
* Actually make pmap_clear_reference() do something useful.
* Also set the referenced bit (PT_H) when emulating a write fault.
1999-03-23 13:52:48 +00:00
mycroft da99fe308e Repeat after me:
If we're doing modified bit emulation, we must revoke write permission in
pmap_clear_modify().  This is non-negotiable.  I will revoke write permission
in pmap_clear_modify(), or suffer the wrath of a thousand bricks.
1999-03-23 13:27:48 +00:00
mycroft 3c8512dbb5 We could not possibly have been updating the pv attributed correctly in
pmap_enter(), so... make the obvious change.
1999-03-23 12:30:45 +00:00
mark f88d8c6a35 In the light of PRs 7122 & 7123 temporarily define __SWAP_BROKEN until
the problem these bug reports described is fixed and they are closed.
1999-03-22 10:24:04 +00:00
mark 34a92d6f82 Fix addressing problem for the aux status register. Whilst reads of this
read appear to be aliased in the address space, writes are not thus the
correct address is important in order to reset drives.
1999-03-22 10:14:12 +00:00
thorpej a77ccfe460 Garbage-collect. 1999-03-20 01:40:25 +00:00
cgd d324c9f2f6 pull isa_machdep.h in from machine/ instead of from $(MACHINE)/isa/ 1999-03-19 05:13:16 +00:00
cgd b47008cec9 Moved to arch/arm32/include/isa_machdep.h,v 1999-03-19 05:01:52 +00:00