mirror of
https://github.com/Qortal/Brooklyn.git
synced 2025-02-16 04:05:53 +00:00
Changes included (and more): 1. Dynamic RAM merge 2. Real-time page scan and allocation 3. Cache compression 4. Real-time IRQ checks 5. Dynamic I/O allocation for Java heap 6. Java page migration 7. Contiguous memory allocation 8. Idle pages tracking 9. Per CPU RAM usage tracking 10. ARM NEON scalar multiplication library 11. NEON/ARMv8 crypto extensions 12. NEON SHA, Blake, RIPEMD crypto extensions 13. Parallel NEON crypto engine for multi-algo based CPU stress reduction
26 lines
941 B
C
26 lines
941 B
C
#define __INVALID_ATOMIC_ACCESS_TEST(op) \
|
|
{ \
|
|
"atomic " #op " access through non-pointer ", \
|
|
.insns = { \
|
|
BPF_MOV64_IMM(BPF_REG_0, 1), \
|
|
BPF_MOV64_IMM(BPF_REG_1, 0), \
|
|
BPF_ATOMIC_OP(BPF_DW, op, BPF_REG_1, BPF_REG_0, -8), \
|
|
BPF_MOV64_IMM(BPF_REG_0, 0), \
|
|
BPF_EXIT_INSN(), \
|
|
}, \
|
|
.result = REJECT, \
|
|
.errstr = "R1 invalid mem access 'scalar'" \
|
|
}
|
|
__INVALID_ATOMIC_ACCESS_TEST(BPF_ADD),
|
|
__INVALID_ATOMIC_ACCESS_TEST(BPF_ADD | BPF_FETCH),
|
|
__INVALID_ATOMIC_ACCESS_TEST(BPF_ADD),
|
|
__INVALID_ATOMIC_ACCESS_TEST(BPF_ADD | BPF_FETCH),
|
|
__INVALID_ATOMIC_ACCESS_TEST(BPF_AND),
|
|
__INVALID_ATOMIC_ACCESS_TEST(BPF_AND | BPF_FETCH),
|
|
__INVALID_ATOMIC_ACCESS_TEST(BPF_OR),
|
|
__INVALID_ATOMIC_ACCESS_TEST(BPF_OR | BPF_FETCH),
|
|
__INVALID_ATOMIC_ACCESS_TEST(BPF_XOR),
|
|
__INVALID_ATOMIC_ACCESS_TEST(BPF_XOR | BPF_FETCH),
|
|
__INVALID_ATOMIC_ACCESS_TEST(BPF_XCHG),
|
|
__INVALID_ATOMIC_ACCESS_TEST(BPF_CMPXCHG),
|