diff options
Diffstat (limited to 'results/classifier/118/graphic/661')
| -rw-r--r-- | results/classifier/118/graphic/661 | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/results/classifier/118/graphic/661 b/results/classifier/118/graphic/661 new file mode 100644 index 000000000..235695562 --- /dev/null +++ b/results/classifier/118/graphic/661 @@ -0,0 +1,74 @@ +register: 0.977 +graphic: 0.971 +ppc: 0.921 +x86: 0.894 +performance: 0.845 +peripherals: 0.824 +kernel: 0.824 +user-level: 0.798 +network: 0.736 +socket: 0.730 +device: 0.722 +assembly: 0.719 +mistranslation: 0.715 +boot: 0.707 +debug: 0.690 +architecture: 0.690 +PID: 0.688 +semantic: 0.679 +permissions: 0.677 +files: 0.639 +vnc: 0.625 +risc-v: 0.622 +virtual: 0.601 +hypervisor: 0.595 +TCG: 0.565 +KVM: 0.545 +arm: 0.535 +VMM: 0.523 +i386: 0.508 + +Unable to enable 5 level paging +Description of problem: +When attempting to set cr4.LA57, qemu just freezes on that instruction. When I say freeze I mean literally freeze, no exceptions, nothing, it just halts forever on that instruction. When this happened, the first thing I did was + +``` +(qemu) info registers +EAX=00001000 EBX=00000001 ECX=80224f08 EDX=00000000 +ESI=8034a3a0 EDI=00026520 EBP=000079f8 ESP=000079c8 +EIP=00019648 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0 +ES =0020 00000000 ffffffff 00c09300 DPL=0 DS [-WA] +CS =0018 00000000 ffffffff 00c09a00 DPL=0 CS32 [-R-] +SS =0020 00000000 ffffffff 00c09300 DPL=0 DS [-WA] +DS =0020 00000000 ffffffff 00c09300 DPL=0 DS [-WA] +FS =0020 00000000 ffffffff 00cf9300 DPL=0 DS [-WA] +GS =0020 00000000 ffffffff 00cf9300 DPL=0 DS [-WA] +LDT=0000 00000000 00000000 00008200 DPL=0 LDT +TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy +GDT= 0000e120 00000037 +IDT= 00000000 00000000 +CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000 +DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000 +DR6=00000000ffff0ff0 DR7=0000000000000400 +EFER=0000000000000000 +... +``` + +then using gdb to figure out what instruction it is hanging on, I set a breakpoint at 0x19648 at and ran +``` +(gdb) x/1 0x19648 +=> 0x19648: mov %rax,%cr4 +(gdb) +``` + +This instruction corresponds to this LOC within limine https://github.com/limine-bootloader/limine/blob/trunk/stage23/protos/stivale.32.c#L33 +Steps to reproduce: +1. Try to enable 5 level paging +2. qemu freezes when trying to set cr4.LA57 +3. cry +Additional information: +This never happened prior to version 6.1, I test this on multiple different machines and a few of my friends +experienced the same issue + +I have not tested this on linux, however I assume it will do the same on anything else. +Either way, qemu should not be just halting |