summary refs log tree commit diff stats
path: root/results/classifier/118/review/1868527
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/review/1868527')
-rw-r--r--results/classifier/118/review/186852791
1 files changed, 91 insertions, 0 deletions
diff --git a/results/classifier/118/review/1868527 b/results/classifier/118/review/1868527
new file mode 100644
index 00000000..519ccbc2
--- /dev/null
+++ b/results/classifier/118/review/1868527
@@ -0,0 +1,91 @@
+architecture: 0.850
+debug: 0.649
+semantic: 0.608
+graphic: 0.596
+virtual: 0.550
+performance: 0.547
+device: 0.527
+arm: 0.404
+mistranslation: 0.403
+risc-v: 0.378
+PID: 0.310
+ppc: 0.305
+assembly: 0.296
+hypervisor: 0.288
+permissions: 0.268
+vnc: 0.262
+x86: 0.245
+register: 0.245
+user-level: 0.213
+socket: 0.207
+TCG: 0.196
+i386: 0.194
+peripherals: 0.185
+network: 0.174
+boot: 0.152
+kernel: 0.152
+VMM: 0.138
+KVM: 0.086
+files: 0.071
+--------------------
+arm: 0.952
+debug: 0.416
+TCG: 0.365
+virtual: 0.230
+architecture: 0.091
+user-level: 0.068
+files: 0.044
+kernel: 0.035
+register: 0.021
+semantic: 0.011
+performance: 0.011
+device: 0.010
+hypervisor: 0.009
+VMM: 0.009
+vnc: 0.008
+PID: 0.008
+socket: 0.004
+assembly: 0.003
+risc-v: 0.003
+network: 0.003
+peripherals: 0.002
+boot: 0.001
+permissions: 0.001
+x86: 0.001
+graphic: 0.001
+i386: 0.001
+KVM: 0.000
+mistranslation: 0.000
+ppc: 0.000
+
+alignment may overlap the TLB flags
+
+Hi,
+In QEMU-4.2.0, or git-9b26a610936deaf436af9b7e39e4b7f0a35e4409, alignment may overlap the TLB flags. 
+For example, the alignment: MO_ALIGN_32,
+    MO_ALIGN_32 = 5 << MO_ASHIFT,
+and the TLB flag: TLB_DISCARD_WRITE
+#define TLB_DISCARD_WRITE   (1 << (TARGET_PAGE_BITS_MIN - 6))
+
+then, in the function "get_alignment_bits", the assert may fail:
+
+#if defined(CONFIG_SOFTMMU)
+    /* The requested alignment cannot overlap the TLB flags.  */
+    tcg_debug_assert((TLB_FLAGS_MASK & ((1 << a) - 1)) == 0);
+#endif
+
+However, the alignment of MO_ALIGN_32 is not used for now, so the assert cannot be triggered in current version. Anyway it seems like a potential conflict.
+
+That is of course completely dependent on the target page size.  So, yes, a target with a very small page size cannot use large alignments.  The assert makes sure.
+
+Is this comment simply by inspection, or did you have an actual bug to report?
+
+This is an inspection yet.
+For ARM SMMU simulation, TARGET_PAGE_BITS_MIN is 10. All low bits of the TLB virtual address are used up by TLB flags and alignment flags. It's a little crowded.
+/*
+ * ARMv7 and later CPUs have 4K pages minimum, but ARMv5 and v6
+ * have to support 1K tiny pages.
+ */
+# define TARGET_PAGE_BITS_VARY
+# define TARGET_PAGE_BITS_MIN  10
+