[PATCH v2 0/3] Add MicroBlaze port and BSP

Alex White alex.white at oarcorp.com
Tue Oct 5 19:23:33 UTC 2021


v2:
  - Move files from bsps/microblaze/microblaze_fpga/startup to
    bsps/microblaze/microblaze_fpga/start
  - Use crtinit.S from libgloss rather than sim-crtinit.S

Hi,

This patch set adds support for the MicroBlaze architecture along with
a basic BSP based on Xilinx's KCU105 PetaLinux BSP configuration.

The initial architecture port was started 6 or 7 years ago, I believe.
To make authorship clear and preserve file history, the work is broken
up into three patches. I made an effort to prune the first two patches
of any files related to the old build system.

Thanks,

Alex White

Alex White (1):
  microblaze: Rework for RTEMS 6

Hesham ALMatary (1):
  bsps: Add MicroBlaze FPGA BSP

Joel Sherrill (1):
  score: Add MicroBlaze port

 bsps/include/bsp/fatal.h                      |   3 +
 bsps/microblaze/include/bsp/linker-symbols.h  | 106 ++++++
 bsps/microblaze/include/common/xil_types.h    | 197 +++++++++++
 bsps/microblaze/include/dev/serial/uartlite.h |  62 ++++
 .../include/dev/serial/uartlite_l.h           | 323 ++++++++++++++++++
 bsps/microblaze/microblaze_fpga/clock/clock.c | 145 ++++++++
 .../microblaze_fpga/console/console-io.c      |  57 ++++
 .../microblaze_fpga/console/debug-io.c        |  66 ++++
 bsps/microblaze/microblaze_fpga/include/bsp.h |  53 +++
 .../microblaze_fpga/include/bsp/intc.h        |  74 ++++
 .../microblaze_fpga/include/bsp/irq.h         |  49 +++
 .../microblaze_fpga/include/bsp/timer.h       |  69 ++++
 .../microblaze/microblaze_fpga/include/tm27.h |  58 ++++
 bsps/microblaze/microblaze_fpga/irq/irq.c     | 168 +++++++++
 .../start/_exception_handler.S                |  52 +++
 .../start/_hw_exception_handler.S             |  52 +++
 .../start/_interrupt_handler.S                |  53 +++
 .../microblaze_fpga/start/bspreset.c          |  44 +++
 .../microblaze_fpga/start/bspstart.c          |  43 +++
 .../microblaze_fpga/start/crtinit.S           | 104 ++++++
 bsps/microblaze/shared/cache/cache.c          |  36 ++
 bsps/microblaze/shared/dev/serial/uartlite.c  | 145 ++++++++
 .../microblaze/shared/dev/serial/uartlite_l.c |  99 ++++++
 bsps/microblaze/shared/start/start.S          | 114 +++++++
 cpukit/score/cpu/microblaze/__tls_get_addr.c  |  54 +++
 cpukit/score/cpu/microblaze/cpu.c             | 121 +++++++
 cpukit/score/cpu/microblaze/cpu_asm.S         | 194 +++++++++++
 .../score/cpu/microblaze/include/rtems/asm.h  | 138 ++++++++
 .../cpu/microblaze/include/rtems/score/cpu.h  | 305 +++++++++++++++++
 .../include/rtems/score/cpuatomic.h           |  41 +++
 .../microblaze/include/rtems/score/cpuimpl.h  |  96 ++++++
 .../include/rtems/score/microblaze.h          |  57 ++++
 .../microblaze/microblaze-context-switch.S    | 107 ++++++
 .../microblaze/microblaze-context-validate.S  | 117 +++++++
 .../microblaze-context-volatile-clobber.S     |  28 ++
 spec/build/bsps/microblaze/grp.yml            |  15 +
 .../bsps/microblaze/microblaze_fpga/abi.yml   |  20 ++
 .../microblaze/microblaze_fpga/bspkcu105.yml  |  24 ++
 .../microblaze_fpga/bspkcu105_qemu.yml        |  24 ++
 .../bsps/microblaze/microblaze_fpga/grp.yml   |  36 ++
 .../microblaze/microblaze_fpga/linkcmds.yml   | 242 +++++++++++++
 .../bsps/microblaze/microblaze_fpga/obj.yml   |  51 +++
 .../microblaze_fpga/optconsoleinterrupts.yml  |  15 +
 .../microblaze_fpga/optintcbaseaddress.yml    |  18 +
 .../microblaze_fpga/opttimerbaseaddress.yml   |  18 +
 .../microblaze_fpga/opttimerfrequency.yml     |  17 +
 .../optuartlitebaseaddress.yml                |  18 +
 .../bsps/microblaze/microblaze_fpga/start.yml |  14 +
 .../microblaze_fpga/tstkcu105_qemu.yml        |  14 +
 spec/build/cpukit/cpumicroblaze.yml           |  29 ++
 spec/build/cpukit/librtemscpu.yml             |   2 +
 51 files changed, 3987 insertions(+)
 create mode 100644 bsps/microblaze/include/bsp/linker-symbols.h
 create mode 100644 bsps/microblaze/include/common/xil_types.h
 create mode 100644 bsps/microblaze/include/dev/serial/uartlite.h
 create mode 100644 bsps/microblaze/include/dev/serial/uartlite_l.h
 create mode 100644 bsps/microblaze/microblaze_fpga/clock/clock.c
 create mode 100644 bsps/microblaze/microblaze_fpga/console/console-io.c
 create mode 100644 bsps/microblaze/microblaze_fpga/console/debug-io.c
 create mode 100644 bsps/microblaze/microblaze_fpga/include/bsp.h
 create mode 100644 bsps/microblaze/microblaze_fpga/include/bsp/intc.h
 create mode 100644 bsps/microblaze/microblaze_fpga/include/bsp/irq.h
 create mode 100644 bsps/microblaze/microblaze_fpga/include/bsp/timer.h
 create mode 100644 bsps/microblaze/microblaze_fpga/include/tm27.h
 create mode 100644 bsps/microblaze/microblaze_fpga/irq/irq.c
 create mode 100644 bsps/microblaze/microblaze_fpga/start/_exception_handler.S
 create mode 100644 bsps/microblaze/microblaze_fpga/start/_hw_exception_handler.S
 create mode 100644 bsps/microblaze/microblaze_fpga/start/_interrupt_handler.S
 create mode 100644 bsps/microblaze/microblaze_fpga/start/bspreset.c
 create mode 100644 bsps/microblaze/microblaze_fpga/start/bspstart.c
 create mode 100644 bsps/microblaze/microblaze_fpga/start/crtinit.S
 create mode 100644 bsps/microblaze/shared/cache/cache.c
 create mode 100644 bsps/microblaze/shared/dev/serial/uartlite.c
 create mode 100644 bsps/microblaze/shared/dev/serial/uartlite_l.c
 create mode 100644 bsps/microblaze/shared/start/start.S
 create mode 100644 cpukit/score/cpu/microblaze/__tls_get_addr.c
 create mode 100644 cpukit/score/cpu/microblaze/cpu.c
 create mode 100644 cpukit/score/cpu/microblaze/cpu_asm.S
 create mode 100644 cpukit/score/cpu/microblaze/include/rtems/asm.h
 create mode 100644 cpukit/score/cpu/microblaze/include/rtems/score/cpu.h
 create mode 100644 cpukit/score/cpu/microblaze/include/rtems/score/cpuatomic.h
 create mode 100644 cpukit/score/cpu/microblaze/include/rtems/score/cpuimpl.h
 create mode 100644 cpukit/score/cpu/microblaze/include/rtems/score/microblaze.h
 create mode 100644 cpukit/score/cpu/microblaze/microblaze-context-switch.S
 create mode 100644 cpukit/score/cpu/microblaze/microblaze-context-validate.S
 create mode 100644 cpukit/score/cpu/microblaze/microblaze-context-volatile-clobber.S
 create mode 100644 spec/build/bsps/microblaze/grp.yml
 create mode 100644 spec/build/bsps/microblaze/microblaze_fpga/abi.yml
 create mode 100644 spec/build/bsps/microblaze/microblaze_fpga/bspkcu105.yml
 create mode 100644 spec/build/bsps/microblaze/microblaze_fpga/bspkcu105_qemu.yml
 create mode 100644 spec/build/bsps/microblaze/microblaze_fpga/grp.yml
 create mode 100644 spec/build/bsps/microblaze/microblaze_fpga/linkcmds.yml
 create mode 100644 spec/build/bsps/microblaze/microblaze_fpga/obj.yml
 create mode 100644 spec/build/bsps/microblaze/microblaze_fpga/optconsoleinterrupts.yml
 create mode 100644 spec/build/bsps/microblaze/microblaze_fpga/optintcbaseaddress.yml
 create mode 100644 spec/build/bsps/microblaze/microblaze_fpga/opttimerbaseaddress.yml
 create mode 100644 spec/build/bsps/microblaze/microblaze_fpga/opttimerfrequency.yml
 create mode 100644 spec/build/bsps/microblaze/microblaze_fpga/optuartlitebaseaddress.yml
 create mode 100644 spec/build/bsps/microblaze/microblaze_fpga/start.yml
 create mode 100644 spec/build/bsps/microblaze/microblaze_fpga/tstkcu105_qemu.yml
 create mode 100644 spec/build/cpukit/cpumicroblaze.yml

-- 
2.27.0



More information about the devel mailing list