Xenomai
3.1
machine.h
1
23
#ifndef _COBALT_ARM64_ASM_MACHINE_H
24
#define _COBALT_ARM64_ASM_MACHINE_H
25
26
#include <linux/version.h>
27
#include <asm/byteorder.h>
28
29
#define XNARCH_HOST_TICK_IRQ __ipipe_hrtimer_irq
30
31
#include <asm/barrier.h>
32
#include <asm/compiler.h>
33
#include <asm/cmpxchg.h>
34
#include <asm/switch_to.h>
35
#include <asm/system_misc.h>
36
#include <asm/timex.h>
37
#include <asm/processor.h>
38
#include <asm/ipipe.h>
39
#include <asm/cacheflush.h>
40
#include <cobalt/kernel/assert.h>
41
42
/* D-side always behaves as PIPT on AArch64 (see arch/arm64/include/asm/cachetype.h) */
43
#define xnarch_cache_aliasing() 0
44
45
static
inline
__attribute_const__
unsigned
long
ffnz(
unsigned
long
ul)
46
{
47
int
__r;
48
49
/* zero input is not valid */
50
XENO_WARN_ON(COBALT, ul == 0);
51
52
__asm__ (
"rbit\t%0, %1\n"
53
"clz\t%0, %0\n"
54
:
"=r"
(__r) :
"r"
(ul) :
"cc"
);
55
56
return
__r;
57
}
58
59
#include <asm-generic/xenomai/machine.h>
60
61
#endif
/* !_COBALT_ARM64_ASM_MACHINE_H */
kernel
cobalt
arch
arm64
include
asm
xenomai
machine.h
Generated by
1.8.14