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) <[email protected]>
Sent: 19 February 2020 12:37
To: Turner, Ben <[email protected]>; [email protected]
Cc: Millar, Curtis (Data61, Kensington NSW) <[email protected]>;
Mcleod, Kent (Data61, Kensington NSW) <[email protected]>
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" <[email protected]<mailto:[email protected]>>
Date: Wednesday, 19 February 2020 at 11:22 pm
To: "Shen, Yanyan (Data61, Kensington NSW)"
<[email protected]<mailto:[email protected]>>,
"[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
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
[email protected]<mailto:[email protected]>
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)
<[email protected]<mailto:[email protected]>>
Sent: 13 February 2020 10:19
To: [email protected]<mailto:[email protected]>; Turner, Ben
<[email protected]<mailto:[email protected]>>
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
> [email protected]<mailto:[email protected]>
> https://sel4.systems/lists/listinfo/devel<https://sel4.systems/lists/listinfo/devel>
_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel