Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Jeff Roberson <jroberson <at> jroberson.net>
Subject: Linux kernel compatability
Newsgroups: gmane.os.freebsd.architechture
Date: Monday 3rd January 2011 20:31:24 UTC (over 6 years ago)
Hello Folks,

Some of you may have seen my infiniband work proceed in svn.  It is coming 
to a close soon and I will be integrating it into current.  I have a few 
patches to the kernel to send for review but I wanted to bring up the KPI 
wrapper itself for discussion.

The infiniband port has been done by creating a 10,000 line KPI 
compatability layer.  With this layer the vast majority of the driver code 
runs unmodified.  The exceptions are anything that interfaces with skbs 
and most of the code that deals with network interfaces.

Some examples of things supported by the wrapper:

atomics, types, bitops, byte order conversion, character devices, pci 
devices, dma, non-device files, idr tables, interrupts, ioremap, hashes, 
kobjects, radix trees, lists, modules, notifier blocks, rbtrees, rwlock, 
rwsem, semaphore, schedule, spinlocks, kalloc, wait queues, workqueues, 
timers, etc.

Obviously a complete wrapper is impossible and I only implemented the 
features that I needed.  The build is accomplished by pointing the linux 
compatible code at sys/ofed/include/ which has a simulated linux kernel 
include tree.  There are some config(8) changes to help this along as 
well.

I have seen that some attempt at similar wrappers has been made elsewhere. 
I wonder if instead of making each one tailored to individual components, 
which mostly seem to be filesystems so far, should we put this in a 
central place under compat somewhere?  Is this project doomed to be tied 
to a single consumer by the specific nature of it?

Other comments or concerns?

Thanks,
Jeff
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "[email protected]"
 
CD: 20ms