L4Re/Fiasco.OC Patches

Archive: L4Re-Fiasco.OC-patches.tar.bz2

Introduction

These patches complete basic support in the L4 Runtime Environment and Fiasco.OC microkernel for the MIPS Creator CI20, also introducing additional support for various peripherals in the Ingenic JZ4780 system-on-a-chip used in the CI20. Tentative support is also present for the Ben NanoNote and Letux 400. Additional fixes and adjustments are present for compilation using GCC on Debian platforms (sufficient for the CI20) and using a Buildroot-generated GCC (required for the Ben NanoNote and Letux 400, with soft-float support not being fully provided by the Debian toolchains).

The Spectrum example on the Ben NanoNote and Letux 400

Summary

From the README.txt file provided:

FileDescription
ci20-examples.diffExamples demonstrating CI20 peripherals
ci20-fiasco.diffFix to provide the rdhrw instruction
ci20-gcc-debian-fiasco.diffDebian GCC cross-compiler prefix usage
ci20-gcc-debian-l4re.diffDebian GCC cross-compiler prefix usage
ci20-platform.diffAdditional CI20 platform details
ci20-uart0.diffFix for output via UART0 instead of UART4
conf-makeconf-boot.diffPath definitions for L4Re building
drivers_frst-register-block.diffL4Re enhancement used by some drivers
ingenic-mips-cpm.diffCPM peripheral drivers for Ingenic SoCs
ingenic-mips-drivers-top.diffMakefile changes enabling drivers
ingenic-mips-gpio.diffGPIO peripheral drivers for Ingenic SoCs
ingenic-mips-i2c.diffI2C peripheral drivers for Ingenic SoCs
ingenic-mips-modules.diffModules list for examples
ingenic-mips-pwm.diffPWM peripheral drivers for Ingenic SoCs
l4util-mips-thread.diffFix for static thread functions
letux400-examples.diffExamples demonstrating Letux 400 features
letux400-fbdrv.diffLetux 400 framebuffer driver support
mips-gcc-cpload.diffFix to allow GCC-generated code to work
no-at.diffFix for Debian i386 architecture building
qi_lb60-examples.diffExamples demonstrating Ben NanoNote features
qi_lb60-fbdrv.diffBen NanoNote framebuffer driver support
qi_lb60-fiasco.diffBen NanoNote kernel support
qi_lb60-gcc-buildroot-fiasco.diffBuildroot GCC cross-compiler prefix usage
qi_lb60-gcc-buildroot-l4re.diffBuildroot GCC cross-compiler prefix usage
qi_lb60-l4re.diffBen NanoNote architecture support
qi_lb60-lcd.diffBen NanoNote LCD driver support
qi_lb60-platform.diffBen NanoNote platform support

Patches made against upstream repository version r76. Also tested with version r78.

Status

CI20

Ben NanoNote and Letux 400

Copyright and Licence

These patches are subject to copyright. L4Re and Fiasco.OC are mostly licensed under the GPL version 2. Please see the patched files and the patches themselves for more information about specific licences likely to apply to these patches.