summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/boot/452
blob: a98579275811db804db6364a9f2cacc82ae303e8 (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
46
47
48
49
50
51
52
53
54
55
56
57
Akita (and probably all Spitz-like / PXA270) platform does not load BIOS binary
Description of problem:
QEMU does not appear to load a binary file passed with the "-bios" argument for the "akita" target. This probably extends to other spitz-type systems.

Exptected behavior: qemu loads the binary into address 0x0000.
Actual behavior: address space at 0x0000 contains only zeros.
Steps to reproduce:
Terminal 1:
```
qemu-system-arm -M akita -bios c750.rom -s -S
```

Terminal 2: 
```
gdb-multiarch
target remote localhost:1234
x/64i $pc
```

Result:
```
=> 0x0: andeq   r0, r0, r0
   0x4: andeq   r0, r0, r0
   0x8: andeq   r0, r0, r0
   0xc: andeq   r0, r0, r0
   0x10:        andeq   r0, r0, r0
```

Correct behavior (can demonstrate with virt machine):
Same as before, but start Terminal 1 with:
```
qemu-system-arm -M akita -bios c750.rom -s -S
```

Result:
```
=> 0x0: b       0x34
   0x4: ldr     pc, [pc, #156]  ; 0xa8
   0x8: ldr     pc, [pc, #156]  ; 0xac
   0xc: ldr     pc, [pc, #156]  ; 0xb0
   0x10:        ldr     pc, [pc, #156]  ; 0xb4
   0x14:        nop                     ; (mov r0, r0)
   0x18:        ldr     pc, [pc, #152]  ; 0xb8
   0x1c:        ldr     pc, [pc, #152]  ; 0xbc
   0x20:        mov     r0, #128        ; 0x80
   0x24:        b       0x2c
   0x28:        mov     r0, #129        ; 0x81
   0x2c:        ldr     r1, [pc, #140]  ; 0xc0
   0x30:        str     r0, [r1]
   0x34:        mrs     lr, CPSR
   0x38:        bic     lr, lr, #31
   0x3c:        orr     lr, lr, #211    ; 0xd3
   0x40:        msr     CPSR_fc, lr
```
Additional information:
File with very tiny boot ROM: [c750-tiny.rom](/uploads/045852c8b353174bf0b7a4193d0d1be0/c750-tiny.rom)