[U-Boot] [PATCH] ARM: enable ARMv7 virt support for the Arndale board

From: Andre Przywara andre.przywara@linaro.org
To enable hypervisors utilizing the ARMv7 virtualization extension on the Arndale board, add the simple SMP pen address writer function and add the required configuration variables to switch all cores to HYP mode before launching the OS. This allows booting KVM and Xen directly from u-boot.
Reviewed-by: Christoffer Dall christoffer.dall@linaro.org Signed-off-by: Andre Przywara andre.przywara@linaro.org ---
Note that Andre previously reported a board reset on initial boot with this patch, but I have applied this patch on upstream master of U-Boot and tested on two separate Arndale boards and it boots perfectly fine and lets you use KVM, so I recommend taking this patch as is.
board/samsung/arndale/arndale.c | 10 ++++++++++ include/configs/arndale.h | 8 ++++++++ 2 files changed, 18 insertions(+)
diff --git a/board/samsung/arndale/arndale.c b/board/samsung/arndale/arndale.c index ef88314..83fd3bd 100644 --- a/board/samsung/arndale/arndale.c +++ b/board/samsung/arndale/arndale.c @@ -117,3 +117,13 @@ int checkboard(void) return 0; } #endif + +#ifdef CONFIG_S5P_PA_SYSRAM +void smp_set_core_boot_addr(unsigned long addr, int corenr) +{ + writel(addr, CONFIG_S5P_PA_SYSRAM); + + /* make sure this write is really executed */ + __asm__ volatile ("dsb\n"); +} +#endif diff --git a/include/configs/arndale.h b/include/configs/arndale.h index 64b54ab..75f9933 100644 --- a/include/configs/arndale.h +++ b/include/configs/arndale.h @@ -250,4 +250,12 @@ /* Enable Time Command */ #define CONFIG_CMD_TIME
+#define CONFIG_S5P_PA_SYSRAM 0x02020000 +#define CONFIG_SMP_PEN_ADDR CONFIG_S5P_PA_SYSRAM + +/* The PERIPHBASE in the CBAR register is wrong on the Arndale, so override it */ +#define CONFIG_ARM_GIC_BASE_ADDRESS 0x10480000 + +#define CONFIG_ARMV7_VIRT + #endif /* __CONFIG_H */

Hi,
Am 01.08.2014 13:35, schrieb Christoffer Dall:
From: Andre Przywara andre.przywara@linaro.org
To enable hypervisors utilizing the ARMv7 virtualization extension on the Arndale board, add the simple SMP pen address writer function and add the required configuration variables to switch all cores to HYP mode before launching the OS. This allows booting KVM and Xen directly from u-boot.
Reviewed-by: Christoffer Dall christoffer.dall@linaro.org Signed-off-by: Andre Przywara andre.przywara@linaro.org
You forgot to sign off the patch.
But nice to see progress on this!
Cheers, Andreas

On 1 August 2014 14:46, Andreas Färber afaerber@suse.de wrote:
Hi,
Am 01.08.2014 13:35, schrieb Christoffer Dall:
From: Andre Przywara andre.przywara@linaro.org
To enable hypervisors utilizing the ARMv7 virtualization extension on the Arndale board, add the simple SMP pen address writer function and add the required configuration variables to switch all cores to HYP mode before launching the OS. This allows booting KVM and Xen directly from u-boot.
Reviewed-by: Christoffer Dall christoffer.dall@linaro.org Signed-off-by: Andre Przywara andre.przywara@linaro.org
You forgot to sign off the patch.
But nice to see progress on this!
Can you just add when applying the patch?
Signed-off-by: Christoffer Dall christoffer.dall@linaro.org

On 01/08/14 13:53, Christoffer Dall wrote:
On 1 August 2014 14:46, Andreas Färber afaerber@suse.de wrote:
Hi,
Am 01.08.2014 13:35, schrieb Christoffer Dall:
From: Andre Przywara andre.przywara@linaro.org
To enable hypervisors utilizing the ARMv7 virtualization extension on the Arndale board, add the simple SMP pen address writer function and add the required configuration variables to switch all cores to HYP mode before launching the OS. This allows booting KVM and Xen directly from u-boot.
Reviewed-by: Christoffer Dall christoffer.dall@linaro.org Signed-off-by: Andre Przywara andre.przywara@linaro.org
You forgot to sign off the patch.
But nice to see progress on this!
Can you just add when applying the patch?
Signed-off-by: Christoffer Dall christoffer.dall@linaro.org
Andreas,
I wonder if you could change (or add) my new address, as my Linaro address does not work any more (just tested).
Signed-off-by: Andre Przywara andre.przywara@arm.com
Christoffer, thanks for taking care of this!
Cheers, Andre.

On 1 August 2014 14:59, Andre Przywara andre.przywara@arm.com wrote:
On 01/08/14 13:53, Christoffer Dall wrote:
On 1 August 2014 14:46, Andreas Färber afaerber@suse.de wrote:
Hi,
Am 01.08.2014 13:35, schrieb Christoffer Dall:
From: Andre Przywara andre.przywara@linaro.org
To enable hypervisors utilizing the ARMv7 virtualization extension on the Arndale board, add the simple SMP pen address writer function and add the required configuration variables to switch all cores to HYP mode before launching the OS. This allows booting KVM and Xen directly from u-boot.
Reviewed-by: Christoffer Dall christoffer.dall@linaro.org Signed-off-by: Andre Przywara andre.przywara@linaro.org
You forgot to sign off the patch.
But nice to see progress on this!
Can you just add when applying the patch?
Signed-off-by: Christoffer Dall christoffer.dall@linaro.org
Andreas,
I wonder if you could change (or add) my new address, as my Linaro address does not work any more (just tested).
Signed-off-by: Andre Przywara andre.przywara@arm.com
So I actually did not know the policy here, given that you did the work under your linaro.org address, so I decided to keep this as they were and just cc your arm address. If you're fine with using the @arm.com address I can respin the patch with the right addresses and signed-off-by's.
-Christoffer

On 01/08/14 14:02, Christoffer Dall wrote:
On 1 August 2014 14:59, Andre Przywara andre.przywara@arm.com wrote:
On 01/08/14 13:53, Christoffer Dall wrote:
On 1 August 2014 14:46, Andreas Färber afaerber@suse.de wrote:
Hi,
Am 01.08.2014 13:35, schrieb Christoffer Dall:
From: Andre Przywara andre.przywara@linaro.org
To enable hypervisors utilizing the ARMv7 virtualization extension on the Arndale board, add the simple SMP pen address writer function and add the required configuration variables to switch all cores to HYP mode before launching the OS. This allows booting KVM and Xen directly from u-boot.
Reviewed-by: Christoffer Dall christoffer.dall@linaro.org Signed-off-by: Andre Przywara andre.przywara@linaro.org
You forgot to sign off the patch.
But nice to see progress on this!
Can you just add when applying the patch?
Signed-off-by: Christoffer Dall christoffer.dall@linaro.org
Andreas,
I wonder if you could change (or add) my new address, as my Linaro address does not work any more (just tested).
Signed-off-by: Andre Przywara andre.przywara@arm.com
So I actually did not know the policy here, given that you did the work under your linaro.org address, so I decided to keep this as they were and just cc your arm address. If you're fine with using the @arm.com address I can respin the patch with the right addresses and signed-off-by's.
I don't know about the policy either - actually I hoped you could help here ;-) I am perfectly fine with giving Linaro as a sponsor credit for this, but I am just concerned about potential feedback, which would bounce and at best annoy people. As long as a post goes to a list also I catch it, but private only email would be stuck. This said I am fine both ways - maybe we keep both addresses for reference in?
Andreas, could you just add Christoffer's Signed-off-by and my Signed-off-by @arm.com without a respin?
Regards, Andre.

On 1 August 2014 15:29, Andre Przywara andre.przywara@arm.com wrote:
On 01/08/14 14:02, Christoffer Dall wrote:
On 1 August 2014 14:59, Andre Przywara andre.przywara@arm.com wrote:
On 01/08/14 13:53, Christoffer Dall wrote:
On 1 August 2014 14:46, Andreas Färber afaerber@suse.de wrote:
Hi,
Am 01.08.2014 13:35, schrieb Christoffer Dall:
From: Andre Przywara andre.przywara@linaro.org
To enable hypervisors utilizing the ARMv7 virtualization extension on the Arndale board, add the simple SMP pen address writer function and add the required configuration variables to switch all cores to HYP mode before launching the OS. This allows booting KVM and Xen directly from u-boot.
Reviewed-by: Christoffer Dall christoffer.dall@linaro.org Signed-off-by: Andre Przywara andre.przywara@linaro.org
You forgot to sign off the patch.
But nice to see progress on this!
Can you just add when applying the patch?
Signed-off-by: Christoffer Dall christoffer.dall@linaro.org
Andreas,
I wonder if you could change (or add) my new address, as my Linaro address does not work any more (just tested).
Signed-off-by: Andre Przywara andre.przywara@arm.com
So I actually did not know the policy here, given that you did the work under your linaro.org address, so I decided to keep this as they were and just cc your arm address. If you're fine with using the @arm.com address I can respin the patch with the right addresses and signed-off-by's.
I don't know about the policy either - actually I hoped you could help here ;-) I am perfectly fine with giving Linaro as a sponsor credit for this, but I am just concerned about potential feedback, which would bounce and at best annoy people. As long as a post goes to a list also I catch it, but private only email would be stuck. This said I am fine both ways - maybe we keep both addresses for reference in?
Andreas, could you just add Christoffer's Signed-off-by and my Signed-off-by @arm.com without a respin?
Andreas pointed out that he's not the maintainer, so let's see what the maintainer says :)
all this policy stuff seems to be bikeshedding anyhow.
-Christoffer

Am 01.08.2014 15:29, schrieb Andre Przywara:
On 01/08/14 14:02, Christoffer Dall wrote:
On 1 August 2014 14:59, Andre Przywara andre.przywara@arm.com wrote:
On 01/08/14 13:53, Christoffer Dall wrote:
On 1 August 2014 14:46, Andreas Färber afaerber@suse.de wrote:
Hi,
Am 01.08.2014 13:35, schrieb Christoffer Dall:
From: Andre Przywara andre.przywara@linaro.org
To enable hypervisors utilizing the ARMv7 virtualization extension on the Arndale board, add the simple SMP pen address writer function and add the required configuration variables to switch all cores to HYP mode before launching the OS. This allows booting KVM and Xen directly from u-boot.
Reviewed-by: Christoffer Dall christoffer.dall@linaro.org Signed-off-by: Andre Przywara andre.przywara@linaro.org
You forgot to sign off the patch.
But nice to see progress on this!
Can you just add when applying the patch?
Signed-off-by: Christoffer Dall christoffer.dall@linaro.org
Andreas,
I wonder if you could change (or add) my new address, as my Linaro address does not work any more (just tested).
Signed-off-by: Andre Przywara andre.przywara@arm.com
So I actually did not know the policy here, given that you did the work under your linaro.org address, so I decided to keep this as they were and just cc your arm address. If you're fine with using the @arm.com address I can respin the patch with the right addresses and signed-off-by's.
I don't know about the policy either - actually I hoped you could help here ;-) I am perfectly fine with giving Linaro as a sponsor credit for this, but I am just concerned about potential feedback, which would bounce and at best annoy people. As long as a post goes to a list also I catch it, but private only email would be stuck. This said I am fine both ways - maybe we keep both addresses for reference in?
Andreas, could you just add Christoffer's Signed-off-by and my Signed-off-by @arm.com without a respin?
Guys, I just reacted to this patch because I spotted "virt" and we have a small farm of Arndale boards for OBS.
Please take a look at http://www.denx.de/wiki/U-Boot/Custodians, which lists Albert for ARM and Minkyu for Samsung (CC'ed).
Regards, Andreas

On Fri, Aug 01, 2014 at 01:35:44PM +0200, Christoffer Dall wrote:
From: Andre Przywara andre.przywara@linaro.org
To enable hypervisors utilizing the ARMv7 virtualization extension on the Arndale board, add the simple SMP pen address writer function and add the required configuration variables to switch all cores to HYP mode before launching the OS. This allows booting KVM and Xen directly from u-boot.
Reviewed-by: Christoffer Dall christoffer.dall@linaro.org Signed-off-by: Andre Przywara andre.przywara@linaro.org Signed-off-by: Christoffer Dall christoffer.dall@linaro.org Signed-off-by: Andre Przywara andre.przywara@arm.com
Applied to u-boot/master, thanks!
participants (4)
-
Andre Przywara
-
Andreas Färber
-
Christoffer Dall
-
Tom Rini