This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SYSBIOS: When will sys/bios support the save&restore of VCU and FPU64's registers at context switching?

Part Number: SYSBIOS

Hi everyone,

A student of mine find this problem when trying to do some complex math jobs in two different task.

I checked Hwi_disp_asm.s28. SYS/BIOS only save&restore the fixed-point registers and FPU32 registers.

dispatchMain    .macro      ; body of dispatcher

        ; At this point, the following registers have already been saved:
        ; ** Automatic interrupt context save (see SPRU513C) **
        ; ST0, T, AL, AH, PL, PH, AR0, AR1, DP, ST1, DBGSTAT, PC, and IER.
        ; ** Pushed on stack so far **
        ; XAR4

        clrc    page0,ovm
        spm     0

        ; Save C context
        push    ar1h:ar0h

        push    xar6
        push    xar7
        push    xt

    .if  (.TMS320C2800_FPU32 == 1)
        ; Save 28FP registers
        mov32   *sp++, stf      ; Save FPU status reg
        mov32   *sp++, r0h      ; Save floating point regs
        mov32   *sp++, r1h      ; only r0h-r3h required here
        mov32   *sp++, r2h
        mov32   *sp++, r3h
        setflg  rndf32=1
    .endif

        ; align sp since acc is two words
        mov     ah,@sp
        asp
        push    acc

        ; Place intNum in register 'al'
        mov     al, ar5
        sub     al, #0xd00      ; al has vect id * 2
        lsr     al, #1          ; al has vect id

        movl    xar4, #_ti_sysbios_family_c28_Hwi_dispatchC__I
        lcr     *xar4

        .endm

When wil TI fix this bug?