API for these operations to be used in multiple OSes or “bare-metal”
API for these operations to be used in multiple OSes or “bare-metal”
API for these operations to be used in multiple OSes or “bare-metal”
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
August 2012<br />
TM<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire,<br />
ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis, mobileGT, PowerQUICC,<br />
Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of<br />
Freescale Semiconduc<strong>to</strong>r, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack,<br />
C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and<br />
Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All other product <strong>or</strong> service<br />
names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.<br />
.
• What is Multic<strong>or</strong>e 2.0<br />
• Optimizations<br />
• Virtualization<br />
• Usability<br />
• Distribution<br />
• Software Environments<br />
• A Multic<strong>or</strong>e Decision Tree<br />
TM<br />
2<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
• Optimization<br />
− Layer 2<br />
� UIO and USDPAA<br />
� C<strong>or</strong>e aff<strong>in</strong>ity<br />
� ASF/Bypass<br />
� Hugetlbfs<br />
− Layer 3<br />
� TCP term<strong>in</strong>ation<br />
− Power<br />
• Virtualization<br />
− KVM<br />
− Conta<strong>in</strong>ers<br />
− Topaz<br />
TM<br />
• Usability<br />
− DPAA<br />
� Reference SW<br />
� SEC enablement<br />
� DPAA<br />
programmability<br />
� New User Guides<br />
− Distribution options<br />
� Git trees<br />
� Virtual environments<br />
� Yoc<strong>to</strong><br />
3<br />
• SW environments<br />
− L<strong>in</strong>ux<br />
− Bare Metal<br />
− Foundational<br />
Libraries<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
C<strong>or</strong>e Aff<strong>in</strong>ity<br />
TM<br />
Bypass<br />
4<br />
User Space IO - UIO<br />
Hugetlbfs<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
User space apps get<br />
direct zero-copy<br />
access <strong>to</strong> all DPAA<br />
HW<br />
Benefits:<br />
• Rich and flexible environment– use L<strong>in</strong>ux standard services rather<br />
than <strong>in</strong>vent<strong>in</strong>g new ones (C++, 36-bit, 8 th c<strong>or</strong>e, debug, etc).<br />
• Standard– L<strong>in</strong>ux is ubiqui<strong>to</strong>us and supp<strong>or</strong>ted from <strong>multiple</strong> sources.<br />
• Provides high-per<strong>f<strong>or</strong></strong>mance run-<strong>to</strong>-completion but other use-cases<br />
also– a use case super-set.<br />
TM<br />
Buffer<br />
Manager<br />
others<br />
User Space Application<br />
Queue<br />
Manager<br />
Security Eng<strong>in</strong>e<br />
(cryp<strong>to</strong>)<br />
5<br />
Pattern Match<br />
Eng<strong>in</strong>e<br />
Frame<br />
Manager<br />
Ethernet<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
• Low-level, high-efficiency programm<strong>in</strong>g <strong>f<strong>or</strong></strong> subset of system SW<br />
that represents bulk of w<strong>or</strong>kload and is w<strong>or</strong>th a lot of optimization.<br />
• Fast-path offload of a router stack (like a SW ASIC)<br />
• Layer 2 and up <strong>in</strong> a cell base station<br />
• Software fed by bump-<strong>in</strong>-wire net stack (like IPSEC), often with specialcase<br />
assumptions allowed <strong>be</strong>cause netw<strong>or</strong>k is controlled.<br />
L<strong>in</strong>ux Bare Metal Style SW<br />
c<strong>or</strong>e c<strong>or</strong>e c<strong>or</strong>e c<strong>or</strong>e<br />
TM<br />
L<strong>in</strong>ux<br />
c<strong>or</strong>e<br />
c<strong>or</strong>e c<strong>or</strong>e c<strong>or</strong>e c<strong>or</strong>e<br />
6<br />
Bare metal software<br />
migrates from runn<strong>in</strong>g<br />
alongside L<strong>in</strong>ux on its own<br />
c<strong>or</strong>es <strong>to</strong> runn<strong>in</strong>g with<strong>in</strong> a<br />
L<strong>in</strong>ux user space process<br />
Bare Metal Style SW<br />
c<strong>or</strong>e<br />
Not really <strong>in</strong>tended <strong>f<strong>or</strong></strong> legacy user space applications, but there is<br />
<strong>in</strong>terest <strong>in</strong> this.<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
P<strong>or</strong>tals mapped<br />
directly <strong>in</strong><strong>to</strong><br />
application’s virtual<br />
address space.<br />
enqueue,<br />
dequeue,<br />
and m<strong>or</strong>e<br />
TM<br />
L<strong>in</strong>ux User Space<br />
Application<br />
QMan and BMap Access<br />
<strong>API</strong> Library<br />
QMan SW<br />
P<strong>or</strong>tal<br />
QMan<br />
Queue<br />
Manager<br />
7<br />
BMan SW<br />
P<strong>or</strong>tal<br />
BMan<br />
Buffer<br />
Manager<br />
No system call <strong>or</strong><br />
kernel context switch<br />
<strong>to</strong> access a p<strong>or</strong>tal.<br />
acquire,<br />
release,<br />
and m<strong>or</strong>e<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
Other Other<br />
Processes Processes<br />
Net Stack<br />
Eth Driver<br />
thread<br />
QP<strong>or</strong>tal<br />
BP<strong>or</strong>tal<br />
C0<br />
QP<strong>or</strong>tal<br />
BP<strong>or</strong>tal<br />
kernel<br />
QP<strong>or</strong>tal<br />
TM<br />
C1<br />
Other Driver<br />
BQMan Drivers<br />
USDPAA Application Can Use 1 <strong>to</strong> 8 C<strong>or</strong>es (P4080)<br />
Each thread has a dedicated p<strong>or</strong>tal and is aff<strong>in</strong>e <strong>to</strong> a c<strong>or</strong>e,<br />
1 thread per c<strong>or</strong>e<br />
BP<strong>or</strong>tal<br />
QP<strong>or</strong>tal<br />
BP<strong>or</strong>tal<br />
C2<br />
USDPAA Memcached<br />
thread thread thread thread thread thread thread<br />
QP<strong>or</strong>tal<br />
BP<strong>or</strong>tal<br />
C3<br />
8<br />
QP<strong>or</strong>tal<br />
BP<strong>or</strong>tal<br />
C4<br />
BMan / QMan<br />
FMan Ethernet<br />
P<strong>or</strong>ts<br />
QP<strong>or</strong>tal<br />
BP<strong>or</strong>tal<br />
C5<br />
QP<strong>or</strong>tal<br />
BP<strong>or</strong>tal<br />
C6<br />
QP<strong>or</strong>tal<br />
BP<strong>or</strong>tal<br />
C7<br />
isolated c<strong>or</strong>es<br />
7 c<strong>or</strong>es are isolated but 1 can<br />
run an USDPAA thread as<br />
well as other processes.<br />
C<strong>or</strong>e 0 has p<strong>or</strong>tal <strong>f<strong>or</strong></strong> kernel use and standard L<strong>in</strong>ux netw<strong>or</strong>k<strong>in</strong>g<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
TM<br />
L<strong>in</strong>ux Netw<strong>or</strong>k Process<strong>in</strong>g<br />
ASF: Data Path Acceleration <strong>in</strong> Software<br />
9<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
• When a process uses mem<strong>or</strong>y, the CPU marks the RAM as<br />
<strong>used</strong> by that process.<br />
• F<strong>or</strong> efficiency, the CPU allocates RAM by chunks of 4K bytes<br />
(it's the default value on many plat<strong>f<strong>or</strong></strong>ms) called pages (can <strong>be</strong><br />
swapped <strong>to</strong> disk, etc)<br />
• S<strong>in</strong>ce the process address space is virtual, the CPU and the<br />
operat<strong>in</strong>g system have <strong>to</strong> remem<strong>be</strong>r which page <strong>be</strong>long <strong>to</strong><br />
which process, and where it is s<strong>to</strong>red<br />
• Obviously, the m<strong>or</strong>e pages you have, the m<strong>or</strong>e time it takes <strong>to</strong><br />
f<strong>in</strong>d where the mem<strong>or</strong>y is mapped<br />
− e.g. when a process uses 1GB of mem<strong>or</strong>y, that's 262144 entries <strong>to</strong><br />
look up (1GB / 4K).<br />
− If one Page Table Entry consume 8 bytes, that's 2MB (262144 * 8)<br />
<strong>to</strong> look-up.<br />
TM<br />
10<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
• The default page size <strong>in</strong> L<strong>in</strong>ux is 4KB<br />
• The amount of mem<strong>or</strong>y mappable <strong>in</strong> TLB0 with 4KB pages is small, which leads<br />
<strong>to</strong> TLB0 misses. Maj<strong>or</strong> contribu<strong>to</strong>rs are;<br />
− TLB0 is shared <strong>be</strong>tween <strong>multiple</strong> processes<br />
− TLB0 is <strong>used</strong> <strong>f<strong>or</strong></strong> mapp<strong>in</strong>g both <strong>in</strong>structions and data<br />
− A s<strong>in</strong>gle MMU-hogg<strong>in</strong>g process <strong>in</strong> the system can have per<strong>f<strong>or</strong></strong>mance impact on<br />
other processes runn<strong>in</strong>g <strong>in</strong> the system due <strong>to</strong> TLB0 thrash<strong>in</strong>g<br />
− A s<strong>in</strong>gle processes may use significantly m<strong>or</strong>e than 2MB<br />
• TLB miss can impact the latency by reload<strong>in</strong>g TLB entries<br />
• TLB1: <strong>f<strong>or</strong></strong> e500 process<strong>or</strong> families, and supp<strong>or</strong>ts a num<strong>be</strong>r of large page sizes<br />
Process<strong>or</strong> # of TLB0<br />
entries<br />
TM<br />
Amount mappable by<br />
TLB0<br />
# of TLB1 entries Page size <strong>f<strong>or</strong></strong> TLB1<br />
E500V1 256 1MB 16 4KB, 16KB, 64KB, 256KB, 1MB, 4MB,<br />
16MB, 64MB, 256MB<br />
E500V2 512 2MB 16 Same as e599V1, plus 1GB, 4GB<br />
E500mc/e5500 512 2MB 64 Same as E500v2<br />
11<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
• Hugetlbfs allows the L<strong>in</strong>ux kernel <strong>to</strong> use large pages mapped<br />
by TLB1 <strong>f<strong>or</strong></strong> user processes<br />
− The kernel itself does not use “hugetlb”; it uses a few large TLB1<br />
entries <strong>to</strong> map some amount of mem<strong>or</strong>y us<strong>in</strong>g large mapp<strong>in</strong>gs<br />
• Hugepages can <strong>be</strong> allocated/<strong>used</strong> a num<strong>be</strong>r of ways:<br />
− Specify SHM_HUGETLB flag <strong>to</strong> shmget()<br />
− L<strong>in</strong>k application with hugetlbfs <strong>to</strong> enable shmget() <strong>to</strong> use<br />
hugepages<br />
− L<strong>in</strong>k application with libhugetlbfs <strong>to</strong> cause malloc() <strong>to</strong> use<br />
hugepages<br />
− Explicitly l<strong>in</strong>k application program <strong>f<strong>or</strong></strong> hugepage text, data, and/<strong>or</strong><br />
BSS<br />
− Specify MAP_HUGE <strong>to</strong> anonymous mmap()<br />
− mmap() a file on the hugetlb mount po<strong>in</strong>t<br />
� *Note – some of <strong>these</strong> methods can <strong>be</strong> comb<strong>in</strong>ed<br />
TM<br />
12<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
• BGP/BFD per<strong>f<strong>or</strong></strong>mance <strong>be</strong>nchmark:<br />
− BFD utilize USDPAA technology, which has utilized hugetlb technology, and<br />
shows very competible result by compar<strong>in</strong>g competi<strong>to</strong>rs on P4080. P50xx<br />
will <strong>be</strong> much <strong>be</strong>tter.<br />
1G Ethernet p<strong>or</strong>t 4,629 sessions/3.3ms (1G p<strong>or</strong>t l<strong>in</strong>e rate)<br />
10G Ethernet p<strong>or</strong>t 10,200 sessions/3.3ms<br />
− BGP result is under preparation, we are try<strong>in</strong>g <strong>to</strong> utilize hugetlb <strong>f<strong>or</strong></strong><br />
optimization on P5020:<br />
� Here is the prelimenary result:<br />
• BGP data comparison (Note: T1: Learn<strong>in</strong>g 300,000 rout<strong>in</strong>g tables, T2: 300,000 rout<strong>in</strong>g tables<br />
convergence time )<br />
TM<br />
T1 (Seconds) T2 (Seconds)<br />
MPC8572ds 19 24<br />
P5020ds 11 13<br />
P5020ds Vs.MPC8572ds 142% 137.5%<br />
13<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
• Benefits<br />
− User processes which access a lot of mem<strong>or</strong>y have fewer page faults<br />
− Other processes can <strong>be</strong>nefit <strong>be</strong>cause their 4k pages aren’t gett<strong>in</strong>g<br />
evicted by mem<strong>or</strong>y hog processes<br />
− Per<strong>f<strong>or</strong></strong>mance ga<strong>in</strong>s can <strong>be</strong> *significant* <strong>f<strong>or</strong></strong> applications with a large<br />
mem<strong>or</strong>y footpr<strong>in</strong>t<br />
• Limitations<br />
− Num<strong>be</strong>r of concurrent huge pages <strong>in</strong> TLB1 is limited<br />
− Hugepage adds m<strong>in</strong><strong>or</strong> latency <strong>to</strong> critical kernel paths even <strong>f<strong>or</strong></strong> 4k pages<br />
− Hugepages should only <strong>be</strong> <strong>used</strong> when needed, as they are m<strong>or</strong>e costly<br />
<strong>f<strong>or</strong></strong> the kernel <strong>to</strong> manage<br />
TM<br />
14<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
TCP receive<br />
hardware offload<br />
FAST-TCP-ACK<br />
L4 SKB-recycl<strong>in</strong>g<br />
Soft-TSO<br />
Receive file<br />
supp<strong>or</strong>t<br />
Cache optimizations<br />
(L2SRAM,data prefetch)<br />
Adaptive load-balance<br />
Non-DPAA DPAA<br />
Done<br />
Implement<strong>in</strong>g<br />
TM<br />
Plann<strong>in</strong>g<br />
Non-DPAA SDK<br />
Non-DPAA SDK<br />
non-DPAA SDK<br />
Non-DPAA SDK<br />
non-DPAA SDK<br />
2010 2011 2012 2013<br />
15<br />
Unified SDK1.2<br />
Unified SDK1.2<br />
Unified SDK<br />
Unified SDK<br />
Unified SDK<br />
Unified SDK<br />
Unified SDK<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
MPC83xx<br />
e500v2<br />
e500mc/e5500<br />
e6500<br />
dynamic power<br />
management<br />
MPC83xx suspend<br />
e500v2 sleep<br />
e500v2 deep sleep<br />
e500v2 idle<br />
Already available<br />
TM<br />
e500v2 JOG<br />
eTSEC wakeup on netw<strong>or</strong>k<br />
SDK<br />
1.2<br />
Compatibility of legacy drivers<br />
e500mc sleep<br />
Synology on-demand NAS server product<br />
e500mc frequency scal<strong>in</strong>g<br />
PH30 and PCL10 states<br />
Cascade Power<br />
Cascade<br />
Management<br />
PM demo<br />
demo<br />
2012 2013<br />
16<br />
SDK<br />
1.3<br />
TMU<br />
T1040 Deep Sleep<br />
Compatibility of DPAA drivers<br />
SDK<br />
1.4<br />
Proposal<br />
Plann<strong>in</strong>g<br />
Execution<br />
F<strong>in</strong>ished<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
Partition<strong>in</strong>g Virtualization<br />
• Hardware consolidation<br />
• Partitioned/dedicated<br />
resources, m<strong>in</strong>imal<br />
shar<strong>in</strong>g.<br />
• Dedicated CPUs, I/O<br />
devices<br />
OS OS<br />
TM<br />
17<br />
OS<br />
• N virtual mach<strong>in</strong>es<br />
• Resource shar<strong>in</strong>g,<br />
oversubscription<br />
• Virtual I/O<br />
• Highly virtualized<br />
environment<br />
• Live migration<br />
OS<br />
OS OS<br />
CPU CPU CPU CPU<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
Utilization<br />
Consolidation<br />
Dynamic Resource Management<br />
TM<br />
18<br />
Security/Sandbox<strong>in</strong>g<br />
Fail over<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
• KVM is a L<strong>in</strong>ux ® kernel<br />
driver<br />
• User space <strong>to</strong>ol,<br />
QEMU, is <strong>used</strong> <strong>in</strong><br />
conjunction with KVM<br />
• Solution is open<br />
source<br />
• Num<strong>be</strong>r of virtual<br />
mach<strong>in</strong>es is only<br />
limited by available<br />
resources (CPU<br />
cycles, mem<strong>or</strong>y)<br />
TM<br />
• A lightweight framew<strong>or</strong>k<br />
<strong>f<strong>or</strong></strong> partition<strong>in</strong>g an SoC<br />
• Gives you the <strong>be</strong>st of<br />
both w<strong>or</strong>lds– bare metal<br />
per<strong>f<strong>or</strong></strong>mance with<br />
en<strong>f<strong>or</strong></strong>ced partition<strong>in</strong>g and<br />
fully architected<br />
approach <strong>to</strong> meet<strong>in</strong>g<br />
AMP requirements<br />
• Solves many of the<br />
headaches of runn<strong>in</strong>g<br />
<strong>multiple</strong> unsupervised<br />
<strong>OSes</strong><br />
• Threads appear as<br />
c<strong>or</strong>es <strong>to</strong> OS<br />
19<br />
•<br />
•<br />
•<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.<br />
C<br />
P<br />
U<br />
COS<br />
App<br />
COS<br />
L<strong>in</strong>ux<br />
Multic<strong>or</strong>e Hardware<br />
COS<br />
LXC LXC LXC<br />
CP<br />
U<br />
USDPAA USDPAA<br />
CP<br />
U<br />
C<br />
P<br />
U
TM<br />
20<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
1. Design of user-space (US) DPAA apps via reference software<br />
− 8 sample apps (<strong>be</strong>nchmarks of code, doc, perf) <strong>f<strong>or</strong></strong> IPFwd, IPSec, cryp<strong>to</strong>, PME, sRIO, RMAN<br />
− Optimization of open-source libraries <strong>f<strong>or</strong></strong> USDPAA (SNORT-DAQ, OpenSSL)<br />
− Additional set of cus<strong>to</strong>mer-specific demos/<strong>be</strong>nchmarks delivered by L3 team<br />
2. New <strong>to</strong>ols <strong>to</strong> offer control of DPAA<br />
− Q<strong>or</strong>IQ Configuration Suite<br />
− Scenario Analysis Tool, <strong>in</strong>clud<strong>in</strong>g 70 pre-def<strong>in</strong>ed scenarios<br />
− SPID (Services <strong>f<strong>or</strong></strong> Profil<strong>in</strong>g, Instrumentation, and Debugg<strong>in</strong>g)<br />
3. Improved accessibility and usability of documentation<br />
− Better guidance through documentation maps<br />
− Redesigned documentation <strong>f<strong>or</strong></strong> USDPAA examples and <strong>to</strong>ols<br />
− Application notes and design primers derived from cus<strong>to</strong>mer optimization experience<br />
4. Improved out-of-the-box experience and reduced <strong>in</strong>stallation ef<strong>f<strong>or</strong></strong>t<br />
− virtual environment (Virtual Box) that bundles pre-<strong>in</strong>stalled SDK, CW, DPAA <strong>to</strong>ols, docs<br />
− “a-la-carte” delivery method <strong>f<strong>or</strong></strong> open-source software from git.freescale.com<br />
TM<br />
21<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
1. SEC Enablement<br />
− New Descrip<strong>to</strong>r development <strong>to</strong>ols<br />
− M<strong>or</strong>e robust and complete <strong>API</strong>’s and Descrip<strong>to</strong>r Libraries<br />
2. Extension of reference software <strong>f<strong>or</strong></strong> User Space DPAA<br />
− Functional updates <strong>to</strong> exist<strong>in</strong>g USDPAA reference code<br />
− Optimized implementation of OSS: SNORT-DAQ, OpenSSL<br />
3. Extension of DPAA based analysis <strong>to</strong>ols<br />
− QCS supp<strong>or</strong>t <strong>f<strong>or</strong></strong> USDPAA and m<strong>or</strong>e process<strong>or</strong>s<br />
− Evolution of SPID and Packet trac<strong>in</strong>g <strong>to</strong>ols <strong>f<strong>or</strong></strong> DPAA<br />
4. Additions and Improvements of documentation delivery<br />
− Conceptual (why), procedural (how), functional (what)<br />
− New app notes and DPAA p<strong>or</strong>t<strong>in</strong>g guidel<strong>in</strong>es<br />
5. Diversify means of distribut<strong>in</strong>g products<br />
− Cont<strong>in</strong>ue with Virtual Environment<br />
− Launch “a-la-carte” delivery via git.freescale.com (copy of <strong>in</strong>ternal repos)<br />
− Em<strong>be</strong>dded distributions<br />
TM<br />
22<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
• Implemented run-time assembly language <strong>f<strong>or</strong></strong> DECO’s programm<strong>in</strong>g<br />
− Similar <strong>to</strong> standard assemblers<br />
− Source is available and easy <strong>to</strong> understand<br />
− Err<strong>or</strong> check<strong>in</strong>g<br />
− Intuitive syntax<br />
− Simplify<strong>in</strong>g understand<strong>in</strong>g and writ<strong>in</strong>g code<br />
TM<br />
23<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
• Scenarios Tool<br />
− Simple one click access <strong>to</strong> common per<strong>f<strong>or</strong></strong>mance analysis<br />
scenarios <strong>f<strong>or</strong></strong> Q<strong>or</strong>IQ – <strong>in</strong>clud<strong>in</strong>g DPAA Debug IP<br />
− Removed need from cus<strong>to</strong>mer <strong>to</strong> know how <strong>to</strong> configure<br />
DPAA debug IP <strong>to</strong> collect per<strong>f<strong>or</strong></strong>mance data from common<br />
scenarios.<br />
• Register Analyzer<br />
− Alpha version delivered<br />
− Provides feedback on <strong>in</strong>c<strong>or</strong>rect configuration of DPAA blocks<br />
(FM, QM, BM and SEC)<br />
• SPID (Maj<strong>or</strong> Updates <strong>f<strong>or</strong></strong> 2012)<br />
− Target Side Library <strong>to</strong> access debug IP <strong>in</strong>side<br />
(<strong>in</strong>strumentation) a cus<strong>to</strong>mer application.<br />
− Sample code <strong>to</strong> show how <strong>to</strong> collect trace and per<strong>f<strong>or</strong></strong>mance<br />
data <strong>f<strong>or</strong></strong> basic cases.<br />
− Extensive documentation.<br />
− Supp<strong>or</strong>ts L<strong>in</strong>ux and Bare Metal Applications<br />
• SPID Utilities (New <strong>f<strong>or</strong></strong> 2012)<br />
− Applications foc<strong>used</strong> on specific use-cases <strong>to</strong> improve<br />
usability of debug IP <strong>in</strong> FSL SDK L<strong>in</strong>ux applications.<br />
− Packaged <strong>f<strong>or</strong></strong> release <strong>in</strong> SDK 1.2<br />
− First release 3Q 2012<br />
TM<br />
• Application Notes<br />
24<br />
− Per<strong>f<strong>or</strong></strong>mance Analysis<br />
− LTTng Trace<br />
− Application Debugg<strong>in</strong>g<br />
• q<strong>or</strong>iq-dbg (Maj<strong>or</strong> Updates <strong>f<strong>or</strong></strong> 2012)<br />
− Easy access <strong>to</strong> Q<strong>or</strong>IQ debug IP from user scripts <strong>or</strong><br />
applications via standard file system <strong>operations</strong>.<br />
− Present <strong>to</strong>ols <strong>in</strong> a manner that is familiar <strong>to</strong> L<strong>in</strong>ux developers<br />
• DPAA Tools. (New <strong>f<strong>or</strong></strong> 2012)<br />
− Packet Trac<strong>in</strong>g <strong>to</strong>ol – Allows a cus<strong>to</strong>mer <strong>to</strong> trace a packet as it<br />
moves through system.<br />
− Focus <strong>f<strong>or</strong></strong> 2012<br />
− First version scheduled <strong>f<strong>or</strong></strong> 4Q 2012.<br />
− This <strong>to</strong>ol<strong>in</strong>g makes use of the on-board trace facility of each<br />
block.<br />
− DPAA Trace supp<strong>or</strong>t<strong>in</strong>g ALU USDPAA application Alpha <strong>be</strong><strong>in</strong>g<br />
delivered <strong>in</strong> CW 10.1.2 (may 2012) and Production versions<br />
(Expert mode) scheduled <strong>f<strong>or</strong></strong> CW 10.2 (June 2012)<br />
− LTTng/LTTngX<br />
− L<strong>in</strong>ux Community standard Kernel Trac<strong>in</strong>g Framew<strong>or</strong>k<br />
− LTTngX – Freescale’s unique extensions <strong>to</strong> LTTng<br />
Framew<strong>or</strong>k <strong>to</strong> supp<strong>or</strong>t access <strong>to</strong> Freescale Q<strong>or</strong>IQ Debug IP<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
TM<br />
Modify classification<br />
F<strong>or</strong> example:<br />
-LPM<br />
-Add supp<strong>or</strong>t <strong>f<strong>or</strong></strong><br />
proprietary shim<br />
headers<br />
1<br />
2<br />
Per<strong>f<strong>or</strong></strong>m unique Header Manipulation/<br />
Add Statistics<br />
25<br />
Example of a typical DPAA Down-L<strong>in</strong>k<br />
Data Flows<br />
Process<strong>in</strong>g<br />
All the process<strong>in</strong>g elements are<br />
standard general Availability build<strong>in</strong>g<br />
blocks provided by FSL <strong>to</strong> all<br />
cus<strong>to</strong>mers.<br />
• Addition new “process<strong>in</strong>g elements” <strong>to</strong> the flow<br />
• Code should o<strong>be</strong>y the programm<strong>in</strong>g model<br />
def<strong>in</strong>ed by FSL<br />
• Non-<strong>in</strong>trusive extension of exist<strong>in</strong>g code<br />
• No flow changes. Transparent from the<br />
process<strong>in</strong>g flow perspective. FMD assisted<br />
configuration<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
Host CPU (e500)<br />
Configures the<br />
Parameters (once)<br />
Each App will <strong>be</strong> created by<br />
cha<strong>in</strong><strong>in</strong>g up exist<strong>in</strong>g and new<br />
build<strong>in</strong>g blocks by the <strong>to</strong>ol<br />
(FMC) creat<strong>in</strong>g the desired<br />
flow.<br />
TM<br />
Initialize<br />
Descrip<strong>to</strong>rs<br />
BMI <strong>or</strong> other<br />
module<br />
Cus<strong>to</strong>m<br />
App 2<br />
Cus<strong>to</strong>m<br />
App 1<br />
Example:<br />
ARP<br />
Scheme 1<br />
Scheme 2<br />
Scheme 3<br />
Scheme 4<br />
Scheme n<br />
Key Gen<br />
26<br />
Initialize<br />
Descrip<strong>to</strong>r<br />
Cus<strong>to</strong>m<br />
App n<br />
(Netflow<br />
)<br />
<strong>API</strong> Call<br />
<strong>API</strong> Call<br />
<strong>API</strong> Call<br />
Each function has<br />
a well def<strong>in</strong>ed<br />
def<strong>in</strong>ition o<strong>be</strong>y<strong>in</strong>g<br />
rules<br />
FMAN HW BLOCK<br />
HW/SW PARSER<br />
Packet In<br />
Optional<br />
Extension Optional<br />
Extension Optional<br />
Extension<br />
RISC LIBRARY<br />
Optional<br />
Extension<br />
Exist<strong>in</strong>g function<br />
Exist<strong>in</strong>g function<br />
Exist<strong>in</strong>g function<br />
Exist<strong>in</strong>g function<br />
Internal<br />
Context<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
L<strong>in</strong>ux is an open-source <strong>in</strong>tegration of many components from<br />
many sources, most of which are architecture-<strong>in</strong>dependent and<br />
don’t <strong>or</strong>ig<strong>in</strong>ate with Freescale.<br />
Cus<strong>to</strong>mers (and FSL<br />
<strong>in</strong>ternally) cannot use<br />
L<strong>in</strong>ux without a complete<br />
kit.<br />
• Many distros exist.<br />
• Some cus<strong>to</strong>mers create<br />
their own.<br />
• Maj<strong>or</strong> FSL SW must <strong>be</strong><br />
usable with arbitrary<br />
distros.<br />
• But FSL also must use<br />
and ship one.<br />
• FSL choice: Yoc<strong>to</strong><br />
TM<br />
Kernel<br />
FSL-specific<br />
Supp<strong>or</strong>t<br />
GNU Tools & Libs<br />
FSL-specific<br />
Supp<strong>or</strong>t<br />
Bootloader<br />
FSL-specific<br />
Supp<strong>or</strong>t<br />
Maj<strong>or</strong> FSL component<br />
27<br />
Package & Update<br />
Manager<br />
W<strong>in</strong>dow System<br />
(if needed)<br />
Proprietary value-add<br />
(Often Tools <strong>in</strong><br />
Em<strong>be</strong>dded L<strong>in</strong>ux)<br />
10’s of Thousands<br />
of User Space<br />
Packages<br />
Build<br />
Environment<br />
Pass-through from other source<br />
BOM (License<br />
management)<br />
Docs<br />
User Space<br />
Management<br />
Scripts<br />
FSL User Space<br />
Packages<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.<br />
27
Model Approach When <strong>to</strong> Use Attributes<br />
Native on<br />
Eval Board<br />
Yoc<strong>to</strong><br />
(Complete)<br />
Provide evaluation boards with<br />
complete native GNU Tool<br />
environments right on the board.<br />
This em<strong>be</strong>dded distribution helps<br />
cus<strong>to</strong>mer create entire L<strong>in</strong>ux<br />
system. Package both as ISO<br />
image and also <strong>in</strong> virtual<br />
mach<strong>in</strong>e.<br />
A la Carte Simplify cus<strong>to</strong>mer access <strong>to</strong> just<br />
the maj<strong>or</strong> Freescale-created<br />
L<strong>in</strong>ux components. Perfect <strong>f<strong>or</strong></strong><br />
<strong>in</strong>tegration <strong>in</strong><strong>to</strong> L<strong>in</strong>ux<br />
distributions from other sources,<br />
home-brew <strong>or</strong> 3 rd party. Supp<strong>or</strong>ts<br />
TM fast delivery of patches.<br />
28<br />
Desire zero “gett<strong>in</strong>g<br />
started” ef<strong>f<strong>or</strong></strong>t <strong>to</strong><br />
build<strong>in</strong>g and runn<strong>in</strong>g<br />
FSL and standard<br />
OSS<br />
Need a <strong>to</strong>ol <strong>to</strong><br />
generate a<br />
complete L<strong>in</strong>ux<br />
environment<br />
<strong>in</strong>clud<strong>in</strong>g tail<strong>or</strong>ed file<br />
system.<br />
Desire <strong>to</strong> <strong>in</strong>tegrate<br />
Freescale L<strong>in</strong>ux<br />
components <strong>in</strong><strong>to</strong> a<br />
L<strong>in</strong>ux development<br />
environment that<br />
the cus<strong>to</strong>mer<br />
Easy <strong>to</strong> use.<br />
Complex,<br />
but very<br />
flexible and<br />
powerful.<br />
Simple when<br />
the<br />
cus<strong>to</strong>mer is<br />
also the<br />
<strong>in</strong>tegra<strong>to</strong>r.<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, already SafeAssure, the SafeAssure logo, has.<br />
SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
C<br />
P<br />
U<br />
C<br />
P<br />
U<br />
VM<br />
VM<br />
Multic<strong>or</strong>e Hardware<br />
VM<br />
App App App<br />
OS OS OS<br />
Em<strong>be</strong>dded Hypervis<strong>or</strong><br />
C<br />
P<br />
U<br />
App<br />
CP<br />
U<br />
C<br />
P<br />
U<br />
App App<br />
L<strong>in</strong>ux<br />
CP<br />
U<br />
Multic<strong>or</strong>e Hardware<br />
L<strong>in</strong>ux SMP<br />
Partition<strong>in</strong>g /<br />
supervised AMP,<br />
failover<br />
C<br />
P<br />
U<br />
TM<br />
C<br />
P<br />
U<br />
App App<br />
C<br />
P<br />
U<br />
C<br />
P<br />
U<br />
L<strong>in</strong>ux<br />
CP<br />
U<br />
CP<br />
U<br />
BB<br />
Multic<strong>or</strong>e Hardware<br />
Unsupervised AMP<br />
App<br />
CP<br />
U<br />
VM<br />
App<br />
OS<br />
L<strong>in</strong>ux<br />
CP<br />
U<br />
Multic<strong>or</strong>e Hardware<br />
29<br />
C<br />
P<br />
U<br />
VM<br />
BB<br />
CPU, I/O<br />
virtualization<br />
App<br />
OS<br />
KVM KVM<br />
Topaz KVM: L<strong>in</strong>ux-based Hypervis<strong>or</strong><br />
C<br />
P<br />
U<br />
Consolidation, high<br />
per<strong>f<strong>or</strong></strong>mance<br />
user space DPA<br />
eng<strong>in</strong>es<br />
L<strong>in</strong>ux OS<br />
Convergence<br />
Leverage both<br />
KVM & LXC<br />
OS<br />
Virtualization<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.<br />
C<br />
P<br />
U<br />
C<br />
P<br />
U<br />
COS<br />
App<br />
App<br />
COS<br />
L<strong>in</strong>ux<br />
Multic<strong>or</strong>e Hardware<br />
COS<br />
LXC LXC LXC<br />
CP<br />
U<br />
CP<br />
U<br />
USDPAA USDPAA<br />
L<strong>in</strong>ux<br />
Multic<strong>or</strong>e Hardware<br />
USDPAA on L<strong>in</strong>ux SMP<br />
USDPAA USDPAA<br />
CP<br />
U<br />
CP<br />
U<br />
Isolated<br />
Conta<strong>in</strong>ers,<br />
resource control &<br />
moni<strong>to</strong>r<strong>in</strong>g<br />
L<strong>in</strong>ux Conta<strong>in</strong>ers<br />
C<br />
P<br />
U<br />
C<br />
P<br />
U
• Purpose of foundation libraries (flibs):<br />
• Library functions that per<strong>f<strong>or</strong></strong>m<br />
<strong>operations</strong> on Freescale hardware IP<br />
blocks, like DPAA peripherals.<br />
• S<strong>in</strong>gle OS-decoupled (not abstracted)<br />
<strong>API</strong> <strong>f<strong>or</strong></strong> <strong>these</strong> <strong>operations</strong> <strong>to</strong> <strong>be</strong> <strong>used</strong> <strong>in</strong><br />
<strong>multiple</strong> <strong>OSes</strong> <strong>or</strong> <strong>“bare</strong>-<strong>metal”</strong><br />
applications.<br />
• Helper functions <strong>f<strong>or</strong></strong> writers of OSspecific<br />
“native” drivers <strong>or</strong> applications<br />
that directly access hardware.<br />
• Focus on simplicity and avoidance of<br />
OS-coupl<strong>in</strong>g.<br />
• Flibs are low-level software<br />
TM<br />
30<br />
OS-Specific Driver<br />
FLIB FLIB<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
• Cus<strong>to</strong>mers desire m<strong>or</strong>e commonality <strong>in</strong> FSL software, regardless of<br />
the operat<strong>in</strong>g system <strong>used</strong>.<br />
• Cus<strong>to</strong>mers want greater simplicity– even with complex hardware.<br />
TM<br />
31<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
OS-Specific I/O systems <strong>or</strong><br />
netw<strong>or</strong>k stacks<br />
“Native” Driver<br />
--- OS-def<strong>in</strong>ed <strong>API</strong>s<br />
Hardware<br />
TM<br />
FLIB <strong>f<strong>or</strong></strong> IP<br />
Block<br />
Th<strong>in</strong> adaptation layer, e.g.<br />
register access<strong>or</strong>s.<br />
FLIBs present OS-<strong>in</strong>dependent <strong>API</strong> <strong>f<strong>or</strong></strong><br />
hardware functionality with focus on<br />
configur<strong>in</strong>g HW.<br />
FLIBs are not complete drivers. They<br />
leave functionality <strong>to</strong> the native driver<br />
when the functionality is deeply OScoupled,<br />
<strong>f<strong>or</strong></strong> example:<br />
32<br />
• Register<strong>in</strong>g ISRs.<br />
• Interact<strong>in</strong>g with scheduler<br />
• Mapp<strong>in</strong>g mem<strong>or</strong>y.<br />
• Access<strong>in</strong>g native driver <strong>API</strong>s.<br />
• Etc.<br />
Th<strong>in</strong>k of FLIBs as an implementation style <strong>f<strong>or</strong></strong> native drivers that emphasizes<br />
a standard <strong>API</strong> <strong>f<strong>or</strong></strong> HW configuration and reuse across <strong>multiple</strong> <strong>OSes</strong>.<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
Hardware<br />
FLIB FLIB<br />
L<strong>in</strong>ux Driver<br />
(from FSL)<br />
FLIB FLIB<br />
TM<br />
Analyze hardware– derive from it the essential<br />
low-level functions<br />
Derive what FLIBs do from this thought<br />
process– but don’t let them do “OS th<strong>in</strong>gs”. Be<br />
OS-decoupled, not OS-<strong>in</strong>dependent.<br />
Use FLIBs <strong>to</strong> create OS-Specific drivers <strong>f<strong>or</strong></strong> two<br />
FSL-supp<strong>or</strong>ted <strong>OSes</strong>.<br />
SDOS Driver<br />
(from FSL)<br />
FLIB FLIB<br />
Offer FLIBs <strong>to</strong> cus<strong>to</strong>mers and 3 rd<br />
parties <strong>f<strong>or</strong></strong> other <strong>OSes</strong>.<br />
33<br />
Other OS Driver<br />
(not from FSL)<br />
FLIB FLIB<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
• Standard L<strong>in</strong>ux drivers.<br />
• Ecosystem acceptance of those drivers.<br />
• SDOS as a <strong>“bare</strong> metal-type” OS environment– with<br />
reasonable drivers.<br />
• FLIBs themselves as driver build<strong>in</strong>g-blocks, not<br />
drivers.<br />
• Greater Simplicity<br />
• Less OS <strong>in</strong>tegration conflict<br />
• Less architectural imposition<br />
• Less assumption of global stateful management<br />
(aid<strong>in</strong>g system decomposition)<br />
TM<br />
34<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
http://www.eetimes.com/design/em<strong>be</strong>dded/4372692/A-decision-tree-approach-<strong>to</strong>-pick<strong>in</strong>g-the-right-em<strong>be</strong>dded-multic<strong>or</strong>e-software-architecture<br />
TM<br />
35<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
TM<br />
36<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
TM<br />
37<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
TM<br />
38<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
TM<br />
39<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.
Per<strong>f<strong>or</strong></strong>mance<br />
Tool<strong>in</strong>g<br />
Book ‘E’ Debug<br />
C<strong>or</strong>e<br />
Debug<br />
JTAG/Aur<strong>or</strong>a<br />
Trace Tool<strong>in</strong>g<br />
CodeWarri<strong>or</strong><br />
W<strong>or</strong>k<strong>be</strong>nch<br />
Eclipse<br />
W<strong>or</strong>k<strong>be</strong>nch<br />
GNU <strong>to</strong>ols<br />
(gcc, gdb)<br />
CodeWarri<strong>or</strong> / 3 rd<br />
Party Debug / Trace<br />
Pro<strong>be</strong><br />
Debugger<br />
Real Time Debug<br />
Watchpo<strong>in</strong>t<br />
Cross<br />
Trigger<br />
Perf<br />
Moni<strong>to</strong>r<br />
3 rd party Eclipse Tool<strong>in</strong>g<br />
C<strong>or</strong>eNet<br />
Trace<br />
Aur<strong>or</strong>a<br />
3 rd party Tool<strong>in</strong>g<br />
TM<br />
Netcomm<br />
Software<br />
(NCSW)<br />
Drivers<br />
Debug /<br />
Perf agents<br />
V<strong>or</strong>tiQa<br />
Applications<br />
Q<strong>or</strong>IQ<br />
Netw<strong>or</strong>k<br />
Services<br />
L<strong>in</strong>ux operat<strong>in</strong>g<br />
environment<br />
Net<br />
drivers<br />
L<strong>in</strong>ux<br />
control<br />
ASF control<br />
Host l<strong>in</strong>ux (optional)<br />
Power<br />
Architecture TM<br />
C<strong>or</strong>e (e500v2)<br />
Development Host Runtime environment(s)<br />
40<br />
Fastpath<br />
(ASF)<br />
Market-specific solutions<br />
Power<br />
Architecture TM<br />
C<strong>or</strong>e (e500dp)<br />
DPAA<br />
configuration and<br />
services<br />
Netw<strong>or</strong>k<strong>in</strong>g services &<br />
utilities<br />
Q<strong>or</strong>IQ<br />
Drivers<br />
Netw<strong>or</strong>k<strong>in</strong>g stack<br />
Power ISA 2.06+<br />
32/64bit c<strong>or</strong>e<br />
Power<br />
Architecture TM<br />
C<strong>or</strong>e (e500mc)<br />
DPAA<br />
drivers<br />
Cus<strong>to</strong>mer<br />
Application<br />
Q<strong>or</strong>IQ SDK Q<strong>or</strong>IQ DPAA SDK<br />
Power ISA 2.06+<br />
32/64bit c<strong>or</strong>e<br />
User Space DPAA<br />
Execution<br />
environment<br />
Drivers<br />
L<strong>in</strong>ux User-space<br />
L<strong>in</strong>ux Kernel<br />
KVM/Qemu<br />
Power<br />
Architecture TM<br />
C<strong>or</strong>e (e5500,e6500)<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.<br />
L<strong>in</strong>ux Plat<strong>f<strong>or</strong></strong>m
TM<br />
Freescale on Kaix<strong>in</strong><br />
Tag yourself <strong>in</strong> pho<strong>to</strong>s<br />
and upload your own!<br />
Session materials will <strong>be</strong> posted @ www.freescale.com/FTF<br />
41<br />
Weibo?<br />
Please use hashtag<br />
#FTF2012#<br />
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarri<strong>or</strong>, ColdFire, ColdFire+, C-Ware, the Energy Efficient Solutions logo, K<strong>in</strong>etis,<br />
mobileGT, PowerQUICC, Process<strong>or</strong> Expert, Q<strong>or</strong>IQ, Q<strong>or</strong>ivva, StarC<strong>or</strong>e, Symphony and V<strong>or</strong>tiQa are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, C<strong>or</strong>eNet, Flexis, MagniV, MXC, Plat<strong>f<strong>or</strong></strong>m <strong>in</strong> a Package, Q<strong>or</strong>IQ Qonverge, QUICC Eng<strong>in</strong>e,<br />
Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboL<strong>in</strong>k, Vybrid and Xtr<strong>in</strong>sic are trademarks of Freescale Semiconduc<strong>to</strong>r, Inc. All<br />
other product <strong>or</strong> service names are the property of their respective owners. © 2012 Freescale Semiconduc<strong>to</strong>r, Inc.