Skip to content

Commit a5863db

Browse files
committed
Updates to aarch64 startup to support EL2.
1 parent 454dc1a commit a5863db

File tree

5 files changed

+95
-67
lines changed

5 files changed

+95
-67
lines changed

IDE/XilinxSDK/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ Successfully ran Hello World application
238238
* `bootgen -image boot.bif -arch zynqmp -o i BOOT.BIN -w`
239239
240240
Note: To generate a report of a boot.bin use the `bootgen_utility` or after 2022.1 use `bootgen -read`:
241-
`bootgen -read -arch zynqmp -bin boot.bin -out boot.bin.txt`
241+
`bootgen -arch zynqmp -read BOOT.BIN`
242242
243243
## Post Quantum
244244

hal/zynq.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -899,7 +899,7 @@ void hal_init(void)
899899
#endif
900900
wolfBoot_printf(bootMsg);
901901

902-
#ifdef USE_BUILTIN_STARTUP /* Vitis is EL-3 */
902+
#if 0
903903
/* This is only allowed for EL-3 */
904904
asm volatile("msr cntfrq_el0, %0" : : "r" (cpu_freq) : "memory");
905905
#endif

hal/zynq.h

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,16 @@
2222
#ifndef _ZYNQMP_H_
2323
#define _ZYNQMP_H_
2424

25-
#define EL3 1
26-
#define EL1_NONSECURE 0
27-
#define HYP_GUEST 0
28-
#if 1
29-
#define FREERTOS_BSP
25+
/* By default expect EL2 */
26+
#define EL3_SECURE 0
27+
#define EL2_HYPERVISOR 1
28+
#define EL1_NONSECURE 0
29+
30+
#define HYP_GUEST 0 /* ZEN Hypervisor guest format support */
31+
32+
/* Floating Point Trap Enable */
33+
#ifndef FPU_TRAP
34+
#define FPU_TRAP 0
3035
#endif
3136

3237
/* Errata: 855873: An eviction might overtake a cache clean operation */

hal/zynq.ld

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ _EL2_STACK_SIZE = DEFINED(_EL2_STACK_SIZE) ? _EL2_STACK_SIZE : 1024;
1111
/* Define Memories in the system */
1212
MEMORY
1313
{
14-
psu_ddr_0_MEM_0 : ORIGIN = 0x40000000, LENGTH = 0x100000
1514
/* psu_ddr_0_MEM_0 : ORIGIN = 0x0, LENGTH = 0x7FF00000 */
15+
/* Use 0x8000000 base for wolfBoot start */
16+
psu_ddr_0_MEM_0 : ORIGIN = 0x8000000, LENGTH = 0x100000
1617
psu_ddr_1_MEM_0 : ORIGIN = 0x800000000, LENGTH = 0x80000000
1718
psu_ocm_ram_0_MEM_0 : ORIGIN = 0xFFFC0000, LENGTH = 0x40000
1819
psu_qspi_linear_0_MEM_0 : ORIGIN = 0xC0000000, LENGTH = 0x20000000

0 commit comments

Comments
 (0)