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

v7-M IPC #444

Merged
merged 6 commits into from
Jul 13, 2017
Merged

v7-M IPC #444

merged 6 commits into from
Jul 13, 2017

Conversation

Patater
Copy link
Contributor

@Patater Patater commented Jul 3, 2017

This depends on https://github.com/ARMmbed/uvisor-tests/pull/129 being merged first.

@niklas-arm

@Patater Patater force-pushed the ipc-v7m branch 3 times, most recently from 55099f8 to 282ecea Compare July 6, 2017 13:35
Patater added 2 commits July 6, 2017 14:36
To avoid undefined behavior, replace the signed "times" counter with an unsigned one. We don't need to track negative times anyway.

./core/vmpu/src/mpu_armv8m/vmpu_armv8m_unpriv_access.c: In function 'vmpu_unpriv_access':
./core/vmpu/src/mpu_armv8m/vmpu_armv8m_unpriv_access.c:126:1: error: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Werror=strict-overflow]
 }
  ^
  ./core/vmpu/src/mpu_armv8m/vmpu_armv8m_unpriv_access.c:94:10: error: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Werror=strict-overflow]
   uint32_t vmpu_unpriv_access(uint32_t addr, uint32_t size, uint32_t data)
To ensure our sanity checks stay sane, it's good to make sure we aren't
invoking undefined overflow behavior. Make the compiler warn us when it
attempts to take advantage of undefined overflow in optimizing.
@Patater Patater changed the title WIP v7-M IPC v7-M IPC Jul 6, 2017
@Patater Patater force-pushed the ipc-v7m branch 2 times, most recently from a32151b to aa6d98a Compare July 6, 2017 15:59
Copy link
Contributor

@niklarm niklarm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

\o/ for string overflow!

Patater added 3 commits July 13, 2017 13:46
Fixes 10d456b ("Implement buffer_access_is_ok for v7 and Kinetis MPU")
Previously, we didn't deliver IPC messages on ARMv7-M platforms, as we
weren't draining the IPC queue on thread switch. Drain the queue.
This enables uvisor and uvisor-tests to stay synchronized.
@Patater Patater merged commit 3d22ff0 into ARMmbed:master Jul 13, 2017
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.

None yet

2 participants