Hi Indan, Thanks for the info. I've tried to use https://github.com/seL4/seL4/pull/378. However, it seems there're something missing in projects/seL4_projects_libs/libsel4vm/src/arch/arm/vgic/vgic.c. Complete build output can be found at [1]. /home/nio/alex/seL4/build/camkes-vm-apps/projects/seL4_projects_libs/libsel4vm/src/arch/arm/vgic/vgic.c:86:2: error: #error "Unsupported platform for GIC" #error "Unsupported platform for GIC" ^~~~~ /home/nio/alex/seL4/build/camkes-vm-apps/projects/seL4_projects_libs/libsel4vm/src/arch/arm/vgic/vgic.c: In function ‘vgic_vcpu_iterator’: /home/nio/alex/seL4/build/camkes-vm-apps/projects/seL4_projects_libs/libsel4vm/src/arch/arm/vgic/vgic.c:98:31: error: ‘GIC_PADDR’ undeclared (first use in this function); did you mean ‘GIC_CPU_PADDR’? #define GIC_VCPU_PADDR (GIC_PADDR + 0x6000) ^ /home/nio/alex/seL4/build/camkes-vm-apps/projects/seL4_projects_libs/libsel4vm/src/arch/arm/vgic/vgic.c:1092:90: note: in expansion of macro ‘GIC_VCPU_PADDR’ err = vka_utspace_alloc_at(vm->vka, &frame, kobject_get_type(KOBJECT_FRAME, 12), 12, GIC_VCPU_PADDR, &vka_cookie); I take a look at vgic.c and it seems to me the definitions are for GICv2 only. #ifdef CONFIG_PLAT_QEMU_ARM_VIRT #define GIC_DIST_PADDR (GIC_PADDR) #define GIC_CPU_PADDR (GIC_PADDR + 0x00010000) #define GIC_VCPU_CNTR_PADDR (GIC_PADDR + 0x00030000) #define GIC_VCPU_PADDR (GIC_PADDR + 0x00040000) #else #define GIC_DIST_PADDR (GIC_PADDR + 0x1000) #define GIC_CPU_PADDR (GIC_PADDR + 0x2000) #define GIC_VCPU_CNTR_PADDR (GIC_PADDR + 0x4000) #define GIC_VCPU_PADDR (GIC_PADDR + 0x6000) #endif Do you know if anyone is working on GICv3 support in libsel4vm? Thanks. [1] https://pastebin.com/QmwfxDK3 Regards, Alex