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

Reply via email to