Commit Graph

308 Commits

Author SHA1 Message Date
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
bjh21
bfc2063e69 Create an ARM2-specific undefined-instruction handler which deals with the
undef/SWI bug and handles emulating SWP.

Untested bacuse my ARM2 machine isn't currently set up.
2001-03-17 18:12:09 +00:00
bjh21
9dfd56f6dc Make this compile with "options DEBUG" again. 2001-03-16 18:11:57 +00:00
chs
ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
toshii
300d398485 Move references to arm/arm/disksubr*.c from files.arm to
files.{arm26,arm32,dnard}.
2001-03-14 14:39:45 +00:00
bjh21
c3c5158d00 Change the value of tf_pc in undefined-instruction handlers on arm32. It now
always points to the undefined instruction in question.  It's up to the
handler to advance it to the next instruction if it wants execution to
continue there.  This is how things have always worked on arm26.
2001-03-13 23:56:48 +00:00
bjh21
a7ba6bb441 Update for new linked-list undefined-instruction handler. 2001-03-13 21:00:13 +00:00
bjh21
db1f089718 Initialise the undefined-instruction handler at startup. 2001-03-13 20:20:43 +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
ce5529eabf Change undefined instruction handler to use a linked list for each
co-processor.  This is necessary so we can have several handlers for
CP0 (used as a catch-all for non-CP instructions).

Handlers are now removed using remove_coproc_handler(), rather than by calling
install_coproc_handler() with a NULL handler.

Because install_coproc_handler() can now allocate memory, there's a version
for use at boot time that doesn't.
2001-03-11 16:18:39 +00:00
bjh21
c6c5fda4be Use <arm/undefined.h> 2001-03-11 16:14:36 +00:00
bjh21
c7bfcc0130 These are no longer used. 2001-03-10 23:31:32 +00:00
bjh21
29e609e3c5 Update for recent changes to the i82586 driver. 2001-03-10 22:32:17 +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
c0aee693f5 Add a missing part of FPU support. 2001-03-08 21:12:48 +00:00
bjh21
25ec015449 Merge setregs() from sys/arch/arm32/arm32/machdep.c,
sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c
into sys/arch/arm/arm/arm_machdep.c.
2001-03-04 23:25:00 +00:00
matt
2bfaa741b1 remove disksubr since they are common. 2001-03-04 20:47:03 +00:00
bjh21
8054b2ad5f dev/cons.c is supplied by files.arm.
XXX should it really be?
2001-03-04 14:38:29 +00:00
bjh21
fddf453e7a Allow for size=0 case in copyin(), copyout() and kcopy(). 2001-02-28 11:55:39 +00:00
bjh21
163eba47d8 Use <arm/cpu.h>. 2001-02-28 00:17:40 +00:00
bjh21
fa45b68520 Actually remember to look up the system call we're trying to invoke.
Oops.
2001-02-27 23:57:30 +00:00
bjh21
9a1c596b0b cpu_wait() is now in vm_machdep_arm.c 2001-02-27 13:58:13 +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
9d22bf6fdf Adapt for __HAVE_MINIMAL_EMUL world. 2001-02-25 23:07:51 +00:00
bjh21
846fe69958 Remove CPU_* options (they're in files.arm now -- for some reason I missed
this lot in the last commit).
2001-02-25 18:28:27 +00:00
bjh21
96b16f75a6 Hack to allow arm26 to have its own "cpu" device. This device should really
be shared between all ARM ports, but the arm32 one is too ugly for me to
touch it till I've got a test system running.
2001-02-25 15:33:33 +00:00
bjh21
090dc051cf Reduce the amount of memory allocated for assembler fragments.
Excise unnecessary instructions from kernel launch code.
Increase HIMEM on >8Mb machines, since the last two changes didn't free
enough memory to boot with 16Mb.
2001-02-23 00:27:40 +00:00
bjh21
ab20625e49 Lint doesn't like zero-sized structs. 2001-02-17 20:07:01 +00:00
bjh21
3dbffcc29f Move the RAM base address of the kernel into a variable.
Set CPPFLAGSm CWARNFLAGS and STRIPFLAGS to the same as arm32 uses.
2001-02-17 19:38:36 +00:00
bjh21
503e69a88a Don't define pmaphistbuf unless UVMHIST is defined. 2001-02-17 19:09:51 +00:00
bjh21
33c7eb2382 Add necessary DDB includes. 2001-02-17 19:08:21 +00:00
bjh21
4acea3a8cc Don't do arithmetic on void *s. 2001-02-17 19:04:36 +00:00
bjh21
2e041e883b Correct return type of arcvideo_show_screen(). 2001-02-17 18:45:19 +00:00