Also playing catchup trying to get some CHERI BSD examples built up as
> recipes. Might ping you on the basics here if poss. and try to write up.
>
Having more purecap libraries would be great, thank you.
One really basic question is when you build the your demo app how is it
> build for PureCap/compatibility API? I can's see this using llvm-objdump
>
You can tell that the app is "purcap" by reading the elf header.
Entry point address LSB set to 1 will load the app in C64 mode, the flags
field will also be set to 0x1000.
Pawel
Working off the kirkstone branch of
https://github.com/The-Good-Penguin/meta-morello, I did some cleanups
and was able to add gitlab CI support. You can see it in action at
https://gitlab.com/jonmason00/meta-morello/-/pipelines/773799653
Many other cleanups are needed, but I was only trying to get Gitlab CI
working.
I see there is a Arm ecosystem FVP for Morello at
https://developer.arm.com/downloads/-/arm-ecosystem-fvps
If FVP support is enabled, it is possible to run testimage as part of
CI. You can see that being done on meta-arm for corstone500,
corstone1000-fvp, fvp-base, fvp-base-arm32, and fvp-baser-aemv8r64.
Let me know if there are any questions.
Thanks,
Jon
Jon Mason (6):
conf/machine: Remove MORELLO_RELEASE_VERSION
musl-morello: Remove unused file
Change SRVTAG to SRVREV
kas: Changes necessary to compile the existing system images
board-firmware: Fix LICENSE warning
CI: add Gitlab CI support
.gitlab-ci.yml | 78 +++++++++++++++++++
ci/check-warnings | 19 +++++
ci/jobs-to-kas | 16 ++++
ci/logging.yml | 13 ++++
ci/update-repos | 40 ++++++++++
conf/machine/include/morello-1.5.inc | 1 -
conf/machine/include/morello-common.inc | 6 +-
conf/machine/morello-linux-glibc.conf | 1 -
conf/machine/morello-linux-musl.conf | 5 +-
kas/base.yml | 47 +++++------
.../board-firmware/board-firmware_1.4.bb | 6 +-
recipes-core/busybox/busybox-morello.inc | 4 +-
...-morello-1.5.bb => busybox-morello_1.5.bb} | 2 +-
recipes-core/musl/musl-morello-1.5.inc | 4 -
recipes-core/musl/musl-morello-common.inc | 12 +--
.../gen-init-cpio/gen-init-cpio-native.bb | 6 +-
recipes-kernel/linux/linux-morello.inc | 4 +-
...ux-morello-1.5.bb => linux-morello_1.5.bb} | 6 +-
.../images/morello-linux-image-musl.bb | 4 +-
19 files changed, 220 insertions(+), 54 deletions(-)
create mode 100644 .gitlab-ci.yml
create mode 100755 ci/check-warnings
create mode 100755 ci/jobs-to-kas
create mode 100644 ci/logging.yml
create mode 100755 ci/update-repos
delete mode 100644 conf/machine/include/morello-1.5.inc
rename recipes-core/busybox/{busybox-morello-1.5.bb => busybox-morello_1.5.bb} (79%)
delete mode 100644 recipes-core/musl/musl-morello-1.5.inc
rename recipes-kernel/linux/{linux-morello-1.5.bb => linux-morello_1.5.bb} (57%)
--
2.30.2
This series of patches forms the initial support for the Morello hardware in Yocto.
For limitations and instructions to build refer to the README.md
To-do list:
- create clang-morello toolchain, follow the guide here [1] and move llvm-morello to its own layer
* can try append meta-clang instead
* can try to use precompiled external toolchain like here [2] instead
* thus there are 3 paths to explore forward for the toolchain, Yocto expects target_prefixed toolchain binaries
- be considerate of incoming purecap GNU toolchain [3] (related to the above toolchain problem)
- decide what combinations of musl/glibc env the user might want and stick that in grub cfg,
the current division between glibc/musl machines is a ripple from the past
Changes in V4:
- removed AUTOREV from all recipes
- removed dual code when not necessary in the bbappends
- fixed submodule paths and copy paste bugs in the uefi bbappend
- added native fiptool recipe
- added gdb
- added llvm that can run on the target
[1] http://www.openembedded.org/wiki/Adding_a_secondary_toolchain
[2] https://github.com/MentorEmbedded/meta-sourcery/
[3] https://developer.arm.com/downloads/-/arm-gnu-toolchain-for-morello-downloa…
Pawel Zalewski (18):
Add LLVM Morello compiler support
Add initial Morello machines and layer config
Add scp firmware
Add trusted-firmware-a
Add UEFI
Add grub
Add fiptool
Add board firmware image
Add Morello Linux kernel
Add musl libc
Add busybox
Add simple purecap application
Add gen-init-cpio
Add llvm-morelllo for aarch64.
Add gdb
Add Linux image
Add kas scripts
Add README.md
--
2.34.1
This series of patches forms the inital support for the Morello hardware in Yocto.
For limitations and instructions to build refer to the README.md
NB The kas scripts will pull meta-morello that is hosted @ TGP repo, not what these patches provide,
although these are almost equal.
To-do list:
- create clang-morello toolchain, follow the guide here http://www.openembedded.org/wiki/Adding_a_secondary_toolchain and move llvm-morello to its own layer
* can try append meta-clang instead
* can try to use precomipled external toolchain like here https://github.com/MentorEmbedded/meta-sourcery/ instead
* thus there are 3 paths to explore forward for the toolchain, Yocto expects target_prefixed toolchain binaries
- be considerate of incoming purecap GNU toolchain (related to the above toolchain problem)
- decide what combinations of musl/glibc env the user might want and stick that in grub cfg
Fixes in V3:
- packaging is enabled, purecap apps can be added to the rootfs image in the usual way (tested on glibc machine)
- added musl system loader to the glibc rootfs with symlink from the top level nonarchlib, this sort of makes pure musl machine redundant
- fixed tfa bug with missing path to openssl, it will now build in Jenkins
- fixed description bugs and outdated commit messages
Pawel Zalewski (15):
Add LLVM Morello compiler support
Add initial Morello machines and layer config
Add scp firmware
Add trusted-firmware-a
Add UEFI
Add grub
Add board firmware image
Add Morello Linux kernel
Add musl libc
Add busybox
Add simple purecap application
Add gen-init-cpio
Add Linux image
Add kas scripts
Add README.md
--
2.34.1
This series of patches forms the inital support for the Morello hardware in Yocto.
For limitations and instructions to build refer to the README.md
NB The kas scripts will pull meta-morello that is hosted @ TGP repo, not what these patches provide,
although these are almost equal.
To-do list:
- create clang-morello toolchain, follow the guide here http://www.openembedded.org/wiki/Adding_a_secondary_toolchain and move llvm-morello to its own layer
* can try append meta-clang instead
* can try to use precomipled external toolchain like here https://github.com/MentorEmbedded/meta-sourcery/ instead
* thus there are 3 paths to explore forward for the toolchain, Yocto expects target_prefixed toolchain binaries
- be considerate of incoming purecap GNU toolchain (related to the above toolchain problem)
- sort out the packaging for llvm-morello-compiled packages (related to the above toolchain problem)
Fixes in V2:
- fixed typos in descriptions/summaries
- removed old wrapper library around intrinsic cheri API for manipulating the capabilities
- removed old elf patcher which is no longer required
- patched busybox and purecap app makefiles accordingly to the above
- changed the path to the system loader, correct LDSO is arch64_purecap
- discrimination of the pure capp app by the machine: glibc will be statically linked, musl can use the musl loader
- added UUID to the rootfs so grub and initramfs will always boot from the correct rootfs
- fixed a bug with wrong clang CPP command
- fixed a bug in the kernel recipe where the ARCH variable was not set
- added multiconfig so that linux iamge depends on the board-firmware image explicitly
- modified kas scripts accordingly to the above
- fixed a bug with ATF tools being compiled with LLVM
Pawel Zalewski (15):
Add LLVM Morello compiler support
Add initial Morello machines and layer config
Add scp firmware
Add trusted-firmware-a
Add UEFI
Add grub
Add board firmware image
Add Morello Linux kernel
Add musl libc
Add busybox
Add simple purecap application
Add gen-init-cpio
Add Linux image
Add kas scripts
Add README.md
--
2.34.1
This series of patches forms the inital support for the Morello hardware in Yocto.
For limitations and instructions to build refer to the README.md
NB The kas scripts will pull meta-morello that is hosted @ TGP repo, not what these patches provide,
although these are almost equal.
To-do list:
- create clang-morello toolchain, follow the guide here http://www.openembedded.org/wiki/Adding_a_secondary_toolchain and move llvm-morello to its own layer
* can try append meta-clang instead
* can try to use precomipled external toolchain like here https://github.com/MentorEmbedded/meta-sourcery/ instead
* thus there are 3 paths to explore forward for the toolchain, Yocto expects target_prefixed toolchain binaries
- be considerate of incoming purecap GNU toolchain (related to the above toolchain problem)
- sort out the packaging for llvm-morello-compiled packages (related to the above toolchain problem)
Pawel Zalewski (17):
Add LLVM Morello compiler support
Add initial Morello machines and layer config
Add scp firmware
Add trusted-firmware-a
Add UEFI
Add grub
Add board firmware image
Add Morello Linux kernel
Add musl libc
Add busybox
Add libarchcap
Add elf patcher
Add simple purecap application
Add gen-init-cpio
Add Linux image
Add kas scripts
Add README.md
--
2.34.1
Hi All,
We would like to inform you that the "Yocto on Morello" virtual round table
finally has a date: Monday November, 28 2022 @3pm (GMT).
Join us to discuss the following topics:
- Introduction of the participants.
- Objectives of each sub-project (to avoid work duplication in future).
- Definition of a skeleton for the Yocto on Morello Project.
- Identification of a common place to host the Project.
- Definition of the development process and of the contribution criteria.
- Identification of the building blocks:
- Recipes we need in the various layers.
- Are we building them all from source?
- Which firmware are we using?
- etc.
We are happy to extend this agenda if a new topic arises during the meeting.
Please find below the zoom link to attend the meeting:
https://armltd.zoom.us/j/94463245653?pwd=QkdDOTBSR1pwOGxvNCtwQnpOL1pRZz09
See you on Monday!
Thanks and Regards,
Vincenzo
--->8---
Vincenzo Frascino is inviting you to a scheduled Zoom meeting.
Topic: Vincenzo Frascino's Zoom Meeting
Time: Nov 28, 2022 03:00 PM London
Join Zoom Meeting
https://armltd.zoom.us/j/94463245653?pwd=QkdDOTBSR1pwOGxvNCtwQnpOL1pRZz09
Meeting ID: 944 6324 5653
Passcode: 016323