6502/vbcc/targets/ppc-morphos/include/inline/pcix_protos.h
2022-05-12 21:36:39 +09:30

141 lines
5.3 KiB
C

#ifndef _VBCCINLINE_PCIX_H
#define _VBCCINLINE_PCIX_H
#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef EMUL_EMULREGS_H
#include <emul/emulregs.h>
#endif
APTR __PCIXCreateIntObjectTagList(void *, APTR BoardObject, ULONG (*Code)(void), APTR Data, struct TagItem * MyTags) =
"\tlwz\t0,-52(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXCreateIntObjectTagList(BoardObject, Code, Data, MyTags) __PCIXCreateIntObjectTagList(PCIXBase, (BoardObject), (Code), (Data), (MyTags))
#if !defined(NO_INLINE_STDARG) && (__STDC__ == 1L) && (__STDC_VERSION__ >= 199901L)
APTR __linearvarargs __PCIXCreateIntObjectTags(void *, APTR BoardObject, ULONG (*Code)(void), APTR Data, ...) =
"\tlwz\t0,-52(3)\n"
"\taddi\t7,1,8\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXCreateIntObjectTags(BoardObject, Code, ...) __PCIXCreateIntObjectTags(PCIXBase, (BoardObject), (Code), __VA_ARGS__)
#endif
void __PCIXDeleteIntObject(void *, APTR IntObject) =
"\tlwz\t0,-58(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXDeleteIntObject(IntObject) __PCIXDeleteIntObject(PCIXBase, (IntObject))
APTR __PCIXFindBridgeTagList(void *, APTR BoardObject, struct TagItem * Tags) =
"\tlwz\t0,-64(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXFindBridgeTagList(BoardObject, Tags) __PCIXFindBridgeTagList(PCIXBase, (BoardObject), (Tags))
#if !defined(NO_INLINE_STDARG) && (__STDC__ == 1L) && (__STDC_VERSION__ >= 199901L)
APTR __linearvarargs __PCIXFindBridgeTags(void *, APTR BoardObject, ...) =
"\tlwz\t0,-64(3)\n"
"\taddi\t5,1,8\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXFindBridgeTags(...) __PCIXFindBridgeTags(PCIXBase, __VA_ARGS__)
#endif
ULONG __PCIXGetBridgeAttr(void *, APTR BoardObject, ULONG Attr) =
"\tlwz\t0,-70(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXGetBridgeAttr(BoardObject, Attr) __PCIXGetBridgeAttr(PCIXBase, (BoardObject), (Attr))
ULONG __PCIXSetBridgeAttr(void *, APTR BoardObject, ULONG Attr, ULONG Data) =
"\tlwz\t0,-76(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXSetBridgeAttr(BoardObject, Attr, Data) __PCIXSetBridgeAttr(PCIXBase, (BoardObject), (Attr), (Data))
APTR __PCIXFindBoardTagList(void *, APTR BoardObject, struct TagItem * Tags) =
"\tlwz\t0,-82(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXFindBoardTagList(BoardObject, Tags) __PCIXFindBoardTagList(PCIXBase, (BoardObject), (Tags))
#if !defined(NO_INLINE_STDARG) && (__STDC__ == 1L) && (__STDC_VERSION__ >= 199901L)
APTR __linearvarargs __PCIXFindBoardTags(void *, APTR BoardObject, ...) =
"\tlwz\t0,-82(3)\n"
"\taddi\t5,1,8\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXFindBoardTags(...) __PCIXFindBoardTags(PCIXBase, __VA_ARGS__)
#endif
ULONG __PCIXGetBoardAttr(void *, APTR BoardObject, ULONG Attr) =
"\tlwz\t0,-88(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXGetBoardAttr(BoardObject, Attr) __PCIXGetBoardAttr(PCIXBase, (BoardObject), (Attr))
ULONG __PCIXSetBoardAttr(void *, APTR BoardObject, ULONG Attr, ULONG Data) =
"\tlwz\t0,-94(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXSetBoardAttr(BoardObject, Attr, Data) __PCIXSetBoardAttr(PCIXBase, (BoardObject), (Attr), (Data))
ULONG __PCIXReadConfigByte(void *, APTR BoardObject, ULONG Offset) =
"\tlwz\t0,-100(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXReadConfigByte(BoardObject, Offset) __PCIXReadConfigByte(PCIXBase, (BoardObject), (Offset))
ULONG __PCIXReadConfigWord(void *, APTR BoardObject, ULONG Offset) =
"\tlwz\t0,-106(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXReadConfigWord(BoardObject, Offset) __PCIXReadConfigWord(PCIXBase, (BoardObject), (Offset))
ULONG __PCIXReadConfigLong(void *, APTR BoardObject, ULONG Offset) =
"\tlwz\t0,-112(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXReadConfigLong(BoardObject, Offset) __PCIXReadConfigLong(PCIXBase, (BoardObject), (Offset))
ULONG __PCIXWriteConfigByte(void *, APTR BoardObject, ULONG Offset, ULONG Data) =
"\tlwz\t0,-118(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXWriteConfigByte(BoardObject, Offset, Data) __PCIXWriteConfigByte(PCIXBase, (BoardObject), (Offset), (Data))
ULONG __PCIXWriteConfigWord(void *, APTR BoardObject, ULONG Offset, ULONG Data) =
"\tlwz\t0,-124(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXWriteConfigWord(BoardObject, Offset, Data) __PCIXWriteConfigWord(PCIXBase, (BoardObject), (Offset), (Data))
ULONG __PCIXWriteConfigLong(void *, APTR BoardObject, ULONG Offset, ULONG Data) =
"\tlwz\t0,-130(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXWriteConfigLong(BoardObject, Offset, Data) __PCIXWriteConfigLong(PCIXBase, (BoardObject), (Offset), (Data))
ULONG __PCIXModifyConfigByte(void *, APTR BoardObject, ULONG Offset, ULONG Data, ULONG Mask) =
"\tlwz\t0,-208(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXModifyConfigByte(BoardObject, Offset, Data, Mask) __PCIXModifyConfigByte(PCIXBase, (BoardObject), (Offset), (Data), (Mask))
ULONG __PCIXModifyConfigWord(void *, APTR BoardObject, ULONG Offset, ULONG Data, ULONG Mask) =
"\tlwz\t0,-214(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXModifyConfigWord(BoardObject, Offset, Data, Mask) __PCIXModifyConfigWord(PCIXBase, (BoardObject), (Offset), (Data), (Mask))
ULONG __PCIXModifyConfigLong(void *, APTR BoardObject, ULONG Offset, ULONG Data, ULONG Mask) =
"\tlwz\t0,-220(3)\n"
"\tmtctr\t0\n"
"\tbctrl";
#define PCIXModifyConfigLong(BoardObject, Offset, Data, Mask) __PCIXModifyConfigLong(PCIXBase, (BoardObject), (Offset), (Data), (Mask))
#endif /* _VBCCINLINE_PCIX_H */