Changeset 8d25b44 in mainline


Ignore:
Timestamp:
2006-03-20T10:51:57Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1b109cb
Parents:
ad64a2d
Message:

Allowed saving less registers.

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • Makefile

    rad64a2d r8d25b44  
    7575ifeq ($(CONFIG_FPU_LAZY),y)
    7676        DEFS += -DCONFIG_FPU_LAZY
     77endif
     78ifeq ($(CONFIG_DEBUG_ALLREGS),y)
     79        DEFS += -DCONFIG_DEBUG_ALLREGS
    7780endif
    7881
  • arch/amd64/src/asm_utils.S

    rad64a2d r8d25b44  
    122122# Push all general purpose registers on stack except %rbp, %rsp
    123123.macro save_all_gpr
    124         movq %rbp, IOFFSET_RBP(%rsp)
    125124        movq %rax, IOFFSET_RAX(%rsp)
    126         movq %rbx, IOFFSET_RBX(%rsp)
    127125        movq %rcx, IOFFSET_RCX(%rsp)
    128126        movq %rdx, IOFFSET_RDX(%rsp)
     
    133131        movq %r10, IOFFSET_R10(%rsp)
    134132        movq %r11, IOFFSET_R11(%rsp)
     133#ifdef CONFIG_DEBUG_ALLREGS     
     134        movq %rbx, IOFFSET_RBX(%rsp)
     135        movq %rbp, IOFFSET_RBP(%rsp)
    135136        movq %r12, IOFFSET_R12(%rsp)
    136137        movq %r13, IOFFSET_R13(%rsp)
    137138        movq %r14, IOFFSET_R14(%rsp)
    138139        movq %r15, IOFFSET_R15(%rsp)
     140#endif
    139141.endm
    140142
    141143.macro restore_all_gpr
    142         movq IOFFSET_RBP(%rsp), %rbp
    143144        movq IOFFSET_RAX(%rsp), %rax
    144         movq IOFFSET_RBX(%rsp), %rbx
    145145        movq IOFFSET_RCX(%rsp), %rcx
    146146        movq IOFFSET_RDX(%rsp), %rdx
     
    151151        movq IOFFSET_R10(%rsp), %r10
    152152        movq IOFFSET_R11(%rsp), %r11
     153#ifdef CONFIG_DEBUG_ALLREGS     
     154        movq IOFFSET_RBX(%rsp), %rbx
     155        movq IOFFSET_RBP(%rsp), %rbp
    153156        movq IOFFSET_R12(%rsp), %r12
    154157        movq IOFFSET_R13(%rsp), %r13
    155158        movq IOFFSET_R14(%rsp), %r14
    156159        movq IOFFSET_R15(%rsp), %r15
     160#endif
    157161.endm
    158162
     163#ifdef CONFIG_DEBUG_ALLREGS
     164# define INTERRUPT_ALIGN 256
     165#else
     166# define INTERRUPT_ALIGN 128
     167#endif
     168       
    159169## Declare interrupt handlers
    160170#
     
    181191                         */
    182192                        subq $IREGISTER_SPACE, %rsp
    183                         nop
    184                         nop
    185                         nop
    186193                .else
    187194                        /*
     
    208215        iretq
    209216
     217        .align INTERRUPT_ALIGN
    210218        .if (\n-\i)-1
    211219        handler "(\i+1)",\n
    212220        .endif
    213221.endm
    214        
     222
     223.align INTERRUPT_ALIGN
    215224interrupt_handlers:
    216225h_start:
  • arch/mips32/src/start.S

    rad64a2d r8d25b44  
    7070        sw $at, EOFFSET_HI(\r)
    7171       
     72#ifdef CONFIG_DEBUG_ALLREGS     
    7273        sw $s0,EOFFSET_S0(\r)
    7374        sw $s1,EOFFSET_S1(\r)
     
    7879        sw $s6,EOFFSET_S6(\r)
    7980        sw $s7,EOFFSET_S7(\r)
    80         sw $s8,EOFFSET_S8(\r)   
     81        sw $s8,EOFFSET_S8(\r)
     82#endif
     83       
    8184        sw $gp,EOFFSET_GP(\r)
    8285        sw $ra,EOFFSET_RA(\r)
     
    106109        lw $t8,EOFFSET_T8(\r)
    107110        lw $t9,EOFFSET_T9(\r)
     111       
     112#ifdef CONFIG_DEBUG_ALLREGS     
    108113        lw $s0,EOFFSET_S0(\r)
    109114        lw $s1,EOFFSET_S1(\r)
     
    115120        lw $s7,EOFFSET_S7(\r)
    116121        lw $s8,EOFFSET_S8(\r)
     122#endif
    117123        lw $gp,EOFFSET_GP(\r)
    118124        lw $ra,EOFFSET_RA(\r)
  • kernel.config

    rad64a2d r8d25b44  
    7474! [CONFIG_DEBUG=y&(ARCH=amd64|ARCH=ia32)] CONFIG_DEBUG_AS_WATCHPOINT (y/n)
    7575
     76# Save all interrupt registers
     77! [CONFIG_DEBUG=y&(ARCH=amd64|ARCH=mips)] CONFIG_DEBUG_ALLREGS (y/n)
     78
    7679## Run-time configuration directives
    7780
Note: See TracChangeset for help on using the changeset viewer.