Non-Linux OS Meetup

From Google Summer of Code Mentor Wiki
Jump to: navigation, search

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.
Personal tools