freebsd on freescale qoriq data path acceleration
play

FreeBSD on Freescale QorIQ Data Path Acceleration Architecture - PowerPoint PPT Presentation

FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Piotr Zicik kosmo@semihalf.com BSDCan 2012 9-13 May, 2012 FreeBSD on Freescale QorIQ Data Path


  1. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Queue Manager ◮ Frames are enqueued to Frame Queues, ◮ Frames are dequeued from Channels, ◮ Channels are attached to SoC components:

  2. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Queue Manager ◮ Frames are enqueued to Frame Queues, ◮ Frames are dequeued from Channels, ◮ Channels are attached to SoC components: ◮ Dedicated Channel: Connected to single device,

  3. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Queue Manager ◮ Frames are enqueued to Frame Queues, ◮ Frames are dequeued from Channels, ◮ Channels are attached to SoC components: ◮ Dedicated Channel: Connected to single device, ◮ Poll Channel: Connected to group of devices.

  4. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Queue Manager ◮ Frames are enqueued to Frame Queues, ◮ Frames are dequeued from Channels, ◮ Channels are attached to SoC components: ◮ Dedicated Channel: Connected to single device, ◮ Poll Channel: Connected to group of devices. ◮ Other Queue Manager features:

  5. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Queue Manager ◮ Frames are enqueued to Frame Queues, ◮ Frames are dequeued from Channels, ◮ Channels are attached to SoC components: ◮ Dedicated Channel: Connected to single device, ◮ Poll Channel: Connected to group of devices. ◮ Other Queue Manager features: ◮ Congestion Management (Tail drop, RED/WRED),

  6. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Queue Manager ◮ Frames are enqueued to Frame Queues, ◮ Frames are dequeued from Channels, ◮ Channels are attached to SoC components: ◮ Dedicated Channel: Connected to single device, ◮ Poll Channel: Connected to group of devices. ◮ Other Queue Manager features: ◮ Congestion Management (Tail drop, RED/WRED), ◮ Frame order restoration.

  7. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Frame Manager

  8. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Frame Manager ◮ MACs:

  9. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Frame Manager ◮ MACs: ◮ 1x 10Gb Ethernet + 5x 1Gb Ethernet.

  10. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Frame Manager ◮ MACs: ◮ 1x 10Gb Ethernet + 5x 1Gb Ethernet. ◮ DMA:

  11. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Frame Manager ◮ MACs: ◮ 1x 10Gb Ethernet + 5x 1Gb Ethernet. ◮ DMA: ◮ Buffer Manager Interface (QMI).

  12. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Frame Manager ◮ MACs: ◮ 1x 10Gb Ethernet + 5x 1Gb Ethernet. ◮ DMA: ◮ Buffer Manager Interface (QMI). ◮ Queue Manager Interface (BMI),

  13. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Frame Manager ◮ MACs: ◮ 1x 10Gb Ethernet + 5x 1Gb Ethernet. ◮ DMA: ◮ Buffer Manager Interface (QMI). ◮ Queue Manager Interface (BMI), ◮ DMA Engine,

  14. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Frame Manager ◮ MACs: ◮ 1x 10Gb Ethernet + 5x 1Gb Ethernet. ◮ DMA: ◮ Buffer Manager Interface (QMI). ◮ Queue Manager Interface (BMI), ◮ DMA Engine, ◮ Frame Processor:

  15. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Frame Manager ◮ MACs: ◮ 1x 10Gb Ethernet + 5x 1Gb Ethernet. ◮ DMA: ◮ Buffer Manager Interface (QMI). ◮ Queue Manager Interface (BMI), ◮ DMA Engine, ◮ Frame Processor: ◮ Parser,

  16. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Frame Manager ◮ MACs: ◮ 1x 10Gb Ethernet + 5x 1Gb Ethernet. ◮ DMA: ◮ Buffer Manager Interface (QMI). ◮ Queue Manager Interface (BMI), ◮ DMA Engine, ◮ Frame Processor: ◮ Parser, ◮ Key Generator,

  17. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Frame Manager ◮ MACs: ◮ 1x 10Gb Ethernet + 5x 1Gb Ethernet. ◮ DMA: ◮ Buffer Manager Interface (QMI). ◮ Queue Manager Interface (BMI), ◮ DMA Engine, ◮ Frame Processor: ◮ Parser, ◮ Key Generator, ◮ Policer,

  18. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Components: Frame Manager ◮ MACs: ◮ 1x 10Gb Ethernet + 5x 1Gb Ethernet. ◮ DMA: ◮ Buffer Manager Interface (QMI). ◮ Queue Manager Interface (BMI), ◮ DMA Engine, ◮ Frame Processor: ◮ Parser, ◮ Key Generator, ◮ Policer, ◮ Frame Processing Module.

  19. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Software Portals

  20. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Software Portals ◮ CPU ↔ DPAA communication channels,

  21. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Software Portals ◮ CPU ↔ DPAA communication channels, ◮ Portal = Cache Enabled + Cache Inhibited registers,

  22. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Software Portals ◮ CPU ↔ DPAA communication channels, ◮ Portal = Cache Enabled + Cache Inhibited registers, ◮ Transaction oriented,

  23. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Data Path Acceleration Architecture Software Portals ◮ CPU ↔ DPAA communication channels, ◮ Portal = Cache Enabled + Cache Inhibited registers, ◮ Transaction oriented, ◮ Efficient SoC Bus usage.

  24. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Hardware: Other selected features

  25. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Hardware: Other selected features ◮ Cache Stashing,

  26. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Hardware: Other selected features ◮ Cache Stashing, ◮ Virtualization:

  27. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Hardware: Other selected features ◮ Cache Stashing, ◮ Virtualization: ◮ Additional privilege level in e500mc core,

  28. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Hardware: Other selected features ◮ Cache Stashing, ◮ Virtualization: ◮ Additional privilege level in e500mc core, ◮ Peripheral Access Management Units,

  29. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Hardware: Other selected features ◮ Cache Stashing, ◮ Virtualization: ◮ Additional privilege level in e500mc core, ◮ Peripheral Access Management Units, ◮ Logical I/O Device Number,

  30. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Hardware: Other selected features ◮ Cache Stashing, ◮ Virtualization: ◮ Additional privilege level in e500mc core, ◮ Peripheral Access Management Units, ◮ Logical I/O Device Number, ◮ Data Path Acceleration Architecture.

  31. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Software

  32. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Software ◮ Toolchain,

  33. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Software ◮ Toolchain, ◮ Early kernel initialization,

  34. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Software ◮ Toolchain, ◮ Early kernel initialization, ◮ Data Path Acceleration Architecture bring-up,

  35. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Software ◮ Toolchain, ◮ Early kernel initialization, ◮ Data Path Acceleration Architecture bring-up, ◮ SMP, ◮ DPAA in SMP environment,

  36. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Software ◮ Toolchain, ◮ Early kernel initialization, ◮ Data Path Acceleration Architecture bring-up, ◮ SMP, ◮ DPAA in SMP environment, ◮ Other peripherals.

  37. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Toolchain

  38. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Toolchain ◮ Support for e500v2 (predecessor of the e500mc) had been already present,

  39. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Toolchain ◮ Support for e500v2 (predecessor of the e500mc) had been already present, ◮ Only minor changes were required in binutils and gcc,

  40. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Toolchain ◮ Support for e500v2 (predecessor of the e500mc) had been already present, ◮ Only minor changes were required in binutils and gcc, ◮ All patches were available from the community and Freescale.

  41. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Early kernel initialization locore.S

  42. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Early kernel initialization locore.S ◮ First code executed in FreeBSD kernel,

  43. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Early kernel initialization locore.S ◮ First code executed in FreeBSD kernel, ◮ Architecture depended assembly,

  44. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Early kernel initialization locore.S ◮ First code executed in FreeBSD kernel, ◮ Architecture depended assembly, ◮ Prepares environment for C.

  45. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Early kernel initialization locore.S ◮ First code executed in FreeBSD kernel, ◮ Architecture depended assembly, ◮ Prepares environment for C. PowerPC locore.S

  46. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Early kernel initialization locore.S ◮ First code executed in FreeBSD kernel, ◮ Architecture depended assembly, ◮ Prepares environment for C. PowerPC locore.S ◮ TLB initialization,

  47. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Early kernel initialization locore.S ◮ First code executed in FreeBSD kernel, ◮ Architecture depended assembly, ◮ Prepares environment for C. PowerPC locore.S ◮ TLB initialization, ◮ Kernel stack initialization.

  48. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Early kernel initialization e500mc features in locore.S

  49. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Early kernel initialization e500mc features in locore.S ◮ Bigger TLB,

  50. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Early kernel initialization e500mc features in locore.S ◮ Bigger TLB, ◮ Hypervisor privilege level,

  51. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Early kernel initialization e500mc features in locore.S ◮ Bigger TLB, ◮ Hypervisor privilege level, ◮ Hardware Implementation-Dependent Registers (HIDs).

  52. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices Early kernel initialization e500mc features in locore.S ◮ Bigger TLB, ◮ Hypervisor privilege level, ◮ Hardware Implementation-Dependent Registers (HIDs). New TLB also affects pmap(9) .

  53. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices DPAA Bring-up

  54. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices DPAA Bring-up NetCommSw

  55. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices DPAA Bring-up NetCommSw ◮ A packet processing framework,

  56. FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices DPAA Bring-up NetCommSw ◮ A packet processing framework, ◮ OS Agnostic,

Recommend


More recommend