Skip to content

Enabled uVisor secure mode for K64F #1936

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

Merged
merged 8 commits into from
Jun 14, 2016
Merged

Enabled uVisor secure mode for K64F #1936

merged 8 commits into from
Jun 14, 2016

Conversation

meriac
Copy link
Contributor

@meriac meriac commented Jun 14, 2016

  • new uVisor binary release
  • update register-level access gateway code
  • K64F example usage for K64F
  • __disable_irq conditionally disabled for uVisor-enabled mode

@sg- @0xc0170 @AlessandroA @Patater @niklas-arm

AlessandroA and others added 8 commits June 14, 2016 14:06
If you don't specify the start address of a section explicitly, that
section can end up at different addresses depending on its alignment. If
the alignment of a section is not explicitly set, it inherits it from
the element with the highest alignment inside that section.

Since the uVisor code is in the .text section, and it *must* end up at a
known location, we set the start address of .text to 0x410, which is the
value that the uVisor binary expects.
This allows FEATURE_UVISOR to virtualize the NVIC calls.
This is a hack to get debug builds applications that use uVisor to work.
The assertions in core_util_critical_section fail because interrupts can't
actually be disabled from unprivileged mode.

Without this hack, core_util_critical_section_enter() calls
mbed_assert_internal() when the assertion fails, which calls
core_util_critical_section_enter() again, which calls
mbed_assert_internal() again; this is infinite recursion.

core_util_critical_section_enter needs some fixing.
@meriac
Copy link
Contributor Author

meriac commented Jun 14, 2016

@mbed-bot: TEST

HOST_OSES=windows
BUILD_TOOLCHAINS=GCC_ARM,ARM,uARM,IAR
TARGETS=LPC1768,K64F,KL25Z,RZ_A1H,NUCLEO_F411RE,NUCLEO_L053R8

@mbed-bot
Copy link

[Build 476]
FAILURE: Something went wrong when building and testing.

@sg- sg- merged commit bbb5070 into ARMmbed:master Jun 14, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants