Hi Jan, I'd like to ping on this if you had time for a review.
Thanks, Andrea On 22/03/2021 20:44, Andrea Bastoni wrote:
Hi, Didn't have much time to work at it in the last period, so it took a while. There are two similar patch batches: PATCH v2.1 and PATCH v2.2. v2.1 is the version with the colored ioremapping in the Linux driver. I've tried to keep the replication of the code to a minimum, but the main coloring loop has to be replicated in both driver and hypervisor. v2.2 is the version with the temporary "root mapping offset" that allows reusing the plain Linux ioremap. I've removed all other "additional" patches and just focused on the bulk of the coloring implementation. Overall the changes are: git diff --stat siemens/master driver/ hypervisor/ include/ v2.1) 15 files changed, 515 insertions(+), 22 deletions(-) v2.2) 15 files changed, 468 insertions(+), 24 deletions(-) PATCH v2.1 is also here https://gitlab.com/bastoni/jailhouse/-/tree/for_upstream/202103_coloring_driver PATCH v2.2 is also here https://gitlab.com/bastoni/jailhouse/-/tree/for_upstream/202103_coloring Feedback/comment welcome, Thanks, Andrea Andrea Bastoni (7): arm-common: bitops: add most-significant-bit operation include: cache-partitioning via coloring, add configuration hypervisor: arm64, arm-common: add cache-partitioning via coloring driver: provide colored ioremap operation configs: arm64: add example configuration for colored ZCU102 inmate configs: arm64: add coloring example for qemu-arm64 configs: arm64: hook-in coloring parameters for ZCU102 Luca Miccio (2): pyjailhouse: add support for colored regions Documentation: add description and usage of cache coloring support Documentation/cache-coloring.md | 177 ++++++++++++++++++ configs/arm64/qemu-arm64-inmate-demo-col.c | 134 +++++++++++++ configs/arm64/qemu-arm64.c | 3 + configs/arm64/zynqmp-zcu102-inmate-demo-col.c | 75 ++++++++ configs/arm64/zynqmp-zcu102.c | 3 + driver/cell.c | 11 +- driver/main.c | 75 ++++++++ driver/main.h | 3 + .../arch/arm-common/include/asm/bitops.h | 10 + .../arch/arm-common/include/asm/coloring.h | 45 +++++ .../arch/arm-common/include/asm/dcaches.h | 8 + hypervisor/arch/arm-common/mmu_cell.c | 68 +++++-- hypervisor/arch/arm64/Kbuild | 1 + hypervisor/arch/arm64/coloring.c | 109 +++++++++++ hypervisor/arch/arm64/include/asm/coloring.h | 140 ++++++++++++++ hypervisor/arch/arm64/setup.c | 3 + hypervisor/control.c | 6 + hypervisor/include/jailhouse/control.h | 4 + include/jailhouse/cell-config.h | 9 + include/jailhouse/coloring.h | 45 +++++ pyjailhouse/config_parser.py | 9 +- 21 files changed, 913 insertions(+), 25 deletions(-) create mode 100644 Documentation/cache-coloring.md create mode 100644 configs/arm64/qemu-arm64-inmate-demo-col.c create mode 100644 configs/arm64/zynqmp-zcu102-inmate-demo-col.c create mode 100644 hypervisor/arch/arm-common/include/asm/coloring.h create mode 100644 hypervisor/arch/arm64/coloring.c create mode 100644 hypervisor/arch/arm64/include/asm/coloring.h create mode 100644 include/jailhouse/coloring.h
-- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/1a89d1ea-4299-171d-b655-73252c5a2a61%40tum.de.
