TuxSH
|
aeca48503b
|
thermosphere: use strict volatile bitfields just in case
|
2020-02-04 19:12:20 +00:00 |
|
TuxSH
|
0fb5f81e8a
|
thermosphere: vgic: fix critical bug in vgicUpdateState, add more checks
Yikes.
|
2020-02-04 19:12:20 +00:00 |
|
TuxSH
|
b0d258209c
|
thermosphere: add CFI where needed, add PANIC macro, etc.
|
2020-02-04 19:12:20 +00:00 |
|
TuxSH
|
c365fff119
|
thermosphere: vgic: mostly fix vSGI handling, remove unimplementable/unused stuff + bugfixes
Still somewhat broken, though
|
2020-02-04 19:12:20 +00:00 |
|
TuxSH
|
0b532a0dfb
|
thermosphere: fix guest access to irq 25, etc; we don't need to raise VI manually
See Armv8a TRM "Virtual IRQ exception"
|
2020-02-04 19:12:20 +00:00 |
|
TuxSH
|
1345aef693
|
thermosphere: add PPI definitions
|
2020-02-04 19:12:20 +00:00 |
|
TuxSH
|
eda6a8d8d6
|
vgic: fix multiple bugs
|
2020-02-04 19:12:20 +00:00 |
|
TuxSH
|
f75f584f2f
|
thermosphere: fix various vgic bugs; fix register access OOB bug (xzr)
|
2020-02-04 19:12:20 +00:00 |
|
TuxSH
|
62fe082cd4
|
thermosphere: vgic: fix enabled state of virqs
|
2020-02-04 19:12:20 +00:00 |
|
TuxSH
|
6cef320bc1
|
thermosphere: fix multiple bugs
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
e7b351ddb8
|
thermosphere: vgic code draft
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
9787bca325
|
thermosphere: also trap GICH (to deny access)
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
bb1ba5308d
|
thermosphere: handle stage2 data aborts, trap gicd accesses
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
442f4ef9ef
|
thermosphere: implement stop point broadcast
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
3af20ff7a2
|
thermopshere: add "execute function" sgi
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
322d796004
|
thermosphere: barrier & active core mask
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
c34df08ed9
|
thermosphere: handle physical IRQs
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
62fd2cd94d
|
thermosphere: add gicv2 register definitions
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
e71974085e
|
thermosphere: sw breakpoint code, etc.
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
577daaebf0
|
thermosphere: remove breakpoint/watchpoint reg dump functions
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
aad18182f4
|
thermosphere: add watchpoint + watchpoint merging code
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
0435b73f63
|
thermosphere: refactor crt0 + watchpoint init
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
bd93b01e57
|
thermosphere: add actual breakpoint code
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
88218f606c
|
thermosphere: add breakpoint/watchpoint enable/reset code
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
5081174d27
|
thermopshere: refactor & fix single-stepping code
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
731d50a3a3
|
thermopshere: refactor jump-to-kernel ,add single-step code
not working under qemu yet though
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
9c9f6c04cc
|
thermosphere: add spinlock code
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
0c0d9f5335
|
thermometer: yeet most a32 support code 👌
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
7f9c80abec
|
thermosphere: impl stage2 translation
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
c33d2ee369
|
thermosphere: rework linkscrips, use discardable sections, better sp pivot on crash
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
0b1ab362c6
|
thermosphere: add shadow page table hooks
note: HCR.TVM not supported by qemu yet
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
823b2c8a6d
|
thermosphere: enable EL2 stage1 translation (doesn't take much space)
Identity map using 1GB L1 blocks
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
a35b3ff982
|
thermosphere: fix x18 init, etc.
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
7f094044b2
|
thermosphere: add semihosting support & load a kernel using it when needed
basically host i/o
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
6cbf5628d4
|
thermosphere: seriaLog => debugLog, add DEBUG macro
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
abe524fd79
|
thermosphere: cpu_on hook & skeleton for other PSCI functions
|
2020-02-04 19:12:19 +00:00 |
|
TuxSH
|
2bc1dc5ac2
|
thermosphere: add smc trap handler
|
2020-02-04 19:12:18 +00:00 |
|
TuxSH
|
a47ad0b155
|
thermosphere: use adrp
|
2020-02-04 19:12:18 +00:00 |
|
TuxSH
|
e6db007a22
|
thermosphere: enable traps, works around qemu brk bug
|
2020-02-04 19:12:18 +00:00 |
|
TuxSH
|
ebef9b92e4
|
thermosphere: Fix wrong register allocation
|
2020-02-04 19:12:18 +00:00 |
|
TuxSH
|
af80d5816b
|
thermosphere: unfuck qemu JIT, fix exc. handling bug, add cache funcs
|
2020-02-04 19:12:18 +00:00 |
|
TuxSH
|
1f767fcce9
|
thermosphere: use x18 but qemu shits the bed
|
2020-02-04 19:12:18 +00:00 |
|
TuxSH
|
3769493300
|
thermosphere: add core_ctx.c/h
|
2020-02-04 19:12:18 +00:00 |
|
TuxSH
|
eeee49404d
|
fml coke spilled all over this laptop's keyboard
|
2020-02-04 19:12:18 +00:00 |
|
TuxSH
|
df38a00b86
|
thermosphere: sysreg stuff, continued
|
2020-02-04 19:12:18 +00:00 |
|
TuxSH
|
53785b2281
|
thermosphere: add remaining sysreg passthrough stuff
|
2020-02-04 19:12:18 +00:00 |
|
TuxSH
|
07039902f7
|
thermosphere: more sysreg code
|
2020-02-04 19:12:18 +00:00 |
|
TuxSH
|
e06131c114
|
thermosphere: add some basic sysreg trapping code
|
2020-02-04 19:12:18 +00:00 |
|
TuxSH
|
001cd7a7b0
|
thermosphere: proper uart_reset impl for uart-b
|
2020-02-04 19:12:18 +00:00 |
|
TuxSH
|
24f0af9e02
|
thermosphere: fix uart fifo init/flushing
|
2020-02-04 19:12:18 +00:00 |
|