| 30 | } |
| 31 | |
| 32 | static __rte_always_inline uint16_t |
| 33 | rte_read16_relaxed(const volatile void *addr) |
| 34 | { |
| 35 | uint16_t val; |
| 36 | |
| 37 | asm volatile( |
| 38 | "ldrh %w[val], [%x[addr]]" |
| 39 | : [val] "=r" (val) |
| 40 | : [addr] "r" (addr)); |
| 41 | return val; |
| 42 | } |
| 43 | |
| 44 | static __rte_always_inline uint32_t |
| 45 | rte_read32_relaxed(const volatile void *addr) |