Summary: An extensive discussion of the components that comprise a BSP that you must develop, like bootloaders, an OAL, KITL, and device drivers, as well as tips on writing a BSP that can be quickly commercialized, is secure, performance optimized, and power efficient.
1.
What is a BSP? * BSP Bootloader
* BSP IPL and ULDR
* BSP OAL – what is shared between Bootloader
* BSP Drivers
* KITL
2.
Production Quality Drivers 3.
Production Quality OAL – benefits of adhering to this model, directory structure.
4.
Features of a Commercialization Ready BSP 5. Writing a code secure BSP
*
Threat Modeling *
Secure Boot 6.
Writing a Performance optimized BSP (24524) * Performance optimized OAL
* Performance optimized Drivers
* Writing and running a performance test
7.
Writing a Power Efficient BSP (24526) * Get your tiny kernel to the lowest power state early in development. Then make sure each new driver does not negatively impact power before it is checked in.
* Scenarios around PM testing states to get in. running media. Voip.
* Scenarios around suspend/resume – how drivers work.
* Writing Power-Efficient Drivers
* Measuring Power Management
8.
Required IOCTLs * CE required OAL IOCTL list
* WM required OAL IOCTL list
9.
BSP and OAL data structures 10.
Writing Power Efficient Drivers 11.
Using an OAL Tiny Kernel to get KITL up and running 12.
Mapping of CETK and LTK tests to features (24536) 13.
OAL benchmarking procedures 14.
Driver load and unload tool (24540) 15.
Optimizing the use of virtual memory *Reducing heap allocations
*Using shared memory
(CeHeapCreate) *Reducing and consolidating
DLLs *Moving
DLLs between MODULES and FILES to optimize
DLLs in Slot 1 (for
OEMs) 16.
A2DP - Audio Driver/Bluetooth interaction
17.
HALFlat – Getting a display driver up and running quickly
18.
Prevention of data loss on critical off – use of TFAT
(24548) 19.
Writting User Mode Drivers –
(23943)
Go up to
Big Book of BSP
Thank you for contributing to this BSP Wiki. To ensure your comments and concerns receive proper exposure, include bspwiki""@""microsoft"".""com when providing feedback or topical suggestions.