Hi Shen,

Thanks for the advice. I may have found the TIMER_FREQUENCY (although I’m not 
certain) – the boot log has an entry:

    arch_timer: cp15 timer(s) running at 54.00MHz

This is the only possibly relevant timer reference I can find?

I haven’t had any luck with the MAX_IRQ value though. The only value in the 
boot log that could relate is:

    NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16

But 16 seems way lower than I would expect… The value for the RPi3, for 
example, is 127!

Thanks,

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
_______________________________________
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.s...@data61.csiro.au>
Sent: 19 February 2020 12:37
To: Turner, Ben <ben.tur...@roke.co.uk>; devel@sel4.systems
Cc: Millar, Curtis (Data61, Kensington NSW) <curtis.mil...@data61.csiro.au>; 
Mcleod, Kent (Data61, Kensington NSW) <kent.mcl...@data61.csiro.au>
Subject: Re: [seL4] Adding Platform Support: CAmkES-ARM-VM: VM_Minimal: 
Raspberry Pi 3b

Hi Ben,

Glad to hear that!

I assume you can still boot Linux on the board? If so, searching the Linux boot 
log (dmesg) should help to find the TIMER_FREQUENCY and MAX_IRQ values.
Setting NUM_PPI to 32 is right.

The remaining parameters, KERNEL_WCET, CLK_MAGIC, and CLK_SHIFT, are related to 
the MCS config option. I copied Curtis and Kent who might help on these values.


Regards,
Yanyan


From: "Turner, Ben" <ben.tur...@roke.co.uk<mailto:ben.tur...@roke.co.uk>>
Date: Wednesday, 19 February 2020 at 11:22 pm
To: "Shen, Yanyan (Data61, Kensington NSW)" 
<yanyan.s...@data61.csiro.au<mailto:yanyan.s...@data61.csiro.au>>, 
"devel@sel4.systems<mailto:devel@sel4.systems>" 
<devel@sel4.systems<mailto:devel@sel4.systems>>
Subject: RE: [seL4] Adding Platform Support: CAmkES-ARM-VM: VM_Minimal: 
Raspberry Pi 3b

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.tur...@roke.co.uk<mailto:ben.tur...@roke.co.uk>


Follow Us: LinkedIn<http://www.linkedin.com/company/roke-manor-research> | 
Twitter<https://twitter.com/rokemanor> | 
Facebook<https://www.facebook.com/rokemanor>

Roke Manor Research Limited, Romsey, Hampshire, SO51 0ZN, United Kingdom. Part 
of the Chemring Group. Registered in England & Wales. Registered No: 00267550. 
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.
www.roke.co.uk<http://www.roke.co.uk/?utm_source=Roke&utm_medium=Email&utm_content=Company%20Signature&utm_campaign=Roke>

________________________________
From: Shen, Yanyan (Data61, Kensington NSW) 
<yanyan.s...@data61.csiro.au<mailto:yanyan.s...@data61.csiro.au>>
Sent: 13 February 2020 10:19
To: devel@sel4.systems<mailto:devel@sel4.systems>; Turner, Ben 
<ben.tur...@roke.co.uk<mailto:ben.tur...@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>
_______________________________________________
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel

Reply via email to