Commit Graph

2206 Commits

Author SHA1 Message Date
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
cgd 04216fffa4 Moved from arch/arm32/isa/isa_machdep.h,v 1999-03-19 05:01:51 +00:00
cgd d00106ee06 if you pull in isavar.h, you don't need isa_machdep.h. 1999-03-19 04:58:45 +00:00
cgd f753c9860f Moved to arch/arm32/include/pci_machdep.h,v 1999-03-19 03:34:22 +00:00
cgd 4b75fd0ceb Moved from arch/arm32/pci/pci_machdep.h,v 1999-03-19 03:34:21 +00:00
cgd 6ce0de2b8e Moved to arch/arm32/include/ofisa_machdep.h,v 1999-03-19 03:29:50 +00:00
cgd 9c73a61eca Moved from arch/arm32/ofw/ofisa_machdep.h,v 1999-03-19 03:29:49 +00:00
cgd b95dc1d904 Moved to arch/arm32/include/isapnp_machdep.h,v 1999-03-19 03:14:17 +00:00
cgd 126a9a68b7 Moved from arch/arm32/isa/isapnp_machdep.h,v 1999-03-19 03:14:16 +00:00
chs ab7269f62a if uvm_fault() fails with KERN_RESOURCE_SHORTAGE, send a SIGKILL
and print a message about it.  this will be used to recover from
out-of-swap conditions.
1999-03-18 04:56:01 +00:00
sommerfe bc533621ed defopt MINIROOTSIZE 1999-03-17 18:59:21 +00:00
mark 2ae8daf4dc Junk a load of register keywords.
Add missing type in a declaration of iobase.
1999-03-16 10:55:42 +00:00
mark 1b8eea513f _intrnames is only used in irq_release() if IRQ_STATS is defined so add an
appropriate guard.
1999-03-16 10:53:50 +00:00
perry 2bbefd75ec remove ovbcopy reference 1999-03-12 23:05:42 +00:00
mark 303ca6c449 Make pmap_extract() understand L2 large page PTEs. Normally small page
PTEs are used but during bootstrap the kernel may be mapped with large page
PTE to save TLB entries.
1999-03-10 20:54:17 +00:00
mycroft 8a90f14119 Brace ourselves for egcs... 1999-03-06 01:29:53 +00:00
lukem 6bf077c969 support BUFCACHE (a la the work i did for the i386, etc)
XXX: this worked a while ago when i last tested, but i haven't
compiled it recently. the code looks sane, however
1999-03-05 03:26:36 +00:00
mark 98c62c02c3 Since all the calls to the postmortem debug code have been removed by
various folks, the actual code can be removed as well.
1999-03-01 10:01:52 +00:00
mark d4a3aa46b4 Add support for tracing other processes with trace /t. 1999-03-01 05:48:31 +00:00
mark 3aca0028f1 Fix else ambiguity. 1999-02-28 10:01:08 +00:00
mark 8b41c31868 Fix compiler warning. 1999-02-28 09:59:33 +00:00
mark b8ca758af8 Implement pmap_procwr() the arm32 part of fix for pr 6152. 1999-02-28 01:49:25 +00:00
mark d6f8b575ea Add PCI-PCI bridge device.
Up maxusers to 32.
1999-02-27 11:19:25 +00:00
mark bbd7276407 Add PCI-PCI bridge devices. 1999-02-27 11:18:27 +00:00
mark 54e053627e Implement bus_space_{read,write}_region_2().
Make bus_space_copy_region_2() work correctly for overlapping regions.
1999-02-27 11:14:27 +00:00
mark 77d06b9612 Remove a debug hack. 1999-02-27 11:12:44 +00:00
scottr d32ed292af defopt BUFCACHE and BUFPAGES. 1999-02-27 06:39:34 +00:00
is d93a991a48 Make cpu_model big enough to hold the DNARD cpu's identification, and a bit
more.
1999-02-26 12:05:49 +00:00
mycroft 45e082f472 Fix thinko. 1999-02-19 22:32:21 +00:00
mycroft 7d0a7c6abf Do the pcb_onfault test earlier, so that the DIAGNOSTIC code doesn't trip. 1999-02-19 22:15:09 +00:00
hubertf 100778d54a RCS ID police 1999-02-15 04:25:28 +00:00
kleink f69591d12d Use of casts as lvalues is a GNU C extension; rearrange slightly. 1999-02-10 17:03:26 +00:00
jonathan c9d036d796 defopt MEMORY_DISK_{HOOKS,SERVER,IS_ROOT}. 1999-02-07 09:34:58 +00:00
mark 5ef478be57 Fix some egcs compiler warnings (from Patrick Welche).
Closes PR6925.
1999-02-02 04:02:26 +00:00
tron 4fe3a6480e Fix bug exposed by new "mkdep" program:
"${SFILES}" is empty for a "SHARK" kernel so that "cc" will fail with
"No input files" during "mkdep".
1999-01-29 22:20:49 +00:00
matthias b88b2d4f9b MBR_PTYP_* -> MBR_PTYPE_* to make this compile again. 1999-01-29 21:20:22 +00:00
thorpej 7ad46b1420 Goodbye disklabel_mbr.h. 1999-01-27 22:08:09 +00:00
thorpej 41c5275965 Use the MI disklabel_mbr.h. 1999-01-27 20:43:26 +00:00
thorpej 8851ed323e Fix a bug that has annoyed me for a long time. In pmap_enter(), if
there are no pages available immediately to use as a PT page, don't
just roll over and die.  Only do that if we're the kernel pmap (shouldn't
happen very ofter [ever?!], and I'm not certain we're guaranteed valid
thread context when operating on the kernel pmap).  For user pmaps, wait
for the pagedaemon to wake us up when more free pages are available.
1999-01-26 09:03:31 +00:00
sommerfe d3eec1e6c2 nit: Fix a missed pms->opms rename (noticed by Matthias). 1999-01-24 18:58:12 +00:00
mycroft 897a8a7f29 Mark [hn]to[nh][ls]() with __const__, so they are subject to CSE. 1999-01-24 12:55:01 +00:00
sommerfe 83940dae72 Finish the rest of the pms->opms rename for non-wscons PS/2 mice. 1999-01-23 22:18:41 +00:00
drochner 6fe2522d57 second round of mouse renaming: psm->pms 1999-01-23 16:10:47 +00:00
mycroft 7497ccd364 Clean up. 1999-01-22 14:19:54 +00:00
mycroft ec253b6315 Use __builtin_next_arg(). Fixed PR 6862. 1999-01-22 14:14:32 +00:00
mark f6f7ac980d Fix bug in the initialization of the interrupt masks for shared
interrupts as described in PR6421. Fix from Richard Earnshaw.
1999-01-22 06:59:26 +00:00
mycroft 1c607f81a8 Fix editing error. 1999-01-21 08:20:25 +00:00
mycroft cefdcd4840 More DDB cleanup. 1999-01-20 13:56:35 +00:00
mark 8ee86da26a Clean up the last remains of non-MNN the code. 1999-01-17 06:58:16 +00:00
chuck 4e484e0e02 remove dead non-MNN code (one block left) 1999-01-16 21:03:48 +00:00
chuck 66226eb6ff remove non-MNN code 1999-01-16 20:11:03 +00:00
thorpej 8922647c58 Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS. 1999-01-15 23:37:05 +00:00
bouyer dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
mark a82d8b0a33 Fix void * arithmetic. 1999-01-09 22:56:06 +00:00
thorpej e598335d1c Garbage-collect `mbutl'. 1999-01-09 22:10:12 +00:00
mark 444401c526 Fix `void *' arithmetic. 1999-01-09 21:18:54 +00:00
mark e6361430fc Fix `void *' arithmetic in bcopy() calls. 1999-01-09 21:10:50 +00:00
mark e9afce801e Fix `void *' arithmetic. 1999-01-09 21:04:00 +00:00
augustss fc5f9ee81d Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C. 1999-01-08 19:26:12 +00:00
mark a857bdefb8 Guard get_device() and prototypes for set_root_device() and get_device()
with #ifndef MEMORY_DISK_IS_ROOT.
1999-01-03 20:13:45 +00:00
mark 3ad92d6f24 Declare get_device() and set_root_device() as static and prototype them
here.
1999-01-03 02:24:56 +00:00
mark 9b3c03f9cc Update for name change of pv_addr_t structure members. 1999-01-03 02:23:27 +00:00
mark e0d2ec153f Rename the members of the pv_addr_t structure to make them more
meaningful and to avoid C++ name clashes. Fixes PR port-arm32/6365.
1999-01-03 02:19:32 +00:00
mark 1eb9f63a3c bzero() -> memset() and bcopy() -> memcpy(). 1999-01-01 12:42:47 +00:00
mark 4a23b01275 Tidy up this file. 1999-01-01 12:41:13 +00:00
mark 04d8f160e7 bzero() -> memset() and bcopy() -> memcpy(). 1999-01-01 12:40:39 +00:00
mark cc829bbdde Sync with reality. 1999-01-01 12:13:49 +00:00
mark d235c19724 This file has been replaced by makemodes.awk. 1999-01-01 10:28:57 +00:00
mark 97036bd92c Use makemodes.awk to parse the MDF files rather than building a custom
binary from makemodes.c. This makes cross compiling simpler.
1999-01-01 10:28:16 +00:00
mark 8b0bd1ca77 Initial commit of awk replacement for makemodes.c
This is an awk script to parse an Acorn Monitor Definition File and
generate a C file containing the selected mode timing parameters.
Read the comments at the start of the file for details on use.
This file replaces makemodes.c
1999-01-01 10:26:41 +00:00
mark 2197d0696d The scsipi_adapter structure is part of the sfas_softc structure
rather than the csc_softc structure.
1998-12-31 09:44:42 +00:00
mark 14a36628f5 Add a missing semi colon. 1998-12-31 09:37:12 +00:00
mark 058cf2a88c Apply patch from PR port-arm32/6357 to make the wdc attachment to the
RiscPC mainbus work correctly.
From Richard Earnshaw.
1998-12-28 09:40:28 +00:00
mark 767af4d82c Add a check for r8 equal to 0 and do a quick exit if it is. 1998-12-28 09:39:02 +00:00
mycroft b3c9835be1 r13-r15 -> sp, lr, pc 1998-12-12 17:28:05 +00:00
augustss 8398f3a4db Add ugen, a generic USB driver. 1998-12-08 15:52:31 +00:00
mjacob 74bc9f26d5 Update HBAs to incorporate the new max_lun property. 1998-12-05 19:43:33 +00:00
bouyer 47ab212504 Rename pio_mode, etc ... to PIO_cap, etc ... for consistency with the
ata_drive_datas struct. Suggested by Soren S. Jorvan.
1998-12-03 18:24:30 +00:00
thorpej da572a137f Argh, fix the ANSI CPP version of the a.out WARN_REFERENCES(). 1998-12-02 21:16:46 +00:00
thorpej a6f7e0c05a Implement WARN_REFERENCES(). 1998-12-02 00:58:42 +00:00
thorpej ff78cf69cf Move cdev_usb_init() and cdev_usbdev_init() to <sys/conf.h> 1998-11-29 06:56:13 +00:00
mycroft 2aeb226755 Save and restore pcb_onfault for kcopy(), as pointed out by Steve Woodford. 1998-11-26 19:34:38 +00:00
hwr 59acb69be1 Add (commented out) 'gre' pseudo device line. Feedback is welcome.
Inspired by Klaus Klein.
1998-11-25 20:30:44 +00:00
mycroft 63f7ee9e53 Return instructions can also be unconditional branches. 1998-11-25 13:58:49 +00:00
mycroft 8fbc327df1 DDB needs the stack pointer at the time of the fault to single step through
returns.  So, adjust the trap frame format to store sp.
1998-11-25 13:09:14 +00:00
mycroft f4b034d33a First whack at making single-stepping work through switch and return
statements.
1998-11-25 06:41:26 +00:00
drochner 1e2b2f29f2 one more (last?) wdc_channels adaption 1998-11-22 14:55:29 +00:00
drochner e1244719fd oops - forget update for wdc_channels definition change 1998-11-22 14:36:38 +00:00
thorpej 5f0577babc Adapt to the new scsipi_adapter interface. 1998-11-19 21:43:00 +00:00
mrg db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
mrg e9b43366f3 add some shiny happy egcs braces 1998-11-17 12:11:27 +00:00
oster cf5710c839 Added a (commented out) configuration line for the RAIDframe device driver. 1998-11-16 16:44:55 +00:00
mycroft 09093330b1 Add {LONG,WORD}_BIT and {DBL,FLT}_{DIG,MAX,MIN}. 1998-11-16 04:12:29 +00:00
mycroft 56aafbe295 Remove bogus change that cause cpu_fork() to panic. 1998-11-13 09:19:26 +00:00
oster c74d32c5fc Updating of bdev's and cdev's to support RAIDframe. 1998-11-13 04:47:03 +00:00
thorpej 49c62c4336 Changes to support fork_kthread():
- cpu_set_kpc() now takes void *arg third argument, passed to the
  entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
  When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:41:23 +00:00
mark 85d4fddd28 Use the footbridge pci bus space tags when attaching a vga console so
that the wscons code will recognise them later and correctly setup
cn_tab when the wsdisplay device is attached.
1998-11-10 04:34:05 +00:00
mark c082b04018 Implement a separate function to set up the pci io and mem bus space
tags.
1998-11-10 04:32:03 +00:00
mark e695fe5347 Implement bus_space_copy_region_2() for footbridge tags. 1998-11-10 04:29:21 +00:00
mark 096ffe523f Fix a couple of string buffer overruns in lpt_ofisa_md_match()
From Richard Earnshaw, fixes PR6210.
1998-10-28 04:21:57 +00:00
thorpej 56066ad5fb Add media list, media list count, and default media arguments to
ne2000_attach().
1998-10-28 00:13:47 +00:00
tron b296275bb4 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:09:13 +00:00
mellon 8a9206b6fd Add CAPS_IS_CTL option 1998-10-18 12:21:51 +00:00
drochner 2468738337 change handling of libkern:
-sys/lib/libkern builds as library per default (as it was documented all
 the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
 (for now; should depend on actual "option LKM" or -better- functions
 included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
 by libcompat, but not the other way
1998-10-15 18:37:13 +00:00
augustss 797eea8ae5 Add a sequencer pseuso device since we have a MIDI device. 1998-10-14 11:13:14 +00:00
bouyer aaa8f8b183 Patch from Mark Brinicombe for arm32 config with the new ide system. 1998-10-12 16:13:03 +00:00
bouyer 19fddaeeb5 Merge bouyer-ide 1998-10-12 16:09:10 +00:00
mark c70acc4a87 Add console initialisation for wscons via VGA.
Use the boot options console=xxx to select the console where xxx is
vga, fcom or com.
1998-10-12 03:32:51 +00:00
mark 91a04b5d0c Define __HAVE_NWSCONS 1998-10-12 03:12:37 +00:00
scw bdf8d911fc Clear 'cold' to zero at the end of configure(), where it belongs.
(This used to be done in machdep.c, but thorpej recently zapped
that one ;-)
1998-10-10 19:15:32 +00:00
thorpej 908cdfe4e3 Add scsibus entry points to the cdevsw[]. 1998-10-10 02:00:49 +00:00
thorpej 29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
mark 45a8df778f Remove some unnecessary includes. 1998-10-09 00:17:20 +00:00
mark 8d41878215 Add pckbc device, keyboard and mouse and wskbd and wsmouse via pckbc. 1998-10-08 01:59:22 +00:00
mark d21eb4802d Rename the pckbd attribute to avoid clashing with the pckbd device
from dev/pckbc/*
Include files.pckbc
1998-10-08 01:50:28 +00:00
thorpej 5a687aeb55 cold is already set to false at the end of configure(). 1998-10-06 20:55:38 +00:00
mark 6465aead84 Use braces instead of brackets to surround the SET_ICUS macro. 1998-10-06 02:43:26 +00:00
mark de39833622 Add wsdisplay, wsmouse and wskbd devices. 1998-10-06 02:41:22 +00:00
mark 2bcc60adc6 Add declarations for wsdisplay, wsmouse and wskbd. 1998-10-06 02:40:13 +00:00
mark edbbf502ab Add wscons devices and options. 1998-10-06 02:39:00 +00:00
mark 8a012b843b Include files.wscons
Add files.pckbc (commented out, pending fixing SHARK configs).
1998-10-06 02:37:59 +00:00
mark 08fbcdd506 Fix bug with the return value in filecore_label_locate(). This bug caused
an assertion to fail in disksubr.c if a label was written to a disk with
a filecore partition at the start of the disk.
1998-10-06 01:47:53 +00:00
mark b4dba57069 Footbridge based kernels do not need constab. 1998-10-05 16:03:04 +00:00
mark e605a01dce Footbridge based kernels don't use dev/cninit.c 1998-10-05 15:41:19 +00:00
mark 5d9338a24b Don't put the fcom device in constab. 1998-10-05 02:46:31 +00:00
mark 664d0f374c Base configuration for CATS kernels. 1998-10-05 02:43:43 +00:00
mark 35f31dce6e Implement consinit() here instead of using the arm32/machdep.c version.
Use information passed from via the boot arguments to determine which
device to use as the console.
Add support for initialising the CATS ISA subsystem.
During the early bootstrapping use fcomcnattach()/fcomcndetach to enable
debug and diagnostic information to be sent to the diagnostic serial
port. This is only used during the early part of initarm() until things
have been relocated and the real console can be initialised().
1998-10-05 02:40:26 +00:00
mark 8909a4e529 Define both EBSA285 and CATS bootinfo structure magic numbers. 1998-10-05 02:36:49 +00:00
mark 4d8d0f4e6d Define fcomcnattach() and fcomcndetach() functions for the diagnostic
serial port.
Disable the old probe and init functions as we no longer use constab and
cninit().
1998-10-05 02:36:02 +00:00
mark 0d3d74ceeb Footbridge based systems don't use cninit() so don't use the version of
consinit() defined here.
1998-10-05 02:33:46 +00:00
mark 86a0875460 Add dsrtc device and associated file. 1998-10-05 01:21:39 +00:00
mark f452e15aff Add a driver for the Dallas Semiconductor RTC found on CATS motherboards. 1998-10-05 01:20:57 +00:00
mark 18ccba3b4e Make sure ISA interrupts have been setup prior to configuring devices.
This is not nice and a better solution is needed. Really this should be
done when the PCI-ISA bridge is discovered but it is possible that
some PCI interrupts may be routed via the ISA interrupt controller
and thus this needs setting up first.
1998-10-05 01:17:55 +00:00
mark 91eeeff347 Add support for interrupts that are actually routed via an ISA interrupt
controller.
(I'm not happy with this approach but it works so I'll use it for the
moment until I complete run-time selection of the interrupt handling based
on recognised hardware).
1998-10-05 01:09:38 +00:00
mark 197c78db08 Prototype isa_intr_alloc() (Needed by ISA PnP code) and sysbeep(). 1998-10-05 01:05:00 +00:00
mark 100a13e50a Add ISA legacy mode support. Currently this is used by CATS kernels
which routes the PCI IDE interrupts in a similar fashion to i386 machines
(i.e. on ISA irq14 & 15).
1998-10-05 01:03:52 +00:00
mark dda219af66 Add file arm32/isa/isa_cats_machdep.c.
Build isa/isa_io.c and isa/isa_io_asm.S for both SHARK and ISA systems.
1998-10-05 01:01:43 +00:00
mark c2d2dca344 Initial commit of ISA bus support for CATS machines (DC21285 based
motherboards).
1998-10-05 01:00:57 +00:00
mark 60e0cbbab8 Use sysbeep() rather than beep_generate for consistancy and the sysbeep
device.
KNF a chunk of this file.
1998-10-05 00:53:47 +00:00
mark 67d78e486f Remove beep related stub code now we have a sysbeep device. 1998-10-05 00:51:21 +00:00
mark 8eca271694 Add sysbeep device. 1998-10-05 00:49:13 +00:00
mark ae4624b175 Add sysbeep device with ISA and VIDC attachments. 1998-10-05 00:44:45 +00:00
mark 6f5d4c52a1 sysbeep device attachments for vidc based audio systems. 1998-10-05 00:42:41 +00:00
mark 5f37409d37 Implement sysbeep device for ISA systems. This just hooks into the pcppi
code.
1998-10-05 00:41:31 +00:00
mark 20122120a2 Add arm32/isa/joy_isa.c and arm32/isa/joy_isapnp.c 1998-10-05 00:39:44 +00:00
mark 5fe09f2a80 Add ISA and ISAPNP attachments for joysticks. 1998-10-05 00:35:40 +00:00
mark 7a9e6fd3f7 Remove dead FPE option. 1998-10-04 19:03:37 +00:00
matt e19b4629ab Use wd.h, not wdc.h -- we are checking for the presence of disks, not
controllers.  (there may be a controller which has only an atapibus
but no wd disks).
1998-10-02 01:37:51 +00:00
mark 7af1966350 Regenerate from podules. 1998-09-26 03:30:50 +00:00
mark a96d8e733a Add EESOX manufacturer ID and SCSI2 podule ID. 1998-09-26 03:29:36 +00:00
mark bc3dce964b Declare the coda character device functions here. 1998-09-22 03:42:10 +00:00
mark 2a4d75715c cfs/CFS -> coda/CODA in strings.
Move the cdev declaration for the code filesystem to conf.h
1998-09-22 03:40:42 +00:00
mark 5a0ae6393f Make isa_bs_subregion() work. 1998-09-22 01:47:53 +00:00
mark f26ab10148 Spring clean this file.
Include dev/isa/files.isa and remove all the mess that is now included
in files.isa
1998-09-22 01:45:47 +00:00
mark 9bdaa48cd5 Hey, lets try using arm32/isa/joyvar.h instead of the bebox one ;-) 1998-09-22 01:42:21 +00:00
mark 03d5fdff96 Fix slightly liberal use of #ifdef DEBUG in last commit.
If we get a data abort in SVC mode it is BAD and we cannot recover
so we always want to panic.
1998-09-22 01:40:28 +00:00
mark 6ce4eb9769 We now use the MI wdc/wd drivers so this code is no longer needed. 1998-09-22 00:44:20 +00:00
mark 4f7b1f2739 Removed icside_io.c 1998-09-22 00:43:18 +00:00
mark a77e995d18 This file is no longer needed with the rewritten attachment to use the
MI wdc driver.
1998-09-22 00:42:40 +00:00
mark 071b4fc4d2 Re-written the wdc attachments to attach to the MI wdc driver instead
of the MD one.
1998-09-22 00:40:37 +00:00
mark 4494dc9cfc Removed MD wdc/wd files.
Include dev/ata/files.ata and using dev/ic/wdc.c for everything.
1998-09-22 00:37:51 +00:00
mark aa9401f832 Fix calculation of I/O range when printing child information. 1998-09-22 00:33:51 +00:00
thorpej 2671c2fa42 Make bus_dmamap_load_uio() work, from Kevin Lahey <kml@nas.nasa.gov>. 1998-09-21 22:51:56 +00:00
tv d909dcee1c Do not print, or even compile in, non-fatal diagnostics unless DEBUG is set. 1998-09-21 11:24:11 +00:00
mark 53f576f788 bus_space_copy_* -> bus_space_copy_region_*
Add BUS_SPACE_COMPAT_OLDDEFS for bus_space_copy_* compat.
1998-09-20 03:37:29 +00:00
mark 7482a84e6a Be less verbose during various data aborts unless DEBUG is defined. 1998-09-18 04:09:57 +00:00
mark 9f474557fe Allow boot arguments to override the host id on a per instance basis. 1998-09-18 03:23:19 +00:00
is 95807e512a Garbage collect unused 3rd parameter to comprobe1(). 1998-09-16 21:30:58 +00:00
thorpej e30eafbbc6 Need 29 longs for jmp_buf now; signal mask is 128 bits. 1998-09-14 18:06:01 +00:00
thorpej cbfc257eda sigset13_t -> int. 1998-09-14 02:48:33 +00:00
mycroft fa31b94af9 Fix omission in previous; remember to record that we're on the signal stack. 1998-09-13 11:57:58 +00:00
thorpej 1a5b3601cb Make signal delivery work again. 1998-09-13 08:19:49 +00:00
mark 84f15d23f4 Fix bug in switch_exit() from last commit. This fixes PR 6132.
The bug is that the modification to call exit2() removed a stack pop
but not the associated push.
1998-09-10 02:16:28 +00:00
phil feb70ddafd Add coda file system character file device. 1998-09-09 19:04:04 +00:00
thorpej 70e641047c In cpu_coredump(), use MID_MACHINE rather than MID_* (whatever it expands
to).
1998-09-09 11:17:24 +00:00
thorpej 8abe0d6b1c Adjust for the new "reaper" kernel thread: do not free the vmspace and
u-area in machine-dependent code.  Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
1998-09-09 00:07:48 +00:00
mark f157d15a41 Guard inclusion of opt_cputypes.h 1998-09-08 03:10:07 +00:00
mark 0c2564ec4a Remove some unused variables. 1998-09-06 04:25:15 +00:00
mark f21d591227 Convert bzero() to memset(). 1998-09-06 04:24:18 +00:00
mark f472d5f788 Include machine/intr.h. 1998-09-06 04:22:43 +00:00
mark 249cdfe998 Convert b*() functions to mem*(). 1998-09-06 04:20:37 +00:00
tv a3da712ec1 Add netbsd_sdboot and explain the differences between the kernels. 1998-09-06 03:38:56 +00:00
mark 352fc12abe Define BootConfig for EBSA285 kernels. 1998-09-06 03:11:38 +00:00
mark f275d29c4b Implement a dummy version of pciide_machdep_compat_intr_establish()
for now.
1998-09-06 03:01:38 +00:00
mark 3c2941eda0 Initial commit of PCI-ISA bridge device driver. This driver use the
PCI-ISA bridge callback mechanism to attach the ISA bus to the PCI=ISA
bridge.
This is basically an import of the i386 pcib.c code with very minor
changes.
1998-09-06 03:00:25 +00:00
mark 722e17fbfe Don't build depandancies for genassym.c as it no longer exists. 1998-09-06 02:41:19 +00:00
mark 203b612984 Move UVM option to std.arm32 1998-09-06 02:37:47 +00:00
mark f3889623a7 Add USB device declarations. 1998-09-06 02:35:22 +00:00
mark 9968946f1e Added USB devices.
Added fcom serial device.
1998-09-06 02:33:56 +00:00
mark 896041468d Initial commit of config file for EBSA285 architecture boards. 1998-09-06 02:30:52 +00:00
mark 928d54f699 Added Footbridge (DC21285) files, PCI and USB. 1998-09-06 02:28:58 +00:00
mark 71150c9734 Initial commit of board support for DEC/Intel EBSA285 architecture
systems include the Chalice CATS board and others running the cyclone
firmware.
1998-09-06 02:23:36 +00:00
mark 0823f75d49 Initial commit of DC21285 'Footbridge' core logic support for the
StrongARM SA110 processor
The DC21285 provides memory controller, timers, interrupt controller
PCI-HOST bridge and diagnostic serial port.
1998-09-06 02:20:33 +00:00
christos 449820f2ea Assign copyright to TNF. 1998-09-05 15:28:04 +00:00
lukem c9db84ecc9 distclean is a synonym for cleandir 1998-09-05 15:15:14 +00:00
mark 646b4ca78b Declare boot_file. 1998-09-05 04:14:21 +00:00
mark 4285910912 Implement faster method of blocking all lower priority interrupts.
Modify current_spl_level to reflect the temporary change in interrupt
priority level which dispatching.
Don't increment the interrupt stats for every handler in the interrupt chain.
Cleaned up a number of comments.
Define soft interrupt names.
A few miscellaneous tidy ups.
1998-09-05 04:05:31 +00:00
mark de5eac54ea Simplified initialisation of irqmasks.
Removed any remnants of soft interrupt dispatching.
Cleaned up a number of comments.
Removed a number of blank lines.
Nuked register keywords.
Made sure code is in sync with interrupt handling for other ARM hardware.
1998-09-05 04:04:24 +00:00
mark 451f011ac6 Always call dosoftints() for both lowerspl() and splx().
Fix several comments.
1998-09-05 04:01:53 +00:00
mark 3a115108ed Nuke register keywords.
Update set_spl_masks() to reflect the _SPL_SOFT* macros.
Initialise the soft interrupt mask array.
Update dump_spl_masks() to dump all the hardware and software spl masks.
1998-09-05 04:00:30 +00:00
mark 900bbc08fc Soft interrupt dispatching now uses the soft_interrupts variable along
with the spl_smasks array and the current_spl_level variable to work
out which soft interrupts are pending.
This means that soft interrupts are now separated from the hardware
interrupts so a full 32 hardware and 32 software interrupts can now be
supported.
Implement clearsoftintr() function.
Define several macros to make the soft interrupt dispatching code cleaner.
Implement setsoftserial() function.
Implement soft serial interrupt dispatching.
1998-09-05 03:59:29 +00:00
mark 867fa9eb68 If boot_file is defined try using it to determine the boot device.
Update printing of irqmasks for IPL_SERIAL.
1998-09-05 03:58:31 +00:00
mark 08c24a03e4 Cleanup and simplify interrupt number definitions for various architectures.
Remove all soft interrupt definitions now soft interrupts are being
separated from hardware ones.
Reserved interrupts do not have any special uses so only define then if
needed as placeholders.
1998-09-05 03:51:01 +00:00
mark 6edf348e6d Define _SPL_SOFT{CLOCK,NET,SERIAL} and create or update the
appropriate spl* macros.
Move spllpt() maro here from intr.h
Prototype setsoftserial().
Define spl_smasks array for software interrupt masks to complement the
hardware interrupt masks.
1998-09-05 03:50:01 +00:00
mark 4d98d58935 Define IPL_SERIAL & IPL_HIGH.
Define SOFTIRQ_CLOCK, SOFTIRQ_NET and SOFTIRQ_SERIAL and SOFTIRQ_BIT()
macros.
Move spltty macro to psl.h
1998-09-05 03:47:10 +00:00
mycroft d9753cd7d0 Install joystick.h. 1998-09-05 03:32:57 +00:00
mycroft dc0d1c09d5 Add joy at ofisa. 1998-09-05 03:32:36 +00:00
mark 5ae7ff7e6e Added assembly code for set_region_2.
Rewritten/Optimised a number of the bus space functions.
1998-09-05 01:31:53 +00:00
mark 1a6733681f Add set_region_2 to ISA IO and MEM tags.
KNF.
1998-09-05 01:30:02 +00:00
mark 46f166f090 Cleaned up the map_entry*() functions.
Removed register keywords.
Tidied up printf format strings.
Removed a number of blank lines.
1998-09-05 01:23:04 +00:00
mark a21a7644df Rip out a load of junk thats long past its "best before" date. 1998-09-05 01:18:19 +00:00
mark ec1dae5a9d Only build modedefs.c if MONITOR is defined. 1998-09-05 01:16:17 +00:00
mark 9ad228e3bc Update MINIROOTSIZE option. 1998-09-05 01:14:43 +00:00
mark 7115a4f53e Updated several comments and acknowledgements. 1998-09-05 01:12:14 +00:00
mark 218bf90f49 Nuke register keywords. 1998-09-05 01:09:42 +00:00
mark e6aee6549e Updated for recent driver additions and reservations. 1998-09-05 01:06:38 +00:00
mark 3a01450f20 Bring up to date. 1998-09-05 01:04:48 +00:00
mark 323528d86f Integrate another one of Neil Carson's pmap improvements.
Use pmap_clean_page() in pmap_remove_all() to improve cache cleaning
efficiency.
1998-09-03 03:31:53 +00:00
cgd 8bbc38a130 avail mem is calculated ptoa(uvmexp.free), not ptoa(uvmexp.free - bufpages),
like on other ports.  uvmexp.free is already adjusted by the uvm_pagealloc
calls used to get the buffer pages.  (reported by mrg)
1998-09-02 00:03:05 +00:00
mark 0c11c52fc1 Added csc device. 1998-09-01 02:28:04 +00:00
mark 1c13966ceb Add csc device and scsibus attachment. 1998-09-01 02:27:21 +00:00
mark edb737d09d Initial commit of a Cumana SCSI II driver using the sfas chip driver. 1998-09-01 02:24:11 +00:00
mrg 478a07de87 generate dependancies from genassym.cf 1998-09-01 01:48:21 +00:00
mrg 1fe0874746 use genassym.sh/.cf rather then the C program. 1998-08-31 06:52:18 +00:00
mark 0e533ae4c7 Use IPL_AUDIO for the interrupt priority.
KNF.
1998-08-31 02:36:11 +00:00
mark bd75906989 Use IPL_AUDIO for the interrupt priority.
Cleaned up some comments and removed several un-necessary includes.
1998-08-31 02:35:31 +00:00
mark 47364b0c91 Use IPL_AUDIO for the interrupt priority. 1998-08-31 02:34:36 +00:00
mark cdaa8d9c45 Further improvements to init_arm(). Use map_chunk() to map a number of
areas of the kernel including the text, data and bss.
1998-08-31 00:11:18 +00:00
mark 80d8aa6034 Remove a couple of redundant lines. 1998-08-31 00:08:11 +00:00
mark c4ae202098 Further improvements to init_arm(). Use map_chunk() to map a number of
areas of the kernel include the text, data and bss.
1998-08-30 23:19:37 +00:00
mark 45faa60d85 Added a new function map_chunk() used during init_arm() when setting up
the kernel page tables. map_chunk() replaces running a loop, calling
map_entry() and in addition where possible it will use L1 section mappings
or L2 large page mappings instead of L2 small page mappings in order to
reduce the TLB entried needed for the kernel.
1998-08-30 23:17:44 +00:00
mark 82661d453d Define new PTE construction macros for L2 large small pages and L1
sections and define some of the other macros using the new ones.
Add more comments for various definitions in the file.
1998-08-30 23:15:14 +00:00
mark eff784066e Don't discard the proc0_pt_pte mapping and make sure that the
proc0_pt_pte and proc_pagedir mappings are uncached.
1998-08-29 04:58:16 +00:00
mark 4a241e1fbd Change KERNEL_BASE to VM_MIN_KERNEL_ADDRESS. 1998-08-29 04:08:12 +00:00
mark 9eb28e934b Include sys/types.h instead of sys/param.h
Junk some un-needed includes and include cpu.h.
1998-08-29 04:05:44 +00:00
mark ae7526d965 Removed some un-necessary includes. 1998-08-29 04:01:58 +00:00
mark c611af7c7f Change boot_path to boot_file and initialise to NULL along with boot_args. 1998-08-29 03:57:03 +00:00
mark 5898385f6b Change boot_path -> boot_file and initialise to NULL along with boot_args. 1998-08-29 03:55:57 +00:00
mark 4ad81305d5 Initialise boot_args and boot_file to NULL. 1998-08-29 03:53:17 +00:00
mark 80b4f63e42 Updated for some reserved majors. 1998-08-29 03:28:17 +00:00
mark af5eba9861 Implement address validation as a separate function db_validate_address().
Use this function to validate the page table entries for all reads and
writes.
1998-08-29 03:21:33 +00:00
mark 3e217a0157 Remove the definition of CURRENT_PAGEDIR_HOLE and CURRENT_PAGEDIR_BASE
as they are no longer reference.
Move ALT_PAGE_TBLS_BASE from 0xf3c00000 to 0xf0c00000.
Increase the size of the KERNEL_VM_SIZE by 16MB now that 0xf3xxxxxx is free.
1998-08-29 03:19:55 +00:00
mark 22a3c54923 Use KERNEL_VM_SIZE to calculate the number of page tables needed for
the kernel data area.
Don't map the proc0 L1 page table into the L2 page tables space.
1998-08-29 03:17:27 +00:00
mark 99bb4b6b6b Rewritten pmap_pte() not to use the mapping of the L1 page table within
the L2 pages tables (CURRENT_PAGEDIR_HOLE).
Don't map the L1 page table into the L2 page table space any more (easy
reference hack) in pmap_allocpagedir().
1998-08-29 03:14:14 +00:00
mark 66074cf792 Use VM_MAX_KERNEL_BUF only to limit nbuf and not bufpages. 1998-08-29 03:09:14 +00:00
mark 808c0cca58 Fix bug with zeroing kernel page tables that I introduced yesterday. 1998-08-28 20:04:35 +00:00
mark 1cb7a16aed Fix typo. The page table allocation loop in initarm() should be
<= NUM_KERNEL_PTS rather than < NUM_KERNEL_PTS.
1998-08-28 17:15:45 +00:00
mark 25ae95328f Use kernel_pmap->pm_pdir instead of PAGE_DIRS_BASE when mapping podule
space.
1998-08-28 03:19:34 +00:00
mark 17dcbf485c More reworking in initarm().
Further cleanup and simply the allocation and mapping of the kernel
  pagetables and static data pages.
  Removed the page directory page table as it is no longer necessary.
  Changed the allocation of the proc0 L1 page table and L2 page table
  that maps the page tables to map these pages into kernel virtual
  address space.
  Updated for pv_addr_t argument changes to pmap_bootstrap().
1998-08-28 02:58:41 +00:00
mark 133f5c93f0 Updated for pmap_bootstrap() argument change. Modify ofw_configmem()
to obtains pv_addr_t structures for the proc0 L1 page table and the proc0
pagetable that maps page tables.
Use the virtual address from the pv_addr_t structure for the proc0 L1 page
table when calling pmap_bootstrap rather than relying on a special mapping
at PAGE_DIRS_BASE.
Modify ofw_construct_proc0_addrspace() for similar changes to
ofw_configmem().
Remove the kernel_pde page table in ofw_construct_proc0_addrspace() as it
it now longer needed.
1998-08-28 02:52:37 +00:00
mark 1ca0ef8cae Modify the arguments to pmap_bootstrap() to take a pv_addr_t structure
for the page table to map kernel pagetables (kernel_ptpt). This means
that the pm_vptpt field is now valid for the kernel_pmap.
Use constants from vmparam.h in pmap_allocpagedir().
1998-08-28 02:46:51 +00:00
mark c5695ed630 Centralize the definition of pv_addr_t to pmap.h 1998-08-27 04:00:53 +00:00
mark af91a82f1e Remove pv_addr_t and systempage declarations. 1998-08-27 03:58:10 +00:00
mark e7a61c9984 Centralise the definition of the pv_addr_t structure. 1998-08-27 03:55:06 +00:00
tv 7308faf67b "COMPAT_11 + COMPAT_12 + COMPAT_13" doesn't work - these are based on
definition, not 1 or 0.  Also, since all pre-1.4 releases require
COMPAT_13 (not just 1.3 binaries), just "#ifdef COMPAT_13".
1998-08-26 14:51:57 +00:00
augustss 9deb19798f Add OPL driver. 1998-08-26 12:10:57 +00:00
augustss 76567c8213 Remove ad1848 attribute; it's in conf/files now.
(Why don't we remove the XXX hack in this file?)
1998-08-26 09:32:24 +00:00
mark 47e470f2af Use UVM as standard. 1998-08-25 22:07:46 +00:00
mark 34f8ef18c9 Updated for changes to some of the constants defined in vmparam.h
Simplified serveral parts of the initarm() to make the code clearer and
modified parts of initarm() as part of an on-going effort to abstract
out part of initarm() on various machines.
1998-08-25 22:03:07 +00:00
mark 61bd706797 Include machine/vmparam.h 1998-08-25 21:56:14 +00:00
mark bd14bb41f0 Define KERNEL_PD_SIZE in terms of various constants defined in vmparam.h 1998-08-25 21:55:06 +00:00
mark cda0e37703 Collect various kernel constants together and define them in all one
place (some moved from param.h)
Define several constants such as page table addresses in terms of other
constants.
Increase some of the limits :
  MAXTSIZ	8MB -> 16MB
  DFLDSIZ	16MB -> 128MB
  MAXDSIZ	256MB -> 512MB
  DFLSSIZ	512KB -> 2MB
1998-08-25 21:53:37 +00:00
mark 4e8239cdca Removed a number of kernel constants as they have moved to vmparam.h 1998-08-25 21:50:54 +00:00
mark f920e4e2d6 In physconinit(), don't use printf() to clear the screen but call
the console's putstring function directly.
1998-08-25 03:26:36 +00:00
mark b75234f009 Add calls to cpu_cache_cleanID() after calling setttb() during initarm().
This is necessary as the memory addresses being used for the cache clean
(if the CPU is a SA110) may have been remapped by the setttb() call and
thus the cache could loose sync with memory.
1998-08-25 03:10:25 +00:00
augustss c29fdceff3 Prepare for MIDI devices. 1998-08-22 22:50:53 +00:00
thorpej f73a7043f3 ISA Game port driver, lifted from BeBox port. 1998-08-20 06:31:34 +00:00
thorpej b176b7ba0f Add joy driver at cdev 56. 1998-08-20 06:30:56 +00:00
thorpej 31ac3d022c Add joy driver devsw declarations. 1998-08-20 06:28:43 +00:00
thorpej 2d282c7e70 Add joy driver glue. 1998-08-20 06:28:18 +00:00
thorpej cc042ba0e5 Correct a function name in a panic message. 1998-08-20 05:46:20 +00:00
thorpej 4396c67463 Internal cleanup. 1998-08-17 22:28:00 +00:00
augustss cd09067eb4 * Redo the way the way the MIDI driver attaches to audio devices.
* Improve the midisyn layer a little.
* Add a driver for the Yamaha OPL[23] FM synths.
  The opl driver is not finished yet; it sounds pretty awful.

For some strange reason I cannot get any FM sound from my SB64 cards,
but a regular SB16 works fine.
1998-08-17 21:16:09 +00:00
thorpej 0809175887 #define _CS_OFISA_MD_REG_FIXUP 1998-08-17 20:40:53 +00:00
thorpej defb1b327e Implement a reg fixup, needed for old OpenFirmware builds. 1998-08-17 20:38:08 +00:00
mark 518c6812d3 Block user space access between the cache purge and the context switch in
cpu_switch() as all user space addresses must be removed from the cache
prior to the context switch and interrupts are live for the purge.
1998-08-16 02:17:17 +00:00
mark 2ea34b589c Enable interrupts during cache clean, purge and sync operations.
Instead use a flag to indicate that all user space access are blocked
during the cache op to ensure that user space virtual addresses correctly
expunged from the cache.
1998-08-16 02:14:15 +00:00
mark decc2dde0a Implement a mechanism to prevent fuswintr() and suswintr() from accessing
user space via a flag. This enables interrupts to be live during certain
critical operations where user space accesses must not be attempted.
1998-08-16 02:11:32 +00:00
mark 152c00c687 Enable interrupts as soon as possible in prefetch_abort_handler(),
beore any of the diagnostic checks etc.
1998-08-16 02:03:30 +00:00
mark d83571ea08 Enabled interrupts as soon as it possible in syscall(), before any
of the diagnostic checks.
1998-08-16 02:01:16 +00:00
mycroft d07b3639a4 Assign my copyrights to TNF. 1998-08-15 17:47:15 +00:00
mycroft 6dc903202f Assign my copyrights to TNF. 1998-08-15 10:10:47 +00:00
mycroft 08ab3f8338 I didn't write any of this. 1998-08-15 03:36:34 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
thorpej 2b869a383f Use _CS_OFISA_MD_* callbacks for old, broken OpenFirmware builds. 1998-08-15 02:59:01 +00:00
mark 2a48768678 Debug inst_unconditional_flow_transfer and next_instr_address
macros so that single stepping works correctly.
1998-08-15 02:57:28 +00:00
mark 170eadd04c Add FILECORE filesystem. 1998-08-14 03:56:21 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
mark 3ad4ac45f9 Reworked interrupt blocking and unblocking to improve interrupt latencies
during context switches.
1998-08-12 01:10:29 +00:00
mark 0a1a20bd29 Recognise STRH, STRSH and STRSB instructions as store instructions when
determining page protections for [u]vm_fault(). Fixes bug spotted by
Richard Earnshaw.
1998-08-10 15:15:49 +00:00
mycroft 093a8daf6b Go to splhigh in the debugger. 1998-08-09 00:00:57 +00:00
mycroft e2686d0a1b Use splnet, not splimp. 1998-08-08 23:51:39 +00:00
mycroft d5eb56b2c2 Move splclock and splaudio outside splimp. 1998-08-08 23:39:38 +00:00
kleink 709dda58f8 _POSIX_SOURCE -> _POSIX_C_SOURCE, and add missing protection bits. 1998-08-06 11:22:57 +00:00
mark 25997dd19d IPL_TTY -> IPL_SERIAL. 1998-08-04 20:09:37 +00:00
mark b6ffd3a85e Don't call cpu_tlb_flushID() from the pmap_update macro. 1998-08-04 19:11:29 +00:00
mark 167a777474 Drop in the lastest round of optimisations from Neil Carson.
The cache cleaning code in pmap_copy_page() and pmap_zero_page()
  has been rewritten and uses a new function pmap_clean_page().
  pmap_remove() has been completely rewritten to make it more efficient
  when there are only a few pages that actually need to be removed.
1998-08-04 19:02:19 +00:00
mark 47ac4421e0 In setregs(), only pass the stack value in r12 if COMPAT_1[123] is defined. 1998-08-04 16:25:28 +00:00
mark 4b14908352 Fix the validation of source addresses in db_read_bytes() so that
memory ranges mapped with L1 section mappings do not cause aborts
due to lack of L2 page table.
1998-08-04 16:19:54 +00:00
mark e9c872cd6b Define a macro L1_MASK to mask out the level 1 pde type bits. 1998-08-04 16:16:22 +00:00
mark d91830b032 Namespace cleanup. Prefix all the JMPBUF* macros with _JB. 1998-08-04 02:01:17 +00:00
mark 70fe6c76a1 Pass ps_strings in r0 when execing processes.
Use macros rather than absolute values in zero_page_read*() functions.
1998-08-02 21:50:31 +00:00
thorpej 0869d8f714 Blargh, deal with some fallout from the ISA PnP goo, this will go away once
we can pull in files.isa properly.
1998-07-31 16:42:01 +00:00
thorpej 29ad6dac50 ISA PnP goo. 1998-07-31 04:50:01 +00:00
thorpej 6f3b1afe37 First-cut ISA PnP support for NetBSD/arm32. 1998-07-31 04:48:42 +00:00
thorpej 7b68dfc9c7 Fixup include paths. 1998-07-30 21:58:48 +00:00
thorpej d85ed3d973 Put the SoundBlaster stuff back for files.ofisa (Until we can just
properly include files.isa).
1998-07-30 21:51:00 +00:00
augustss cdeb158d5f A first stab at making the SHARK sound work. It doesn't really work
yet, but it probes and makes a noise when used.  Stay tuned!
1998-07-30 14:11:42 +00:00
mark 620bc79e36 Fix the copyin(), copyout() argument validation to check for zero
length copy before returning EFAULT for a bad address.
1998-07-29 00:56:08 +00:00
thorpej 6dd25080b4 Garbage-collect ofisacs, noted by Scott Reynolds. 1998-07-28 21:19:13 +00:00
thorpej 3ff8e6493a Don't cast the null residual pointer passed to vn_rdwr(). 1998-07-28 18:34:52 +00:00
thorpej 9b35e91d59 Update for cs* at ofisa? 1998-07-27 01:44:20 +00:00
thorpej 803df07221 Obsolete. 1998-07-27 01:43:24 +00:00
thorpej 6d885615a2 Obsolete. 1998-07-27 01:42:19 +00:00
thorpej 6828d39080 Actually provide the correct bus space tags. 1998-07-27 00:48:15 +00:00
thorpej b9aeeb3fa1 Remove a test, making diagnosis of IRQ problems easier. 1998-07-26 21:24:37 +00:00
thorpej f0ff548dd2 Rewrite the probe to use values from the EEPROM for membase and IRQ
if they're not specified by the attach arguments, so that they can
be reported by isaprint().  Rearrange the attach routine to facilitate
splitting this up into front- and back-end drivers.
1998-07-25 01:15:54 +00:00
thorpej b4195e59cd Change the interface to the EEPROM functions such that they can be called
from the probe routine.
1998-07-24 23:25:13 +00:00
thorpej 8d611b5f32 Remember the product ID and revision. 1998-07-23 19:25:52 +00:00
thorpej 1c9aed40f6 Round-out full-duplex support. 1998-07-23 19:02:55 +00:00
thorpej 202d438148 CS8900 driver has of_network_dev property. 1998-07-22 22:09:59 +00:00
thorpej c10c18b955 Get media from OpenFirmware. 1998-07-22 22:09:18 +00:00
thorpej 05ff8b05f5 Print the default media at attach time. 1998-07-21 23:09:25 +00:00
thorpej 02ad0b4eda Add support for ifmedia. 1998-07-21 22:58:31 +00:00
thorpej aaa383804d Correct the name of the CS8920M id. 1998-07-21 19:54:56 +00:00
thorpej 52cfd19bcf Ever closer to KNF. 1998-07-21 01:17:14 +00:00
thorpej bb3c5257c7 Move the cs8900 driver's softc, etc. definitions to an MI location. 1998-07-21 01:04:55 +00:00
thorpej 133efc841f Use <dev/isa/cs89x0var.h> 1998-07-21 01:04:09 +00:00
thorpej 9c9a866a90 Move PacketPage read/write macros in to if_csvar.h 1998-07-21 00:58:46 +00:00
thorpej bdc9dcbe8a G/c two more unused definitions. 1998-07-21 00:53:57 +00:00
thorpej 23efef79fc Move the code that prints Rx errors into a separate function, rather than
duplicating it.
1998-07-21 00:52:15 +00:00
thorpej 9282418a78 Some cosmetic changes. 1998-07-21 00:40:17 +00:00
thorpej 20fb09c609 G/c more unused debugging goo. 1998-07-21 00:24:45 +00:00
thorpej 6014ea2216 Garbage-collect some unused debugging goo. 1998-07-21 00:23:18 +00:00
thorpej f45804c4c6 Nuke sc_iobase (and a serious misuse of it!) 1998-07-21 00:22:29 +00:00
thorpej 22ff8accae Use fixed-size types. 1998-07-21 00:20:35 +00:00
thorpej 5b56c35223 Nuke the "pia" typedef. 1998-07-21 00:18:35 +00:00
thorpej 44d02a07d0 Update for <dev/isa/cs89x0reg.h> 1998-07-21 00:11:03 +00:00
thorpej 57488ef1e4 Remove the register descriptions from this file, and split them into
<dev/isa/cs89x0reg.h>
1998-07-21 00:10:11 +00:00
thorpej c3e7a09c4e Use <dev/isa/cs89x0reg.h> 1998-07-21 00:08:57 +00:00
is 6054d626f9 Switching dev/ic/lpt.c to use spllpt() instead of spltty(). It doesn't use
tty structures, and on some machines (namely the DraCo internal lpt, and some
multi-i/o boards for Amigas and DraCos), tying spltty to the pretty high printer
interupt level would hurt serial performance.

On all affected ports but Amiga, spllpt() has been defined in machine/intr.h
to be spltty(), thus preserving old behaviour. Portmasters are encouraged to
change is, if they feel something else is better (e.g., one of its own were
possible).
1998-07-18 21:27:25 +00:00
thorpej 2fc1260cc0 Implement bus_dmamap_load_uio(). 1998-07-17 21:09:59 +00:00
mark f6e8a93bac Replace hardcoded constant with VM_MIN_KERNEL_ADDRESS. 1998-07-17 19:12:48 +00:00
thorpej 41986b6ad6 Print out the revision as a letter, i.e. 'A', ... 1998-07-15 03:29:47 +00:00
thorpej 25a86ef490 Be a little more thorough when printing the chip name, and also print
the chip revision.
1998-07-15 00:01:17 +00:00
thorpej 45c63f6b7b Massive cleanup of this driver (format police, autoconfig). More to come. 1998-07-14 23:38:49 +00:00
mark 57c3ea15d8 Guard opt_cputypes.h include with _KERNEL && !LKM 1998-07-13 06:12:08 +00:00
mark 7b6cd6a0a6 Guard opt_cputypes.h include with _KERNEL && !LKM. 1998-07-09 02:43:25 +00:00
thorpej e32f380030 Garbage-collect some of the old ISA DMA code. 1998-07-08 07:56:47 +00:00
thorpej 8bbd7378c5 RCS ID police. 1998-07-08 07:56:13 +00:00
thorpej 9bbe01f100 Note that UVM is mandatory on the Shark (otherwise ISA DMA won't work) 1998-07-08 05:27:17 +00:00
thorpej e332a993e2 Initialize the machdep ISA DMA structures once we've done OpenFirmware
ISA DMA initialization.
1998-07-08 05:01:56 +00:00
thorpej 8d10a53ddb Use MI ISA DMA code (XXX this needs some work). 1998-07-08 05:01:17 +00:00
thorpej fcd0183e81 Remove all of the home-grown ISA DMA code, and translate the OpenFirmware
"dma-ranges" property into the pmap's ISA DMA ranges.
1998-07-08 05:00:40 +00:00
thorpej 28cbb7c537 Provide the ISA chipset tag. XXX This should go away in favor of a real
ofisa attachment of the "cs" driver.
1998-07-08 04:59:46 +00:00
thorpej f5535d79ca Provide the ISA chipset tag. 1998-07-08 04:59:02 +00:00
thorpej 8eeb7eaad0 Implement an ISA bus_dma back-end for NetBSD/arm32. Tested only on the
Shark, but should work for other ISA-"enabled" arm32 systems, as well.
1998-07-08 04:58:03 +00:00
thorpej 696858d5f9 Nuke these; we use the MI ISA DMA code now. 1998-07-08 04:57:13 +00:00
thorpej 98b07e4b07 Provide an ISA chipset tag via isa_attach_hook(). G/c home-grown
ISA DMA code, in favor of the MI code.
1998-07-08 04:56:13 +00:00
thorpej b51b6b7c04 Lift-and-tweak from the i386 port (near-complete rewrite), providing
the ISA DMA stuff expected by machine-independent code.
1998-07-08 04:54:47 +00:00
thorpej eeb19dd33c Remember our ISA chipset tag. 1998-07-08 04:53:33 +00:00
thorpej f7e400a7ab Use the machine-independent ISA DMA code.
XXX We use COHERENT for now; need to deal with sync'ing DMA maps being
XXX used by the isadma driver.
1998-07-08 04:53:03 +00:00
thorpej a177e7aedc Rearrange this a little so we can use MI ISA DMA code. XXX Should just
pull in files.isa, but Not Right Now, apparently.

Add the sound blaster driver here (XXX see above), and build the
arm32 bus_dma back-end.
1998-07-08 04:51:12 +00:00
thorpej 8e03657b43 Define two free lists: default, and one to protect ISA DMA-safe memory. 1998-07-08 04:49:21 +00:00
thorpej d7d001fe70 Allow platform-specific code to define DMA-safe memory ranges for ISA.
If pages being loaded into the VM system intersect with any of these
ranges, the intersecting pages will be placed on a lower-priority
free list to protect them.
1998-07-08 04:48:20 +00:00
mark 93179db2b7 Remove several pointless cache/tlb cleans. (From Neil Carson). 1998-07-08 00:18:16 +00:00
mark e1fe0d71c0 Fix IOMD ID checks. 1998-07-08 00:15:59 +00:00
mark 9a4a105abb Remove un-necessary write buffer drains. (From Neil Carson). 1998-07-08 00:13:41 +00:00
mark f79b12670f Simplify cache cleaning in page_move(). (From Neil Carson). 1998-07-08 00:12:33 +00:00
mark 9dccefd1c9 Simplify the included files. 1998-07-08 00:10:44 +00:00
mark ddae1799a5 Make sure the write buffer is drained during syncing. 1998-07-08 00:08:39 +00:00
mark 61cdca4a6d Remove unused file. 1998-07-07 17:59:56 +00:00
mark d20b5cf136 Clean up included files. 1998-07-07 17:51:54 +00:00
thorpej 8f2575ec87 Use fixed-size types. 1998-07-07 04:29:42 +00:00
mark 4a463e49fe defopt CPU_* options in opt_cputypes.h 1998-07-07 03:05:15 +00:00
mark 3d4c1e7372 Cleanup ofw_boot().
Remove un-necessary includes.
1998-07-07 02:45:00 +00:00
mark 2abb91b62a Nuke a redundant cache clean in pmap_enter() (from Neil Carson). 1998-07-07 01:18:47 +00:00
mark 2194175b24 KNF. 1998-07-07 00:48:11 +00:00
mark 68dd742555 Include opt_armfpe.h 1998-07-06 18:13:26 +00:00
mark d41434d3ae Cleanup explict Makefile dependancies. 1998-07-06 02:43:38 +00:00
mark 9161d5ab60 Include opt_pmap_debug.h for PMAP_DEBUG defopt. 1998-07-06 02:40:42 +00:00
mark 3682a37511 Include opt_compat_old_ofw.h for COMPAT_OLD_OFW option. 1998-07-06 02:36:52 +00:00
mark 94df6c50f4 defopt COMPAT_OLD_OFW and PMAP_DEBUG. 1998-07-06 02:35:34 +00:00
mark 9ed6d03641 Always include arm32/disassem.h 1998-07-06 02:33:25 +00:00
mark 572dcd8575 Include opt_armfpe.h 1998-07-06 01:56:40 +00:00
mark f10dbf227d defopt ARMFPE. 1998-07-06 01:54:56 +00:00
mark 5df95c3336 Junk the DISASSEMBLE macro and just call disassemble() directly. 1998-07-06 01:54:36 +00:00
mark 70fba3ee34 postmortem() is no longer used in this file. 1998-07-06 01:52:26 +00:00
mark a96139b744 Include opt_uvm.h and define Lcnt appropriate for UVM or non-UVM configs. 1998-07-06 01:04:17 +00:00
mark 8b4b75b9ea The ARMFPE option is never enabled by default any more. 1998-07-06 00:59:21 +00:00
mark c73c7674d7 defopt IRQSTATS. 1998-07-06 00:53:07 +00:00
mark ac8d41742b Remove MOUSE_IOC_ACK option as this is now standard. 1998-07-06 00:49:20 +00:00
mark d016feb2d7 Define MOUSE_IOC_ACK as standard. 1998-07-06 00:43:28 +00:00
mark 9126d07941 defopt XSERVER. 1998-07-06 00:42:37 +00:00
mark e110bd8a6a defopt IRQSTATS and XSERVER 1998-07-06 00:41:17 +00:00
mark 36af051383 Update functions that missed the previous name space change. 1998-07-05 23:31:16 +00:00
jonathan b37021c1a1 defopt NATM. 1998-07-05 22:48:05 +00:00
jonathan d275e56dee * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 08:49:30 +00:00
jonathan 011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan 5c0c5dd0b4 defopt ISO TPIP. 1998-07-05 04:37:35 +00:00
jonathan 8db0fcdbf7 defopt CCITT. 1998-07-05 02:12:22 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
hubertf a18ed5d074 add missing ";" for non-UVM systems 1998-07-03 21:32:43 +00:00
tv b457cc5098 For now, do not build just "netbsd" as the root device probe cannot
distinguish wd0, cs0, etc.  Build only netbsd_netboot and netbsd_wdboot.
1998-07-02 23:39:22 +00:00
augustss 5aa0920e7d Make it compile again. 1998-06-29 13:53:00 +00:00
thorpej 9609289966 When loading a DMA map, check that the pages in the transfer are within
the tag's DMA range(s), if ranges are specified.
1998-06-28 07:32:32 +00:00
thorpej 46320bb017 Clean up the bus space function namespace somewhat; make sure they don't
collide with function names used in other parts of the kernel.
1998-06-28 07:27:51 +00:00
thorpej 3497ab9a8c Add a pointer to an array of DMA ranges. DMA buffers must lie within
a range, or else an error is returned when loading a map.  If the ranges
pointer is NULL, no range checks are performed.
1998-06-28 03:22:10 +00:00
thorpej e3f4206162 Only use DMA_BOUNCE if it is defined. 1998-06-28 00:53:21 +00:00
thorpej ad9e227ed7 Fix a bunch of printf arguments. 1998-06-27 02:48:24 +00:00
thorpej a4e8fc45cd Nuke the _cookie member of the bus_dma_tag_t; it's not used by anything. 1998-06-27 02:16:23 +00:00
thorpej 06f1469055 Really namespace-protect the virtual address in the DMA segment structure. 1998-06-27 02:13:39 +00:00
thorpej 06c15a479d Remove some #if 0'd i386-specific code that was inherited when this
was copied from the i386 port.
1998-06-27 02:11:19 +00:00