Date: Fri, 30 Oct 2020 10:29:08 -0500 From: "Brandon Bergren" <bdragon@FreeBSD.org> To: "FreeBSD PowerPC ML" <freebsd-ppc@freebsd.org> Subject: Re: Question about xserve G5 Message-ID: <e6611c33-469a-4350-b03b-34f92902163f@www.fastmail.com> In-Reply-To: <ee18bb0c-e600-46d9-a8ce-44fd1561b441@www.fastmail.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> <ee18bb0c-e600-46d9-a8ce-44fd1561b441@www.fastmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In any case, without the interpreter, what we have to do on a per model basis is manually decode the platform functions from a dumped device tree and do the same sequences in C, and then run that code when encountering that model. On Fri, Oct 30, 2020, at 10:25 AM, Brandon Bergren wrote: > > > 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. > _______________________________________________ > freebsd-ppc@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-ppc > To unsubscribe, send any mail to "freebsd-ppc-unsubscribe@freebsd.org" > -- Brandon Bergren bdragon@FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e6611c33-469a-4350-b03b-34f92902163f>