summaryrefslogtreecommitdiff
path: root/attack_code/evict_load/victim.asm
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2019-04-10 16:00:23 +0800
committerIru Cai <mytbk920423@gmail.com>2019-05-31 16:03:18 +0800
commitcd184d861f5702e0ec5855e7247584c799bd24a2 (patch)
treefa4dea6b6adf438dca6b023cd7b0cda14807fc0e /attack_code/evict_load/victim.asm
parent3fe13600a91d1eb8a353f1ac7455d9a1d977027a (diff)
downloadgem5-cd184d861f5702e0ec5855e7247584c799bd24a2.tar.xz
add attack code and attack test script
Diffstat (limited to 'attack_code/evict_load/victim.asm')
-rw-r--r--attack_code/evict_load/victim.asm22
1 files changed, 22 insertions, 0 deletions
diff --git a/attack_code/evict_load/victim.asm b/attack_code/evict_load/victim.asm
new file mode 100644
index 000000000..bd3effbc3
--- /dev/null
+++ b/attack_code/evict_load/victim.asm
@@ -0,0 +1,22 @@
+; code similar to gcc -O2 -c victim.c, working on gem5
+; it doesn't store rdi to stack as -O0
+
+extern array1
+extern array2
+extern array_size
+
+global victim
+
+victim:
+xor eax, eax
+cmp [rel array_size], rdi
+jbe fret
+lea rax, [rel array1]
+add rax, rdi
+movzx eax, byte [rax]
+shl eax, 6
+cdq
+lea rdx, [rel array2]
+mov eax, [rdx + rax]
+fret:
+rep ret