Add pic_if.m

This commit is contained in:
Sebastian Huber 2021-12-15 09:52:47 +01:00 committed by Christian Mauderer
parent acb80d6e0a
commit 2e96ed7562
3 changed files with 212 additions and 0 deletions

View File

@ -34,6 +34,8 @@ GENERATED += $(LOCAL_INC)/pci_if.h
GENERATED += $(LOCAL_SRC)/pci_if.c GENERATED += $(LOCAL_SRC)/pci_if.c
GENERATED += $(LOCAL_INC)/pcib_if.h GENERATED += $(LOCAL_INC)/pcib_if.h
GENERATED += $(LOCAL_SRC)/pcib_if.c 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_INC)/mmcbr_if.h
GENERATED += $(LOCAL_SRC)/mmcbr_if.c GENERATED += $(LOCAL_SRC)/mmcbr_if.c
GENERATED += $(LOCAL_INC)/mmcbus_if.h 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 awk -f $(TOOLS)/makeobjops.awk $< -c
mv pcib_if.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 $(LOCAL_INC)/mmcbus_if.h: $(FREEBSD_SRC)/sys/dev/mmc/mmcbus_if.m
awk -f $(TOOLS)/makeobjops.awk $< -h awk -f $(TOOLS)/makeobjops.awk $< -h
mv mmcbus_if.h $@ mv mmcbus_if.h $@

View File

@ -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_ */

69
rtemsbsd/local/pic_if.c Normal file
View File

@ -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 }
};