26 #ifndef __L4SYS__INCLUDE__ARCH_ARM__MEM_OP_H__ 27 #define __L4SYS__INCLUDE__ARCH_ARM__MEM_OP_H__ 70 L4_INLINE
unsigned long 71 l4_mem_read(
unsigned long virtaddress,
unsigned width);
91 L4_MEM_OP_MEM_READ = 0x10,
92 L4_MEM_OP_MEM_WRITE = 0x11,
98 L4_INLINE
unsigned long 102 unsigned long value);
106 L4_INLINE
unsigned long 112 register unsigned long _op __asm__ (
"r0") = op;
113 register unsigned long _va __asm__ (
"r1") = va;
114 register unsigned long _width __asm__ (
"r2") = width;
115 register unsigned long _value __asm__ (
"r3") = value;
118 (
"@ l4_cache_op_arm_call(start) \n\t" 121 "@ l4_cache_op_arm_call(end) \n\t" 128 [sc]
"i" (L4_SYSCALL_MEM_OP),
140 L4_INLINE
unsigned long Access two bytes (16-bit width)
unsigned long l4_mem_arm_op_call(unsigned long op, unsigned long va, unsigned long width, unsigned long value)
Implementations.
Access one byte (8-bit width)
unsigned long l4_mem_read(unsigned long virtaddress, unsigned width)
Read user task memory from kernel privilege level.
Syscall entry definitions.
#define EXTERN_C_END
End section with C types and functions.
Access four bytes (32-bit width)
L4 compiler related defines.
L4_mem_op_widths
Memory access width definitions.
void l4_mem_write(unsigned long virtaddress, unsigned width, unsigned long value)
Write user task memory from kernel privilege level.
#define EXTERN_C_BEGIN
Start section with C types and functions.