[patch libBSD] dev/ofw: Use RTEMS OFW FDT implementation

Gedare Bloom gedare at rtems.org
Wed Jan 27 17:27:34 UTC 2021


On Wed, Jan 27, 2021 at 10:13 AM Niteesh G. S. <niteesh.gs at gmail.com> wrote:

> Hello Christian,
>
> On Wed, Jan 27, 2021 at 3:59 PM Christian MAUDERER <
> christian.mauderer at embedded-brains.de> wrote:
>
>> Hello Niteesh,
>>
>> I think there is an open Question from Chris for that patch:
>>
>> https://lists.rtems.org/pipermail/devel/2021-January/063988.html
>
>
> I never received that mail, maybe Chris forgot to add me to the CC list.
> I'll answer his question in that thread.
>
>
Mailing List etiquette varies, but many MLs expect replies NOT to add
anyone to the CC, and senders to the list are expected to monitor the list
for replies to their own emails.


>
> Thanks,
> Niteesh.
>
>>
>> Best regards
>>
>> Christian
>>
>> Am 27.01.21 um 11:14 schrieb Niteesh G. S.:
>> > ping.
>> >
>> >
>> > On Wed, Jan 20, 2021 at 2:01 PM G S Niteesh Babu <niteesh.gs at gmail.com
>> > <mailto:niteesh.gs at gmail.com>> wrote:
>> >
>> >     This commit modifies the OFW interface to the RTEMS FDT
>> >     implementation instead of the default FreeBSD.
>
> >     ---
>> >       freebsd/sys/dev/ofw/openfirm.c                |  2 ++
>> >       freebsd/sys/dev/ofw/openfirm.h                |  9 ++++++++
>> >       .../machine/rtems-bsd-kernel-namespace.h      | 22
>> -------------------
>> >       3 files changed, 11 insertions(+), 22 deletions(-)
>> >
>> >     diff --git a/freebsd/sys/dev/ofw/openfirm.c
>> >     b/freebsd/sys/dev/ofw/openfirm.c
>> >     index 9cc7dbdc..30513ab2 100644
>> >     --- a/freebsd/sys/dev/ofw/openfirm.c
>> >     +++ b/freebsd/sys/dev/ofw/openfirm.c
>> >     @@ -333,6 +333,7 @@ OF_interpret(const char *cmd, int nreturns, ...)
>> >        * Device tree functions
>> >        */
>> >
>> >     +#ifndef __rtems__
>> >       /* Return the next sibling of this node or 0. */
>> >       phandle_t
>> >       OF_peer(phandle_t node)
>> >     @@ -672,6 +673,7 @@ OF_xref_from_node(phandle_t node)
>> >                      return (node);
>> >              return (xref);
>> >       }
>> >     +#endif /* __rtems__ */
>> >
>> >       device_t
>> >       OF_device_from_xref(phandle_t xref)
>> >     diff --git a/freebsd/sys/dev/ofw/openfirm.h
>> >     b/freebsd/sys/dev/ofw/openfirm.h
>> >     index f043197a..5df07258 100644
>> >     --- a/freebsd/sys/dev/ofw/openfirm.h
>> >     +++ b/freebsd/sys/dev/ofw/openfirm.h
>> >     @@ -64,7 +64,11 @@
>> >
>> >       #include <sys/types.h>
>> >       #include <machine/_bus.h>
>> >     +#ifdef __rtems__
>> >     +#include <ofw/ofw_compat.h>
>> >     +#endif /* __rtems__ */
>> >
>> >     +#ifndef __rtems__
>> >       /*
>> >        * Prototypes for Open Firmware Interface Routines
>> >        */
>> >     @@ -72,6 +76,7 @@
>> >       typedef uint32_t       ihandle_t;
>> >       typedef uint32_t       phandle_t;
>> >       typedef uint32_t       pcell_t;
>> >     +#endif /* __rtems__ */
>> >
>> >       #ifdef _KERNEL
>> >       #include <sys/malloc.h>
>> >     @@ -102,6 +107,7 @@ int         OF_test(const char *name);
>> >       void           OF_printf(const char *fmt, ...);
>> >
>> >       /* Device tree functions */
>> >     +#ifndef __rtems__
>> >       phandle_t      OF_peer(phandle_t node);
>> >       phandle_t      OF_child(phandle_t node);
>> >       phandle_t      OF_parent(phandle_t node);
>> >     @@ -140,6 +146,7 @@ ssize_t             OF_package_to_path(phandle_t
>> >     node, char *buf, size_t len);
>> >        */
>> >       phandle_t      OF_node_from_xref(phandle_t xref);
>> >       phandle_t      OF_xref_from_node(phandle_t node);
>> >     +#endif /* __rtems__ */
>> >
>> >       /*
>> >        * When properties contain references to other nodes using xref
>> >     handles it is
>> >     @@ -159,8 +166,10 @@ ssize_t            OF_read(ihandle_t instance,
>> >     void *buf, size_t len);
>> >       ssize_t                OF_write(ihandle_t instance, const void
>> >     *buf, size_t len);
>> >       int            OF_seek(ihandle_t instance, uint64_t where);
>> >
>> >     +#ifndef __rtems__
>> >       phandle_t      OF_instance_to_package(ihandle_t instance);
>> >       ssize_t                OF_instance_to_path(ihandle_t instance,
>> >     char *buf, size_t len);
>> >     +#endif /* __rtems__ */
>> >       int            OF_call_method(const char *method, ihandle_t
>> instance,
>> >                          int nargs, int nreturns, ...);
>> >
>> >     diff --git a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
>> >     b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
>> >     index 75b744a4..53944393 100644
>> >     --- a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
>> >     +++ b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
>> >     @@ -3044,42 +3044,20 @@
>> >       #define        null_filtops _bsd_null_filtops
>> >       #define        nullop _bsd_nullop
>> >       #define        OF_call_method _bsd_OF_call_method
>> >     -#define        OF_canon _bsd_OF_canon
>> >     -#define        OF_child _bsd_OF_child
>> >       #define        OF_claim _bsd_OF_claim
>> >       #define        OF_close _bsd_OF_close
>> >       #define        OF_device_from_xref _bsd_OF_device_from_xref
>> >       #define        OF_device_register_xref
>> _bsd_OF_device_register_xref
>> >       #define        OF_enter _bsd_OF_enter
>> >       #define        OF_exit _bsd_OF_exit
>> >     -#define        OF_finddevice _bsd_OF_finddevice
>> >     -#define        OF_getencprop _bsd_OF_getencprop
>> >     -#define        OF_getencprop_alloc _bsd_OF_getencprop_alloc
>> >     -#define        OF_getencprop_alloc_multi
>> _bsd_OF_getencprop_alloc_multi
>> >     -#define        OF_getprop _bsd_OF_getprop
>> >     -#define        OF_getprop_alloc _bsd_OF_getprop_alloc
>> >     -#define        OF_getprop_alloc_multi _bsd_OF_getprop_alloc_multi
>> >     -#define        OF_getproplen _bsd_OF_getproplen
>> >     -#define        OF_hasprop _bsd_OF_hasprop
>> >       #define        OF_init _bsd_OF_init
>> >       #define        OF_install _bsd_OF_install
>> >     -#define        OF_instance_to_package _bsd_OF_instance_to_package
>> >     -#define        OF_instance_to_path _bsd_OF_instance_to_path
>> >       #define        OF_interpret _bsd_OF_interpret
>> >     -#define        OF_nextprop _bsd_OF_nextprop
>> >     -#define        OF_node_from_xref _bsd_OF_node_from_xref
>> >       #define        OF_open _bsd_OF_open
>> >     -#define        OF_package_to_path _bsd_OF_package_to_path
>> >     -#define        OF_parent _bsd_OF_parent
>> >     -#define        OF_peer _bsd_OF_peer
>> >       #define        OF_printf _bsd_OF_printf
>> >     -#define        OF_prop_free _bsd_OF_prop_free
>> >       #define        OF_read _bsd_OF_read
>> >       #define        OF_release _bsd_OF_release
>> >     -#define        OF_searchencprop _bsd_OF_searchencprop
>> >     -#define        OF_searchprop _bsd_OF_searchprop
>> >       #define        OF_seek _bsd_OF_seek
>> >     -#define        OF_setprop _bsd_OF_setprop
>> >       #define        OF_test _bsd_OF_test
>> >       #define        ofw_bus_assigned_addresses_to_rl
>> >     _bsd_ofw_bus_assigned_addresses_to_rl
>> >       #define        ofwbus_driver _bsd_ofwbus_driver
>> >     --
>> >     2.17.1
>> >
>>
>> --
>> --------------------------------------------
>> embedded brains GmbH
>> Herr Christian MAUDERER
>> Dornierstr. 4
>> 82178 Puchheim
>> Germany
>> email: christian.mauderer at embedded-brains.de
>> phone: +49-89-18 94 741 - 18
>> fax:   +49-89-18 94 741 - 08
>>
>> Registergericht: Amtsgericht München
>> Registernummer: HRB 157899
>> Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
>> Unsere Datenschutzerklärung finden Sie hier:
>> https://embedded-brains.de/datenschutzerklaerung/
>>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210127/bffac5cf/attachment-0001.html>


More information about the devel mailing list