summaryrefslogtreecommitdiffstats
path: root/rtemsbsd/include/rtems/bsd/local
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-03-02 16:29:11 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-03-08 09:04:18 +0100
commitc1205ee81e0a3c78ef687fa7c58639d5b7d04784 (patch)
tree2b9affd38109db8a403f992fe6d4c41793d8e64d /rtemsbsd/include/rtems/bsd/local
parentFDT(4): Import from FreeBSD (diff)
downloadrtems-libbsd-c1205ee81e0a3c78ef687fa7c58639d5b7d04784.tar.bz2
FDT(4): Port to RTEMS
Diffstat (limited to 'rtemsbsd/include/rtems/bsd/local')
-rw-r--r--rtemsbsd/include/rtems/bsd/local/ofw_bus_if.h116
-rw-r--r--rtemsbsd/include/rtems/bsd/local/ofw_if.h500
-rw-r--r--rtemsbsd/include/rtems/bsd/local/opt_platform.h4
3 files changed, 620 insertions, 0 deletions
diff --git a/rtemsbsd/include/rtems/bsd/local/ofw_bus_if.h b/rtemsbsd/include/rtems/bsd/local/ofw_bus_if.h
new file mode 100644
index 00000000..b21b9eda
--- /dev/null
+++ b/rtemsbsd/include/rtems/bsd/local/ofw_bus_if.h
@@ -0,0 +1,116 @@
+/*
+ * This file is produced automatically.
+ * Do not modify anything in here by hand.
+ *
+ * Created from source file
+ * freebsd-org/sys/dev/ofw/ofw_bus_if.m
+ * with
+ * makeobjops.awk
+ *
+ * See the source file for legal information
+ */
+
+
+#ifndef _ofw_bus_if_h_
+#define _ofw_bus_if_h_
+
+
+struct ofw_bus_devinfo {
+ phandle_t obd_node;
+ char *obd_compat;
+ char *obd_model;
+ char *obd_name;
+ char *obd_type;
+ char *obd_status;
+};
+
+/** @brief Unique descriptor for the OFW_BUS_GET_DEVINFO() method */
+extern struct kobjop_desc ofw_bus_get_devinfo_desc;
+/** @brief A function implementing the OFW_BUS_GET_DEVINFO() method */
+typedef const struct ofw_bus_devinfo * ofw_bus_get_devinfo_t(device_t bus,
+ device_t dev);
+
+static __inline const struct ofw_bus_devinfo * OFW_BUS_GET_DEVINFO(device_t bus,
+ device_t dev)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)bus)->ops,ofw_bus_get_devinfo);
+ return ((ofw_bus_get_devinfo_t *) _m)(bus, dev);
+}
+
+/** @brief Unique descriptor for the OFW_BUS_GET_COMPAT() method */
+extern struct kobjop_desc ofw_bus_get_compat_desc;
+/** @brief A function implementing the OFW_BUS_GET_COMPAT() method */
+typedef const char * ofw_bus_get_compat_t(device_t bus, device_t dev);
+
+static __inline const char * OFW_BUS_GET_COMPAT(device_t bus, device_t dev)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)bus)->ops,ofw_bus_get_compat);
+ return ((ofw_bus_get_compat_t *) _m)(bus, dev);
+}
+
+/** @brief Unique descriptor for the OFW_BUS_GET_MODEL() method */
+extern struct kobjop_desc ofw_bus_get_model_desc;
+/** @brief A function implementing the OFW_BUS_GET_MODEL() method */
+typedef const char * ofw_bus_get_model_t(device_t bus, device_t dev);
+
+static __inline const char * OFW_BUS_GET_MODEL(device_t bus, device_t dev)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)bus)->ops,ofw_bus_get_model);
+ return ((ofw_bus_get_model_t *) _m)(bus, dev);
+}
+
+/** @brief Unique descriptor for the OFW_BUS_GET_NAME() method */
+extern struct kobjop_desc ofw_bus_get_name_desc;
+/** @brief A function implementing the OFW_BUS_GET_NAME() method */
+typedef const char * ofw_bus_get_name_t(device_t bus, device_t dev);
+
+static __inline const char * OFW_BUS_GET_NAME(device_t bus, device_t dev)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)bus)->ops,ofw_bus_get_name);
+ return ((ofw_bus_get_name_t *) _m)(bus, dev);
+}
+
+/** @brief Unique descriptor for the OFW_BUS_GET_NODE() method */
+extern struct kobjop_desc ofw_bus_get_node_desc;
+/** @brief A function implementing the OFW_BUS_GET_NODE() method */
+typedef phandle_t ofw_bus_get_node_t(device_t bus, device_t dev);
+
+static __inline phandle_t OFW_BUS_GET_NODE(device_t bus, device_t dev)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)bus)->ops,ofw_bus_get_node);
+ return ((ofw_bus_get_node_t *) _m)(bus, dev);
+}
+
+/** @brief Unique descriptor for the OFW_BUS_GET_TYPE() method */
+extern struct kobjop_desc ofw_bus_get_type_desc;
+/** @brief A function implementing the OFW_BUS_GET_TYPE() method */
+typedef const char * ofw_bus_get_type_t(device_t bus, device_t dev);
+
+static __inline const char * OFW_BUS_GET_TYPE(device_t bus, device_t dev)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)bus)->ops,ofw_bus_get_type);
+ return ((ofw_bus_get_type_t *) _m)(bus, dev);
+}
+
+/** @brief Unique descriptor for the OFW_BUS_MAP_INTR() method */
+extern struct kobjop_desc ofw_bus_map_intr_desc;
+/** @brief A function implementing the OFW_BUS_MAP_INTR() method */
+typedef int ofw_bus_map_intr_t(device_t bus, device_t dev, phandle_t iparent,
+ int icells, pcell_t *interrupt);
+
+static __inline int OFW_BUS_MAP_INTR(device_t bus, device_t dev,
+ phandle_t iparent, int icells,
+ pcell_t *interrupt)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)bus)->ops,ofw_bus_map_intr);
+ return ((ofw_bus_map_intr_t *) _m)(bus, dev, iparent, icells, interrupt);
+}
+
+#endif /* _ofw_bus_if_h_ */
diff --git a/rtemsbsd/include/rtems/bsd/local/ofw_if.h b/rtemsbsd/include/rtems/bsd/local/ofw_if.h
new file mode 100644
index 00000000..1bf051b2
--- /dev/null
+++ b/rtemsbsd/include/rtems/bsd/local/ofw_if.h
@@ -0,0 +1,500 @@
+/*
+ * This file is produced automatically.
+ * Do not modify anything in here by hand.
+ *
+ * Created from source file
+ * freebsd-org/sys/dev/ofw/ofw_if.m
+ * with
+ * makeobjops.awk
+ *
+ * See the source file for legal information
+ */
+
+/**
+ * @defgroup OFW ofw - KObj methods for Open Firmware RTAS implementations
+ * @brief A set of methods to implement the Open Firmware client side interface.
+ * @{
+ */
+
+#ifndef _ofw_if_h_
+#define _ofw_if_h_
+
+/** @brief Unique descriptor for the OFW_INIT() method */
+extern struct kobjop_desc ofw_init_desc;
+/** @brief A function implementing the OFW_INIT() method */
+typedef int ofw_init_t(ofw_t _ofw, void *_cookie);
+/**
+ * @brief Initialize OFW client interface
+ *
+ * @param _cookie A handle to the client interface, generally the OF
+ * callback routine.
+ */
+
+static __inline int OFW_INIT(ofw_t _ofw, void *_cookie)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_init);
+ return ((ofw_init_t *) _m)(_ofw, _cookie);
+}
+
+/** @brief Unique descriptor for the OFW_PEER() method */
+extern struct kobjop_desc ofw_peer_desc;
+/** @brief A function implementing the OFW_PEER() method */
+typedef phandle_t ofw_peer_t(ofw_t _ofw, phandle_t _node);
+/**
+ * @brief Return next sibling of node.
+ *
+ * @param _node Selected node
+ */
+
+static __inline phandle_t OFW_PEER(ofw_t _ofw, phandle_t _node)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_peer);
+ return ((ofw_peer_t *) _m)(_ofw, _node);
+}
+
+/** @brief Unique descriptor for the OFW_PARENT() method */
+extern struct kobjop_desc ofw_parent_desc;
+/** @brief A function implementing the OFW_PARENT() method */
+typedef phandle_t ofw_parent_t(ofw_t _ofw, phandle_t _node);
+/**
+ * @brief Return parent of node.
+ *
+ * @param _node Selected node
+ */
+
+static __inline phandle_t OFW_PARENT(ofw_t _ofw, phandle_t _node)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_parent);
+ return ((ofw_parent_t *) _m)(_ofw, _node);
+}
+
+/** @brief Unique descriptor for the OFW_CHILD() method */
+extern struct kobjop_desc ofw_child_desc;
+/** @brief A function implementing the OFW_CHILD() method */
+typedef phandle_t ofw_child_t(ofw_t _ofw, phandle_t _node);
+/**
+ * @brief Return first child of node.
+ *
+ * @param _node Selected node
+ */
+
+static __inline phandle_t OFW_CHILD(ofw_t _ofw, phandle_t _node)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_child);
+ return ((ofw_child_t *) _m)(_ofw, _node);
+}
+
+/** @brief Unique descriptor for the OFW_INSTANCE_TO_PACKAGE() method */
+extern struct kobjop_desc ofw_instance_to_package_desc;
+/** @brief A function implementing the OFW_INSTANCE_TO_PACKAGE() method */
+typedef phandle_t ofw_instance_to_package_t(ofw_t _ofw, ihandle_t _handle);
+/**
+ * @brief Return package corresponding to instance.
+ *
+ * @param _handle Selected instance
+ */
+
+static __inline phandle_t OFW_INSTANCE_TO_PACKAGE(ofw_t _ofw, ihandle_t _handle)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_instance_to_package);
+ return ((ofw_instance_to_package_t *) _m)(_ofw, _handle);
+}
+
+/** @brief Unique descriptor for the OFW_GETPROPLEN() method */
+extern struct kobjop_desc ofw_getproplen_desc;
+/** @brief A function implementing the OFW_GETPROPLEN() method */
+typedef ssize_t ofw_getproplen_t(ofw_t _ofw, phandle_t _node,
+ const char *_prop);
+/**
+ * @brief Return length of node property.
+ *
+ * @param _node Selected node
+ * @param _prop Property name
+ */
+
+static __inline ssize_t OFW_GETPROPLEN(ofw_t _ofw, phandle_t _node,
+ const char *_prop)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_getproplen);
+ return ((ofw_getproplen_t *) _m)(_ofw, _node, _prop);
+}
+
+/** @brief Unique descriptor for the OFW_GETPROP() method */
+extern struct kobjop_desc ofw_getprop_desc;
+/** @brief A function implementing the OFW_GETPROP() method */
+typedef ssize_t ofw_getprop_t(ofw_t _ofw, phandle_t _node, const char *_prop,
+ void *_buf, size_t _size);
+/**
+ * @brief Read node property.
+ *
+ * @param _node Selected node
+ * @param _prop Property name
+ * @param _buf Pointer to buffer
+ * @param _size Size of buffer
+ */
+
+static __inline ssize_t OFW_GETPROP(ofw_t _ofw, phandle_t _node,
+ const char *_prop, void *_buf, size_t _size)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_getprop);
+ return ((ofw_getprop_t *) _m)(_ofw, _node, _prop, _buf, _size);
+}
+
+/** @brief Unique descriptor for the OFW_NEXTPROP() method */
+extern struct kobjop_desc ofw_nextprop_desc;
+/** @brief A function implementing the OFW_NEXTPROP() method */
+typedef int ofw_nextprop_t(ofw_t _ofw, phandle_t _node, const char *_prop,
+ char *_buf, size_t _size);
+/**
+ * @brief Get next property name.
+ *
+ * @param _node Selected node
+ * @param _prop Current property name
+ * @param _buf Buffer for next property name
+ * @param _size Size of buffer
+ */
+
+static __inline int OFW_NEXTPROP(ofw_t _ofw, phandle_t _node, const char *_prop,
+ char *_buf, size_t _size)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_nextprop);
+ return ((ofw_nextprop_t *) _m)(_ofw, _node, _prop, _buf, _size);
+}
+
+/** @brief Unique descriptor for the OFW_SETPROP() method */
+extern struct kobjop_desc ofw_setprop_desc;
+/** @brief A function implementing the OFW_SETPROP() method */
+typedef int ofw_setprop_t(ofw_t _ofw, phandle_t _node, const char *_prop,
+ const void *_buf, size_t _size);
+/**
+ * @brief Set property.
+ *
+ * @param _node Selected node
+ * @param _prop Property name
+ * @param _buf Value to set
+ * @param _size Size of buffer
+ */
+
+static __inline int OFW_SETPROP(ofw_t _ofw, phandle_t _node, const char *_prop,
+ const void *_buf, size_t _size)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_setprop);
+ return ((ofw_setprop_t *) _m)(_ofw, _node, _prop, _buf, _size);
+}
+
+/** @brief Unique descriptor for the OFW_CANON() method */
+extern struct kobjop_desc ofw_canon_desc;
+/** @brief A function implementing the OFW_CANON() method */
+typedef ssize_t ofw_canon_t(ofw_t _ofw, const char *_path, char *_buf,
+ size_t _size);
+/**
+ * @brief Canonicalize path.
+ *
+ * @param _path Path to canonicalize
+ * @param _buf Buffer for canonicalized path
+ * @param _size Size of buffer
+ */
+
+static __inline ssize_t OFW_CANON(ofw_t _ofw, const char *_path, char *_buf,
+ size_t _size)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_canon);
+ return ((ofw_canon_t *) _m)(_ofw, _path, _buf, _size);
+}
+
+/** @brief Unique descriptor for the OFW_FINDDEVICE() method */
+extern struct kobjop_desc ofw_finddevice_desc;
+/** @brief A function implementing the OFW_FINDDEVICE() method */
+typedef phandle_t ofw_finddevice_t(ofw_t _ofw, const char *_path);
+/**
+ * @brief Return phandle for named device.
+ *
+ * @param _path Device path
+ */
+
+static __inline phandle_t OFW_FINDDEVICE(ofw_t _ofw, const char *_path)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_finddevice);
+ return ((ofw_finddevice_t *) _m)(_ofw, _path);
+}
+
+/** @brief Unique descriptor for the OFW_INSTANCE_TO_PATH() method */
+extern struct kobjop_desc ofw_instance_to_path_desc;
+/** @brief A function implementing the OFW_INSTANCE_TO_PATH() method */
+typedef ssize_t ofw_instance_to_path_t(ofw_t _ofw, ihandle_t _handle,
+ char *_path, size_t _size);
+/**
+ * @brief Return path for node instance.
+ *
+ * @param _handle Instance handle
+ * @param _path Buffer for path
+ * @param _size Size of buffer
+ */
+
+static __inline ssize_t OFW_INSTANCE_TO_PATH(ofw_t _ofw, ihandle_t _handle,
+ char *_path, size_t _size)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_instance_to_path);
+ return ((ofw_instance_to_path_t *) _m)(_ofw, _handle, _path, _size);
+}
+
+/** @brief Unique descriptor for the OFW_PACKAGE_TO_PATH() method */
+extern struct kobjop_desc ofw_package_to_path_desc;
+/** @brief A function implementing the OFW_PACKAGE_TO_PATH() method */
+typedef ssize_t ofw_package_to_path_t(ofw_t _ofw, phandle_t _node, char *_path,
+ size_t _size);
+/**
+ * @brief Return path for node.
+ *
+ * @param _node Package node
+ * @param _path Buffer for path
+ * @param _size Size of buffer
+ */
+
+static __inline ssize_t OFW_PACKAGE_TO_PATH(ofw_t _ofw, phandle_t _node,
+ char *_path, size_t _size)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_package_to_path);
+ return ((ofw_package_to_path_t *) _m)(_ofw, _node, _path, _size);
+}
+
+/** @brief Unique descriptor for the OFW_TEST() method */
+extern struct kobjop_desc ofw_test_desc;
+/** @brief A function implementing the OFW_TEST() method */
+typedef int ofw_test_t(ofw_t _ofw, const char *_name);
+/**
+ * @brief Test to see if a service exists.
+ *
+ * @param _name name of the service
+ */
+
+static __inline int OFW_TEST(ofw_t _ofw, const char *_name)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_test);
+ return ((ofw_test_t *) _m)(_ofw, _name);
+}
+
+/** @brief Unique descriptor for the OFW_CALL_METHOD() method */
+extern struct kobjop_desc ofw_call_method_desc;
+/** @brief A function implementing the OFW_CALL_METHOD() method */
+typedef int ofw_call_method_t(ofw_t _ofw, ihandle_t _instance,
+ const char *_method, int _nargs, int _nreturns,
+ cell_t *_args_and_returns);
+/**
+ * @brief Call method belonging to an instance handle.
+ *
+ * @param _instance Instance handle
+ * @param _method Method name
+ * @param _nargs Number of arguments
+ * @param _nreturns Number of return values
+ * @param _args_and_returns Values for arguments, followed by returns
+ */
+
+static __inline int OFW_CALL_METHOD(ofw_t _ofw, ihandle_t _instance,
+ const char *_method, int _nargs,
+ int _nreturns, cell_t *_args_and_returns)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_call_method);
+ return ((ofw_call_method_t *) _m)(_ofw, _instance, _method, _nargs, _nreturns, _args_and_returns);
+}
+
+/** @brief Unique descriptor for the OFW_INTERPRET() method */
+extern struct kobjop_desc ofw_interpret_desc;
+/** @brief A function implementing the OFW_INTERPRET() method */
+typedef int ofw_interpret_t(ofw_t _ofw, const char *_cmd, int _nreturns,
+ cell_t *_returns);
+/**
+ * @brief Interpret a forth command.
+ *
+ * @param _cmd Command
+ * @param _nreturns Number of return values
+ * @param _returns Values for returns
+ */
+
+static __inline int OFW_INTERPRET(ofw_t _ofw, const char *_cmd, int _nreturns,
+ cell_t *_returns)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_interpret);
+ return ((ofw_interpret_t *) _m)(_ofw, _cmd, _nreturns, _returns);
+}
+
+/** @brief Unique descriptor for the OFW_OPEN() method */
+extern struct kobjop_desc ofw_open_desc;
+/** @brief A function implementing the OFW_OPEN() method */
+typedef ihandle_t ofw_open_t(ofw_t _ofw, const char *_path);
+/**
+ * @brief Open node, returning instance handle.
+ *
+ * @param _path Path to node
+ */
+
+static __inline ihandle_t OFW_OPEN(ofw_t _ofw, const char *_path)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_open);
+ return ((ofw_open_t *) _m)(_ofw, _path);
+}
+
+/** @brief Unique descriptor for the OFW_CLOSE() method */
+extern struct kobjop_desc ofw_close_desc;
+/** @brief A function implementing the OFW_CLOSE() method */
+typedef void ofw_close_t(ofw_t _ofw, ihandle_t _instance);
+/**
+ * @brief Close node instance.
+ *
+ * @param _instance Instance to close
+ */
+
+static __inline void OFW_CLOSE(ofw_t _ofw, ihandle_t _instance)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_close);
+ ((ofw_close_t *) _m)(_ofw, _instance);
+}
+
+/** @brief Unique descriptor for the OFW_READ() method */
+extern struct kobjop_desc ofw_read_desc;
+/** @brief A function implementing the OFW_READ() method */
+typedef ssize_t ofw_read_t(ofw_t _ofw, ihandle_t _instance, void *_buf,
+ size_t size);
+/**
+ * @brief Read from device.
+ *
+ * @param _instance Device instance
+ * @param _buf Buffer to read to
+ * @param _size Size of buffer
+ */
+
+static __inline ssize_t OFW_READ(ofw_t _ofw, ihandle_t _instance, void *_buf,
+ size_t size)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_read);
+ return ((ofw_read_t *) _m)(_ofw, _instance, _buf, size);
+}
+
+/** @brief Unique descriptor for the OFW_WRITE() method */
+extern struct kobjop_desc ofw_write_desc;
+/** @brief A function implementing the OFW_WRITE() method */
+typedef ssize_t ofw_write_t(ofw_t _ofw, ihandle_t _instance, const void *_buf,
+ size_t size);
+/**
+ * @brief Write to device.
+ *
+ * @param _instance Device instance
+ * @param _buf Buffer to write from
+ * @param _size Size of buffer
+ */
+
+static __inline ssize_t OFW_WRITE(ofw_t _ofw, ihandle_t _instance,
+ const void *_buf, size_t size)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_write);
+ return ((ofw_write_t *) _m)(_ofw, _instance, _buf, size);
+}
+
+/** @brief Unique descriptor for the OFW_SEEK() method */
+extern struct kobjop_desc ofw_seek_desc;
+/** @brief A function implementing the OFW_SEEK() method */
+typedef int ofw_seek_t(ofw_t _ofw, ihandle_t _instance, uint64_t _off);
+/**
+ * @brief Seek device.
+ *
+ * @param _instance Device instance
+ * @param _off Offset to which to seek
+ */
+
+static __inline int OFW_SEEK(ofw_t _ofw, ihandle_t _instance, uint64_t _off)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_seek);
+ return ((ofw_seek_t *) _m)(_ofw, _instance, _off);
+}
+
+/** @brief Unique descriptor for the OFW_CLAIM() method */
+extern struct kobjop_desc ofw_claim_desc;
+/** @brief A function implementing the OFW_CLAIM() method */
+typedef caddr_t ofw_claim_t(ofw_t _ofw, void *_addr, size_t _size,
+ u_int _align);
+/**
+ * @brief Claim virtual memory.
+ *
+ * @param _addr Requested memory location (NULL for first available)
+ * @param _size Requested size in bytes
+ * @param _align Requested alignment
+ */
+
+static __inline caddr_t OFW_CLAIM(ofw_t _ofw, void *_addr, size_t _size,
+ u_int _align)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_claim);
+ return ((ofw_claim_t *) _m)(_ofw, _addr, _size, _align);
+}
+
+/** @brief Unique descriptor for the OFW_RELEASE() method */
+extern struct kobjop_desc ofw_release_desc;
+/** @brief A function implementing the OFW_RELEASE() method */
+typedef void ofw_release_t(ofw_t _ofw, void *_addr, size_t _size);
+/**
+ * @brief Release virtual memory.
+ *
+ * @param _addr Memory location
+ * @param _size Size in bytes
+ */
+
+static __inline void OFW_RELEASE(ofw_t _ofw, void *_addr, size_t _size)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_release);
+ ((ofw_release_t *) _m)(_ofw, _addr, _size);
+}
+
+/** @brief Unique descriptor for the OFW_ENTER() method */
+extern struct kobjop_desc ofw_enter_desc;
+/** @brief A function implementing the OFW_ENTER() method */
+typedef void ofw_enter_t(ofw_t _ofw);
+/**
+ * @brief Temporarily return control to firmware.
+ */
+
+static __inline void OFW_ENTER(ofw_t _ofw)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_enter);
+ ((ofw_enter_t *) _m)(_ofw);
+}
+
+/** @brief Unique descriptor for the OFW_EXIT() method */
+extern struct kobjop_desc ofw_exit_desc;
+/** @brief A function implementing the OFW_EXIT() method */
+typedef void ofw_exit_t(ofw_t _ofw);
+/**
+ * @brief Halt and return control to firmware.
+ */
+
+static __inline void OFW_EXIT(ofw_t _ofw)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)_ofw)->ops,ofw_exit);
+ ((ofw_exit_t *) _m)(_ofw);
+}
+
+#endif /* _ofw_if_h_ */
diff --git a/rtemsbsd/include/rtems/bsd/local/opt_platform.h b/rtemsbsd/include/rtems/bsd/local/opt_platform.h
index e69de29b..6452ba0d 100644
--- a/rtemsbsd/include/rtems/bsd/local/opt_platform.h
+++ b/rtemsbsd/include/rtems/bsd/local/opt_platform.h
@@ -0,0 +1,4 @@
+#include <bsp/fdt.h>
+#ifdef BSP_FDT_IS_SUPPORTED
+#define FDT 1
+#endif