bjh21
4928854ae3
Arrange to inline hardsplx() into raisespl() and lowerspl(). This should
...
make them slightly faster, and makes it easier to see how much of the time
apparently spent in hardsplx() actually comes from deferred statclock
interrupts.
2001-05-01 22:19:09 +00:00
bjh21
c7d1f1542c
Use the correct condition code when deciding whether to take an AST (oops!).
...
Also disable interrupts correctly in the APCS-32 case.
2001-05-01 11:01:12 +00:00
thorpej
cf67ac7122
Per discussion w/ chuck and chuck, restructure the md page stuff
...
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
bjh21
a6b4c8d3da
Strip the PSR bits off values of R15 before passing them to _mcount(). This
...
makes call-graph profiling actually work (hooray!).
2001-04-30 23:41:11 +00:00
bjh21
e5b19b546c
Add two functions, int_off_save() and int_restore(), for mcount to use to
...
disable interrupts without getting into a loop or screwing up irq_handler().
Also use them.
2001-04-30 19:57:10 +00:00
thorpej
2b27ac7a99
Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
...
each vm_page structure. Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM. These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.
This deprecates struct pmap_physseg. As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.
Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now). Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
bjh21
45eb40e8d3
Minimal implementation of cpu_sysctl().
2001-04-29 15:13:45 +00:00
bjh21
e9c8a1fbb5
Add ipfilter, rnd, vcoda and raid.
2001-04-28 17:41:01 +00:00
bjh21
271fb855ce
Arrange to restore R14 on return from __mcount, so that profiled assembler
...
routines will work. We could put this in _PROF_PROLOGUE, but this seems
lighter-weight and possibly cleaner.
2001-04-26 22:09:57 +00:00
thorpej
a60e816e7a
Provide a pmap_resident_count() that simply expands to 0.
2001-04-25 18:03:19 +00:00
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