aboutsummaryrefslogtreecommitdiff
path: root/disas/libvixl/a64/instructions-a64.h
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2014-08-29 15:00:27 +0100
committerPeter Maydell <peter.maydell@linaro.org>2014-08-29 15:00:27 +0100
commit508280f5666a706a3681462b2a1d7de8107fd6fb (patch)
tree8ac95cc1b77048afcaad49c350e734bc145e31dd /disas/libvixl/a64/instructions-a64.h
parentd9aa68855724752a5684c6acfb17d8db15cec2f8 (diff)
downloadqemu-508280f5666a706a3681462b2a1d7de8107fd6fb.zip
qemu-508280f5666a706a3681462b2a1d7de8107fd6fb.tar.gz
qemu-508280f5666a706a3681462b2a1d7de8107fd6fb.tar.bz2
disas/libvixl: Update to upstream VIXL 1.5
Update our copy of libvixl to upstream's 1.5 release. This includes the upstream versions of the fixes we were carrying locally (commit ffebe899). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1407162987-4659-1-git-send-email-peter.maydell@linaro.org
Diffstat (limited to 'disas/libvixl/a64/instructions-a64.h')
-rw-r--r--disas/libvixl/a64/instructions-a64.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/disas/libvixl/a64/instructions-a64.h b/disas/libvixl/a64/instructions-a64.h
index a4240d7..d5b90c5 100644
--- a/disas/libvixl/a64/instructions-a64.h
+++ b/disas/libvixl/a64/instructions-a64.h
@@ -41,6 +41,10 @@ const unsigned kLiteralEntrySize = 4;
const unsigned kLiteralEntrySizeLog2 = 2;
const unsigned kMaxLoadLiteralRange = 1 * MBytes;
+// This is the nominal page size (as used by the adrp instruction); the actual
+// size of the memory pages allocated by the kernel is likely to differ.
+const unsigned kPageSize = 4 * KBytes;
+
const unsigned kWRegSize = 32;
const unsigned kWRegSizeLog2 = 5;
const unsigned kWRegSizeInBytes = kWRegSize / 8;
@@ -79,6 +83,12 @@ const unsigned kZeroRegCode = 31;
const unsigned kSPRegInternalCode = 63;
const unsigned kRegCodeMask = 0x1f;
+const unsigned kAddressTagOffset = 56;
+const unsigned kAddressTagWidth = 8;
+const uint64_t kAddressTagMask =
+ ((UINT64_C(1) << kAddressTagWidth) - 1) << kAddressTagOffset;
+VIXL_STATIC_ASSERT(kAddressTagMask == UINT64_C(0xff00000000000000));
+
// AArch64 floating-point specifics. These match IEEE-754.
const unsigned kDoubleMantissaBits = 52;
const unsigned kDoubleExponentBits = 11;