2010-10-17: Ã…AC announces a major LINUX revamp project
Ã…AC Microtec is announcing a major revamping project of the OpenRISC LINUX port together with OrSoC AB and South Pole AB. This will bring the OpenRISC LINUX port up to version 2.6.36. We are going through many things in the LINUX kernel, where fixes are listed here:
- Device tree. The new way of defining platform devices is via a device tree description. This description can be shipped separately from the kernel and even put on the hardware itself in order to allow the kernel to be made as generic as possible, this will allow a single kernel to run on many different devices, regardless of configuration.
- CPU configuration registers. Use CPU configuration registers when setting up kernel.
- Extended CPUINFO reporting. Adding of proper cpuinfo reporting. The more information reported in cpuinfo, the better informed the user is.
- Kernel clean-up. Clean up cruft from kernel (old memory controllers, etc). Many things not applicable or depricated have been removed. Removing a lot of this stuff makes for a much more manageable kernel.
- Generic header files. Every time generic header files are used, the user automatically get the benefits of upstream development. Ã…AC and OrSOC strive to be using as many of these as possible to best take advantage of the fast-paced upstream progress.
- Timers. Timers have changed significantly as much of the work from the real-time tree has been brought into the mainline Linux kernel. These updates enables better time management, high resolution timers, nohz (tickless) kernel, and more!
- Enable generic GPIO support. Generic support for GPIO and the addition of a driver for J. Baxter's GPIO core. Generic GPIO is a well-established framework.
- Generic IRQ handling. Switched over to generic IRQ handling. This gives the user the benefits that come with the latest work on threaded interrupts that are included in the upstream Linux kernel.
- Generic PIC definition and generic IRQ handling. Using generic code where possible gets the user better tested code and automatic bug fixes from upstream. The definition of PIC's has been abstracted in the kernel and this model will be followed in order to take advantage of the generic interrupt handling.
- Assembly optimization. A lot of the assembly code in the kernel port has been looked over and optimized to some extent. Among the improvements are better implementation of delay slots and mfspr and mtspr.
- Commandline handling. Commandline handling has been changed to get the DEFAULT_CMDLINE option in the kernel configuration working. This make it easier to debug as proper kernel flags can be passed.
- Improved bit field searching. Implement the use the OpenRISC instructions l.ff1 and l.fl1. The OpenRISC 1000 architecture and subsequently the OpenRISC 1200 implementation has instructions that make searching bit fields fast. As the kernel uses a lot of bit fields in the network stack and in the scheduler a performance boost is gained enabling the use of these instructions.
Ã…AC PnP team.