Changeset 957ce9a5 in mainline


Ignore:
Timestamp:
2012-11-24T23:22:33Z (11 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e5c8bc6
Parents:
65871bb
Message:

arm32: Implement and allow lazy FPU context switching.

It's horribly slow and gui fails to draw things properly.

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • HelenOS.config

    r65871bb r957ce9a5  
    367367
    368368% Lazy FPU context switching
    369 ! [CONFIG_FPU=y&PLATFORM!=arm32] CONFIG_FPU_LAZY (y/n)
     369! [CONFIG_FPU=y] CONFIG_FPU_LAZY (y/n)
    370370
    371371% Use VHPT
  • kernel/arch/arm32/src/exception.c

    r65871bb r957ce9a5  
    161161}
    162162
     163/** Undefined instruction exception handler.
     164 *
     165 * Calls scheduler_fpu_lazy_request
     166 */
     167static void undef_insn_exception(unsigned int exc_no, istate_t *istate)
     168{
     169#ifdef CONFIG_FPU_LAZY
     170        scheduler_fpu_lazy_request();
     171#else
     172        fault_if_from_uspace(istate, "Undefined instruction.");
     173        panic_badtrap(istate, exc_no, "Undefined instruction.");
     174#endif
     175}
     176
    163177/** Initializes exception handling.
    164178 *
     
    174188        install_exception_handlers();
    175189       
     190        exc_register(EXC_UNDEF_INSTR, "undefined instruction", true,
     191            (iroutine_t) undef_insn_exception);
    176192        exc_register(EXC_IRQ, "interrupt", true,
    177193            (iroutine_t) irq_exception);
  • kernel/arch/arm32/src/fpu_context.c

    r65871bb r957ce9a5  
    143143void fpu_init(void)
    144144{
     145        fpu_enable();
    145146}
    146147
Note: See TracChangeset for help on using the changeset viewer.