summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-12-15 09:52:47 +0100
committerChristian Mauderer <christian.mauderer@embedded-brains.de>2024-01-31 09:55:59 +0100
commit2e96ed756260b629a96d031a6832f5a615c9f8d6 (patch)
tree99b0ed45884b22fcd422dd027d97b4270feb5124
parentpci: Back port changes (diff)
downloadrtems-libbsd-2e96ed756260b629a96d031a6832f5a615c9f8d6.tar.bz2
Add pic_if.m
-rw-r--r--Makefile.todo10
-rw-r--r--rtemsbsd/include/rtems/bsd/local/pic_if.h133
-rw-r--r--rtemsbsd/local/pic_if.c69
3 files changed, 212 insertions, 0 deletions
diff --git a/Makefile.todo b/Makefile.todo
index 36951c55..111beb07 100644
--- a/Makefile.todo
+++ b/Makefile.todo
@@ -34,6 +34,8 @@ GENERATED += $(LOCAL_INC)/pci_if.h
GENERATED += $(LOCAL_SRC)/pci_if.c
GENERATED += $(LOCAL_INC)/pcib_if.h
GENERATED += $(LOCAL_SRC)/pcib_if.c
+GENERATED += $(LOCAL_INC)/pic_if.h
+GENERATED += $(LOCAL_SRC)/pic_if.c
GENERATED += $(LOCAL_INC)/mmcbr_if.h
GENERATED += $(LOCAL_SRC)/mmcbr_if.c
GENERATED += $(LOCAL_INC)/mmcbus_if.h
@@ -166,6 +168,14 @@ $(LOCAL_SRC)/pcib_if.c: $(FREEBSD_SRC)/sys/dev/pci/pcib_if.m
awk -f $(TOOLS)/makeobjops.awk $< -c
mv pcib_if.c $@
+$(LOCAL_INC)/pic_if.h: $(FREEBSD_SRC)/sys/powerpc/powerpc/pic_if.m
+ awk -f $(TOOLS)/makeobjops.awk $< -h
+ mv pic_if.h $@
+
+$(LOCAL_SRC)/pic_if.c: $(FREEBSD_SRC)/sys/powerpc/powerpc/pic_if.m
+ awk -f $(TOOLS)/makeobjops.awk $< -c
+ mv pic_if.c $@
+
$(LOCAL_INC)/mmcbus_if.h: $(FREEBSD_SRC)/sys/dev/mmc/mmcbus_if.m
awk -f $(TOOLS)/makeobjops.awk $< -h
mv mmcbus_if.h $@
diff --git a/rtemsbsd/include/rtems/bsd/local/pic_if.h b/rtemsbsd/include/rtems/bsd/local/pic_if.h
new file mode 100644
index 00000000..a903a25d
--- /dev/null
+++ b/rtemsbsd/include/rtems/bsd/local/pic_if.h
@@ -0,0 +1,133 @@
+/*
+ * This file is produced automatically.
+ * Do not modify anything in here by hand.
+ *
+ * Created from source file
+ * freebsd-org/sys/powerpc/powerpc/pic_if.m
+ * with
+ * makeobjops.awk
+ *
+ * See the source file for legal information
+ */
+
+
+#ifndef _pic_if_h_
+#define _pic_if_h_
+
+/** @brief Unique descriptor for the PIC_BIND() method */
+extern struct kobjop_desc pic_bind_desc;
+/** @brief A function implementing the PIC_BIND() method */
+typedef void pic_bind_t(device_t dev, u_int irq, cpuset_t cpumask, void **priv);
+
+static __inline void PIC_BIND(device_t dev, u_int irq, cpuset_t cpumask,
+ void **priv)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)dev)->ops,pic_bind);
+ ((pic_bind_t *) _m)(dev, irq, cpumask, priv);
+}
+
+/** @brief Unique descriptor for the PIC_TRANSLATE_CODE() method */
+extern struct kobjop_desc pic_translate_code_desc;
+/** @brief A function implementing the PIC_TRANSLATE_CODE() method */
+typedef void pic_translate_code_t(device_t dev, u_int irq, int code,
+ enum intr_trigger *trig,
+ enum intr_polarity *pol);
+
+static __inline void PIC_TRANSLATE_CODE(device_t dev, u_int irq, int code,
+ enum intr_trigger *trig,
+ enum intr_polarity *pol)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)dev)->ops,pic_translate_code);
+ ((pic_translate_code_t *) _m)(dev, irq, code, trig, pol);
+}
+
+/** @brief Unique descriptor for the PIC_CONFIG() method */
+extern struct kobjop_desc pic_config_desc;
+/** @brief A function implementing the PIC_CONFIG() method */
+typedef void pic_config_t(device_t dev, u_int irq, enum intr_trigger trig,
+ enum intr_polarity pol);
+
+static __inline void PIC_CONFIG(device_t dev, u_int irq, enum intr_trigger trig,
+ enum intr_polarity pol)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)dev)->ops,pic_config);
+ ((pic_config_t *) _m)(dev, irq, trig, pol);
+}
+
+/** @brief Unique descriptor for the PIC_DISPATCH() method */
+extern struct kobjop_desc pic_dispatch_desc;
+/** @brief A function implementing the PIC_DISPATCH() method */
+typedef void pic_dispatch_t(device_t dev, struct trapframe *tf);
+
+static __inline void PIC_DISPATCH(device_t dev, struct trapframe *tf)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)dev)->ops,pic_dispatch);
+ ((pic_dispatch_t *) _m)(dev, tf);
+}
+
+/** @brief Unique descriptor for the PIC_ENABLE() method */
+extern struct kobjop_desc pic_enable_desc;
+/** @brief A function implementing the PIC_ENABLE() method */
+typedef void pic_enable_t(device_t dev, u_int irq, u_int vector, void **priv);
+
+static __inline void PIC_ENABLE(device_t dev, u_int irq, u_int vector,
+ void **priv)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)dev)->ops,pic_enable);
+ ((pic_enable_t *) _m)(dev, irq, vector, priv);
+}
+
+/** @brief Unique descriptor for the PIC_EOI() method */
+extern struct kobjop_desc pic_eoi_desc;
+/** @brief A function implementing the PIC_EOI() method */
+typedef void pic_eoi_t(device_t dev, u_int irq, void *priv);
+
+static __inline void PIC_EOI(device_t dev, u_int irq, void *priv)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)dev)->ops,pic_eoi);
+ ((pic_eoi_t *) _m)(dev, irq, priv);
+}
+
+/** @brief Unique descriptor for the PIC_IPI() method */
+extern struct kobjop_desc pic_ipi_desc;
+/** @brief A function implementing the PIC_IPI() method */
+typedef void pic_ipi_t(device_t dev, u_int cpu);
+
+static __inline void PIC_IPI(device_t dev, u_int cpu)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)dev)->ops,pic_ipi);
+ ((pic_ipi_t *) _m)(dev, cpu);
+}
+
+/** @brief Unique descriptor for the PIC_MASK() method */
+extern struct kobjop_desc pic_mask_desc;
+/** @brief A function implementing the PIC_MASK() method */
+typedef void pic_mask_t(device_t dev, u_int irq, void *priv);
+
+static __inline void PIC_MASK(device_t dev, u_int irq, void *priv)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)dev)->ops,pic_mask);
+ ((pic_mask_t *) _m)(dev, irq, priv);
+}
+
+/** @brief Unique descriptor for the PIC_UNMASK() method */
+extern struct kobjop_desc pic_unmask_desc;
+/** @brief A function implementing the PIC_UNMASK() method */
+typedef void pic_unmask_t(device_t dev, u_int irq, void *priv);
+
+static __inline void PIC_UNMASK(device_t dev, u_int irq, void *priv)
+{
+ kobjop_t _m;
+ KOBJOPLOOKUP(((kobj_t)dev)->ops,pic_unmask);
+ ((pic_unmask_t *) _m)(dev, irq, priv);
+}
+
+#endif /* _pic_if_h_ */
diff --git a/rtemsbsd/local/pic_if.c b/rtemsbsd/local/pic_if.c
new file mode 100644
index 00000000..6fa600bb
--- /dev/null
+++ b/rtemsbsd/local/pic_if.c
@@ -0,0 +1,69 @@
+#include <machine/rtems-bsd-kernel-space.h>
+
+/*
+ * This file is produced automatically.
+ * Do not modify anything in here by hand.
+ *
+ * Created from source file
+ * freebsd-org/sys/powerpc/powerpc/pic_if.m
+ * with
+ * makeobjops.awk
+ *
+ * See the source file for legal information
+ */
+
+#include <sys/param.h>
+#include <sys/queue.h>
+#include <sys/kernel.h>
+#include <sys/kobj.h>
+#include <sys/bus.h>
+#include <sys/cpuset.h>
+#include <machine/frame.h>
+#include <rtems/bsd/local/pic_if.h>
+
+
+static pic_translate_code_t pic_translate_code_default;
+
+static void pic_translate_code_default(device_t dev, u_int irq,
+ int code, enum intr_trigger *trig, enum intr_polarity *pol)
+{
+ *trig = INTR_TRIGGER_CONFORM;
+ *pol = INTR_POLARITY_CONFORM;
+}
+
+struct kobjop_desc pic_bind_desc = {
+ 0, { &pic_bind_desc, (kobjop_t)kobj_error_method }
+};
+
+struct kobjop_desc pic_translate_code_desc = {
+ 0, { &pic_translate_code_desc, (kobjop_t)pic_translate_code_default }
+};
+
+struct kobjop_desc pic_config_desc = {
+ 0, { &pic_config_desc, (kobjop_t)kobj_error_method }
+};
+
+struct kobjop_desc pic_dispatch_desc = {
+ 0, { &pic_dispatch_desc, (kobjop_t)kobj_error_method }
+};
+
+struct kobjop_desc pic_enable_desc = {
+ 0, { &pic_enable_desc, (kobjop_t)kobj_error_method }
+};
+
+struct kobjop_desc pic_eoi_desc = {
+ 0, { &pic_eoi_desc, (kobjop_t)kobj_error_method }
+};
+
+struct kobjop_desc pic_ipi_desc = {
+ 0, { &pic_ipi_desc, (kobjop_t)kobj_error_method }
+};
+
+struct kobjop_desc pic_mask_desc = {
+ 0, { &pic_mask_desc, (kobjop_t)kobj_error_method }
+};
+
+struct kobjop_desc pic_unmask_desc = {
+ 0, { &pic_unmask_desc, (kobjop_t)kobj_error_method }
+};
+