It's great to see support for this get posted!
One thing I'd like to note is that patch sets generally produce working
code at every step.
The usual progression is:
* First patch adds a basic BSP with no interrupts that only works on an
emulator (which usually means no MMU support)
* Additional patches add MMU support or interrupt support or additional
peripherals or SMP support
Instead, you've squashed all that progression together and then broken
it back out into patches that commit pieces of a BSP that produce a
broken build until the last patch is committed.
Given that this is still just the core of a BSP without peripherals or
SMP, I'd be fine with this all being in a single patch if you don't have
an easy way to break things out into functional patches. I would still
recommend going through the process of rebasing the work and breaking it
into at least 2 patches if not 3 (base BSP, base BSP+interrupts, base
BSP+interrupts+MMU) as it's a useful skill to have.
Kinsey
On 9/22/2022 01:20, Mohd Noor Aman wrote:
This commit adds new Raspberry pi 4B AArch64 BSP to the RTEMS Family. Currently
only IPL64 ABI is supported. IPL32 Supported will be added in the near future.
---
spec/build/bsps/aarch64/raspberrypi/abi.yml | 21 +++++
.../aarch64/raspberrypi/bspraspberrypi4.yml | 78 +++++++++++++++++++
2 files changed, 99 insertions(+)
create mode 100644 spec/build/bsps/aarch64/raspberrypi/abi.yml
create mode 100644 spec/build/bsps/aarch64/raspberrypi/bspraspberrypi4.yml
diff --git a/spec/build/bsps/aarch64/raspberrypi/abi.yml
b/spec/build/bsps/aarch64/raspberrypi/abi.yml
new file mode 100644
index 0000000000..9ed4a961a7
--- /dev/null
+++ b/spec/build/bsps/aarch64/raspberrypi/abi.yml
@@ -0,0 +1,21 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+actions:
+- get-string: null
+- split: null
+- env-append: null
+build-type: option
+copyrights:
+- Copyright (C) Copyright (C) 2022 Mohd Noor Aman
+default:
+- -mcpu=cortex-a72
+- -march=armv8-a
+
+default-by-variant: []
+includes: []
+description: |
+ ABI flags
+links: []
+enabled-by: true
+name: ABI_FLAGS
+type: build
+
\ No newline at end of file
diff --git a/spec/build/bsps/aarch64/raspberrypi/bspraspberrypi4.yml
b/spec/build/bsps/aarch64/raspberrypi/bspraspberrypi4.yml
new file mode 100644
index 0000000000..8b4447db46
--- /dev/null
+++ b/spec/build/bsps/aarch64/raspberrypi/bspraspberrypi4.yml
@@ -0,0 +1,78 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+arch: aarch64
+bsp: raspberrypi4b
+build-type: bsp
+cflags: []
+copyrights:
+- Copyright (C) 2022 Mohd Noor Aman
+cppflags: []
+enabled-by: true
+family: raspberrypi
+includes: []
+install:
+- destination: ${BSP_INCLUDEDIR}
+ source:
+ - bsps/aarch64/raspberrypi/include/bsp.h
+ - bsps/aarch64/raspberrypi/include/tm27.h
+
+- destination: ${BSP_INCLUDEDIR}/bsp
+ source:
+ - bsps/aarch64/raspberrypi/include/bsp/irq.h
+ - bsps/aarch64/raspberrypi/include/bsp/raspberrypi.h
+
+source:
+- bsps/aarch64/raspberrypi/console/console.c
+- bsps/aarch64/raspberrypi/start/bspstart.c
+- bsps/aarch64/raspberrypi/start/bspstarthooks.c
+- bsps/aarch64/raspberrypi/start/bspstartmmu.c
+- bsps/aarch64/shared/clock/arm-generic-timer-aarch64.c
+- bsps/aarch64/shared/cache/cache.c
+- bsps/shared/dev/clock/arm-generic-timer.c
+- bsps/shared/dev/irq/arm-gicv2.c
+- bsps/shared/dev/irq/arm-gicv2-get-attributes.c
+- bsps/shared/dev/serial/console-termios-init.c
+- bsps/shared/dev/serial/console-termios.c
+- bsps/shared/dev/serial/arm-pl011.c
+- bsps/shared/irq/irq-default-handler.c
+- bsps/shared/irq/irq-handler-install.c
+- bsps/shared/irq/irq-generic.c
+- bsps/shared/irq/irq-lock.c
+- bsps/shared/start/bspfatal-default.c
+- bsps/shared/start/bspreset-arm-psci.c
+- bsps/shared/start/gettargethash-default.c
+- bsps/shared/start/sbrk.c
+- bsps/shared/start/wkspaceinitone.c
+- bsps/shared/start/mallocinitmulti.c
+- bsps/shared/start/bspgetworkarea-default.c
+
+links:
+- role: build-dependency
+ uid: ../grp
+- role: build-dependency
+ uid: ../start
+- role: build-dependency
+ uid: ../optmmupages
+- role: build-dependency
+ uid: ../optgtusevirt
+- role: build-dependency
+ uid: ../optgtuseps
+- role: build-dependency
+ uid: abi
+- role: build-dependency
+ uid: ../../optcachedata
+- role: build-dependency
+ uid: ../../optcacheinst
+- role: build-dependency
+ uid: ../../opto2
+- role: build-dependency
+ uid: ../../bspopts
+- role: build-dependency
+ uid: linkercmds
+- role: build-dependency
+ uid: ../../obj
+- role: build-dependency
+ uid: ../../objirq
+
+type: build
+
+
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel