blob: 99fa47ee3c5420cbb9d09735c97cb8099d1f9acb (
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
|
device: 0.728
architecture: 0.705
graphic: 0.575
semantic: 0.489
socket: 0.478
network: 0.473
vnc: 0.435
boot: 0.384
debug: 0.380
permissions: 0.374
PID: 0.314
ppc: 0.302
virtual: 0.295
kernel: 0.281
x86: 0.261
files: 0.252
risc-v: 0.239
user-level: 0.227
performance: 0.213
mistranslation: 0.203
register: 0.183
arm: 0.145
TCG: 0.142
VMM: 0.119
hypervisor: 0.103
i386: 0.094
peripherals: 0.077
assembly: 0.066
KVM: 0.016
Octeon Instruction BBIT Bug
Steps to reproduce:
1. Compile 64bit binary for Octeon with Octeon instructions
`mips64-octeon-linux-gnu-gcc -o hello hello.c`
2. Run with `qemu-mips64`
`qemu-mips64 -cpu Octeon68XX hello`
3. Get the output below:
```
qemu: uncaught target signal 4 (Illegal instruction) - core dumped
Illegal instruction
```
Additional information:
I have a patch for this that I will be submitting to trivial-patches. This is not enough to emulate Octeon specific binaries alone. For small binaries mapping the `CVMSEG_LM = 0xFFFFFFFFFFFF8000 - 0xFFFFFFFFFFFF9FFF` to empty RAM and using this patch is enough. There are additional support issues for `N32` binaries that will require a separate issue.
[hello](/uploads/d8b5e631508fd232b4a7b3a40f7e08f6/hello)
|