TuxSH
5b545f89f5
thermosphere: introduce "ENSURE"
2021-02-19 21:51:56 +00:00
TuxSH
217c1ad054
thermosphere: implement reading and writing guest memory
2021-02-19 21:51:50 +00:00
TuxSH
0f0228e240
thermosphere: we expose a GICv2, not a GICv1
2021-02-19 21:51:49 +00:00
TuxSH
626f0ecb98
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
2021-02-19 21:51:48 +00:00
TuxSH
28552da099
thermosphere: vgic: largely reduce the number of mmio accesses
...
since we have to use 64 bits for VirqState anyway
2021-02-19 21:51:41 +00:00
TuxSH
d56185e432
thermosphere: make the pending virq list ordering stable
2021-02-19 21:51:41 +00:00
TuxSH
c42aef6ba7
thermosphere: fix wrong icfgr shift; fix list handling bug
2021-02-19 21:51:40 +00:00
TuxSH
03fe744bc4
thermosphere: vgic: fix OOB accesses, fix icfgr and itargetsr handling
...
qemu actually allows SPIs to use the N-N model
2021-02-19 21:51:40 +00:00
TuxSH
e49a035455
thermosphere: fix is/ic registers usage; fix offset calculation
2021-02-19 21:51:40 +00:00
TuxSH
0811572889
thermosphere: fix truncation in vgicCleanupPendingList
2021-02-19 21:51:39 +00:00
TuxSH
76a5e745e4
thermosphere: honor irq config for ppis
2021-02-19 21:51:39 +00:00
TuxSH
7130b6efd1
thermosphere: yikes
2021-02-19 21:51:39 +00:00
TuxSH
13174e7458
thermosphere: vgic: fix critical bug in vgicUpdateState, add more checks
...
Yikes.
2021-02-19 21:51:38 +00:00
TuxSH
3a13ab2e46
thermosphere: vgic: mostly fix vSGI handling, remove unimplementable/unused stuff + bugfixes
...
Still somewhat broken, though
2021-02-19 21:51:37 +00:00
TuxSH
676a895cca
thermosphere: fix guest access to irq 25, etc; we don't need to raise VI manually
...
See Armv8a TRM "Virtual IRQ exception"
2021-02-19 21:51:37 +00:00
TuxSH
fe0662a75d
vgic: fix multiple bugs
2021-02-19 21:51:36 +00:00
TuxSH
f3ad62d1b8
thermosphere: fix various vgic bugs; fix register access OOB bug (xzr)
2021-02-19 21:51:36 +00:00
TuxSH
27859a7541
thermosphere: vgic: fix enabled state of virqs
2021-02-19 21:51:36 +00:00
TuxSH
e3b6d64f1b
thermosphere: fix multiple bugs
2021-02-19 21:51:35 +00:00
TuxSH
c17b81aaf6
thermosphere: vgic code draft
2021-02-19 21:51:35 +00:00