Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Oct 2020 10:25:45 -0500
From:      "Brandon Bergren" <bdragon@FreeBSD.org>
To:        "Javi Hotmail" <volkovdablo@hotmail.com>, "FreeBSD PowerPC ML" <freebsd-ppc@freebsd.org>
Subject:   Re: Question about xserve G5
Message-ID:  <ee18bb0c-e600-46d9-a8ce-44fd1561b441@www.fastmail.com>
In-Reply-To: <DB8PR04MB68608DF3EF55DE81641673C3AC150@DB8PR04MB6860.eurprd04.prod.outlook.com>
References:  <DB8PR04MB68602F9341DEED4BA6808046AC140@DB8PR04MB6860.eurprd04.prod.outlook.com> <B20755EC-8EA1-4326-B4D8-EF657ACF73ED@macmic.franken.de> <DB8PR04MB6860543600F2C6FDEDF32BD8AC140@DB8PR04MB6860.eurprd04.prod.outlook.com> <88d23ee0-765d-1b82-4318-2c8359018b1a@freebsd.org> <DB8PR04MB6860BC2392B1637417EF8977AC140@DB8PR04MB6860.eurprd04.prod.outlook.com> <DB8PR04MB686092F96B5AEE44D82A1A97AC140@DB8PR04MB6860.eurprd04.prod.outlook.com> <0f4a1ee8-a37f-ea3d-6807-bb2431235a82@gmail.com> <DB8PR04MB6860FB3DE5056A919EFDB71CAC150@DB8PR04MB6860.eurprd04.prod.outlook.com> <de558c8e-f31c-482b-83ec-a8bef521c224@www.fastmail.com> <DB8PR04MB68608DF3EF55DE81641673C3AC150@DB8PR04MB6860.eurprd04.prod.outlook.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On Fri, Oct 30, 2020, at 10:02 AM, Javi Hotmail wrote:
> Is there any documentation that I could read about this? Also why is not
> possible from the kernel to run functions from the DT?. I just started
> looking at the code now; It seems to me that depends on some sort of
> openfirmware functionality. Why is this?
> 
> Regards,
> 

It's not possible because we don't have an implementation of the platform function interpreter written.

If someone were to write a BSD-licensed platform function interpreter, it would be pretty easy to hook it in.

The (GPL) linux interpreter is an example of a platform function interpreter. https://github.com/torvalds/linux/blob/master/arch/powerpc/platforms/powermac/pfunc_core.c

Darwin has one as well but when I looked at it it was a bunch of Objective C that would be less work to just reimplement rather than trying to use. (I think the license wasn't BSD either)

The device tree has a series of platform functions that contain bytecode that the kernel runs to do a function like change the cpu clockrate, etc. It's done this way so it can be run without having to context-switch, and have platform drivers that automatically work on all Mac99 machines.

I'm not sure off the top of my head what documentation there is available.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ee18bb0c-e600-46d9-a8ce-44fd1561b441>