On Tue, Dec 26, 2017 at 05:18:37PM +0100, Mark Kettenis wrote: > A function to easily extract properties that are represented as a > 64-bit integer. I'll be needing this in at least two little projects > that I'm working on. > > ok?
ok patrick@ > > P.S. Those two little projects are EFI Runtime Services and DVFS support. > > Index: dev/ofw/fdt.c > =================================================================== > RCS file: /cvs/src/sys/dev/ofw/fdt.c,v > retrieving revision 1.21 > diff -u -p -r1.21 fdt.c > --- dev/ofw/fdt.c 17 Nov 2017 20:30:43 -0000 1.21 > +++ dev/ofw/fdt.c 26 Dec 2017 16:15:55 -0000 > @@ -878,6 +878,19 @@ OF_getpropintarray(int handle, char *pro > return len; > } > > +uint64_t > +OF_getpropint64(int handle, char *prop, uint64_t defval) > +{ > + uint64_t val; > + int len; > + > + len = OF_getprop(handle, prop, &val, sizeof(val)); > + if (len != sizeof(val)) > + return defval; > + > + return betoh64(val); > +} > + > int > OF_nextprop(int handle, char *prop, void *nextprop) > { > Index: dev/ofw/openfirm.h > =================================================================== > RCS file: /cvs/src/sys/dev/ofw/openfirm.h,v > retrieving revision 1.14 > diff -u -p -r1.14 openfirm.h > --- dev/ofw/openfirm.h 12 Mar 2017 11:44:42 -0000 1.14 > +++ dev/ofw/openfirm.h 26 Dec 2017 16:15:55 -0000 > @@ -50,6 +50,7 @@ int OF_getproplen(int handle, char *prop > int OF_getprop(int handle, char *prop, void *buf, int buflen); > uint32_t OF_getpropint(int handle, char *, uint32_t); > int OF_getpropintarray(int, char *, uint32_t *, int); > +uint64_t OF_getpropint64(int handle, char *, uint64_t); > int OF_setprop(int, char *, const void *, int); > int OF_nextprop(int, char *, void *); > int OF_finddevice(char *name); >