1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-25 11:37:56 +00:00

Open Firmware mandates that certain cross-references, in particular those

in /chosen, be ihandles. The ePAPR spec makes those cross-reference phandles,
since FDT has no concept of ihandles. Have the OF FDT CI module interpret
queries about ihandles as cross-reference phandles.
This commit is contained in:
Nathan Whitehorn 2013-12-01 19:03:20 +00:00
parent 9d2c48c0e3
commit fb5b9994b3
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=258805

View File

@ -207,7 +207,8 @@ static phandle_t
ofw_fdt_instance_to_package(ofw_t ofw, ihandle_t instance)
{
return (-1);
/* Where real OF uses ihandles in the tree, FDT uses xref phandles */
return (OF_xref_phandle(instance));
}
/* Get the length of a property of a package. */
@ -350,8 +351,13 @@ ofw_fdt_finddevice(ofw_t ofw, const char *device)
static ssize_t
ofw_fdt_instance_to_path(ofw_t ofw, ihandle_t instance, char *buf, size_t len)
{
phandle_t phandle;
return (-1);
phandle = OF_instance_to_package(instance);
if (phandle == -1)
return (-1);
return (OF_package_to_path(phandle, buf, len));
}
/* Return the fully qualified pathname corresponding to a package. */