summary refs log tree commit diff stats
path: root/results/classifier/deepseek-2/output/hypervisor/2195
blob: f921febd8aac0ac48820bb8c3115af3d991f9202 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
qemu-system-x86_64 : cannot resume from S3 suspend for Q35 + OVMF
Description of problem:
There is a specific configuration where the resume from S3 does not work:

- Q35 machine + OVMF.fd (https://retrage.github.io/edk2-nightly/)
- TCG acceleration (it works when --accel=kvm is set)

The output at resume is:

```
!!!! X64 Exception Type - 05(#BR - BOUND Range Exceeded)  CPU Apic ID - 00000000 !!!!
RIP  - 0000000000006237, CS  - 0000000000000028, RFLAGS - 0000000000000002
RAX  - 0000000080000027, RCX - 0000000000000000, RDX - 0000000000000000
RBX  - 0000000099200000, RSP - 000000000FF96236, RBP - 000000000FF96320
RSI  - 000000000F74E000, RDI - 0000000000833F31
R8   - 0000002800000000, R9  - 0000000000000000, R10 - 000000000FF968F0
R11  - 0000000000828B30, R12 - 000000000FF9ACD0, R13 - 000000000F76B000
R14  - 000000000F76A000, R15 - 0000000000000000
DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
GS   - 0000000000000030, SS  - 0000000000000030
CR0  - 0000000080000033, CR2 - 0000000000000000, CR3 - 000000000F75B000
CR4  - 0000000000000668, CR8 - 0000000000000000
DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
GDTR - 0000000000833DE0 0000000000000047, LDTR - 0000000000000000
IDTR - 000000000FF97D70 000000000000021F,   TR - 0000000000000000
FXSAVE_STATE - 000000000FF95E90
!!!! Can't find image information. !!!!
```

After bisecting, this is caused by commit : 18a536f1f8d6222e562f59179e837fdfd8b92718 If i revert this comment, the resume works nicely.

I used a script to generate a tiny initrd to test but i think the problem can be reproduced with any guest kernel + rootfs. I also verify that this problem can be reproduced with different host kernels (6.5) than the one i used (6.8)
Steps to reproduce:
1. Use https://gitlab.com/berrange/tiny-vm-tools/-/blob/master/make-tiny-image.py to generate tiny-initrd.img
2. Run qemu and drop into shell
3. Put machine into S3 (echo mem \> /sys/power/state)
4. Use socat to connect to QEMU monitor and wake up the machine (system_wakeup)
5. The machine does not resume correctly