-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
32bit32 bit platform32 bit platformenhancementNew feature or requestNew feature or requestoptimizationOptimization of existing implementationOptimization of existing implementation
Milestone
Description
To reduce static bloat like one structure for short descriptor and one for long descriptor format, paging code should be merged.
Previously determined via runtime the switch between short descriptor and long descriptor format has to be done via preprocessor statement, where short descriptor is used as default.
Target would be to reduce necessary size of the kernel. Currently there are static variable sets for short descriptors initial mmu setup and long descriptors initial mmu setup. With the revise only one of those two static variable sets should remain in code depending on configuration.
Things to be done
- Add define for
long descriptorset per platform - Merge code for
long descriptorandshort descriptorinto one by using define - Reduce static variables within initial virtual memory init to one by using define
- Move mmu code from
arch/arm/v7toarch/arm - Add support for arm v6 mmu to moved code
- Check and add proper cachability / sharability to long descriptor and short descriptor modes
- Check and fix slow short descriptor mode compared to long descriptor mode
- Optimize virtual context forking which is quite expensive at the moment
Required testing
- Check serial gdb stub with real hardware ( short descriptor without caches )
- Check serial gdb stub with real hardware ( short descriptor with caches )
- Check serial gdb stub with real hardware ( long descriptor without caches )
- Check serial gdb stub with real hardware ( long descriptor with caches )
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
32bit32 bit platform32 bit platformenhancementNew feature or requestNew feature or requestoptimizationOptimization of existing implementationOptimization of existing implementation