Uploaded image for project: 'rcX - Operating System'
  1. rcX - Operating System
  2. RCX-476

Registered Exceptionhandlers deliver bad PC location of exception (and restores them if exception is marked handled)

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: V2.0.8.5
    • Fix Version/s: V2.0.8.7
    • Component/s: Kernel
    • Labels:
      None
    • Account:
      SDO rcX (SDORCX)

      Description

      When registering an Exceptionhandler via rX_CpuExptSetSystemVector() the delivered Exception Frame contains wrong value for PC.

      HalExpt_DAB_Exception always substracts 4 from LR and depending of the Thumb Bit it will additionally substract 2.
      ARM Documentation states that LR_dab=PC+8

      HalExpt_PAB_Exception always substracts 4 from LR and depending of the Thumb Bit it will additionally substract 2.
      ARM Documentation states that LR_pab=PC+4

      HalExpt_UND_Exception does not modify LR.
      ARM Documentation states that LR_und=PC+4 (ARM), or PC+2 (Thumb)

        Attachments

          Expenses

            Activity

              Status Description

                People

                • Reporter:
                  MTrensch Michael Trensch
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: