TuxSH
e3961f225c
thermosphere: introduce "ENSURE"
2020-02-04 19:12:23 +00:00
TuxSH
2d32a812b7
thermosphere: implement reading and writing guest memory
2020-02-04 19:12:21 +00:00
TuxSH
aebdb2a774
thermosphere: we expose a GICv2, not a GICv1
2020-02-04 19:12:21 +00:00
TuxSH
7553580b64
thermosphere: major refactor of memory map
...
- use recursive stage 1 page table (thanks @fincs for this idea)
- NULL now unmapped
- no identity mapping
- image + GICv2 now mapped at the same address for every platform
- tempbss mapped just after "real" bss, can now steal unused mem from
the latter
- no hardcoded VAs for other MMIO devices
- tegra: remove timers, use the generic timer instead
2020-02-04 19:12:21 +00:00
TuxSH
2219494675
thermosphere: vgic: largely reduce the number of mmio accesses
...
since we have to use 64 bits for VirqState anyway
2020-02-04 19:12:20 +00:00
TuxSH
d560330a9d
thermosphere: make the pending virq list ordering stable
2020-02-04 19:12:20 +00:00
TuxSH
3424e0bf71
thermosphere: fix wrong icfgr shift; fix list handling bug
2020-02-04 19:12:20 +00:00
TuxSH
7d30fce54c
thermosphere: vgic: fix OOB accesses, fix icfgr and itargetsr handling
...
qemu actually allows SPIs to use the N-N model
2020-02-04 19:12:20 +00:00
TuxSH
81a3b4fff5
thermosphere: fix is/ic registers usage; fix offset calculation
2020-02-04 19:12:20 +00:00
TuxSH
d43d1af62a
thermosphere: fix truncation in vgicCleanupPendingList
2020-02-04 19:12:20 +00:00
TuxSH
7573d1ad3e
thermosphere: honor irq config for ppis
2020-02-04 19:12:20 +00:00
TuxSH
5f83df2599
thermosphere: yikes
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
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
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