[Help] Linux low level data structures < - > FreeBSD low level data structures

blubee blubeeme gurenchan at gmail.com
Sun Jun 4 14:36:00 UTC 2017

Hi Julian

My goals are to port the Linux graphics stack over to FreeBSD w/o relying
too heavily on the linuxkpi stuff. That's cool for a lot of use cases but
it just seems a bit too brittle.

It is a very large I understand the task will not be easy but I am willing
to do the work, even from scratch if necessary although some help would be

I've been watching the Linux DRM project grow and while the top levels has
changed, it's been a very long time since the actual low level stuff has
been changed. Most of the diffs have shown changes in the
[linux/driver/gpu/drm] layer which relies heavily on the
[linux/include/drm] that does a lot of the heavy lifting here's a link to
the latest version files:

here's a diff of the latest version of the [linux/driver/gpu/drm] :

The diffs in the drivers change constantly but the lower level stuff hasn't
changed as much.

Doing some of the lower level translation to native FreeBSD style data
structures then the upper part could be easily migrated, even with
something as using AST to translate the headers to their FreeBSD equivalent
without worrying about inadvertently breaking something or having major
diffs that needs people to actively look at maintaining.

That's a high level overview of my plan and what I'd like to achieve. Will
it be easy, most likely not but once it's done FreeBSD will be just fine.

Hope that helps clarify things for anyone who is interested. Any assistance
would be greatly appreciated.


On Sun, Jun 4, 2017 at 9:26 PM, Julian Elischer <julian at elischer.org> wrote:

> On 4/6/17 7:07 pm, blubee blubeeme wrote:
>> Hello
>> Is there anyone on either of these lists that have experience with both
>> linux low level data structures and their equivalents on FreeBSD?
>> For instance the linux header file:
>> <linux/agp_backend.h>
>> which includes the header file:
>> <linux/list.h>
>> Then looking at that file:
>> <linux/types.h>
>> <linux/stddef.h>
>> <linux/poison.h>
>> <linux/const.h>
>> <linux/kernel.h>
> You are going to have to be a lot more specific about this.
> I have worked in several places where they use s shim layer to make Linux
> basic services work on freeBSD.
> usually  a mix of functions, macros and inlines.
> However you need to narrow down your questions a bit as the POSSIBLE scope
> of your question is too large for anyone to attempt an answer.
> Remember that both systems are POSIX inspired so outside the kernel there
> are many more simlarities than one might be led to expect,
>  but you need to be way more specific.
> It's even possible to write kernel code to run on both, but it is usually
> domain specific.
>> I'll be doing a lot of work trying to find these FreeBSD equivalent of
>> these types of files to port some code.
>> Does anyone here have experience with something like this? Is there any
>> other projects that maps these low level data structures from
>> Linux <-> FreeBSD, etc?
>> Best,
>> Owen
>> _______________________________________________
>> freebsd-current at freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org
>> "

More information about the freebsd-ports mailing list