Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consistent feature dependency checks based on ARMvX-M #6022

Closed
carlescufi opened this issue Feb 7, 2018 · 2 comments
Closed

Consistent feature dependency checks based on ARMvX-M #6022

carlescufi opened this issue Feb 7, 2018 · 2 comments
Assignees
Labels
area: Architectures area: ARM ARM (32-bit) Architecture Enhancement Changes/Updates/Additions to existing features
Milestone

Comments

@carlescufi
Copy link
Member

Introduce checks for the different ARMvX-M registers and features so that we make sure that they are not accidentally enabled by the users.
This includes VTOR, BASEPRI and all of the rest of the ARMvX-M features.

@carlescufi carlescufi added Enhancement Changes/Updates/Additions to existing features area: ARM ARM (32-bit) Architecture area: Architectures labels Feb 7, 2018
@carlescufi carlescufi added this to the v1.12.0 milestone Feb 7, 2018
@carlescufi carlescufi changed the title Consistent feature dependency based on ARMvX-M Consistent feature dependency checks based on ARMvX-M Feb 7, 2018
@ioannisg
Copy link
Member

ioannisg commented Feb 9, 2018

Core ARM registers in the different Cortex implementations:

  1. VTOR register
  • holds the vector table [offset] address
  • Implementation:
    • Cortex M0: not present
    • Cortex M0+: optional
    • Cortex M3: present
    • Cortex M4: present
    • Cortex M23: optional
    • Cortex M33: present
  1. BASEPRI register
  • Base priority MASK register (masking out lower priorities)
  • Implementation:
    • Cortex M0: not present
    • Cortex M0+: not present
    • Cortex M3: present
    • Cortex M4: present
    • Cortex M23: not present
    • Cortex M33: present
  1. FAULTMASK register
  • Fault priority MASK register (masking out exceptions other than NMI)
  • Implementation:
    • Cortex M0: not present
    • Cortex M0+: not present
    • Cortex M3: present
    • Cortex M4: present
    • Cortex M23: not present
    • Cortex M33: present
    • Cortex M7: present
  1. PRIMASK register
  • Prevents activation of all exception with configurable priority
  • Implementation: present in all Cores
  1. CONTROL regsister
  • controls the stack used when the processor is in Thread mode
  • Implementation: present in all Cores
  1. MSPLIM, PSPLIM registers
  • Stack limit registers
  • Implementation:
    • Cortex M0,M0+, M3, M4, M7: not present
    • Cortex M23: present only if Securtiy Extension is implemented
    • Cortex M33: present

@ioannisg
Copy link
Member

Closing this (#6143) is reviewed and merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Architectures area: ARM ARM (32-bit) Architecture Enhancement Changes/Updates/Additions to existing features
Projects
None yet
Development

No branches or pull requests

2 participants