Commit Graph

281 Commits

Author SHA1 Message Date
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
bjh21 b211962232 Include <machine/machdep.h> for update_memc(). 2001-02-17 18:43:13 +00:00
bjh21 575fa5e5af #ifdef out arckbd_pick_layout until we get round to using it again. 2001-02-17 18:39:11 +00:00
bjh21 a72248beab Reduce unnecessary differences between this and Makefile.arm32.
Also (more significantly), use the compiler's default -mcpu setting.  This
means I can now build APCS-32 kernels.  They work, too.
2001-02-17 17:23:48 +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 9b6de1da90 Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c.
Also ANSIfy it and use it on arm26.
2001-02-13 22:54:25 +00:00
bjh21 f942342607 Fix a typo in the last change (eh_init_media -> eh_media_init). 2001-02-13 18:20:57 +00:00
bjh21 284047a2b2 Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and
arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in
the process.

The code is based on the arm32 version, so I don't think anything should break
there.
2001-02-13 13:19:52 +00:00
bjh21 4e460028dc Since idle() turns up in so many stack backtraces, put it in the global
symbol table.
2001-02-13 13:16:37 +00:00
bjh21 82bf8a9d0a Avoid uninitialised variable reading /dev/mem. 2001-02-12 23:29:08 +00:00
thorpej 043e519d55 Adjust the way that media is initialized on DP8390-compatible
chips.  The dp8390_softc now has media_init and media_fini
function pointers that do the work.
2001-02-12 18:49:03 +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 60af6ce7ca Don't trust function return to restore IRQ disable flag, since it won't
in APCS-32.
2001-02-11 14:46:11 +00:00
bjh21 6d285953f5 When an array is declared as int r[13], don't go trying to use r[13]. 2001-02-10 19:09:48 +00:00
bjh21 21e1b73962 Update ioeb_irq_clear to match its caller. 2001-02-08 22:21:24 +00:00
bjh21 74591d814f Add a definition of MID_MACHINE -- kernel cores still need it. 2001-02-03 17:18:30 +00:00
bjh21 917e1e8fd2 Set the palette in 4bpp modes. They still don't work right, though. 2001-01-24 00:56:29 +00:00
bjh21 050769744d cf_unit usage is now fixed. 2001-01-24 00:03:21 +00:00
bjh21 3c3ed6cecd Flush out cf_unit abuses.
Also, most device functions related to IRQ handling no longer take a device
pointer.  We make so many assumptions about the machine's layout in irq.c that
this just seemed silly.
2001-01-23 23:58:31 +00:00
bjh21 d21e15aefe This is no longer used. 2001-01-23 23:19:45 +00:00
bjh21 c59e8d1831 ANSIfy. 2001-01-23 22:59:24 +00:00
bjh21 34bf08cd05 Use a permanent breakpoint to invoke DDB rather than constructing a trapframe
manually.  Prevents the problem introduced in the trapframe unification
whereby continuing from DDB would cause a panic.
2001-01-23 22:41:16 +00:00
bjh21 f32fc0fc90 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:59 +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 668b6cbaba We now have a rasops4 attribute to play with. It doesn't work, but then
neither do rasops1 and rasops2...
2001-01-23 00:27:44 +00:00
bjh21 55648b014b Use our own evcnt structure to count VSYNC interrupts.
Also disable interrupts while we're not using them.
2001-01-22 23:29:34 +00:00