00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _RTAI_ASM_M68KNOMMU_SHM_H
00020 #define _RTAI_ASM_M68KNOMMU_SHM_H
00021
00022 #include <asm/pgtable.h>
00023 #include <asm/io.h>
00024 #include <asm/rtai_vectors.h>
00025 #include <rtai_wrappers.h>
00026
00027 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
00028 #define VMALLOC_VMADDR(x) ((unsigned long)(x))
00029 #endif
00030
00031 #ifndef __KERNEL__
00032
00033 static inline long long rtai_shmrq(int srq, unsigned long args)
00034 {
00035 long long retval;
00036 RTAI_DO_TRAP_SYS(&retval, srq, args);
00037 return retval;
00038 }
00039
00040 #endif
00041
00042 #ifndef CONFIG_MMU
00043
00044
00045
00046
00047 static inline unsigned long uvirt_to_kva(pgd_t *pgd, unsigned long adr)
00048 {
00049 return adr;
00050 }
00051
00052 static inline unsigned long uvirt_to_bus(unsigned long adr)
00053 {
00054 return virt_to_bus((void *)adr);
00055 }
00056
00057 static inline unsigned long kvirt_to_bus(unsigned long adr)
00058 {
00059 unsigned long va;
00060
00061 va = VMALLOC_VMADDR(adr);
00062 return virt_to_bus((void *)va);
00063 }
00064
00065 static inline unsigned long kvirt_to_pa(unsigned long adr)
00066 {
00067 unsigned long va;
00068
00069 va = VMALLOC_VMADDR(adr);
00070 return __pa(va);
00071 }
00072
00073 #endif
00074
00075 #endif