0
Porting FreeRTOS to Xen on 
© 2014 Galois, Inc. All rights reserved. 
ARM 
Jonathan Daugherty (jtd@galois.com) 
Xen Develo...
© 2014 Galois, Inc. All rights reserved. 
Agenda 
§ Background 
§ Project status 
§ Approach 
§ Challenges 
§ Highlig...
Parrot “AR.Drone” 
Quadcopter 
© 2014 Galois, Inc. All rights reserved.
© 2014 Galois, Inc. All rights reserved. 
Inside the Parrot Drone 
Linux FreeRTOS
© 2014 Galois, Inc. All rights reserved. 
Consolidated System 
Linux FreeRTOS
© 2014 Galois, Inc. All rights reserved. 
Benefits of Consolidation 
§ Simpler hardware design 
§ Lower SWAP: Space, 
We...
Our Use Case: SMACCMPilot 
http://smaccmpilot.org/ 
© 2014 Galois, Inc. All rights reserved. 
High-level 
implementation 
...
© 2014 Galois, Inc. All rights reserved. 
Agenda 
§ Background 
§ Project status 
§ Approach 
§ Challenges 
§ Highlig...
© 2014 Galois, Inc. All rights reserved. 
What’s Done 
§ Ported FreeRTOS 7.6.0 to Xen 
4.4 
§ Open source release soon! ...
© 2014 Galois, Inc. All rights reserved. 
What’s Left 
§ Investigate just how “real time” FreeRTOS is on 
Xen 
• Try with...
© 2014 Galois, Inc. All rights reserved. 
Agenda 
§ Background 
§ Project status 
§ Approach 
§ Challenges 
§ Highlig...
Phase 1: Port FreeRTOS to virtual 
© 2014 Galois, Inc. All rights reserved. 
ARMv7-A 
§ Developed ARM kernel in a Xen dom...
© 2014 Galois, Inc. All rights reserved. 
Phase 2: Add PV Support 
§ Used Mini-OS for ARM as a starting point 
• Xenbus 
...
© 2014 Galois, Inc. All rights reserved. 
Agenda 
§ Background 
§ Project status 
§ Approach 
§ Challenges 
§ Highlig...
New guests reveal virtualization 
© 2014 Galois, Inc. All rights reserved. 
gaps 
§ FreeRTOS wants: 
• ARM interrupt prio...
Guest implementation docs are 
© 2014 Galois, Inc. All rights reserved. 
spread out 
§ Required reading: public/xen.h, 
p...
© 2014 Galois, Inc. All rights reserved. 
(Spoiler alert) 
Mini-OS could benefit 
from more testing
XSA-95: malformed kernel 
© 2014 Galois, Inc. All rights reserved. 
binaries crashed ‘xl’
© 2014 Galois, Inc. All rights reserved. 
Agenda 
§ Background 
§ Project status 
§ Approach 
§ Challenges 
§ Highlig...
Xen on ARM is a great 
development platform 
© 2014 Galois, Inc. All rights reserved.
ARM port of Mini-OS by Karim 
Allah was a huge help 
© 2014 Galois, Inc. All rights reserved.
Fantastic support from Xen+ARM 
© 2014 Galois, Inc. All rights reserved. 
developers! 
Thanks to: 
Julien Grall, 
Stefano ...
© 2014 Galois, Inc. All rights reserved. 
Agenda 
§ Background 
§ Project status 
§ Approach 
§ Challenges 
§ Highlig...
PV driver “bugfix negotiation” 
© 2014 Galois, Inc. All rights reserved. 
blkback! 
blkfront!
© 2014 Galois, Inc. All rights reserved. 
libXenGuest.a! 
- Hypercalls! 
- Xenbus! 
- Event chans! 
- Grant tables! 
- Con...
© 2014 Galois, Inc. All rights reserved. 
Implementing 
Xen Guests 
Port your favorite 
OS to Xen!
© 2014 Galois, Inc. All rights reserved. 
Summary 
§ FreeRTOS 7.6.0 running on Xen 4.4 on ARM 
§ Open source release on ...
All trademarks, service marks, trade names, trade dress, product 
names and logos appearing in these slides are the proper...
Upcoming SlideShare
Loading in...5
×

XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, Galois

1,001

Published on

Autonomous vehicles need to run robust autopilot software in resource-constrained environments. Such vehicles are increasingly built on ARM platforms with resources to spare. We have begun investigating the feasibility of using this spare capacity to implement other interesting services on these vehicles by using Xen to separate the real-time autopilot software from a richer, non-real-time Linux system. In order to make this work, we have ported FreeRTOS, a popular minimal operating system for microcontrollers, to run as a Xen guest on the ARM Cortex A15.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,001
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
32
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, Galois"

  1. 1. Porting FreeRTOS to Xen on © 2014 Galois, Inc. All rights reserved. ARM Jonathan Daugherty (jtd@galois.com) Xen Developer Summit | August 19, 2014
  2. 2. © 2014 Galois, Inc. All rights reserved. Agenda § Background § Project status § Approach § Challenges § Highlights § Wishlist
  3. 3. Parrot “AR.Drone” Quadcopter © 2014 Galois, Inc. All rights reserved.
  4. 4. © 2014 Galois, Inc. All rights reserved. Inside the Parrot Drone Linux FreeRTOS
  5. 5. © 2014 Galois, Inc. All rights reserved. Consolidated System Linux FreeRTOS
  6. 6. © 2014 Galois, Inc. All rights reserved. Benefits of Consolidation § Simpler hardware design § Lower SWAP: Space, Weight, and Power § More runtime flexibility Linux FreeRTOS
  7. 7. Our Use Case: SMACCMPilot http://smaccmpilot.org/ © 2014 Galois, Inc. All rights reserved. High-level implementation Generated FreeRTOS implementation
  8. 8. © 2014 Galois, Inc. All rights reserved. Agenda § Background § Project status § Approach § Challenges § Highlights § Wishlist
  9. 9. © 2014 Galois, Inc. All rights reserved. What’s Done § Ported FreeRTOS 7.6.0 to Xen 4.4 § Open source release soon! § Used HaLVM’s C library, now available at https://github.com/ GaloisInc/minlibc
  10. 10. © 2014 Galois, Inc. All rights reserved. What’s Left § Investigate just how “real time” FreeRTOS is on Xen • Try with ARINC 653 scheduler § Test FreeRTOS with Xen 4.5 § Explore adoption (FreeRTOS community?)
  11. 11. © 2014 Galois, Inc. All rights reserved. Agenda § Background § Project status § Approach § Challenges § Highlights § Wishlist
  12. 12. Phase 1: Port FreeRTOS to virtual © 2014 Galois, Inc. All rights reserved. ARMv7-A § Developed ARM kernel in a Xen domain § Ignored PV support for this phase § Used HYPERVISOR_console_io for debugging
  13. 13. © 2014 Galois, Inc. All rights reserved. Phase 2: Add PV Support § Used Mini-OS for ARM as a starting point • Xenbus • Event channels • Grant tables • Xen console § Mini-OS showed how to use hypercalls
  14. 14. © 2014 Galois, Inc. All rights reserved. Agenda § Background § Project status § Approach § Challenges § Highlights § Wishlist
  15. 15. New guests reveal virtualization © 2014 Galois, Inc. All rights reserved. gaps § FreeRTOS wants: • ARM interrupt priorities & priority masking • ARM interrupt nesting § Linux doesn’t use these HW features § Now Xen supports more ARM features
  16. 16. Guest implementation docs are © 2014 Galois, Inc. All rights reserved. spread out § Required reading: public/xen.h, public/arch-arm.h! • Supported hypercalls • ABI requirements § Linux sources for guidance on which hypercalls apply on ARM
  17. 17. © 2014 Galois, Inc. All rights reserved. (Spoiler alert) Mini-OS could benefit from more testing
  18. 18. XSA-95: malformed kernel © 2014 Galois, Inc. All rights reserved. binaries crashed ‘xl’
  19. 19. © 2014 Galois, Inc. All rights reserved. Agenda § Background § Project status § Approach § Challenges § Highlights § Wishlist
  20. 20. Xen on ARM is a great development platform © 2014 Galois, Inc. All rights reserved.
  21. 21. ARM port of Mini-OS by Karim Allah was a huge help © 2014 Galois, Inc. All rights reserved.
  22. 22. Fantastic support from Xen+ARM © 2014 Galois, Inc. All rights reserved. developers! Thanks to: Julien Grall, Stefano Stabellini, Ian Campbell
  23. 23. © 2014 Galois, Inc. All rights reserved. Agenda § Background § Project status § Approach § Challenges § Highlights § Wishlist
  24. 24. PV driver “bugfix negotiation” © 2014 Galois, Inc. All rights reserved. blkback! blkfront!
  25. 25. © 2014 Galois, Inc. All rights reserved. libXenGuest.a! - Hypercalls! - Xenbus! - Event chans! - Grant tables! - Console!
  26. 26. © 2014 Galois, Inc. All rights reserved. Implementing Xen Guests Port your favorite OS to Xen!
  27. 27. © 2014 Galois, Inc. All rights reserved. Summary § FreeRTOS 7.6.0 running on Xen 4.4 on ARM § Open source release on GitHub soon! § Minimal C library at https://github.com/GaloisInc § Learn more about SMACCMPilot at http://smaccmpilot.org/ Get in touch at jtd@galois.com!
  28. 28. All trademarks, service marks, trade names, trade dress, product names and logos appearing in these slides are the property of their respective owners, including in some instances Galois, Inc. All rights are reserved. © 2014 Galois, Inc. All rights reserved.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×