Commit Graph

25 Commits

Author SHA1 Message Date
mark b360e67c2e arm32 kernel source restructure
- Removed explict profiling calls from the assembly routines
  - Use the *ENTRY() macros on all assembly functions.
  - Clean up exception strings.
1997-10-14 07:56:48 +00:00
mark ec553ec8c0 New version of the ARM FPE core built. This core does not have all the
builtin veneer code. Instead this veneer code has been moved to kernel.
This removes the need for any runtime fixups of the fpe.
1997-07-08 19:41:28 +00:00
mark 649a90497e No need to check for CPU_ARM7500 being defined as this option implies
CPU_ARM7 which has to be checked anyway.
1997-02-03 03:12:09 +00:00
mark cc3383de63 Fixed a couple of STM^ instructions lurking in the FPE core. 1996-12-27 01:46:07 +00:00
mark 02d0fd2ea5 Added function fpe_set_execption_mask() to allow the FP exception mask
to be manipulated.
During initialisation the exception mask is set to allow divide by zero
and overflow exceptions to be signaled.
1996-12-27 01:39:14 +00:00
mark 58e481e13b Call mcount() for all fpe core entry points if GPROF and PROFILE_ASM
are defined.
Switch to SVC32 mode before delivering FP exceptions and switch back
to UND32 mode afterwards before exiting.
1996-10-15 01:37:50 +00:00
mark 24e50982df Report the core identity string now available from the core header when
booting.
After assembling the post FP processing callback branch call
sync_icache() if CPU_SA110 is defined.
Return a valid signal code when raising a SIGFPE exception so
the cause of the SIGFPE can be determined.
Added the functions arm_fpe_getcontext() and arm_fpe_setcontext()
to obtain the FP context in a FPE independant form for the ptrace()
syscall.
1996-10-15 01:31:28 +00:00
mark 0d48d902ea New build of the ARM FPE core. The core header now has a version
number field and an core identity string pointer.
Labels are now defined for all the entry points in the core header
structure so that the linker can relocate the branches to the core.
The core entry points are now branch instructions relative to the
start of the core so the address of the core function does not have to
be calcuated are call time.
1996-10-15 00:49:10 +00:00
mark a6bf04810f Include <machine/fp.h> and <machine/reg.h>
Define the two new fields added to the FPE core header in
the arm_fpe_mod_hdr_t structure.
Added prototypes for arm_fpe_getcontext() and arm_fpe_setcontext().
Updated the prototypes for arm_fpe_core_loadcontext() and
arm_fpe_core_savecontext() to pass a fp_context_frame pointer.
1996-10-15 00:42:46 +00:00
mark 9d18e41fd8 No longer need the relocation function arm_fpe_mod_reloc() as this is now
sorted out at link time.
fpe_arm_header is now the header structure for the fpe and no longer
a pointer to a header structure.
1996-08-21 20:21:05 +00:00
mark 7b8910c01d Vastly simplified the FPE stubs code now that there are labels for all the
core entry points. i.e. the linker does the work rather than the stub code.
Optimised transferring the trapframe between UND32 and SVC32 mode stacks
in the fpe_post_proc handler.
Added experimental code to handle must of userret in UND32 mode. This means
that the copy of the trapframe and the switch to SVC32 mode is only needed
if mi_switch() has to be called. (This saves a vast number of pointless
trapframe copies).
1996-08-21 20:16:30 +00:00
mark 3142731d09 Re-written FPE core header.
Added branches relative to the start of the module and labels to the various
entry points.
All other offsets are now relative to _fpe_arm_start.
This removes the need for boot time relocation of the FPE.
1996-08-21 20:10:04 +00:00
mark e37583ac84 Removed the prototype arm_fpe_mod_reloc(). 1996-08-21 20:06:26 +00:00
mark d4a21812c0 Updated the arm_fpe_boot() prototype. 1996-06-12 19:37:37 +00:00
mark bbf3f35a4c Pass the cpu structure to the FPE boot function so that the FPU class
and type can be updated if a FPA is detected.
1996-06-12 19:37:03 +00:00
mark b2d569c95e Fixed compiler warnings generated with -Wall. 1996-04-26 21:02:49 +00:00
mark 4973a32e6d RCS Id police. 1996-03-18 19:54:53 +00:00
thorpej 5c67e5fad9 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:16:48 +00:00
mark c1b23518d2 ARM FPE is now secure i.e. user processes cannot use FP instructions
to access kernel memory.
1996-02-23 22:20:43 +00:00
mark 23d71d4d59 Fixed undefined instruction handler chaining. The FPE will now correctly
pass on an undefined instruction if it was not an FP instruction.
1996-02-15 22:45:21 +00:00
mark ab9201ff05 Replacement for armfpe.c. This is much nicer. 1996-02-15 22:44:31 +00:00
mark 1f4ced2016 armfpe.c was messy. Removing it in and replacing its function with
armfpe.s
1996-02-15 22:42:17 +00:00
mark 94fa0b2f1b post instruction emulation callback now expects a trapframe structure
to be passed as well as the fp frame.
FPE<->kernel glue code now builds a trapframe structure for passing in
and out of the post instruction emulation callback.
Signal delivery during FP emulation now works correctly.
1996-02-05 16:51:52 +00:00
mycroft fc9d84fb46 assym.s -> assym.h
(Some ports did this already.)
1996-02-02 02:34:09 +00:00
mark 386ad2ff0f Initial commit of the NetBSD/arm32 port. 1996-01-31 23:14:53 +00:00