Non-Linux OS Meetup
From Google Summer of Code Mentor Wiki
Contents |
[edit] OSes Present
[edit] Agenda
- Driver Compatibility
- Toolchain issues
- Compliance Testing
- Future of the OS?
- Best practices?
[edit] Minutes
[edit] Driver Compatibility
- Taking BSD code is a maintenance problem (lots of groups do it).
- How can we be helpers and not just leechers?
- Is the UDI Project helpful?
- Re-porting drivers from new versions of previously ported drivers is a real issue.
- Semantic patches to the rescue? They know how to do specific code transformations and not simply "dumb diffs".
- Everyone wants a USB stack!
- libBSD developed for RTEMS which implements the BSD driver interface.
- Documenting and formalizing a driver kit interface is one contribution these OSes can make.
- Keeping drivers in userland helps a lot by preventing drivers from taking shortcuts - the interface is clean and documented.
[edit] Key Takeaway
- The ROSETTA-OS group
- Common mailing list to discuss these issues: http://groups.google.com/group/rosetta-os
- Agree on an explicit API that covers the needs of all our OSes
- Agree on a few chipset drivers that everyone needs, port them to our new interface and use them as reference for further drivers.
- A SoC student for writing this next year?!
- All these groups could co-mentor the project
[edit] Toolchain Issues
- Dragonfly struggling with pkgsrc for "x86_64 vs. amd64". Seems to be a common problem.
- Floating point instructions generated by GCC when CPU doesn't support it. GCC wants OSes to say this is an "x86 without FPU".
- GCC 3.4 didn't even compile on all targets supported by RTEMS. OSes end up doing regression testing for GCC versions: keep targets alive and maybe a record of "when it last worked"
- Deviation from POSIX in a few places? Default attributes for pthreads not defined? Porting code over without keeping this in mind is not good.
- Permission from OpenGroup to lift text from POSIX is available to RTEMS, linux-man-pages: not too hard to get.
- meta-POSIX manual for cross-OS "deviations" for standard POSIX interfaces would be great!
[edit] Compliance Testing
- Would be great to share tests amongst the various operating systems.
- FreeBSD has a great set of tests that are very good at catching regression bugs. Has POSIX tests too.
- Sun is going to release test suites for Solaris.
- Linux testing project is also a great resource.