bjh21
9aa4896361
More FIQ support. This gives me enough to handle FIQs, and to downgrade them
...
to IRQs as necessary. All these interfaces are subject to change in the light
of experience.
2001-08-20 23:08:10 +00:00
bjh21
9d345bfc35
New header file for FIQ-related definitions.
...
Currently just contains the FIQ numbers, until I decide on an API.
2001-08-13 22:59:40 +00:00
bjh21
bd6d4d6b77
Use <arm/param.h> to get shared definitions.
2001-08-07 22:26:56 +00:00
bjh21
1ede42fe57
Add <machine/sysarch.h> to go with sysarch().
2001-07-28 19:14:00 +00:00
bjh21
f3b9fa04ed
Only declare kernel objects ifdef _KERNEL.
2001-07-28 12:53:06 +00:00
bjh21
b8a09ee766
Add dummy "podloader" functions on arm32, and move their declarations to the MI
...
header file. This should allow MI drivers to use the podloader functions,
though obviously they'll have to be able to cope if podulebus_initloader()
fails.
2001-07-04 13:58:04 +00:00
thorpej
8eb3b954f1
Don't need to prototype child_return() here, it's in <sys/proc.h>.
2001-06-14 22:56:55 +00:00
bjh21
ca5de264b4
Change the structure of a bus_space_handle_t in a desperate bid to avoid using
...
function pointers. It now contains two base addresses, one for 8-bit
transfers and one for 16-bit transfers. This should make it possible for me
to handle the Castle EtherSCSI card, which uses and address line to select
transfer width to the i82595.
2001-06-12 20:16:22 +00:00
bjh21
0c870e10e0
Convert bus_space_{read,write}_multi_1() into macros, since they're just
...
wrappers round {read,write}_multi_1() anyway.
2001-06-02 21:31:02 +00:00
bjh21
73bc600e40
Use _LOCORE to recognize assembler in the kernel, not ASSEMBLER (which doesn't
...
get set).
2001-05-13 13:47:23 +00:00
bjh21
2af5062ab7
Add <machine/bootconfig.h> on arm26, and add an <arm/bootconfig.h> for it to
...
include (since all the contents are MI).
2001-05-13 13:46:23 +00:00
bjh21
e08b3af21d
Add stub <machine/cpufunc.h> for arm26.
2001-05-06 18:25:27 +00:00
bjh21
3fc08cf178
Implement pmap_resident_count() and pmap_wired_count() properly.
2001-05-05 14:20:05 +00:00
bjh21
8afb876f73
Make the common <arm/profile.h> work on arm26 and arm32, choosing whether
...
to munge R15 or not at runtime. Also make it work with both ELF and a.out.
2001-05-04 00:11:15 +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
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
05d087e7c7
Remove definitions of CLKF_*. They're defined in <arm/cpu.h> now.
2001-04-24 18:15:44 +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
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
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
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
ac01781de7
Make UBC_WINSHIFT a constant.
2001-04-13 12:40:16 +00:00
bjh21
5677634e50
Small comment correction.
2001-03-28 13:04:57 +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
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
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
b1475781a2
Make arm26 implementation of DDB slightly less gratuitously different from the
...
ARM one. Also update for recent undefined-instruction handler changes.
2001-03-11 16:31:05 +00:00
bjh21
c6c5fda4be
Use <arm/undefined.h>
2001-03-11 16:14:36 +00:00
bjh21
f6c36838ae
Use the same undefined-instuction handler on both arm26 and arm32. The handler
...
is derived mostly from the arm32 version, but with a check for an obscure ARM2
bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined
instructions.
2001-03-08 21:30:35 +00:00
bjh21
163eba47d8
Use <arm/cpu.h>.
2001-02-28 00:17:40 +00:00
bjh21
09f63bd785
Now that arm26 does __HAVE_MINIMAL_EMUL, switch it over to using
...
<arm/types.h>.
2001-02-26 00:19:57 +00:00
bjh21
e56f5ba174
__HAVE_MINIMAL_EMUL
2001-02-25 23:08:33 +00:00
bjh21
ab20625e49
Lint doesn't like zero-sized structs.
2001-02-17 20:07:01 +00:00
bjh21
8b601afaf3
Re-introduce <arm/endian_machdep.h>, this time using GCC's idea of the target
...
endianness.
2001-02-17 14:55:44 +00:00
bjh21
a4e55e0f13
Shared ARM ptrace(2) implementation. Mostly the same as the arm32
...
version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should
reduce code size a little.
2001-02-11 17:03:04 +00:00
bjh21
9826a76781
Common <arm/reg.h> (and hence common struct reg) for ARM.
...
This is theoretically backward-incompatible on arm26, but GDB doesn't work there
yet anyway.
2001-02-11 14:51:55 +00:00
bjh21
74591d814f
Add a definition of MID_MACHINE -- kernel cores still need it.
2001-02-03 17:18:30 +00:00
bjh21
050769744d
cf_unit usage is now fixed.
2001-01-24 00:03:21 +00:00
bjh21
8c87715ce0
We abuse cf_unit. The shame!
2001-01-23 22:07:58 +00:00
bjh21
616dad1a1b
Use evcnts properly for interrupt counting.
...
The architecture here follows that of the vax port -- each device has its
evcnt in its softc, but defers actually incrementing it to the IRQ
dispatcher. This way, devices can attach sub-counts (e.g. Rx and Tx counts
for Ethernet interfaces), but don't all have to have code to increment the
counters.
Drivers deliberately call evcnt_attach_dynamic() before establishing their
interrupt handler so that the establish routine can attach a parent event if
that's appropriate. At present, it isn't.
2001-01-23 22:07:57 +00:00
bjh21
1178bf4219
Initial potentially sharable <arm/armreg.h>. Used by all arm26 code.
2001-01-22 22:10:39 +00:00
bjh21
8805bd8b56
Unify arm26 and arm32 trapframe structures. The unified trapframe is the same
...
shape as the old arm32 one, but there are a few #defines to keep arm26 code
happy. Anything that depends on the precise shape of the trapframe,
and especially on being able to treat it as an array of registers, has been
updated.
2001-01-20 17:14:19 +00:00