Hi,
I have an idea for a modification of the xilinx linux kernel and as i have little development experience i am wondering if anybody can see impending issues with it.
So ... here goes.
I am relatively new to the zedboard but when i was attending a zynq training day i discovered that the driver for loading bitstreams in the linux kernel can load partial areas. This implies that it could be used very dynamically but i havent actually tested this yet.
My idea is to modify the linux loader (and possibly elf format) so that bitstreams can be referenced as a shared library. Also this would allow (with sufficient knowledge of the bitstream) dynamic placement by the linux kernel. Ideally the loader could be modified only slightly, so that there would still be compatibility with non bitstream inclusive files. Additionally programs could be switched between each other by the scheduler based on hardware interrupts etc
I can see quite a few difficult hurdles in the creation of this but only one big glaring issue:
the bitstream format - the EULA from xilinx says: Licensee is not licensed to, and agrees not to: (i) decompile, translate, reverse-engineer, disassemble, or otherwise reduce to human readable form the Software or the data files generated by the Software
... So to achieve this would be in breech of this licence agreement ...
There are quite a few software difficulties but i see no reason why it cannot be done. I think it would be useful/fast to dynamically switch and place any fpga designs.
I haven't done alot of kernel hacking though, so i am wondering if there is anything big/obvious that i am missing
thanks,
Stephen