Hi, I think I am most of the way through adding RPi4 support to the required projects, however I have stumbled upon an issue. In the `kernel/src/plat/<plat>/config.cmake` files there is a `declare_default_headers` section. Where does the information for these values come from? I have searched the ARM CortexA72 TRM and looked for the BCM2711 specification document, but haven’t had much luck… Where can I find out the correct values for the following question marks: declare_default_headers( TIMER_FREQUENCY ????????llu MAX_IRQ ??? NUM_PPI 32 <<is this right?>> TIMER drivers/timer/arm_generic.h INTERRUPT_CONTROLLER arch/machine/gic_v2.h KERNEL_WCET 10u <<is this right?>> CLK_MAGIC ?????????llu CLK_SHIFT ??u ) Any insight here would be appreciated. Kind regards, Ben Turner Senior Engineer Roke Manor Research Ltd Tel: +44 (0)1794 833721 ben.turner@roke.co.uk<mailto:ben.turner@roke.co.uk> ________________________________________ Roke Manor Research Limited, Romsey, Hampshire, SO51 0ZN, United Kingdom.Part of the Chemring Group. Registered in England & Wales. Registered No: 00267550 http://www.roke.co.uk _______________________________________ The information contained in this e-mail and any attachments is proprietary to Roke Manor Research Limited and must not be passed to any third party without permission. This communication is for information only and shall not create or change any contractual relationship. ________________________________________ From: Shen, Yanyan (Data61, Kensington NSW) <Yanyan.Shen@data61.csiro.au> Sent: 13 February 2020 10:19 To: devel@sel4.systems; Turner, Ben <ben.turner@roke.co.uk> Subject: Re: [seL4] Adding Platform Support: CAmkES-ARM-VM: VM_Minimal: Raspberry Pi 3b Hi Ben, When configured as a hypervisor, seL4 uses the hardware interrupt virtualization support of GICv2 (GIC-400) and GICv3 (GIC-500). More work is needed for SoCs without such hardware support. BTW, it looks like Raspberry Pi4 (bcm2711) has a GIC-400 controller. Would you consider the new version? Regards, Yanyan On Thu, 2020-02-13 at 09:15 +0000, Turner, Ben wrote:
Hi,
I have been attempting to add support for the Raspberry Pi 3 b platform so that I can run the vm_minimal application on it. The platform supports ARM_HYP, so I believe it should be possible to get this working.
I have reached to point where ninja errors on an implicit declaration for `set_gic_vcpu_ctrl_hcr`. From what I understand, this is to do with the ARM Generic Interrupt Controller, however the RPi3b doesn't have a GIC, it has a `bcm2836-armctrl-ic`. This occurs because the file vcpu.h defines an inline function that calls this function, however as the RPi3b doesn't have a GIC, neither the gic_v2.h or gic_v3.h files are provided in the build environment, and hence the build fails.
I am unsure what this means in terms of implementation. What needs to be added or changed to get this compiling for the RPi3b?
Thanks in advance
Ben Turner
________________________________________ Roke Manor Research Limited, Romsey, Hampshire, SO51 0ZN, United Kingdom.Part of the Chemring Group. Registered in England & Wales. Registered No: 00267550 http://www.roke.co.uk<http://www.roke.co.uk> _______________________________________ The information contained in this e-mail and any attachments is proprietary to Roke Manor Research Limited and must not be passed to any third party without permission. This communication is for information only and shall not create or change any contractual relationship. ________________________________________ _______________________________________________ Devel mailing list Devel@sel4.systems<mailto:Devel@sel4.systems> https://sel4.systems/lists/listinfo/devel<https://sel4.systems/lists/listinfo/devel>