Commit Graph

341 Commits

Author SHA1 Message Date
bjh21 90dfa8d8ff Undo my accidental revival of pmap_kenter_pgs(). 2001-04-25 16:30:03 +00:00
bjh21 7cf0a5e592 Arrange the "unamanaged" pages (entered through pmap_kenter_pa()) are tracked
and ignored as necessary.
2001-04-25 14:42:31 +00:00
bjh21 05d087e7c7 Remove definitions of CLKF_*. They're defined in <arm/cpu.h> now. 2001-04-24 18:15:44 +00:00
thorpej 1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
thorpej 55044638aa Remove pmap_kenter_pgs(). It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej ec66f67f3a Use pmap_kenter_pa() rather than pmap_kenter_pgs(). 2001-04-22 23:28:52 +00:00
thorpej 69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +00:00
thorpej 5871b80f00 Use uvm_pageboot_alloc() for early memory allocation, rather than
calling pmap_steal_memory() directly.  On these platforms, since
uvm_pageboot_alloc() is a wrapper around pmap_steal_memory(), there
is no functional change.  This is merely for API consistency.
2001-04-22 18:21:48 +00:00
thorpej cfb5c7ed9f Make pmap_virtual_space() a required pmap function, even on platforms
which have pmap_steal_memory().  This is to reduce the API differences
between pmaps that implement pmap_steal_memory() and pmaps which do
not.

Note that pmap_steal_memory() needs to adjust *vstartp and/or
*vendp only if it used addresses within the range provided to UVM
via the pmap_virtual_space() call.  I.e. it is not necessary to do
so in any current pmap_steal_memory() implementation.
2001-04-22 17:22:57 +00:00
bjh21 8eed59a146 Move arcpp so it attaches before podulebus. 2001-04-22 15:26:07 +00:00
bjh21 11b40e716c Add arcpp. Not in GENERIC because I don't know it works. 2001-04-22 15:02:51 +00:00
bjh21 856547f067 Driver for Archimedes parallel ports. I haven't got a parallel printer, so
this is currently untested.
2001-04-22 15:01:25 +00:00
bjh21 2a1570b5d9 Add functions to twiddle the latch bits, patterned after the ones in Linux. 2001-04-22 15:00:13 +00:00
thorpej 4738622712 Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
2001-04-22 00:33:59 +00:00
bjh21 660a20cd22 Add a skeleton driver for the random latches on the Archimedes, which are
shared between the printer port and floppy drive.  Useful facilities will be
added when I know what I need.
2001-04-22 00:26:35 +00:00
bjh21 85e1abfb39 Keep track of interrupt depth. With forthcoming changes to cpu.h, this gets
us accounting for interrupt time.
2001-04-21 18:51:17 +00:00
bjh21 e66c66730e Remove <arch/arm26/podulebus/podulebus.h>. Podulebus driverd now include
<dev/podulebus/podulebus.h>.
2001-04-19 13:47:07 +00:00
bjh21 074987f4a3 Ensure that we have some idea what a label_t is, even in userland. 2001-04-16 17:30:32 +00:00
bjh21 020a050984 Randomize the statclock period properly. We use the same algorithm as the
sparc port.
2001-04-16 14:12:38 +00:00
kleink f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink 739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
bjh21 5a15be6a18 Don't panic on a stray IRQ, just log it and hope it goes away. This works for
my acemidi card at least.
2001-04-15 11:59:43 +00:00
kleink cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
bjh21 cee3528adc When checking if an IRQ is active, check for _all_ the right bits' being set,
not just some of them.
2001-04-14 19:58:58 +00:00
bjh21 e0e3b230c1 Remember to initialise the interrupt handle.
Bugs like this are my penalty for having my only supported podule in slot 0.
2001-04-14 18:39:20 +00:00
kleink 7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
bjh21 d3c7885319 Make sure that every time we touch the referenced/modified bits, we do a
pmap_update_page() to get all the mappings of that page up-to-date.
2001-04-13 16:37:28 +00:00
bjh21 991d163aa2 Remove code from pmap_fault() that ws trying to do referenced/modified
emulation on kernel pages (and getting it wrong).
2001-04-13 15:09:35 +00:00
bjh21 7b00aef2da Rev 1.3 accidentally undid rev 1.2. Re-do it. 2001-04-13 14:50:47 +00:00
bjh21 ac01781de7 Make UBC_WINSHIFT a constant. 2001-04-13 12:40:16 +00:00
bjh21 d039e70428 Remove the "asc" driver. It's never worked, and we should have an MI version
sometime.
2001-04-10 21:33:00 +00:00
bjh21 5677634e50 Small comment correction. 2001-03-28 13:04:57 +00:00
bjh21 8bd452c648 Create an MI Ether3 driver. It's derived from the arm26 driver, which uses
my MI SEEQ 8005 driver, which is based on the arm32 ea driver.
2001-03-24 00:14:52 +00:00
bjh21 2714607c72 Add podulebus_shift_tag, which generates a bus_space_tag_t with a specified
address shift (stride).  This is necessary because many podules have standard
chips with odd address-bus wiring to allow for using LDM for
bus_space_*_multi_*().
2001-03-24 00:10:42 +00:00
lukem 723cd818d8 move duplicate definitions for:
pc, lpt, joy, ocis, apm, satlink, i4bctl, i4brbch, i4btel, i4btrc, i4b
from the port-specific arch/*/*/conf.c files into sys/conf.h
2001-03-21 22:25:52 +00:00
bjh21 de59def2f2 Remove spurious #define mod_base. 2001-03-20 23:29:07 +00:00
bjh21 86d6442c28 Move machine-dependent podulebus headers to <machine/podulebus_machdep.h>.
<dev/podulebus/podulebus.h> is the canonical file to include, and includes
<machine/podulebus_machdep.h>.
<arch/${MACHINE}/poudulebus/podulebus.h> remains for backward compatibility.
2001-03-20 22:59:39 +00:00
bjh21 61e80eef9b As Richard Earnshaw pointed out, bus_space_copy_1() and bus_space_copy_2()
had the wrong names and did the wrong things.  Both are now fixed.
2001-03-20 22:56:16 +00:00
bjh21 0fe2c0aedc These have moved to sys/dev/podulebus. 2001-03-20 00:13:16 +00:00
bjh21 2c4e09f4c9 Revert last change, which shouldn't have applied to this file. 2001-03-20 00:04:28 +00:00
bjh21 23836945a3 Redefine bus_space_addr_t to be a raw address, for compatibility with arm32
podulebus drivers.
2001-03-20 00:03:10 +00:00
bjh21 34cca2e23e Pull in shared podulebus drivers. 2001-03-20 00:01:37 +00:00
bjh21 1c300d3ee8 Make pa_*_base bus_addr_ts. 2001-03-19 21:03:47 +00:00
chs c40daf0aed change uvm_winsize to uvm_winshift so that we can avoid division
by a non-constant value.
2001-03-19 00:29:03 +00:00
bjh21 5c98fe3fec Gratuitous change of signature for podulebus_irq_establish(). It now takes
an opaque podulebus_intr_handle_t, which can be found in podulebus_attach_args.
It's actually the slot number, but don't tell anyone.
2001-03-18 15:56:04 +00:00
bjh21 949f93d279 If uvm_fault() returns an error, pass it on to the pcb_onfault handler
if there is one.  They already arrange to return it to their callers.
2001-03-18 14:04:04 +00:00
bjh21 16198f2b92 Podulebus convergence:
pa_memc_[th] -> pa_mod_[th]
Add pa_easi_*
Add pa_*_base
Add pa_slot_flags to indicate whether EASI is supported.
2001-03-17 21:56:06 +00:00
bjh21 697e84ed46 Update for new location of podules.h and podule_data.h 2001-03-17 20:34:43 +00:00