Commit Graph

64 Commits

Author SHA1 Message Date
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
bjh21 2c89ce7e74 Add <arm/frame.h>, for shared stack frame structures. Currently, only sigframes
are common.
2001-01-18 21:48:25 +00:00
bjh21 f575270d81 Switch over to using the arm32 sigcontext structure.
Yes, this causes binary incompatibility.  Yes, it's Evil, Bad and Wrong.
Nonetheless, I think it's probably the least unpleasant way to get close to
binary compatibility with NetBSD/arm32, and a very much doubt there are any
arm26 binaries out there that depend on the old shape of struct sigcontext.
2001-01-16 00:29:45 +00:00
thorpej d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej 45de366b2e Rename __GENERIC_SOFT_INTERRUPTS to __HAVE_GENERIC_SOFT_INTERRUPTS,
and place the definition in <machine/types.h>.  This can now be used
as a flag to indicate whether or not <machine/intr.h> can be included
to get the generic soft interrupt API.
2001-01-14 23:50:28 +00:00
thorpej d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
bjh21 5159a10d97 Share <machine/elf_machdep.h> between arm26 and arm32. 2001-01-11 22:28:06 +00:00
bjh21 a2dacbe06d Switch over to using the generic arm header files for everything that arm26
and arm32 agree on.
2001-01-11 22:07:53 +00:00
bjh21 68ac1c6fc3 Add some infrstructure to support saving FPU state. 2001-01-11 22:03:52 +00:00
bjh21 d6bd1012e3 Add facilities for counting interrupts, and a "machine irqstat" command to
DDB to tell us what's going on.
2001-01-07 17:01:53 +00:00
bjh21 2b076072d3 Add a "name" argument to irq_establish and friends, in imitation of arm32. 2001-01-07 15:56:01 +00:00
bjh21 5c09bd5fc5 Un-__P and remove function arg names. 2001-01-07 13:38:42 +00:00
takemura c5fd828440 replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
2001-01-03 10:08:55 +00:00
bjh21 b3eae7d1c8 Since we need to have an aout_machdep.h, we may as well borrow the arm32 one. 2000-12-29 23:08:31 +00:00
bjh21 36f8a8d0f8 Purge vestiges of a.out support. 2000-12-29 23:07:29 +00:00
bjh21 00a01e20d8 Sync with arm32. No functional changes. 2000-12-29 22:42:23 +00:00
bjh21 df10cbcda9 Sync with arm32 (fixes warnings compiling /bin/sh and probably others). 2000-12-29 19:30:34 +00:00
matt a589927cbc Make identical to arm32 version. (add same parens, use __P, etc.) 2000-12-28 03:55:14 +00:00
matt f1f4acfb4d Remove reference to CLBYTES 2000-12-28 03:54:15 +00:00
matt 61b05af542 Except for the RCSID, this file is now identical with arm32/include/ansi.h 2000-12-28 03:52:50 +00:00
bjh21 9822871467 Add a special call to uvm_page_physload to register RISC OS's zero page as
free at startup.
2000-12-27 20:43:44 +00:00
bjh21 1b364c5082 pmap_confess() is unused and doesn't work any more. G/C it. 2000-12-27 18:38:50 +00:00
itojun efa2b7073c make mbstate_t bigger (32 -> 128 bytes).
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare).  really sorry
for the mess.
2000-12-26 10:35:28 +00:00
bjh21 95920110c7 Stub FPU driver -- identifies FPUs and warns they aren't supported. e.g:
cpu0 (root): ARM2
fpu0 at cpu0: FPPC/WE32206
fpu0: WARNING: FPU type not supported by kernel
2000-12-23 13:37:02 +00:00
itojun 823498203f populate _BSD_MBSTATE_T_. add warning regarding to rune_t. 2000-12-21 06:03:47 +00:00
bjh21 395a883e48 Pull across arm32 rev 1.19:
Remove ALTENTRY().  It's dangerous and should not be used.
2000-12-14 20:50:56 +00:00
bjh21 a6b4048c85 Get ELF RCSIDs back 2000-12-14 20:26:42 +00:00
bjh21 14198dc0bd Sync with arm32 -- they've got ELF stuff there these days. 2000-12-14 19:28:12 +00:00
bjh21 4f1ee09e5f It looks like UBC_WINSIZE needs to be at least PAGE_SIZE. 2000-12-10 14:28:45 +00:00
bjh21 4f5619bc7c Prototype kdb_trap(). 2000-12-10 01:31:48 +00:00
bjh21 86dd29d1f5 Add a definition of BUS_SPACE_ALIGNED_POINTER. 2000-12-09 18:47:15 +00:00
bjh21 38d918f85f Proper support for the Unix backplane in those machines that have one.
Not very well-tested, but it seems to work.
2000-12-09 17:52:44 +00:00
bjh21 facbe746d0 Provide friendly names for the IRQs as they're wired in normal machines. 2000-12-09 15:16:01 +00:00
bjh21 9307dc5373 Reduce default UBC_NWINS to save precious KVM. 2000-11-30 20:59:36 +00:00
bjh21 32b19479ca Drastically reduce PAGER_MAP_SIZE so we don't run out of KVM so soon. 2000-11-30 12:16:00 +00:00
bjh21 3112fd4f14 Add a pmap_steal_memory implementation. This has two good consequences.
First, it reduces the kernel text segment by 1k or so.
Second, it should enable me to eventually allocate the pv_table dynamically.
2000-09-23 11:10:58 +00:00
bjh21 7c9498f7cb Move setsoftast() and friends into cpu.h and make them into macros, so arm26
is the same as every other port (except arm32).
2000-08-25 16:43:46 +00:00
thorpej 4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
bjh21 769e82477f Move contents of <machine/spl.h> to <machine/intr.h>.
Add IST_* macros to <machine/intr.h>, mostly for the feature-list tickbox.
Generally tidy up.
2000-08-22 21:27:21 +00:00
thorpej 58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
bjh21 a776e1268d General cleanup of definitions of translation table stuff.
Also add PPN[8] for the A540.  Now all I need are two more RAM cards for my
A540 so I can test it.
2000-08-21 14:37:51 +00:00
thorpej 23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
bjh21 567f2768d1 Implement the easy ptrace requests and turn off the difficult ones. 2000-08-20 15:16:49 +00:00