summary refs log tree commit diff stats
path: root/results/classifier/118/review/2007
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/review/2007')
-rw-r--r--results/classifier/118/review/200789
1 files changed, 89 insertions, 0 deletions
diff --git a/results/classifier/118/review/2007 b/results/classifier/118/review/2007
new file mode 100644
index 00000000..260b6b93
--- /dev/null
+++ b/results/classifier/118/review/2007
@@ -0,0 +1,89 @@
+register: 0.943
+peripherals: 0.857
+semantic: 0.833
+performance: 0.828
+device: 0.796
+hypervisor: 0.785
+architecture: 0.761
+graphic: 0.731
+kernel: 0.637
+debug: 0.627
+network: 0.617
+assembly: 0.594
+ppc: 0.592
+vnc: 0.565
+x86: 0.562
+user-level: 0.529
+permissions: 0.528
+arm: 0.524
+i386: 0.506
+socket: 0.476
+PID: 0.469
+KVM: 0.441
+boot: 0.428
+risc-v: 0.426
+mistranslation: 0.424
+VMM: 0.386
+TCG: 0.269
+virtual: 0.237
+files: 0.164
+--------------------
+kernel: 0.870
+register: 0.819
+hypervisor: 0.699
+debug: 0.695
+x86: 0.657
+arm: 0.296
+KVM: 0.231
+assembly: 0.213
+virtual: 0.138
+TCG: 0.123
+user-level: 0.080
+ppc: 0.046
+i386: 0.040
+risc-v: 0.039
+files: 0.036
+peripherals: 0.035
+PID: 0.034
+VMM: 0.022
+device: 0.021
+performance: 0.015
+architecture: 0.010
+network: 0.009
+semantic: 0.008
+boot: 0.007
+vnc: 0.003
+socket: 0.003
+permissions: 0.003
+graphic: 0.002
+mistranslation: 0.000
+
+Unable to update APIC_TPR when x2APIC is enabled and -global kvm-pit.lost_tick_policy=discard parameter provided
+Description of problem:
+I am developing a custom OS and I wanted to implement x2APIC support. I was able to enable x2APIC, read and write some registers, like APIC_VER and APIC_SIVR. Everything looks good, except that I cannot update APIC_TPR register. Reading it always returns 0. The code I wrote works properly on bare metal. Below some observations:
+
+Scenario 1:
+1. Enable x2APIC
+2. Write to CR8 - success
+3. Read from CR8 - gives correct value
+4. Read from APIC_TPR - gives correct value
+
+Scenario 2:
+1. Enable x2APIC
+2. Read from APIC_TPR - gives 0
+3. Write to APIC_TPR
+4. Read from APIC_TPR - gives 0 again
+
+Scenario 3:
+1. Initialize APIC (LAPIC or xAPIC)
+2. Write to APIC_TPR
+3. Read from APIC_TPR - gives correct value
+4. Switch to x2APIC
+5. Read from APIC_TPR - gives correct value stored in pt. 2
+6. Write to APIC_TPR
+7. Read from APIC_TPR - gives values stored in pt.2, not in point 6!
+
+Looks like APIC_TPR is stuck at value stored there before switching to x2APIC and it cannot be updated with MSR. Only update CR8 works.
+I have checked parameters I passed to qemu. After removing `-global kvm-pit.lost_tick_policy=discard` problem is gone and APIC_TPR is updated correctly.
+Additional information:
+Please let me know if you need additional information.