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
_______________________________________________
Devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to