summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/108/KVM/735
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/zero-shot/108/KVM/735')
-rw-r--r--results/classifier/zero-shot/108/KVM/73541
1 files changed, 41 insertions, 0 deletions
diff --git a/results/classifier/zero-shot/108/KVM/735 b/results/classifier/zero-shot/108/KVM/735
new file mode 100644
index 000000000..fc6f0a00c
--- /dev/null
+++ b/results/classifier/zero-shot/108/KVM/735
@@ -0,0 +1,41 @@
+KVM: 0.962
+graphic: 0.944
+debug: 0.908
+device: 0.737
+performance: 0.732
+vnc: 0.631
+PID: 0.515
+semantic: 0.495
+network: 0.489
+socket: 0.483
+files: 0.456
+permissions: 0.438
+boot: 0.329
+other: 0.238
+
+softmmu 'at' not behaving
+Description of problem:
+This looks like a bug to me, please correct if I'm wrong. The execution context is EL2 here and we run KVM vms on top of the system emulation. Anyway, here we have stopped in the EL2 and want to translate a virtual address '0' with 'at'. While the '0' itself is not mapped, something in the first gigabyte is, and the softmmu refuses to walk to it:
+
+0x0000000100004a3c <at_s12e1r+8>: 80 78 0c d5 at s12e1r, x0
+0x0000000100004a40 <at_s12e1r+12>: 01 74 38 d5 mrs x1, par_el1
+
+(gdb) info registers x0 x1
+x0             0x0                 0
+x1             0x809               2057
+
+So that would be translation fault level 0, stage 1 if I'm not mistaken.
+
+(gdb) info all-registers TCR_EL1 VTCR_EL2 TTBR1_EL1
+TCR_EL1        0x400035b5503510    18014629184681232
+VTCR_EL2       0x623590            6436240
+TTBR1_EL1      0x304000041731001   217298683118686209
+
+(gdb) p print_table(0x41731000)
+000:0x000000ffff9803 256:0x000000fffff803 507:0x00000041fbc803
+508:0x000000ff9ef803
+
+The first gigabyte is populated, yet the 'at' knows nothing about it. Did I miss something? This seems to be working fine on the hardware.
+Steps to reproduce:
+1. Stop in the EL2 while the linux is running (GDB)
+2. Use something along the lines of this function to translate any kernel virtual address: https://github.com/jkrh/kvms/blob/4c26c786be9971613b3b7f56121c1a1aa3b9585a/core/helpers.h#L74