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

Niteesh G. S. niteesh.gs at gmail.com
Wed Jan 27 17:12:33 UTC 2021


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.


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/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210127/98b2b584/attachment-0001.html>


More information about the devel mailing list