Hi Guys
I was talking to Jason and we found we need to draw a bit better the API and responsibilities between us. I figure out I`m going to support hardware detection and initialization, and a framework to read and write blocks from MSC devices.
Looking the current libpayload`s source code I found UHCI is pretty complete and meets the requirements I mentioned above. So, the focus should be put on EHCI and OHCI. Of course bug fixing what becomes needed as well.
Again looking in the source code, I found abstractions that will ease the process of coupling the other host controller interface drivers, I don`t have many questions regarding the internal design and API of libpayload(by now at least) but how Jason is going to integrate and use libpayload usb stack.
To test and improve my understanding I put together[1] some code from FILO, libpayload and a stub option ROM, just to see how it`s supposed to be integrate(PS: this option ROM is a work in progress and will be used just for testing the usb implementations I`m going to do, and it`s not functional yet).
For now, I have two major questions, #1: I`ve seen other projects like FILO including libpayload with svn:external, once seabios is maintained with git, how it should be done with seabios? how would we manage the source code integration and maintainability between seabios and libpayload?. #2: libpayload uses kbuild/kconfig but seabios doesn`t, what would be the best approach to integrate their build system? (PS: Sorry, it wasn`t two questions, but many questions and two areas. ;-) )
A third questions would be, how people test the libpayload stuffs? do they write small payloads for that? is that feasible writing an option ROM for testing the libpayload`s usb stack?
A last question. Should I CC the mentors and people I judge interested? or, is coreboot@coreboot.org good enough? ;-)
[1] - http://vps.dorilex.net/cgi-bin/gitweb.cgi
Thanks in advance....