summaryrefslogtreecommitdiffstats
path: root/include/exec
diff options
context:
space:
mode:
authorTony Nguyen2019-08-23 20:36:56 +0200
committerRichard Henderson2019-09-03 17:30:39 +0200
commita26fc6f5152b47f1d7ed928f9c9d462d01ff1624 (patch)
treec7ef59b7146b37a2baf70e2af17a0e0d6d406a8c /include/exec
parentmemory: Single byte swap along the I/O path (diff)
downloadqemu-a26fc6f5152b47f1d7ed928f9c9d462d01ff1624.tar.gz
qemu-a26fc6f5152b47f1d7ed928f9c9d462d01ff1624.tar.xz
qemu-a26fc6f5152b47f1d7ed928f9c9d462d01ff1624.zip
cputlb: Byte swap memory transaction attribute
Notice new attribute, byte swap, and force the transaction through the memory slow path. Required by architectures that can invert endianness of memory transaction, e.g. SPARC64 has the Invert Endian TTE bit. Suggested-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Tony Nguyen <tony.nguyen@bt.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <2a10a1f1c00a894af1212c8f68ef09c2966023c1.1566466906.git.tony.nguyen@bt.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/exec')
-rw-r--r--include/exec/memattrs.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/exec/memattrs.h b/include/exec/memattrs.h
index d4a3477d71..95f2d20d55 100644
--- a/include/exec/memattrs.h
+++ b/include/exec/memattrs.h
@@ -37,6 +37,8 @@ typedef struct MemTxAttrs {
unsigned int user:1;
/* Requester ID (for MSI for example) */
unsigned int requester_id:16;
+ /* Invert endianness for this page */
+ unsigned int byte_swap:1;
/*
* The following are target-specific page-table bits. These are not
* related to actual memory transactions at all. However, this structure