diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2017-09-04 15:21:54 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2017-09-04 15:21:54 +0100 |
| commit | 3114d092b1740f9db9aa559aeb48ee387011e1da (patch) | |
| tree | 9410c5312e49524fb008657399d4c078f5b67d58 /include/exec/memattrs.h | |
| parent | 429789cc772514971e3d1190d1553f514054dd5c (diff) | |
| download | focaccia-qemu-3114d092b1740f9db9aa559aeb48ee387011e1da.tar.gz focaccia-qemu-3114d092b1740f9db9aa559aeb48ee387011e1da.zip | |
memory.h: Move MemTxResult type to memattrs.h
Move the MemTxResult type to memattrs.h. We're going to want to use it in cpu/qom.h, which doesn't want to include all of memory.h. In practice MemTxResult and MemTxAttrs are pretty closely linked since both are used for the new-style read_with_attrs and write_with_attrs callbacks, so memattrs.h is a reasonable home for this rather than creating a whole new header file for it. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Diffstat (limited to 'include/exec/memattrs.h')
| -rw-r--r-- | include/exec/memattrs.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/exec/memattrs.h b/include/exec/memattrs.h index e601061848..d4a1642098 100644 --- a/include/exec/memattrs.h +++ b/include/exec/memattrs.h @@ -46,4 +46,14 @@ typedef struct MemTxAttrs { */ #define MEMTXATTRS_UNSPECIFIED ((MemTxAttrs) { .unspecified = 1 }) +/* New-style MMIO accessors can indicate that the transaction failed. + * A zero (MEMTX_OK) response means success; anything else is a failure + * of some kind. The memory subsystem will bitwise-OR together results + * if it is synthesizing an operation from multiple smaller accesses. + */ +#define MEMTX_OK 0 +#define MEMTX_ERROR (1U << 0) /* device returned an error */ +#define MEMTX_DECODE_ERROR (1U << 1) /* nothing at that address */ +typedef uint32_t MemTxResult; + #endif |