blob: d76ac0ec23458288c1f99efd554200602591223c (
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
41
42
43
44
45
|
files: 0.912
device: 0.851
graphic: 0.838
network: 0.765
vnc: 0.748
boot: 0.729
PID: 0.706
socket: 0.654
semantic: 0.575
performance: 0.546
permissions: 0.458
debug: 0.439
other: 0.200
KVM: 0.172
rdhpr %htstate unimplemented in translator
Description of problem:
I accidentally mixed up a copy of T1 and T2 sun4v firmwares and was able to trigger the following TCG assert ``tcg_reg_alloc_mov: Assertion `ts->val_type == TEMP_VAL_REG' failed.`` upon boot.
Having discovered my mistake I was expecting the guest to crash at some point but without triggering an
assert.
Steps to reproduce:
1. Download the attached file bug.tar.gz and extract it
2. Apply the following diff to update the UART address for the T2 firmware
```
diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c
index ccad2c43a3..7af64bd50f 100644
--- a/hw/sparc64/niagara.c
+++ b/hw/sparc64/niagara.c
@@ -51,7 +51,7 @@ typedef struct NiagaraBoardState {
#define NIAGARA_PARTITION_RAM_BASE 0x80000000ULL
-#define NIAGARA_UART_BASE 0x1f10000000ULL
+#define NIAGARA_UART_BASE 0xfff0c2c000ULL
#define NIAGARA_NVRAM_BASE 0x1f11000000ULL
#define NIAGARA_NVRAM_SIZE 0x2000
```
3. Run `./qemu-system-sparc64 -M niagara -L ./bug/ -m 256 -nographic`
Additional information:
|