summaryrefslogtreecommitdiff
path: root/meta-arm
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2023-01-13 17:55:19 +0300
committerAndrew Geissler <geissonator@yahoo.com>2023-01-13 21:05:42 +0300
commit517393d903089f921915530ffa689a7a1d113420 (patch)
tree8bac829cbf7fe13f7f1a4d937e1997d923755ed6 /meta-arm
parent98ccb1903bfb490dc6075e694664d8f1edef74dd (diff)
downloadopenbmc-517393d903089f921915530ffa689a7a1d113420.tar.xz
subtree updates Jan-13-2023
meta-openembedded: d04444509a..cd13881611: Alex Kiernan (10): mdns: Upgrade 1310.140.1 -> 1790.40.31 mdns: Set MDNS_VERSIONSTR_NODTS mdns: Upgrade 1790.40.31 -> 1790.60.25 ostree: Upgrade 2022.5 -> 2022.7 ostree: Use systemd_system_unitdir for systemd units ostree: Switch to fuse3 which is supported in ostree now ostree: Fix comments for configuration/ptest ostree: Handle musl's ERANGE mapping usbguard: Remove pegtl from DEPENDS usbguard: Upgrade 1.1.1 -> 1.1.2 Alex Stewart (2): gvfs: stylize DEPENDS gvfs: obviate the ssh-client requirement for gvfs Alexander Kanavin (5): frr: add a patch to correctly check presence of python from pkg-config lirc: correctly use PYTHONPATH libportal: move to oe-core packagegroup-meta-python: drop python3-strict-rfc3339 nftables: fix builds with latest setuptools Alexander Stein (1): dool: Add patch to fix rebuild Archana Polampalli (1): Nodejs - Upgrade to 16.18.1 Bartosz Golaszewski (3): python3-kmod: new package python3-watchdogdev: new package packagegroup-meta-python: add missing packages Bruce Ashfield (1): zfs: update to 2.1.7 Changqing Li (5): linuxptp: fix do_compile error keyutils: fix ptest failed since "+++ Can't Determine Endianness" graphviz: Do not build tcl support for native redis: 6.2.7 -> 6.2.8 redis: 7.0.5 -> 7.0.7 Chen Pei (2): suitesparse:fix git branch in SRC_URI botan: upgrade 2.19.2 -> 2.19.3 Chen Qi (4): xfce4-verve-plugin: fix do_configure faiure about missing libpcre networkmanager: fix dhcpcd PACKAGECONFIG networkmanager: install config files into correct place networkmanager: fix /etc/resolv.conf handling Christian Eggers (1): boost-url: remove recipe Clément Péron (3): navigation: bump proj to 9.1.0 library proj: add a packageconfig to build as a static library proj: avoid leaking host path in libproj Devendra Tewari (1): android-tools: Use echo instead of bbnote Dmitry Baryshkov (1): nss: fix cross-compilation error Erwann Roussy (3): python3-schedutils: add recipe python3-linux-procfs: add recipe tuna: add recipe Fabio Estevam (2): remmina: Update to 1.4.28 crucible: Upgrade to 2022.12.06 Geoff Parker (1): python3-yappi: upgrade 1.3.6 -> 1.4.0, python 3.11 compatible Gerbrand De Laender (1): python3-aioserial: new package Gianfranco Costamagna (2): vbxguestdrivers: upgrade 7.0.2 -> 7.0.4 boinc-client: Update boinc from 7.18.1 to 7.20.4 Gianluigi Spagnuolo (1): libbpf: add native and nativesdk BBCLASSEXTEND Hains van den Bosch (2): python3-twisted: Add python3-asyncio to RDEPENDS python3-twisted: Add python3-typing-extensions to RDEPENDS He Zhe (1): protobuf: upgrade 3.21.5 -> 3.21.10 Jose Quaresma (1): lshw: bump to 42fef565 Kai Kang (31): freeradius: fix multilib systemd service start failure wxwidgets: 3.1.5 -> 3.2.1 python3-attrdict3: add recipe with version 2.0.2 python3-wxgtk4: 4.1.1 -> 4.2.0 xfce4-settings: 4.16.3 -> 4.16.5 python3-m2crypto: fix CVE-2020-25657 and buildpaths qa issue fixup! wxwidgets: 3.1.5 -> 3.2.1 postfix: fix multilib conflict of sample-main.cf python3-wxgtk4: replace deprecated inspect.getargspec libxfce4ui: 4.16.1 -> 4.18.0 thunar-volman: 4.16.0 -> 4.18.0 xfce4-cpufreq-plugin: 1.2.7 -> 1.2.8 xfce4-wavelan-plugin: 0.6.2 -> 0.6.3 xfce4-cpugraph-plugin: 1.2.6 -> 1.2.7 xfce4-sensors-plugin: 1.4.3 -> 1.4.4 thunar-shares-plugin: Bump GLib minimum required to 2.26 xfce4-dev-tools: 4.16.0 -> 4.18.0 libxfce4util: 4.16.0 -> 4.18.0 exo: 4.16.4 -> 4.18.0 garcon: 4.16.1 -> 4.18.0 xfce4-panel: 4.16.3 -> 4.18.0 thunar: 4.16.9 -> 4.18.0 tumbler: 4.16.0 -> 4.18.0 xfconf: 4.16.0 -> 4.18.0 xfce4-appfinder: 4.16.1 -> 4.18.0 xfce4-settings: 4.16.5 -> 4.18.0 xfce4-power-manager: 4.16.0 -> 4.18.0 xfce4-session: 4.16.0 -> 4.18.0 xfwm4: 4.16.1 -> 4.18.0 xfdesktop: 4.16.0 -> 4.18.0 xorg-lib: set XORG_EXT for recipes Khem Raj (91): gnome-text-editor: Add missing libpcre build time depenedency ettercap: Add missing dependency on libpcre xcb-util-cursor: Update to 0.1.4 lldpd: Use github release assets for SRC_URI aufs-util: Fix build with large file support enabled systems volume-key: Inherit python3targetconfig proj: Enable apps when building native variant python3-pyproj: Export PROJ_DIR satyr: Inherit python3targetconfig rest: Re-add 0.8.1 gfbgraph: Use rest 0.8.1 audit: Inherit python3targetconfig opensaf: Check for _FILE_OFFSET_BITS instead of __TIMESIZE flite: Add missing deps on alsa-lib and chrpath python3-pystemd: Regenerate .c sources using newer cython libreport: Inherit python3targetconfig uw-imap: Disable parallelism gnome-calendar: Upgrade to 43.1 gnome-photos: Upgrade to 43.0 libgweather: Remove 40.0 waf-samba.bbclass: point PYTHON_CONFIG to target python3-config amtk: Add missing dep on python3-pygments-native fontforge: Inherit python3targetconfig tepl: Add missing dep on python3-pygments-native alsa-oss: Remove recipe opencv: Check for commercial_ffmpeg as well to enable ffmpeg opencv: Fix build with ffmpeg 5.1+ fwts: Upgrade to 22.11.00 minio: Disable on mips sip: Add recipe for 6.7.5 imapfilter: Upgrade to 2.7.6 perfetto: Do not pass TUNE_CCARGS to native/host compiler stressapptest: Upgrade to latest tip mariadb: Upgrade to 10.11.1 surf: Depend on gcr3 fatcat: Enable 64bit off_t stressapptest: Fix build with largefile support and musl nspr: Upgrade to 4.35 cryptsetup: Upgrade to 2.6.0 libyui,libyui-ncurses: Upgrade to 4.2.3 inotify-tools: Fix build on musl and lfs64 sdbus-c++-libsystemd: Upgrade to 250.9 systemd release xfsprogs: Upgrade to 6.0.0 drbd,drbd-utils: Upgrade to 9.2.1 and drbd-utils to 9.22.0 libtraceevent: Add recipe libtracefs: Add recipe trace-cmd: Remove use of off64_t and lseek64 xfsdump: Add -D_LARGEFILE64_SOURCE on musl xfstests: Add -D_LARGEFILE64_SOURCE on musl mariadb: Alias lseek64/open64/ftruncate64 on musl systems gperftools: Define off64_t on musl android-tools: Define lseek64 = lseek on musl php: Add -D_LARGEFILE64_SOURCE to cflags spice-gtk: Use libucontext for coroutines on musl wxwidgets: Fix build with musl wxwidgets: Fix locale on musl wxwidgets: Set HAVE_LARGEFILE_SUPPORT python3-wxgtk4: Do not use GetAssertStackTrace with USE_STACKWALKER disabled f2fs-tools: Upgrade to 1.15.0 trace-cmd: Pass ldflags to compiler parole: Define DATADIRNAME abseil-cpp: Replace off64_t with off_t vsftpd_3.0.5.bb: Define _LARGEFILE64_SOURCE on musl mozjs-102: Disable mozilla stackwalk on musl fatresize: Fix build when 64bit time_t is enabled boinc-client: Fix build when using 64bit time_t python3-grpcio: Define -D_LARGEFILE64_SOURCE only for musl gnome-online-accounts: Fix build race seen on musl systems imagemagick: Do not set ac_cv_sys_file_offset_bits spdlog: Do not use LFS64 functions with musl mongodb: Do not use off64_t on musl dracut: Do not undefine _FILE_OFFSET_BITS libcamera: Diable 64bit time_t on glibc targets v4l-utils: Diable 64bit time_t on glibc targets opensaf: Fix the check for __fsblkcnt64_t size libcereal,poco: Link with -latomic on ppc32 as well sshpass: Use SPDX identified string for GPLv2 nftables: Upgrade to 1.0.6 mycroft: Check for pulseaudio in distro features trace-cmd: Build libs before building rest open-vm-tools: Fix build with 64-bit time_t libtraceevent: Move plugins into package of its own trace-cmd: Upgrade to 3.1.5 luajit: Update to latest on v2.1 branch concurrencykit: Update to 0.7.0 concurrencykit: Set correct PLAT value for riscv32 concurrencykit: Fix build on riscv32 and riscv64 sysbench: Enable only on architectures supporting LuaJIT packagegroup-meta-oe: Ensure sysbench is included in limited arches hwloc: Update to 2.9.0 fluentbit: Link with libatomic on ppc32 Lei Maohui (1): polkit: Fix multilib builds Leon Anavi (9): python3-watchdog: Upgrade 2.2.0 -> 2.2.1 python3-zeroconf: Upgrade 0.39.4 -> 0.47.1 python3-croniter: Upgrade 1.3.7 -> 1.3.8 python3-coverage: Upgrade 7.0.1 -> 7.0.3 python3-prompt-toolkit: Upgrade 3.0.31 -> 3.0.36 python3-simplejson: Upgrade 3.18.0 -> 3.18.1 python3-termcolor: Upgrade 2.1.1 -> 2.2.0 python3-cantools: Upgrade 37.2.0 -> 38.0.0 python3-marshmallow: Upgrade 3.18.0 -> 3.19.0 Livin Sunny (1): libwebsockets: add ipv6 in PACKAGECONFIG Markus Volk (88): blueman: add RDEPEND on python3-fcntl hwdata: add patch to use sysroot prefix for pkgdatadir pipewire: upgrade 0.3.59 -> 0.3.60 spirv-cross: upgrade; fix build blueman: upgrade 2.34 -> 2.35 pipewire: upgrade 0.3.60 -> 0.3.61 iwd: upgrade 1.30 -> 2.0 libgdata: use gcr3 libgweather: update 4.0.0 -> 4.2.0 gnome-online-accounts: use gcr3 geary: build with gcr3 gnome-keyring: use gcr3 evolution-data-server: update 3.44.2 -> 3.46.1 gnome-settings-daemon: update 42.1 -> 43.0 libnma: update 1.8.38 -> 1.10.4 geocode-glib: build with libsoup-3.0 gjs: update 1.72.2 -> 1.75.1 gnome-shell: update 42.0 -> 43.1 mutter: update 42.0 -> 43.1 polkit: add recipe for v122 mozjs: update 98 -> 102 appstream-glib: update 0.7.18 -> 0.8.2 gthumb: build with libsoup-3 amtk: update 5.3.1 -> 5.6.1 gedit: update 42.2 -> 43.2 evolution-data-server: remove libgdata dependency tepl: update 6.0.0 -> 6.2.0 perfetto: pass TUNE_CCARGS to use machine tune gnome-photos: update dependencies thunar-archive-plugin: update 0.4.0 -> 0.5.0 libadwaita: remove deprecated sassc-native dependency gnome-shell: remove deprecated sassc-native dependency spice-gtk: add missing license information pipewire: update 0.3.61 -> 0.3.62 gdm: update 42.0 -> 43.0 gnome-session: update 42.0 -> 43-0 geoclue: update to latest commit to allow to build with libsoup-3.0 gvfs: fix polkit homedir editorconfig: add recipe tracker: update 3.4.1 -> 3.4.2 gvfs: fix dependencies gnome-calculator: update 42.2 -> 43.0.1 tracker-miners: update 3.4.1 -> 3.4.2 gnome-photos: add missing runtime dependency on tracker-miners gtksourceview5: update 5.4.2 -> 5.6.1 remmina: build with libsoup-3.0 ostree: replace libsoup-2.4 by curl gnome-text-editor: update 42.2 -> 43.1 gtk4: remove recipe libxmlb: allow to build native pipewire: update 0.3.62 -> 0.3.63 gnome-shell-extensions: update SRC_URI and remove sassc-native dep grilo: update 0.3.14 -> 0.3.15 libstemmer: move recipe to meta-oe xdg-desktop-portal: add recipe bubblewrap: import recipe from meta-security gnome-software: add recipe basu: import recipe from meta-wayland xdg-desktop-portal-wlr: add recipe appstream: add recipe flatpak: add recipe flatpak-xdg-utils: add recipe flatpak: add runtime dependency on flatpak-xdg-utils wireplumber: update 0.4.12 -> 0.4.13 wireplumber: build with dbus support by default xdg-desktop-portal-gnome: add recipe libcloudproviders: add recipe evince: update 42.3 -> 43.1 libportal: build libportal-gtk4 and vala support nautilus: update 42.2 -> 43.1 gnome-desktop: update 42.0 -> 43 file-roller: update 3.42.0 -> 43.0 wireplumber: dont start systemd system service by default gnome-bluetooth: update 42.4 -> 42.5 gnome-flashback: update 3.44.0 -> 3.46.0 libwnck3: update 40.1 -> 43.0 gnome-panel: update 3.44.0 -> 3.47.1 gnome-terminal: update 3.42.2 -> 3.46.7 dconf-editor: update 3.38.3 -> 43.0 gnome-shell: add missing RDEPENDS gnome-control-center: update 42.0 -> 43.2 gnome-shell: add runtime dependency on adwaita-icon-theme xdg-desktop-portal-gtk: add recipe thunar: add tumbler to RRECOMMENDS gnome:terminal add missing inherit meson gnome-disk-utility: update 42.0 -> 43.0 eog: add recipe libdecor: import recipe Martin Jansa (3): nss: fix SRC_URI geoclue: fix polkit files only with modem-gps PACKAGECONFIG layer.conf: update LAYERSERIES_COMPAT for mickledore Mathieu Dubois-Briand (2): nss: Add missing CVE product nss: Whitelist CVEs related to libnssdbm Matthias Klein (1): paho-mqtt-c: upgrade 1.3.11 -> 1.3.12 Max Krummenacher (1): opencv: follow changed name license_flags_accepted Mingli Yu (25): gnome-calculator: add opengl to REQUIRED_DISTRO_FEATURES waylandpp: add opengl to REQUIRED_DISTRO_FEATURES libnma: add opengl to REQUIRED_DISTRO_FEATURES network-manager-applet: add opengl to REQUIRED_DISTRO_FEATURES gssdp: check opengl is enabled or not gtksourceview5: add opengl to REQUIRED_DISTRO_FEATURES gnome-font-viewer: add opengl to REQUIRED_DISTRO_FEATURES libxfce4ui: check opengl DISTRO_FEATURES gnome-desktop: add opengl to REQUIRED_DISTRO_FEATURES ibus: add opengl related check nautilus: add opengl to REQUIRED_DISTRO_FEATURES gnome-bluetooth: add opengl to REQUIRED_DISTRO_FEATURES evince: add opengl to REQUIRED_DISTRO_FEATURES gnome-calendar: add opengl to REQUIRED_DISTRO_FEATURES xf86-video-amdgpu: add opengl to REQUIRED_DISTRO_FEATURES spice-gtk: add opengl to REQUIRED_DISTRO_FEATURES grail: add opengl to REQUIRED_DISTRO_FEATURES frame: add opengl to REQUIRED_DISTRO_FEATURES geis: add opengl to REQUIRED_DISTRO_FEATURES evolution-data-server: add opengl to REQUIRED_DISTRO_FEATURES libgweather4: add opengl to REQUIRED_DISTRO_FEATURES geary: add opengl to REQUIRED_DISTRO_FEATURES file-roller: add opengl to REQUIRED_DISTRO_FEATURES gnome-photos: add opengl to REQUIRED_DISTRO_FEATURES xdg-desktop-portal-wlr: add opengl to REQUIRED_DISTRO_FEATURES Naveen Saini (3): opencl-headers: add native and nativesdk tcsh: add native nativesdk BBCLASSEXTEND tbb: upgrade 2021.5.0 -> 2021.7.0 Omkar Patil (1): ntfs-3g-ntfsprogs: Upgrade 2022.5.17 to 2022.10.3 Ovidiu Panait (1): multipath-tools: upgrade 0.8.4 -> 0.9.3 Peter Bergin (1): sysbench: Upgrade 0.4.12 -> 1.0.20 Peter Kjellerstedt (4): chrony: Make it possible to enable editline support again chrony: Remove the libcap and nss PACKAGECONFIGs Revert "lldpd: Use github release assets for SRC_URI" lldpd: Correct the checksum for the tar ball to match 1.0.16 Preeti Sachan (1): fluidsynth: update SRC_URI to remove non-existing 2.2.x branch Roger Knecht (1): python3-rapidjson: add recipe Sakib Sajal (1): minio: fix license information Samuli Piippo (1): protobuf: stage protoc binary to sysroot Tim Orling (4): libio-pty-perl: upgrade 1.16 -> 1.17; enable ptest libmozilla-ca-perl: add recipe for 20221114 libio-socket-ssl-perl: upgrade 2.075 -> 2.076 libtest-warnings-perl: move to oe-core Tomasz Żyjewski (2): python3-binwalk: add recipe for version 2.3.3 python3-uefi-firmware: add recipe for version 1.9 Wang Mingyu (190): byacc: upgrade 20220128 -> 20221106 libforms: upgrade 1.2.4 -> 1.2.5pre1 libnftnl: upgrade 1.2.3 -> 1.2.4 mpich: upgrade 4.0.2 -> 4.0.3 python3-u-msgpack-python: upgrade 2.7.1 -> 2.7.2 python3-aiosignal: upgrade 1.2.0 -> 1.3.1 python3-eth-hash: upgrade 0.5.0 -> 0.5.1 python3-frozenlist: upgrade 1.3.1 -> 1.3.3 python3-google-auth: upgrade 2.14.0 -> 2.14.1 python3-greenlet: upgrade 2.0.0 -> 2.0.1 python3-imageio: upgrade 2.22.3 -> 2.22.4 python3-pycocotools: upgrade 2.0.5 -> 2.0.6 babl: upgrade 0.1.96 -> 0.1.98 ctags: upgrade 5.9.20221106.0 -> 5.9.20221113.0 gegl: upgrade 0.4.38 -> 0.4.40 freerdp: upgrade 2.8.1 -> 2.9.0 glibmm-2.68: upgrade 2.72.1 -> 2.74.0 googlebenchmark: upgrade 1.7.0 -> 1.7.1 gnome-backgrounds: upgrade 42.0 -> 43 nano: upgrade 6.4 -> 7.0 networkmanager-openvpn: upgrade 1.10.0 -> 1.10.2 python3-django: upgrade 4.1 -> 4.1.3 python3-flask-migrate: upgrade 3.1.0 -> 4.0.0 python3-eth-utils: upgrade 2.0.0 -> 2.1.0 python3-eventlet: upgrade 0.33.1 -> 0.33.2 python3-googleapis-common-protos: upgrade 1.56.4 -> 1.57.0 python3-google-api-python-client: upgrade 2.65.0 -> 2.66.0 python3-pymongo: upgrade 4.3.2 -> 4.3.3 lldpd: upgrade 1.0.15 -> 1.0.16 audit: upgrade 3.0.8 -> 3.0.9 ccid: upgrade 1.5.0 -> 1.5.1 colord: upgrade 1.4.5 -> 1.4.6 ctags: upgrade 5.9.20221113.0 -> 5.9.20221120.0 flatbuffers: upgrade 22.10.26 -> 22.11.23 libglvnd: upgrade 1.5.0 -> 1.6.0 gensio: upgrade 2.5.2 -> 2.6.1 mg: upgrade 20220614 -> 20221112 nbdkit: upgrade 1.33.2 -> 1.33.3 xfstests: upgrade 2022.10.30 -> 2022.11.06 pcsc-lite: upgrade 1.9.8 -> 1.9.9 python3-matplotlib-inline: upgrade 0.1.2 -> 0.1.6 python3-astroid: upgrade 2.12.12 -> 2.12.13 python3-asyncinotify: upgrade 2.0.5 -> 2.0.8 python3-charset-normalizer: upgrade 3.0.0 -> 3.0.1 python3-dateparser: upgrade 1.1.0 -> 1.1.4 python3-can: upgrade 4.0.0 -> 4.1.0 python3-flask-socketio: upgrade 5.3.1 -> 5.3.2 python3-ipython: upgrade 8.2.0 -> 8.6.0 python3-langtable: upgrade 0.0.60 -> 0.0.61 python3-jedi: upgrade 0.18.1 -> 0.18.2 python3-grpcio-tools: upgrade 1.50.0 -> 1.51.0 python3-grpcio: upgrade 1.50.0 -> 1.51.0 python3-networkx: upgrade 2.8.7 -> 2.8.8 python3-pyatspi: upgrade 2.38.2 -> 2.46.0 python3-pandas: upgrade 1.5.1 -> 1.5.2 python3-pybind11-json: upgrade 0.2.11 -> 0.2.13 python3-pychromecast: upgrade 12.1.4 -> 13.0.1 python3-pycodestyle: upgrade 2.9.1 -> 2.10.0 xterm: upgrade 373 -> 377 smarty: upgrade 4.2.1 -> 4.3.0 spdlog: upgrade 1.10.0 -> 1.11.0 python3-pyperf: upgrade 2.4.1 -> 2.5.0 python3-pyflakes: upgrade 2.5.0 -> 3.0.1 python3-pymisp: upgrade 2.4.157 -> 2.4.165.1 capnproto: upgrade 0.10.2 -> 0.10.3 libass: upgrade 0.16.0 -> 0.17.0 ctags: upgrade 5.9.20221120.0 -> 5.9.20221127.0 libio-socket-ssl-perl: upgrade 2.076 -> 2.077 python3-grpcio-tools: upgrade 1.51.0 -> 1.51.1 python3-asyncinotify: upgrade 2.0.8 -> 3.0.1 python3-grpcio: upgrade 1.51.0 -> 1.51.1 opensc: upgrade 0.22.0 -> 0.23.0 python3-ipython: upgrade 8.6.0 -> 8.7.0 ply: upgrade 2.2.0 -> 2.3.0 python3-apt: upgrade 2.3.0 -> 2.5.0 poppler: upgrade 22.11.0 -> 22.12.0 python3-asttokens: upgrade 2.1.0 -> 2.2.0 python3-cbor2: upgrade 5.4.3 -> 5.4.5 python3-geomet: upgrade 0.3.0 -> 1.0.0 python3-google-api-core: upgrade 2.10.2 -> 2.11.0 python3-google-api-python-client: upgrade 2.66.0 -> 2.68.0 python3-path: upgrade 16.5.0 -> 16.6.0 python3-google-auth: upgrade 2.14.1 -> 2.15.0 zabbix: upgrade 6.2.4 -> 6.2.5 xmlsec1: upgrade 1.2.36 -> 1.2.37 smcroute: upgrade 2.5.5 -> 2.5.6 python3-protobuf: upgrade 4.21.9 -> 4.21.10 python3-traitlets: upgrade 5.5.0 -> 5.6.0 python3-twine: upgrade 4.0.1 -> 4.0.2 python3-web3: upgrade 5.31.1 -> 5.31.2 python3-ujson: upgrade 5.5.0 -> 5.6.0 ctags: upgrade 5.9.20221127.0 -> 5.9.20221204.0 dnsmasq: upgrade 2.87 -> 2.88 flatbuffers: upgrade 22.11.23 -> 22.12.06 nbdkit: upgrade 1.33.3 -> 1.33.4 hwdata: upgrade 0.364 -> 0.365 evolution-data-server: update 3.46.1 -> 3.46.2 xfstests: upgrade 2022.11.06 -> 2022.11.27 python3-protobuf: upgrade 4.21.10 -> 4.21.11 python3-traitlets: upgrade 5.6.0 -> 5.7.0 python3-redis: upgrade 4.3.5 -> 4.4.0 python3-web3: upgrade 5.31.2 -> 5.31.3 python3-asttokens: upgrade 2.2.0 -> 2.2.1 python3-cbor2: upgrade 5.4.5 -> 5.4.6 python3-google-api-python-client: upgrade 2.68.0 -> 2.69.0 python3-gmpy2: upgrade 2.1.2 -> 2.1.3 python3-multidict: upgrade 6.0.2 -> 6.0.3 python3-watchdog: upgrade 2.1.9 -> 2.2.0 python3-pychromecast: upgrade 13.0.1 -> 13.0.2 python3-pymisp: upgrade 2.4.165.1 -> 2.4.166 python3-pytest-xdist: upgrade 3.0.2 -> 3.1.0 python3-yarl: upgrade 1.8.1 -> 1.8.2 zabbix: upgrade 6.2.5 -> 6.2.6 python3-yamlloader: upgrade 1.1.0 -> 1.2.2 tio: upgrade 2.3 -> 2.4 ctags: upgrade 5.9.20221204.0 -> 6.0.20221218.0 dash: upgrade 0.5.11.5 -> 0.5.12 nanopb: upgrade 0.4.6.4 -> 0.4.7 libio-socket-ssl-perl: upgrade 2.077 -> 2.078 libfile-slurper-perl: upgrade 0.013 -> 0.014 protobuf: upgrade 3.21.10 -> 3.21.12 python3-alembic: upgrade 1.8.1 -> 1.9.0 nano: upgrade 7.0 -> 7.1 python3-gmpy2: upgrade 2.1.3 -> 2.1.5 python3-eth-account: upgrade 0.7.0 -> 0.8.0 python3-google-api-python-client: upgrade 2.69.0 -> 2.70.0 python3-protobuf: upgrade 4.21.11 -> 4.21.12 python3-pycares: upgrade 4.2.2 -> 4.3.0 python3-pycurl: upgrade 7.45.1 -> 7.45.2 python3-pychromecast: upgrade 13.0.2 -> 13.0.4 python3-pyproj: upgrade 3.4.0 -> 3.4.1 python3-pydicti: upgrade 1.1.6 -> 1.2.0 python3-sentry-sdk: upgrade 1.11.1 -> 1.12.0 python3-traitlets: upgrade 5.7.0 -> 5.7.1 tio: upgrade 2.4 -> 2.5 python3-sqlalchemy: upgrade 1.4.44 -> 1.4.45 xfsdump: upgrade 3.1.11 -> 3.1.12 python3-isort: upgrade 5.10.1 -> 5.11.3 xfstests: upgrade 2022.11.27 -> 2022.12.11 ctags: upgrade 6.0.20221218.0 -> 6.0.20221225.0 gst-editing-services: upgrade 1.20.4 -> 1.20.5 logcheck: upgrade 1.3.24 -> 1.4.0 memtester: upgrade 4.5.1 -> 4.6.0 libmime-types-perl: upgrade 2.22 -> 2.23 metacity: upgrade 3.46.0 -> 3.46.1 python3-alembic: upgrade 1.9.0 -> 1.9.1 xfstests: upgrade 2022.12.11 -> 2022.12.18 python3-cytoolz: upgrade 0.12.0 -> 0.12.1 python3-asgiref: upgrade 3.5.2 -> 3.6.0 python3-autobahn: upgrade 22.7.1 -> 22.12.1 python3-coverage: upgrade 6.5.0 -> 7.0.1 python3-bitarray: upgrade 2.6.0 -> 2.6.1 python3-imageio: upgrade 2.22.4 -> 2.23.0 python3-isort: upgrade 5.11.3 -> 5.11.4 python3-multidict: upgrade 6.0.3 -> 6.0.4 python3-traitlets: upgrade 5.7.1 -> 5.8.0 python3-pymisp: upgrade 2.4.166 -> 2.4.167 python3-sentry-sdk: upgrade 1.12.0 -> 1.12.1 python3-supervisor: upgrade 4.2.4 -> 4.2.5 wolfssl: upgrade 5.5.3 -> 5.5.4 remmina: upgrade 1.4.28 -> 1.4.29 ser2net: upgrade 4.3.10 -> 4.3.11 tesseract: upgrade 5.2.0 -> 5.3.0 network-manager-applet: upgrade 1.26.0 -> 1.30.0 byacc: upgrade 20221106 -> 20221229 ctags: upgrade 6.0.20221225.0 -> 6.0.20230101.0 flashrom: upgrade 1.2 -> 1.2.1 fontforge: upgrade 20220308 -> 20230101 hunspell: upgrade 1.7.1 -> 1.7.2 libmime-types-perl: upgrade 2.23 -> 2.24 libnet-dns-perl: upgrade 1.35 -> 1.36 tepl: upgrade 6.2.0 -> 6.4.0 tcpdump: upgrade 4.99.1 -> 4.99.2 traceroute: upgrade 2.1.0 -> 2.1.1 openwsman: upgrade 2.7.1 -> 2.7.2 pcsc-tools: upgrade 1.6.0 -> 1.6.1 poppler: upgrade 22.12.0 -> 23.01.0 rsnapshot: upgrade 1.4.4 -> 1.4.5 tree: upgrade 2.0.4 -> 2.1.0 python3-bidict: upgrade 0.22.0 -> 0.22.1 python3-bitarray: upgrade 2.6.1 -> 2.6.2 python3-dateparser: upgrade 1.1.4 -> 1.1.5 python3-lz4: upgrade 4.0.2 -> 4.3.2 python3-mock: upgrade 4.0.3 -> 5.0.0 python3-pillow: upgrade 9.3.0 -> 9.4.0 python3-pydantic: upgrade 1.10.2 -> 1.10.4 python3-pyephem: upgrade 4.1.3 -> 4.1.4 python3-xlsxwriter: upgrade 3.0.3 -> 3.0.5 python3-xxhash: upgrade 3.1.0 -> 3.2.0 dnf-plugins/rpm.py: Fix grammar when RPM_PREFER_ELF_ARCH doesn't exit. Xiangyu Chen (1): lldpd: add ptest for lldpd package Yi Zhao (13): libpwquality: set correct pam plugin directory ostree: add runtime dependency bubblewrap for PACKAGECONFIG[selinux] ostree: fix selinux policy rebuild error on first deployment frr: upgrade 8.3.1 -> 8.4.1 open-vm-tools: upgrade 12.1.0 -> 12.1.5 libtdb: upgrade 1.4.3 -> 1.4.7 libldb: upgrade 2.3.4 -> 2.6.1 libtalloc: upgrade 2.3.3 -> 2.3.4 libtevent: upgrade 0.10.2 -> 0.13.0 samba upgrade 4.14.14 -> 4.17.4 krb5: upgrade 1.17.2 -> 1.20.1 grubby: update to latest git rev grubby: drop version 8.40 Zheng Qiu (1): python3-inotify: add ptest persianpros (1): samba: Remove samba related PYTHONHASHSEED patches and use export function zhengrq.fnst@fujitsu.com (15): python3-pymodbus: upgrade 3.0.0 -> 3.0.2 python3-pywbemtools: upgrade 1.0.1 -> 1.1.0 python3-stevedore: upgrade 4.1.0 -> 4.1.1 ser2net: upgrade 4.3.9 -> 4.3.10 yelp-tools: upgrade 42.0 -> 42.1 python3-python-vlc: upgrade 3.0.16120 -> 3.0.18121 python3-sqlalchemy: upgrade 1.4.43 -> 1.4.44 python3-zopeinterface: upgrade 5.5.1 -> 5.5.2 python3-simplejson: upgrade 3.17.6 -> 3.18.0 python3-pywbemtools: upgrade 1.0.1 -> 1.1.1 python3-redis: upgrade 4.3.4 -> 4.3.5 python3-texttable: upgrade 1.6.4 -> 1.6.7 python3-sentry-sdk: upgrade 1.9.10 -> 1.11.1 python3-twitter: upgrade 4.10.1 -> 4.12.1 python3-termcolor: upgrade 2.1.0 -> 2.1.1 meta-security: 2aa48e6f4e..f991b20f56: Alex Kiernan (1): bubblewrap: Update 0.6.2 -> 0.7.0 Armin Kuster (2): python3-privacyidea: update to 2.7.4 chipsec: update to 1.9.1 Michael Haener (1): tpm2-tools: update to 5.3 meta-arm: d5f132b199..5c42f084f7: Adam Johnston (1): arm/trusted-services: Fix 'no such file' when building libts Adrian Herrera (2): atp: decouple m5readfile from m5ops atp: move m5readfile to meta-gem5 Adrián Herrera Arcila (5): atp: fix failing test_readme gem5: support for EXTRAS atp: separate recipe for gem5 models atp: fix machine overrides in recipes ci: add meta-atp to check-layers David Bagonyi (1): meta-arm-toolchain: Drop calls to datastore finalize Diego Sueiro (2): arm/classes: Introduce apply_local_src_patches bbclass arm/trusted-firmware-m: Fix local source patches application Emekcan (1): arm/fvp: Upgrade Corstone1000 FVP Emekcan Aras (6): arm-bsp/documentation: corstone1000: update the user guide arm/optee: Move optee-3.18 patches arm/optee: support optee 3.19 arm-bsp/optee-os: Adds 3.19 bbappend arm-bsp/optee-os: N1SDP support for optee-os 3.19 arm/qemuarm-secureboot: pin optee-os version Jon Mason (5): arm-bsp/trusted-services: rename bbappends with git version arm/trusted-services: limit the ts compatible machines arm-bsp/trusted-services: add n1sdp support arm/trusted-firmware-m: update to 1.6.1 CI: define DEFAULT_TAG and CPU_REQUEST Khem Raj (1): gn: Replace lfs64 functions with original counterparts Mohamed Omar Asaker (5): arm-bsp/trusted-services: corstone1000: Use the stateless platform service calls arm-bsp/trusted-firmware-m: Bump TFM to v1.7 arm-bsp/trusted-firmware-m: corstone1000: TFM 1.7 arm-bsp/musca_b1: Edit the platform name arm-bsp/trusted-firmware-m: Remove TF-M 1.6 recipe Peter Hoyes (3): arm/fvp: Backport shlex.join from Python 3.8 arm/fvpboot: Disable timing annotation by default arm/classes: Ensure patch files are sorted in apply_local_src_patches Robbie Cao (1): arm/fvp-base-r-aem: upgrade to version 11.20.15 Ross Burton (17): CI: revert a meta-clang change which breaks pixman (thus, xserver) CI: add variables needed for k8s runners CI: add tags to all jobs CI: no need to install telnet CI: fix builds with clang CI: use the .setup fragment in machine-coverage arm/fvp-base-a-aem: upgrade to 11.20.15 arm-bsp/edk2-firmware: allow clang builds on juno ci/get-binary-toolchains: rewrite, slightly arm-bsp/documentation: update fvp-base documentation to use runfvp CI: use qemuarm64 for pending-updates report job meta-atp: remove meta-gem5: remove arm/fvp-envelope: name the FVP tarballs for checksums arm/fvp-envelope: update HOMEPAGE arm/fvp-base-a-aem: add support for aarch64 binaries CI: don't pin fvp-base jobs to x86-64 poky: 44bb88cc86..0ce159991d: Alejandro Hernandez Samaniego (6): baremetal-image: Avoid overriding qemu variables from IMAGE_CLASSES rust: Enable building rust from stable, beta and nightly channels rust: Enable baremetal targets baremetal-helloworld: Enable x86 and x86-64 ports baremetal-helloworld: Move from skeleton to recipes-extended matching what rust-hello-world is doing oe-selftest: Add baremetal toolchain test Alex Kiernan (20): rust: Install target.json for target rustc rust: update 1.65.0 -> 1.66.0 oeqa/runtime/rust: Add basic compile/run test libstd-rs: Merge .inc into .bb libstd-rs: Move source directory to library/test rust-llvm: Merge .inc into .bb rust-llvm: Update LLVM_VERSION to match embedded version packagegroup-rust-sdk-target: Add Rust SDK target packagegroup packagegroup-core-sdk: Add SDK toolchain language selection support rust: Merge .inc into .bb rust: Move musl-x86 fix for `__stack_chk_fail_local` to rust-source cargo: Merge .inc into .bb cargo: Extend DEBUG_PREFIX_MAP to cover vendor cargo: Include crossbeam-utils patch cargo: Drop exclude from world packagegroup-rust-sdk-target: Add cargo oeqa/runtime/rust: Add cargo test classes: image: Set empty weak default IMAGE_LINGUAS default-distrovars: Include "c" in IMAGE_LINGUAS for glibc rust: Merge all rustc-source patches into rust-source.inc Alex Stewart (2): lsof: add update-alternatives logic opkg: upgrade to version 0.6.1 Alexander Kanavin (155): elfutils: update 0.187 -> 0.188 rsync: update 3.2.5 -> 3.2.7 swig: update 4.0.2 -> 4.1.0 tcl: update 8.6.11 -> 8.6.12 quota: update 4.06 -> 4.09 shadow: update 4.12.3 -> 4.13 texinfo: update 6.8 -> 7.0 libhandy: update 1.6.3 -> 1.8.0 xf86-input-mouse: update 1.9.3 -> 1.9.4 flac: update 1.4.0 -> 1.4.2 icu: update 71.1 -> 72-1 libgpg-error: update 1.45 -> 1.46 popt: update 1.18 -> 1.19 vte: update 0.68.0 -> 0.70.1 webkitgtk: update 2.36.7 -> 2.38.2 man-db: update 2.10.2 -> 2.11.1 gawk: update 5.1.1 -> 5.2.1 unfs: update 0.9.22 -> 0.10.0 qemu-helper: depend on unfs3 and pseudo directly runqemu: do not hardcode the ip address of the nfs server when using tap selftest/runqemu: reenable the nfs rootfs test glibc-tests: correctly pull in the actual tests when installing -ptest package python3: fix tests on x86 (32 bit) ptest-packagelists.inc: do not run valgrind ptests on 32 bit x86 python3: use the standard shell version of python3-config python3targetconfig.bbclass: use PYTHONPATH to point to the target config bitbake: fetch2/wget.py: correctly match versioned directories devtool/upgrade: correctly handle recipes where S is a subdir of upstream tree python3-numpy: fix upstream version check python3-poetry-core: update 1.3.2 -> 1.4.0 tcl: update 8.6.12 -> 8.6.13 libnewt: update 0.52.21 -> 0.52.23 libxdmcp: update 1.1.3 -> 1.1.4 libxpm: update 3.5.13 -> 3.5.14 libxrandr: update 1.5.2 -> 1.5.3 bluez: update 5.65 -> 5.66 libxcrypt: update PV to match SRCREV python3-dbusmock: update 0.28.4 -> 0.28.6 ruby: merge .inc into .bb ruby: update 3.1.2 -> 3.1.3 ghostscript: update 9.56.1 -> 10.0.0 tzdata: update 2022d -> 2022g systemtap: upgrade 4.7 -> 4.8 gnupg: upgrade 2.3.7 -> 2.3.8 ptest-packagelists.inc: correctly assign fast and slow tests ovmf: update edk2-stable202208 -> edk2-stable202211 llvm: update 15.0.4 -> 15.0.6 tcmode-default.inc: set LLVMVERSION to a major version wildcard cmake: update 3.24.2 -> 3.25.1 python3-native: further tweak to sysconfig.py to find python includes correctly libslirp: add recipe to continue slirp support in qemu qemu: update 7.1.0 -> 7.2.0 systemd: update 251.8 -> 252.4 dpkg: update 1.21.9 -> 1.21.13 python3-installer: update 0.5.1 -> 0.6.0 python3: update 3.11.0 -> 3.11.1 weston: update 11.0.0 -> 11.0.1 xhost: update 1.0.8 -> 1.0.9 xinit: update 1.4.1 -> 1.4.2 xkbcomp: update 1.4.5 -> 1.4.6 xprop: update 1.2.5 -> 1.2.6 xset: update 1.2.4 -> 1.2.5 xvinfo: update 1.1.4 -> 1.1.5 xf86-video-vesa: update 2.5.0 -> 2.6.0 libice: update 1.0.10 -> 1.1.1 libxcomposite: update 0.4.5 -> 0.4.6 libxdamage: update 1.1.5 -> 1.1.6 libxres: update 1.2.1 -> 1.2.2 libxscrnsaver: update 1.2.3 -> 1.2.4 libxv: update 1.0.11 -> 1.0.12 jquery: upgrade 3.6.1 -> 3.6.2 libmodule-build-perl: update 0.4231 -> 0.4232 python3-chardet: upgrade 5.0.0 -> 5.1.0 libarchive: upgrade 3.6.1 -> 3.6.2 stress-ng: upgrade 0.15.00 -> 0.15.01 vulkan: upgrade 1.3.231.1 -> 1.3.236.0 Revert "python3-native: further tweak to sysconfig.py to find python includes correctly" conf/machine/include: add x86-64-v3 tunes (AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE) go: update 1.19.3 -> 1.19.4 vulkan-samples: update to latest revision boost-build-native: update 1.80.0 -> 1.81.0 qemu: disable sporadically failing test-io-channel-command devtool: process local files only for the main branch libportal: add from meta-openembedded/meta-gnome libportal: convert from gtk-doc to gi-docgen epiphany: update 42.4 -> 43.0 qemux86-64: build for x86-64-v3 (2013 Haswell and later) rather than Core 2 from 2006 valgrind: disable tests that started failing after switching to x86-64-v3 target glib-2.0: upgrade 2.74.3 -> 2.74.4 jquery: upgrade 3.6.2 -> 3.6.3 nasm: update 2.15.05 -> 2.16.01 ffmpeg: use nasm patched-in debug-prefix-map option to restore reproducibility gtk+3: update 3.24.35 -> 3.24.36 libva-utils: update 2.16.0 -> 2.17.0 xcb-util: update 0.4.0 -> 0.4.1 gnupg: update 2.3.8 -> 2.4.0 libksba: update 1.6.2 -> 1.6.3 python3-pycryptodomex: upgrade 3.15.0 -> 3.16.0 piglit: upgrade to latest revision python3-setuptools-scm: upgrade 7.0.5 -> 7.1.0 python3-attrs: upgrade 22.1.0 -> 22.2.0 webkitgtk: upgrade 2.38.2 -> 2.38.3 linux-firmware: upgrade 20221109 -> 20221214 harfbuzz: upgrade 5.3.1 -> 6.0.0 python3-pytz: upgrade 2022.6 -> 2022.7 strace: upgrade 6.0 -> 6.1 python3-pycryptodome: upgrade 3.15.0 -> 3.16.0 meson: upgrade 0.64.0 -> 1.0.0 xwayland: upgrade 22.1.5 -> 22.1.7 python3-pyrsistent: upgrade 0.19.2 -> 0.19.3 file: upgrade 5.43 -> 5.44 python3-subunit: upgrade 1.4.1 -> 1.4.2 python3-zipp: upgrade 3.10.0 -> 3.11.0 python3-cryptography: upgrade 38.0.3 -> 38.0.4 logrotate: upgrade 3.20.1 -> 3.21.0 python3-importlib-metadata: upgrade 5.0.0 -> 5.2.0 python3-numpy: upgrade 1.23.4 -> 1.24.1 xserver-xorg: upgrade 21.1.4 -> 21.1.6 puzzles: upgrade to latest revision vte: upgrade 0.70.1 -> 0.70.2 libpsl: upgrade 0.21.1 -> 0.21.2 libtest-fatal-perl: upgrade 0.016 -> 0.017 python3-urllib3: upgrade 1.26.12 -> 1.26.13 python3-cryptography-vectors: upgrade 38.0.3 -> 38.0.4 python3-setuptools: upgrade 65.5.1 -> 65.6.3 libsdl2: upgrade 2.26.0 -> 2.26.1 python3-gitdb: upgrade 4.0.9 -> 4.0.10 diffoscope: upgrade 224 -> 230 python3-mako: upgrade 1.2.3 -> 1.2.4 python3-sphinx: upgrade 5.3.0 -> 6.0.0 libsolv: upgrade 0.7.22 -> 0.7.23 ruby: upgrade 3.1.3 -> 3.2.0 python3-lxml: upgrade 4.9.1 -> 4.9.2 python3-git: upgrade 3.1.29 -> 3.1.30 curl: upgrade 7.86.0 -> 7.87.0 kmscube: upgrade to latest revision gobject-introspection: upgrade 1.72.0 -> 1.74.0 python3-dtschema: upgrade 2022.11 -> 2022.12 bash: upgrade 5.2.9 -> 5.2.15 kexec-tools: upgrade 2.0.25 -> 2.0.26 python3-jsonschema: upgrade 4.17.0 -> 4.17.3 python3-pycairo: upgrade 1.21.0 -> 1.23.0 nghttp2: upgrade 1.50.0 -> 1.51.0 python3-certifi: upgrade 2022.9.24 -> 2022.12.7 python3-hypothesis: upgrade 6.57.1 -> 6.61.0 libsndfile1: upgrade 1.1.0 -> 1.2.0 repo: upgrade 2.29.9 -> 2.31 libpcap: upgrade 1.10.1 -> 1.10.2 python3-jsonschema: depend on rfc3339-validator in all cases python3-strict-rfc3339: remove the recipe elfutils: do not error out on deprecated declarations gcr3: limit version check to 3.x versions without odd-even rule ncurses: restore version check as it's now again working due to release of 6.4 tiff: update 4.4.0 -> 4.5.0 qemu: fix recent reproducibility issues Alexey Smirnov (1): classes: make TOOLCHAIN more permissive for kernel Anton Antonov (1): rust: Do not use default compiler flags defined in CC crate Antonin Godard (2): busybox: always start do_compile with orig config files busybox: rm temporary files if do_compile was interrupted Atanas Bunchev (1): qemu.rst: slirp port forwarding details Bruce Ashfield (30): linux-yocto-dev: bump to v6.0+ linux-yocto/5.19: update to v5.19.16 linux-yocto/5.15: update to v5.15.74 linux-yocto/5.19: update to v5.19.17 linux-yocto/5.15: update to v5.15.76 linux-yocto/5.19: cfg: intel and vesa updates kern-tools: integrate ZFS speedup patch linux-yocto-dev: bump to v6.1 kernel-devsrc: fix for v6.1+ lttng-modules: fix build for v6.1+ linux-yocto/5.19: security.cfg: remove configs which have been dropped linux-yocto/5.15: update to v5.15.78 linux-yocto/5.19: fix CONFIG_CRYPTO_CCM mismatch warnings linux-yocto/5.15: fix CONFIG_CRYPTO_CCM mismatch warnings linux-yocto/5.19: fix elfutils run-backtrace-native-core ptest failure linux-libc-headers: add 6.x fetch location linux-libc-headers: bump to 6.1 linux-yocto/5.19: fix perf build with clang linux-yocto/5.15: ltp and squashfs fixes linux-yocto: introduce v6.1 reference kernel recipes linux-yocto/5.15: fix perf build with clang linux-yocto/5.15: libbpf: Fix build warning on ref_ctr_off linux-yocto/5.15: update to v5.15.84 linux-yocto/6.1: update to v6.1.1 linux-yocto/5.15: powerpc: Fix reschedule bug in KUAP-unlocked user copy linux-yocto/5.19: powerpc: Fix reschedule bug in KUAP-unlocked user copy linux-yocto/6.1: update to v6.1.3 linux-yocto/6.1: cfg: remove CONFIG_ARM_CRYPTO yocto-bsps/5.15: update to v5.15.78 linux-yocto/5.15: update to v5.15.80 Carlos Alberto Lopez Perez (3): xwayland: libxshmfence is needed when dri3 is enabled recipes: Enable nativesdk for gperf, unifdef, gi-docgen and its dependencies mesa-gl: gallium is required when enabling x11 Changqing Li (2): base.bbclass: Fix way to check ccache path sqlite3: upgrade 3.40.0 -> 3.40.1 Charlie Johnston (1): opkg: ensure opkg uses private gpg.conf when applying keys. Chee Yang Lee (1): migration-guides: add release-notes for 4.1.1 Chen Qi (10): kernel.bbclass: make KERNEL_DEBUG_TIMESTAMPS work at rebuild resolvconf: make it work dhcpcd: fix to work with systemd bitbake: command.py: cleanup bb.cache.parse_recipe psplash: consider the situation of psplash not exist for systemd bc: extend to nativesdk rm_work: adjust dependency to make do_rm_work_all depend on do_rm_work selftest: allow '-R' and '-r' be used together dhcpcd: backport two patches to fix runtime error libseccomp: fix typo in DESCRIPTION Christian Eggers (1): boost: add url lib David Bagonyi (1): u-boot: Fix u-boot signing when building with multiple u-boot configs Dmitry Baryshkov (2): linux-firmware: upgrade 20221012 -> 20221109 linux-firmware: add new fw file to ${PN}-qcom-adreno-a530 Enguerrand de Ribaucourt (1): bitbake-layers: fix a typo Enrico Jörns (1): sstatesig: emit more helpful error message when not finding sstate manifest Enrico Scholz (1): sstate: show progress bar again Fabre Sébastien (1): u-boot: Add /boot in SYSROOT_DIRS Frank de Brabander (4): bitbake: README: Improve explanation about running the testsuite bitbake: bin/utils: Ensure locale en_US.UTF-8 is available on the system bitbake: process: log odd unlink events with bitbake.sock bitbake: README: add required python version for bitbake Harald Seiler (1): opkg: Set correct info_dir and status_file in opkg.conf Jagadeesh Krishnanjanappa (1): qemuboot.bbclass: make sure runqemu boots bundled initramfs kernel image Jan Kircher (1): toolchain-scripts: compatibility with unbound variable protection Javier Tia (1): poky.conf: Add Fedora 36 as supported distro Joe Slater (2): python3: Fix CVE-2022-37460 libarchive: fix CVE-2022-36227 Jose Quaresma (2): Revert "gstreamer1.0: disable flaky gstbin:test_watch_for_state_change test" gstreamer1.0: Fix race conditions in gstbin tests Joshua Watt (4): qemu-helper-native: Correctly pass program name as argv[0] bitbake: cooker: Use event to terminate parser threads bitbake: cooker: Start sync thread a little earlier bitbake: bitbake: Convert to argparse Kai Kang (4): xorg-lib-common.inc: set default value of XORG_EXT libx11-compose-data: 1.6.8 -> 1.8.3 libx11: 1.8.1 -> 1.8.3 libsm: 1.2.3 > 1.2.4 Kasper Revsbech (1): bitbake: fetch2/wget: handle username/password in uri Khem Raj (47): rsync: Delete pedantic errors re-ordering patch pseudo: Disable LFS on 32bit arches libxkbcommon: Extend to build native package iso-codes: Extend to build native packages xkeyboard-config: Extend to build native package bluez5: enable position independent executables flag rpcsvc-proto: Use autoconf knob to enable largefile support gptfdisk: Enable largefile support functions libpcre2: Upgrade to 10.42 erofs-utils: Convert from off64_t to off_t pseudo: Remove 64bit time_t flags unfs3: Define off64_t in terms of off_t on musl acpid: Fix largefile enabled build efivar: Replace off64_t with off_t ltp: Fix largefile support acl: Enable largefile support by default libpciaccess: Do not use 64bit functions for largefile support mdadm: Use _FILE_OFFSET_BITS to use largefile support btrfs-tools: Do not use 64bit functions for largefile support e2fsprogs: Do not use 64bit functions for largefile support libbsd: Fix build with largefile support gpgme: Fix with with largefile support virglrenderer: Replace lseek64 with lseek nfs-utils: Replace statfs64 with statfs alsa-utils: Replace off64_t with off_t lttng-tools: Fix build with largefile support strace: Add knob to enable largefile support numactl: Enable largefile support qemu: Fix build with largefile support systemd: Fix 252 release build on musl rust: Do not use open64 on musl in getrandom crate rust,libstd-rs: Fix build with latest musl rust-llvm: Fix build on latest musl cargo: Do not use open64 on musl anymore llvm: Do not use lseek64 strace: Replace off64_t with off_t in sync_file_range.c test vulkan-samples: Do not use LFS64 APIs in spdlog pulseaudio: Do not use 64bit time_t flags musl: Update to latest on tip of trunk rust: Fix build with 64bit time_t stress-ng: Do not enforce gold linker time64.inc: Add GLIBC_64BIT_TIME_FLAGS on ppc/x86 as well time64: Remove leading whitespace from GLIBC_64BIT_TIME_FLAGS mpg123: Enable largefile support site/powerpc32-linux: Do not cache statvfs64 across glibc and musl tiff: Add packageconfig knob for webp site/common-musl: Set ac_cv_sys_file_offset_bits default to 64 Lee Chee Yang (1): migration-guides: add release-notes for 4.0.6 Luca Boccassi (2): systemd: refresh patch to remove fuzz introduced by rebase on v252 systemd: ship pcrphase/measure tools and units in systemd-extra-utils Luis (1): rm_work.bbclass: use HOSTTOOLS 'rm' binary exclusively Marek Vasut (5): bitbake: fetch2/git: Prevent git fetcher from fetching gitlab repository metadata package_rpm: Fix Linux 6.1.0 perf 1.0 version mistranslation systemd: Make importd depend on glib-2.0 again bitbake: bitbake-user-manual: Document override :append, :prepend, :remove order bitbake: fetch2/git: Clarify the meaning of namespace Markus Volk (12): ell: upgrade 0.53 -> 0.54 libsdl2: update 2.24.2 -> 2.26.0 graphene: import from meta-oe gtk4: import recipe from meta-gnome gcr: rename gcr -> gcr3 gcr: add recipe for gcr-4, needed to build with gtk4 epiphany: use gcr3 gtk4: add tracker-miners runtime dependency python3-dbusmock: allow to build native gtk4: update 4.8.2 -> 4.8.3 gcr3: update 3.40.0 -> 3.41.1 librsvg: enable vapi build Marta Rybczynska (2): efibootmgr: update compilation with musl cve-update-db-native: avoid incomplete updates Martin Jansa (4): libxml2: upgrade test data from 20080827 to 20130923 nativesdk-rpm: export RPM_ETCCONFIGDIR and MAGIC in environment like RPM_CONFIGDIR nativesdk-rpm: don't create wrappers for WRAPPER_TOOLS tune-x86-64-v3.inc: set QEMU_EXTRAOPTIONS like other tune-* files Mathieu Dubois-Briand (1): dbus: Add missing CVE product name Michael Halstead (1): uninative: Upgrade to 3.8.1 to include libgcc Michael Opdenacker (34): manuals: add missing references to classes manuals: fix paragraphs with the "inherit" word ref-manual/classes.rst: remove reference to sip.bbclass manuals: simplify .gitignore files manuals: split dev-manual/common-tasks.rst dev-manual/sbom.rst: minor corrections bitbake: bitbake-user-manual: update references to Yocto Project manual bitbake.conf: remove SERIAL_CONSOLE variable bitbake: bitbake-user-manual: add reference to bitbake git repository ref-manual: add references to variables only documented in the BitBake manual manuals: add reference to yocto-docs git repository to page footer manuals: add missing references to variables manuals: add missing SPDX license header to source files manuals: fix double colons ref-manual/resources.rst: fix formating ref-manual: update references to release notes manual: improve documentation about using external toolchains ref-manual/images.rst: fix unnumbered list manuals: define proper numbered lists manuals: final removal of SERIAL_CONSOLE variable ref-manual/resources.rst: improve description of mailing lists ref-manual/system-requirements.rst: update buildtools instructions manuals: create references to buildtools documentation/poky.yaml.in: update minimum python version to 3.8 manuals: prepare 4.2 migration notes bitbake: bitbake-user-manual: double colon fix bitbake: bitbake-user-manual: remove "OEBasic" signature generator migration-guides: fix 4.2 migration note issues toaster-manual: fix description of introduction video ref-manual/classes.rst: remove .bbclass from section titles manuals: simplify references to classes migration-1.6.rst: fix redundant reference ref-manual/system-requirements.rst: recommend buildtools for not supported distros .gitignore: ignore files generated by Toaster Mikko Rapeli (5): qemurunner.py: support setting slirp host IP address runqemu: limit slirp host port forwarding to localhost 127.0.0.1 qemurunner.py: use IP address from command line dev-manual/runtime-testing.rst: fix oeqa runtime test path runqemu: add QB_SETUP_CMD and QB_CLEANUP_CMD Mingli Yu (8): tcl: correct the header location in tcl.pc python3: make tkinter available when enabled sudo: add selinux and audit PACKAGECONFIG iproute2: add selinux PACKAGECONFIG util-linux: add selinux PACKAGECONFIG cronie: add selinux PACKAGECONFIG psmisc: add selinux PACKAGECONFIG gcr: add opengl to REQUIRED_DISTRO_FEATURES Narpat Mali (2): ffmpeg: fix for CVE-2022-3964 ffmpeg: fix for CVE-2022-3965 Ola x Nilsson (4): kbd: Don't build tests glibc: Add ppoll fortify symbol for 64 bit time_t insane: Add QA check for 32 bit time and file offset functions time64.conf: Include to enable 64 bit time flags Ovidiu Panait (1): kernel.bbclass: remove empty module directories to prevent QA issues Patrick Williams (1): kernel-fitimage: reduce dependency to the cpio Pavel Zhukov (1): oeqa/rpm.py: Increase timeout and add debug output Peter Kjellerstedt (1): recipes, classes: Avoid adding extra whitespace to PACKAGESPLITFUNCS Peter Marko (2): externalsrc: fix lookup for .gitmodules oeqa/selftest/externalsrc: add test for srctree_hash_files Petr Kubizňák (1): harfbuzz: remove bindir only if it exists Petr Vorel (1): iputils: update to 20221126 Polampalli, Archana (1): libpam: fix CVE-2022-28321 Qiu, Zheng (3): valgrind: remove most hidden tests for arm64 tiff: Security fix for CVE-2022-3970 vim: upgrade 9.0.0820 -> 9.0.0947 Quentin Schulz (4): cairo: update patch for CVE-2019-6461 with upstream solution cairo: fix CVE patches assigned wrong CVE number docs: kernel-dev: faq: update tip on how to not include kernel in image docs: migration-guides: migration-4.0: specify variable name change for kernel inclusion in image recipe Randy MacLeod (1): valgrind: skip the boost_thread test on arm Ranjitsinh Rathod (1): curl: Correct LICENSE from MIT-open-group to curl Ravula Adhitya Siddartha (2): linux-yocto/5.15: update genericx86* machines to v5.15.78 linux-yocto/5.19: update genericx86* machines to v5.19.17 Richard Purdie (97): bitbake: cache/cookerdata: Move recipe parsing functions from cache to databuilder bitbake: cache: Drop broken/unused code bitbake: cache: Drop unused function bitbake: server: Ensure cooker profiling works bitbake: worker/runqueue: Reduce initial data transfer in workerdata bitbake: cache: Drop support for not saving the cache file bitbake: runqueue: Add further debug for sstate reuse issues bitbake: runqueue: Fix race issues around hash equivalence and sstate reuse bitbake: data/siggen: Switch to use frozensets and optimize bitbake: data_smart: Add debugging for overrides stability issue bitbake: utils: Allow to_boolean to support int values base: Drop do_package base definition bitbake: data: Drop obsolete pydoc/path code bitbake: BBHandler: Remove pointless global variable declarations bitbake: runqueue: Improve error message for missing multiconfig bitbake: data_smart: Small cache reuse optimization bitbake.conf: Simplify CACHE setting oeqa/selftest/tinfoil: Add test for separate config_data with recipe_parse_file() qemu: Ensure libpng dependency is deterministic bitbake: data: Tweak code layout bitbake: cache/siggen: Simplify passing basehash data into the cache bitbake: siggen/cache: Optionally allow adding siggen hash data to the bitbake cache bitbake: parse: Add support for addpylib conf file directive and BB_GLOBAL_PYMODULES bitbake: cookerdata: Ensure layers use LAYERSERIES_COMPAT fairly base: Switch to use addpylib directive and BB_GLOBAL_PYMODULES devtool/friends: Use LAYERSERIES_CORENAMES when generating LAYERSERIES_COMPAT entries scripts/checklayer: Update to match bitbake changes yocto-check-layer: Allow OE-Core to be tested bitbake: main: Add timestamp to server retry messages bitbake: main/server: Add lockfile debugging upon server retry poky/poky-tiny: Drop largefile mentions lib/sstatesig: Drop OEBasic siggen bitbake: siggen: Drop non-multiconfig aware siggen support bitbake: build/siggen/runqueue: Drop do_setscene references bitbake: bitbake: Bump minimum python version requirement to 3.8 sanity: Update minimum python version to 3.8 bitbake: main/process: Add extra sockname debugging Revert "kernel-fitimage: reduce dependency to the cpio" bitbake: siggen: Directly store datacaches reference bitbake: bitbake: siggen/runqueue: Switch to using RECIPE_SIGGEN_INFO feature for signature dumping bitbake: siggen: Add dummy dataCaches from task context/datastore bitbake: build/siggen: Rework stamps functions bitbake: siggen: Clarify which fn is meant bitbake: ast/data/codeparser: Add dependencies from python module functions bitbake: codeparser/data: Add vardepsexclude support to module dependency code bitbake.conf: Add module function vardepsexclude entries time64: Rename to a .inc file to match the others bitbake: command: Add ping command bitbake: cache: Allow compression of the data in SiggenRecipeInfo bitbake: siggen: Minor code improvement bitbake: server/process: Add bitbake.sock race handling oeqa/concurrencytest: Add number of failures to summary output python3-poetry-core: Fix determinism issue breaking reproducibility bitbake: cache/siggen: Fix cache issues with signature handling bitbake: event: builtins fix for 'd' deletion bitbake: cooker: Ensure cache is cleared for partial resets bitbake: tinfoil: Ensure CommandExit is handled bitbake: cache: Drop reciever side counting for SiggenRecipeInfo bitbake: knotty: Avoid looping with tracebacks bitbake: event: Add enable/disable heartbeat code bitbake: cooker/cookerdata: Rework the way the datastores are reset bitbake: server/process: Improve exception and idle function logging bitbake: command: Tweak finishAsyncCommand ordering to avoid races bitbake: cooker: Ensure commands clean up any parser processes bitbake: server/process: Improve idle loop exit code bitbake: event: Always use threadlock bitbake: server/process: Add locking around idle functions accesses bitbake: server/process: Run idle commands in a separate idle thread bitbake: knotty: Ping the server/cooker periodically bitbake: cookerdata: Fix cache/reparsing issue bitbake: cookerdata: Fix previous commit to use a string, not a generator bitbake: command: Ensure that failure cases call finishAsyncComand layer.conf: Update to use mickledore as the layer series name layer.conf: Mark master as compatible with mickledore bitbake: lib/bb: Update thread/process locks to use a timeout package: Move fixup_perms function to bb function library package: Move get_conffiles/files_from_filevars functions to lib package: Move pkgdata handling functions to oe.packagedata package: Move emit_pkgdata to packagedata.py package: Move package functions to function library package: Drop unused function and obsolete comment package: Move mapping_rename_hook to packagedata function library python3-cython: Use PACKAGESPLITFUNCS instead of PACKAGEBUILDPKGD package: Drop support for PACKAGEBUILDPKGD function customisation recipes/classes: Drop prepend/append usage with PACKAGESPLITFUNCS bitbake: cooker: Rework the parsing results submission bitbake: cooker: Clean up inotify idle handler uninative-tarball: Add libgcc patchelf: Add fix submitted upstream for uninative segfaults bitbake: cooker/command: Drop async command handler indirection via cooker bitbake: process/cooker/command: Fix currentAsyncCommand locking/races uninative: Ensure uninative is enabled in all cases for BuildStarted event qemux86-64: Reduce tuning to core2-64 bitbake: tinfoil: Don't wait for events indefinitely bitbake: knotty: Improve shutdown handling bitbake: cooker: Fix exit handling issues bitbake: server/process: Move heartbeat to idle thread Robert Andersson (1): go-crosssdk: avoid host contamination by GOCACHE Ross Burton (28): build-appliance-image: Update to master head revision lib/buildstats: fix parsing of trees with reduced_proc_pressure directories combo-layer: remove unused import combo-layer: dont use bb.utils.rename combo-layer: add sync-revs command libxml2: upgrade 2.9.14 -> 2.10.3 libxml2: add more testing python3-packaging: upgrade to 22.0 python3-hatchling: remove python3-tomli DEPENDS python3-cryptography: remove python3-tomli RDEPENDS meson: drop redundant is_debianlike() patch meson: always use meson subcommands libepoxy: remove upstreamed patch gtk+3: upgrade 3.24.34 -> 3.24.35 gtk+3: port to Meson meson: no need to rebuild on install at-spi2-core: clean up x11 enabling at-spi2-core: disable API docs if x11 is disabled gtk+3: fix reproducible builds lsof: upgrade 4.96.4 -> 4.96.5 pango: upgrade 1.50.11 -> 1.50.12 python3-hatch-vcs: upgrade 0.2.0 -> 0.3.0 python3-hatchling: upgrade 1.11.1 -> 1.12.1 python3-pathspec: upgrade 0.10.1 -> 0.10.3 rm_work: handle non-existant stamps directory oeqa/selftest/debuginfod: improve testcase elfutils: disable deprecation errors in all builds, not just native curl: don't enable debug builds Ryan Eatmon (1): go: Update reproducibility patch to fix panic errors Sandeep Gundlupet Raju (3): libdrm: Remove libdrm-kms package kernel-fitimage: Adjust order of dtb/dtbo files kernel-fitimage: Allow user to select dtb when multiple dtb exists Saul Wold (1): at: Change when files are copied Sergei Zhmylev (1): oeqa/qemurunner: implement vmdk images support Tim Orling (7): python3-hypothesis: upgrade 6.56.4 -> 6.57.1 at-spi2-core: upgrade 2.44.1 -> 2.46.0 mirrors.bbclass: update CPAN_MIRROR libtry-tiny-perl: add recipe for 0.31 libtest-fatal-perl: add recipe for 0.016 libtest-warnings-perl: move from meta-perl liburi-perl: upgrade 5.08 -> 5.17 Trevor Woerner (1): local.conf.sample: update bbclass locations Vincent Davis Jr (1): mesa: enable glvnd support Wang Mingyu (49): btrfs-tools: upgrade 6.0 -> 6.0.1 libpipeline: upgrade 1.5.6 -> 1.5.7 btrfs-tools: upgrade 6.0.1 -> 6.0.2 bind: upgrade 9.18.8 -> 9.18.9 ccache: upgrade 4.7.2 -> 4.7.4 dropbear: upgrade 2022.82 -> 2022.83 libinput: upgrade 1.21.0 -> 1.22.0 libxft: upgrade 2.3.6 -> 2.3.7 mpfr: upgrade 4.1.0 -> 4.1.1 glib-2.0: upgrade 2.74.1 -> 2.74.3 libxcrypt-compat: upgrade 4.4.30 -> 4.4.33 patchelf: upgrade 0.16.1 -> 0.17.0 pciutils: upgrade 3.8.0 -> 3.9.0 shaderc: upgrade 2022.3 -> 2022.4 sqlite3: upgrade 3.39.4 -> 3.40.0 stress-ng: upgrade 0.14.06 -> 0.15.00 swig: upgrade 4.1.0 -> 4.1.1 texinfo: upgrade 7.0 -> 7.0.1 usbutils: upgrade 014 -> 015 xz: upgrade 5.2.7 -> 5.2.9 wayland-protocols: upgrade 1.28 -> 1.31 gnu-config: upgrade to latest revision libfontenc: upgrade 1.1.6 -> 1.1.7 libpcre2: upgrade 10.40 -> 10.41 libpng: upgrade 1.6.38 -> 1.6.39 libxau: upgrade 1.0.10 -> 1.0.11 libxkbfile: upgrade 1.1.1 -> 1.1.2 libxshmfence: upgrade 1.3.1 -> 1.3.2 xrandr: upgrade 1.5.1 -> 1.5.2 boost: upgrade 1.80.0 -> 1.81.0 ell: upgrade 0.54 -> 0.55 git: upgrade 2.38.1 -> 2.39.0 help2man: upgrade 1.49.2 -> 1.49.3 iproute2: upgrade 6.0.0 -> 6.1.0 libmpc: upgrade 1.2.1 -> 1.3.1 makedepend: upgrade 1.0.7 -> 1.0.8 psmisc: upgrade 23.5 -> 23.6 xz: upgrade 5.2.9 -> 5.4.0 gstreamer1.0: upgrade 1.20.4 -> 1.20.5 bind: upgrade 9.18.9 -> 9.18.10 btrfs-tools: upgrade 6.0.2 -> 6.1 librepo: upgrade 1.14.5 -> 1.15.1 libsdl2: upgrade 2.26.1 -> 2.26.2 libva-utils: upgrade 2.17.0 -> 2.17.1 libxkbcommon: upgrade 1.4.1 -> 1.5.0 mpfr: upgrade 4.1.1 -> 4.2.0 dpkg: upgrade 1.21.13 -> 1.21.17 rxvt-unicode: upgrade 9.30 -> 9.31 virglrenderer: upgrade 0.10.3 -> 0.10.4 Xiangyu Chen (3): grub: backport patches to fix CVE-2022-28736 openssh: remove RRECOMMENDS to rng-tools for sshd package grub2: backport patch to fix CVE-2022-2601 CVE-2022-3775 Yoann Congal (2): bitbake: Group and reorder options in bitbake help bitbake: main: Move --buildfile help at the end of "Execution" group leimaohui (1): libpng: Enable NEON for aarch64 to enensure consistency with arm32. pgowda (1): binutils: Add patch to fix CVE-2022-4285 张忠山 (1): bitbake: data_smart: Use regex consistently for override matching meta-raspberrypi: 93dadf336c..896566aa92: Carlos Alberto Lopez Perez (1): weston: disablepackageconfig options that fail to build with userland drivers Khem Raj (2): lirc: Drop upstreamed patch linux-raspberrypi.inc: Weakly assign COMPATIBLE_MACHINE Martin Jansa (2): bluez5: update patches to apply on 5.66 version layer.conf: update LAYERSERIES_COMPAT for mickledore Vincent Davis Jr (5): rpidistro-vlc,rpidistro-ffmpeg: update COMPATIBLE_HOST regex rpidistro-vlc: upgrade 3.0.12 -> 3.0.17 rpi-default-providers: add libav and libpostproc rpidistro-ffmpeg: upgrade 4.3.2 -> 4.3.4 rpidistro-ffmpeg: remove --enable-v4l2-request flag Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Ied8537beedde0f83790e6e3595057db45f408107
Diffstat (limited to 'meta-arm')
-rw-r--r--meta-arm/.gitlab-ci.yml38
-rw-r--r--meta-arm/README.md9
-rw-r--r--meta-arm/ci/0001-Revert-pixman-Do-not-use-clang-assembler-for-now.patch26
-rw-r--r--meta-arm/ci/clang.yml10
-rw-r--r--meta-arm/ci/gem5-arm64.yml16
-rw-r--r--meta-arm/ci/gem5-atp-arm64.yml15
-rwxr-xr-xmeta-arm/ci/get-binary-toolchains42
-rw-r--r--meta-arm/meta-arm-bsp/conf/machine/musca-b1.conf2
-rw-r--r--meta-arm/meta-arm-bsp/documentation/corstone1000/change-log.rst2
-rw-r--r--meta-arm/meta-arm-bsp/documentation/corstone1000/release-notes.rst22
-rw-r--r--meta-arm/meta-arm-bsp/documentation/corstone1000/user-guide.rst82
-rw-r--r--meta-arm/meta-arm-bsp/documentation/fvp-base-arm32.md53
-rw-r--r--meta-arm/meta-arm-bsp/documentation/fvp-base.md41
-rw-r--r--meta-arm/meta-arm-bsp/documentation/fvp-baser-aemv8r64.md4
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0001-corstone1000-platform-secure-test-framework.patch359
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0002-corstone1000-make-external-system-support-optional.patch77
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0003-corstone1000-enable-secure-enclave-run-without-host-.patch298
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0004-Platform-Partition-Allow-configuration-of-input-and-.patch72
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0005-corstone1000-support-for-UEFI-FMP-image-Information.patch573
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0006-corstone1000-remove-two-partition-configuration.patch51
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0007-corstone1000-adjust-PS-asset-configuration.patch27
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.7.0-corstone1000.inc (renamed from meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc)18
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.%.bbappend (renamed from meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.6.%.bbappend)2
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-juno.inc4
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0006-plat-n1sdp-add-external-device-tree-base-and-size.patch44
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-n1sdp.inc7
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.19.0.bbappend6
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/packagegroups/packagegroup-ts-tests.bbappend2
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/corstone1000/0023-Use-the-stateless-platform-service.patch140
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/libts_%.bbappend5
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/libts_git.bbappend10
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-arm-platforms.inc (renamed from meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-corstone1000.inc)6
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-demo_%.bbappend1
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-newlib_%.bbappend4
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-api-test.inc4
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-crypto-api-test_%.bbappend (renamed from meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-crypto-api-test_git.bbappend)0
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-iat-api-test_%.bbappend (renamed from meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-iat-api-test_git.bbappend)0
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-its-api-test_%.bbappend (renamed from meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-its-api-test_git.bbappend)0
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-ps-api-test_%.bbappend (renamed from meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-ps-api-test_git.bbappend)0
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-service-test_%.bbappend1
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-attestation_%.bbappend1
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-crypto_%.bbappend1
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-its_%.bbappend1
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-se-proxy_%.bbappend6
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-smm-gateway_%.bbappend6
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-storage_%.bbappend1
-rw-r--r--meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-uefi-test_%.bbappend1
-rw-r--r--meta-arm/meta-arm-toolchain/conf/distro/include/external-arm-toolchain-versions.inc1
-rw-r--r--meta-arm/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc2
-rw-r--r--meta-arm/meta-arm/classes/apply_local_src_patches.bbclass48
-rw-r--r--meta-arm/meta-arm/classes/fvpboot.bbclass4
-rw-r--r--meta-arm/meta-arm/conf/machine/qemuarm-secureboot.conf3
-rw-r--r--meta-arm/meta-arm/conf/machine/qemuarm64-secureboot.conf3
-rw-r--r--meta-arm/meta-arm/lib/fvp/runner.py9
-rw-r--r--meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.0.bb (renamed from meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.6.0.bb)31
-rw-r--r--meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.20.15.bb (renamed from meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.18.16.bb)5
-rw-r--r--meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.20.15.bb (renamed from meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.19.14.bb)2
-rw-r--r--meta-arm/meta-arm/recipes-devtools/fvp/fvp-corstone1000.bb8
-rw-r--r--meta-arm/meta-arm/recipes-devtools/fvp/fvp-envelope.inc4
-rw-r--r--meta-arm/meta-arm/recipes-devtools/gn/gn/0001-Replace-lstat64-stat64-functions-on-linux.patch60
-rw-r--r--meta-arm/meta-arm/recipes-devtools/gn/gn_git.bb3
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0001-core-Define-section-attributes-for-clang.patch (renamed from meta-arm/meta-arm/recipes-security/optee/optee-os/0001-core-Define-section-attributes-for-clang.patch)0
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0006-allow-setting-sysroot-for-libgcc-lookup.patch (renamed from meta-arm/meta-arm/recipes-security/optee/optee-os/0006-allow-setting-sysroot-for-libgcc-lookup.patch)0
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0007-allow-setting-sysroot-for-clang.patch (renamed from meta-arm/meta-arm/recipes-security/optee/optee-os/0007-allow-setting-sysroot-for-clang.patch)0
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0008-no-warn-rwx-segments.patch (renamed from meta-arm/meta-arm/recipes-security/optee/optee-os/0008-no-warn-rwx-segments.patch)0
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0009-add-z-execstack.patch (renamed from meta-arm/meta-arm/recipes-security/optee/optee-os/0009-add-z-execstack.patch)0
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0010-add-note-GNU-stack-section.patch (renamed from meta-arm/meta-arm/recipes-security/optee/optee-os/0010-add-note-GNU-stack-section.patch)0
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0001-core-Define-section-attributes-for-clang.patch243
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0006-allow-setting-sysroot-for-libgcc-lookup.patch35
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0007-allow-setting-sysroot-for-clang.patch30
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0008-no-warn-rwx-segments.patch38
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0009-add-z-execstack.patch94
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0010-add-note-GNU-stack-section.patch128
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-3_19.inc82
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0001-core-Define-section-attributes-for-clang.patch230
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0006-allow-setting-sysroot-for-libgcc-lookup.patch35
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0007-allow-setting-sysroot-for-clang.patch30
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0008-no-warn-rwx-segments.patch65
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0009-add-z-execstack.patch94
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0010-add-note-GNU-stack-section.patch128
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os_3.18.0.bb2
-rw-r--r--meta-arm/meta-arm/recipes-security/optee/optee-os_3.19.0.bb9
-rw-r--r--meta-arm/meta-arm/recipes-security/packagegroups/packagegroup-ts-tests.bb2
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/libts_git.bb7
-rw-r--r--meta-arm/meta-arm/recipes-security/trusted-services/trusted-services.inc2
-rw-r--r--meta-arm/meta-atp/README.md76
-rw-r--r--meta-arm/meta-atp/conf/layer.conf9
-rw-r--r--meta-arm/meta-atp/conf/machine/gem5-atp-arm64.conf11
-rw-r--r--meta-arm/meta-atp/recipes-devtools/atp/atp-native_3.1.bb18
-rw-r--r--meta-arm/meta-atp/recipes-devtools/atp/atp-source_3.1.inc9
-rw-r--r--meta-arm/meta-atp/recipes-devtools/atp/files/no-werror.patch18
-rw-r--r--meta-arm/meta-atp/recipes-devtools/gem5/gem5-aarch64-dtb.bbappend3
-rwxr-xr-xmeta-arm/meta-atp/recipes-devtools/gem5/gem5-aarch64-native/start-gem5-atp.sh13
-rw-r--r--meta-arm/meta-atp/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend24
-rwxr-xr-xmeta-arm/meta-atp/recipes-devtools/gem5/gem5-m5ops/m5-readfile.sh9
-rw-r--r--meta-arm/meta-atp/recipes-devtools/gem5/gem5-m5ops_20.bbappend14
-rw-r--r--meta-arm/meta-atp/recipes-kernel/atp/atp-module_3.1.bb24
-rw-r--r--meta-arm/meta-atp/recipes-kernel/atp/atp-test_3.1.bb20
-rw-r--r--meta-arm/meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb23
-rw-r--r--meta-arm/meta-atp/recipes-kernel/linux/files/no_ftrace.cfg1
-rw-r--r--meta-arm/meta-atp/recipes-kernel/linux/files/smmuv3.cfg4
-rw-r--r--meta-arm/meta-atp/recipes-kernel/linux/linux-yocto_%.bbappend2
-rw-r--r--meta-arm/meta-gem5/COPYING.MIT17
-rw-r--r--meta-arm/meta-gem5/README.md1
-rw-r--r--meta-arm/meta-gem5/conf/layer.conf19
-rw-r--r--meta-arm/meta-gem5/conf/machine/gem5-arm64.conf54
-rw-r--r--meta-arm/meta-gem5/documentation/gem5-arm64.md32
-rw-r--r--meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend32
-rw-r--r--meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend7
-rw-r--r--meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/files/gem5-arm64/early-printk.cfg2
-rw-r--r--meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/xen_%.bbappend4
-rw-r--r--meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/linux-%.bbappend14
-rw-r--r--meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.cfg4
-rw-r--r--meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.scc3
-rw-r--r--meta-arm/meta-gem5/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64_%.bbappend16
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/files/mapping.patch37
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/files/start-gem5.sh39
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-bootloader.inc30
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-bootloader_20.bb7
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-dtb.bb30
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native.inc40
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native/0001-dev-arm-SMMUv3-enable-interrupt-interface.patch97
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bb22
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5ops/0001-util-m5ops-optional-extra-build-flags.patch59
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5ops_20.bb26
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5term-native_20.bb24
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5term/0001-add-makefile-flags.patch34
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/gem5-native.inc52
-rw-r--r--meta-arm/meta-gem5/recipes-devtools/gem5/gem5-source_20.inc11
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/files/0001-lib-build_OID_registry-fix-reproducibility-issues.patch46
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/files/0002-vt-conmakehash-improve-reproducibility.patch56
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_1cpu.dts95
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_2cpu.dts103
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_4cpu.dts119
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_8cpu.dts151
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/vexpress_gem5_v2.dtsi46
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/vexpress_gem5_v2_base.dtsi202
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/files/init_disassemble_info-signature-changes-causes-compile-failures.patch99
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64-standard.scc11
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64.scc14
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-board.cfg23
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-cfi.cfg3
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-drm.cfg4
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-net.cfg2
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-pata.cfg12
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-pci.cfg2
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-rtc.cfg2
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-serial.cfg3
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-virtio.cfg9
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_%.bbappend12
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_5.4.bb25
-rw-r--r--meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_5.4.bbappend1
-rwxr-xr-xmeta-arm/scripts/machine-summary.py2
153 files changed, 1811 insertions, 3749 deletions
diff --git a/meta-arm/.gitlab-ci.yml b/meta-arm/.gitlab-ci.yml
index 7d050a551b..09ca8c41d7 100644
--- a/meta-arm/.gitlab-ci.yml
+++ b/meta-arm/.gitlab-ci.yml
@@ -1,11 +1,21 @@
image: ghcr.io/siemens/kas/kas:latest-release
+variables:
+ CPU_REQUEST: ""
+ DEFAULT_TAG: ""
+ # These are needed as the k8s executor doesn't respect the container entrypoint
+ # by default
+ FF_KUBERNETES_HONOR_ENTRYPOINT: 1
+ FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY: 0
+
stages:
- prep
- build
# Common job fragment to get a worker ready
.setup:
+ tags:
+ - $DEFAULT_TAG
stage: build
interruptible: true
variables:
@@ -25,11 +35,14 @@ stages:
- mkdir --verbose --parents $KAS_WORK_DIR $KAS_REPO_REF_DIR $SSTATE_DIR $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
# Must do this here, as it's the only way to make sure the toolchain is installed on the same builder
- ./ci/get-binary-toolchains $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
- - sudo apt-get update && sudo apt-get install --yes telnet python3-subunit
+ # This can be removed with Kas 3.2
+ - sudo apt-get update && sudo apt-get install --yes python3-subunit
# Generalised fragment to do a Kas build
.build:
extends: .setup
+ variables:
+ KUBERNETES_CPU_REQUEST: $CPU_REQUEST
script:
- KASFILES=$(./ci/jobs-to-kas "$CI_JOB_NAME")
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
@@ -84,8 +97,6 @@ fvp-base:
parallel:
matrix:
- TESTING: testimage
- tags:
- - x86_64
fvp-base-arm32:
extends: .build
@@ -93,8 +104,6 @@ fvp-base-arm32:
matrix:
- TOOLCHAINS: [gcc, external-gccarm]
TESTING: testimage
- tags:
- - x86_64
fvp-baser-aemv8r64:
extends: .build
@@ -107,15 +116,6 @@ fvp-baser-aemv8r64:
fvps:
extends: .build
-gem5-arm64:
- extends: .build
- parallel:
- matrix:
- - VIRT: [none, xen]
-
-gem5-atp-arm64:
- extends: .build
-
generic-arm64:
extends: .build
@@ -137,6 +137,7 @@ n1sdp:
parallel:
matrix:
- TOOLCHAINS: [gcc, armgcc]
+ TS: [none, trusted-services]
qemu-generic-arm64:
extends: .build
@@ -210,7 +211,7 @@ check-layers:
"yocto-check-layer-wrapper $CI_PROJECT_DIR/$LAYER --dependency $CI_PROJECT_DIR/meta-* $KAS_WORK_DIR/meta-openembedded/meta-oe --no-auto-dependency"
parallel:
matrix:
- - LAYER: [meta-arm, meta-arm-bsp, meta-arm-toolchain, meta-gem5]
+ - LAYER: [meta-arm, meta-arm-bsp, meta-arm-toolchain]
pending-updates:
extends: .setup
@@ -220,16 +221,15 @@ pending-updates:
script:
- rm -fr update-report
# This configuration has all of the layers we need enabled
- - kas shell ci/gem5-arm64.yml --command \
- "$CI_PROJECT_DIR/scripts/machine-summary.py -t report -o $CI_PROJECT_DIR/update-report $($CI_PROJECT_DIR/ci/listmachines.py meta-arm meta-arm-bsp meta-gem5)"
+ - kas shell ci/qemuarm64.yml:ci/meta-openembedded.yml --command \
+ "$CI_PROJECT_DIR/scripts/machine-summary.py -t report -o $CI_PROJECT_DIR/update-report $($CI_PROJECT_DIR/ci/listmachines.py meta-arm meta-arm-bsp)"
# Do this on x86 whilst the compilers are x86-only
tags:
- x86_64
# What percentage of machines in the layer do we build
machine-coverage:
- stage: build
- interruptible: true
+ extends: .setup
script:
- ./ci/check-machine-coverage
coverage: '/Coverage: \d+/'
diff --git a/meta-arm/README.md b/meta-arm/README.md
index 221633e05d..7779258551 100644
--- a/meta-arm/README.md
+++ b/meta-arm/README.md
@@ -18,15 +18,6 @@ This repository contains the Arm layers for OpenEmbedded.
This layer contains recipes for Arm's binary toolchains (GCC and Clang for -A and -M), and a recipe to build Arm's GCC.
-* meta-atp
-
- This layer contains recipes for the Adaptive Traffic Generation integration into meta-gem5.
-
-* meta-gem5
-
- This layer contains recipes and machines for gem5, a system-level and processor simulator.
-
-
Other Directories
-----------------
diff --git a/meta-arm/ci/0001-Revert-pixman-Do-not-use-clang-assembler-for-now.patch b/meta-arm/ci/0001-Revert-pixman-Do-not-use-clang-assembler-for-now.patch
new file mode 100644
index 0000000000..4ad6607842
--- /dev/null
+++ b/meta-arm/ci/0001-Revert-pixman-Do-not-use-clang-assembler-for-now.patch
@@ -0,0 +1,26 @@
+This causes illegal instruction faults in pixman, so xserver crashes.
+https://github.com/kraj/meta-clang/issues/696
+
+From 8659c5c5bec39dd43a1988b19d4cf30507a44679 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Mon, 28 Nov 2022 16:52:50 +0000
+Subject: [PATCH] Revert "pixman: Do not use clang assembler for now"
+
+This reverts commit 84dbafa42d8141b00da75d6664aef07c252a52ee.
+---
+ conf/nonclangable.conf | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/conf/nonclangable.conf b/conf/nonclangable.conf
+index 04112f4..b5db848 100644
+--- a/conf/nonclangable.conf
++++ b/conf/nonclangable.conf
+@@ -347,5 +347,4 @@ DEPENDS:append:pn-pixman:mips:toolchain-clang = " openmp"
+ #| .endfunc
+ #| ^
+ CFLAGS:append:pn-pixman:arm:toolchain-clang = " -no-integrated-as"
+-CFLAGS:append:pn-pixman:aarch64:toolchain-clang = " -no-integrated-as"
+
+--
+2.34.1
+
diff --git a/meta-arm/ci/clang.yml b/meta-arm/ci/clang.yml
index e5e7dd5f3f..6c909023c7 100644
--- a/meta-arm/ci/clang.yml
+++ b/meta-arm/ci/clang.yml
@@ -4,8 +4,16 @@ header:
repos:
meta-clang:
url: https://github.com/kraj/meta-clang
- refspec: master
+ patches:
+ pixman:
+ repo: meta-arm
+ path: ci/0001-Revert-pixman-Do-not-use-clang-assembler-for-now.patch
local_conf_header:
clang: |
TOOLCHAIN = "clang"
+ # Backport d89e06ad94a46f6810d0a8787004b71b8ecaf87d to langdale
+ OBJCOPY:pn-linux-yocto:toolchain-clang = "${HOST_PREFIX}objcopy"
+ # Perf needs fixes backported, use GCC for now
+ # https://lore.kernel.org/linux-perf-users/Y5d4k7fDxfRP7hcN@kernel.org/T/#t
+ TOOLCHAIN:pn-perf = "gcc"
diff --git a/meta-arm/ci/gem5-arm64.yml b/meta-arm/ci/gem5-arm64.yml
deleted file mode 100644
index 90913f37c2..0000000000
--- a/meta-arm/ci/gem5-arm64.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-header:
- version: 11
- includes:
- - ci/base.yml
- - ci/meta-openembedded.yml
-
-repos:
- meta-arm:
- layers:
- meta-gem5:
-
-machine: gem5-arm64
-
-target:
- - core-image-minimal
- - gem5-aarch64-native
diff --git a/meta-arm/ci/gem5-atp-arm64.yml b/meta-arm/ci/gem5-atp-arm64.yml
deleted file mode 100644
index 626947b5bb..0000000000
--- a/meta-arm/ci/gem5-atp-arm64.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-header:
- version: 11
- includes:
- - ci/gem5-arm64.yml
-
-repos:
- meta-arm:
- layers:
- meta-atp:
-
-machine: gem5-atp-arm64
-
-target:
- - atp-native
- - core-image-minimal
diff --git a/meta-arm/ci/get-binary-toolchains b/meta-arm/ci/get-binary-toolchains
index ed334bf34e..bf8bf3e719 100755
--- a/meta-arm/ci/get-binary-toolchains
+++ b/meta-arm/ci/get-binary-toolchains
@@ -1,8 +1,9 @@
#!/bin/bash
-set -u
+set -u -e
-HOST_ARCH=$(uname -m)
-VER="11.3.rel1"
+BASENAME=arm-gnu-toolchain
+VER=${VER:-11.3.rel1}
+HOST_ARCH=${HOST_ARCH:-$(uname -m)}
DOWNLOAD_DIR=$1
TOOLCHAIN_DIR=$2
@@ -11,36 +12,39 @@ TOOLCHAIN_LINK_DIR=$3
# These should be already created by .gitlab-ci.yml, but do here if run outside of that env
mkdir -p $DOWNLOAD_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
+download() {
+ TRIPLE=$1
+ URL=https://developer.arm.com/-/media/Files/downloads/gnu/$VER/binrel/$BASENAME-$VER-$HOST_ARCH-$TRIPLE.tar.xz
+ wget -P $DOWNLOAD_DIR -nc $URL
+}
+
if [ $HOST_ARCH = "aarch64" ]; then
- #AArch64 Linux hosted cross compilers
+ # AArch64 Linux hosted cross compilers
- #AArch32 target with hard float (arm-none-linux-gnueabihf)
- wget -P $DOWNLOAD_DIR -nc https://developer.arm.com/-/media/Files/downloads/gnu/$VER/binrel/arm-gnu-toolchain-$VER-$HOST_ARCH-arm-none-linux-gnueabihf.tar.xz
+ # AArch32 target with hard float
+ download arm-none-linux-gnueabihf
elif [ $HOST_ARCH = "x86_64" ]; then
- #x86_64 Linux hosted cross compilers
-
- #AArch32 target with hard float (arm-linux-none-gnueabihf)
- wget -P $DOWNLOAD_DIR -nc https://developer.arm.com/-/media/Files/downloads/gnu/$VER/binrel/arm-gnu-toolchain-$VER-$HOST_ARCH-arm-none-linux-gnueabihf.tar.xz
+ # x86_64 Linux hosted cross compilers
- #AArch64 GNU/Linux target (aarch64-none-linux-gnu)
- wget -P $DOWNLOAD_DIR -nc https://developer.arm.com/-/media/Files/downloads/gnu/$VER/binrel/arm-gnu-toolchain-$VER-$HOST_ARCH-aarch64-none-linux-gnu.tar.xz
+ # AArch32 target with hard float
+ download arm-none-linux-gnueabihf
- #AArch64 GNU/Linux target (aarch64_be-none-linux-gnu)
- wget -P $DOWNLOAD_DIR -nc https://developer.arm.com/-/media/Files/downloads/gnu/$VER/binrel/arm-gnu-toolchain-$VER-$HOST_ARCH-aarch64_be-none-linux-gnu.tar.xz
+ # AArch64 GNU/Linux target
+ download aarch64-none-linux-gnu
else
echo "ERROR - Unknown build arch of $HOST_ARCH"
exit 1
fi
-for i in arm aarch64 aarch64_be; do
- if [ ! -d $TOOLCHAIN_DIR/arm-gnu-toolchain-$VER-$HOST_ARCH-$i-none-linux-gnu*/ ]; then
- if [ ! -f $DOWNLOAD_DIR/arm-gnu-toolchain-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz ]; then
+for i in arm aarch64; do
+ if [ ! -d $TOOLCHAIN_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu*/ ]; then
+ if [ ! -f $DOWNLOAD_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz ]; then
continue
fi
- tar -C $TOOLCHAIN_DIR -axvf $DOWNLOAD_DIR/arm-gnu-toolchain-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz
+ tar -C $TOOLCHAIN_DIR -axvf $DOWNLOAD_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz
fi
# Setup a link for the toolchain to use local to the building machine (e.g., not in a shared location)
- ln -s $TOOLCHAIN_DIR/arm-gnu-toolchain-$VER-$HOST_ARCH-$i-none-linux-gnu* $TOOLCHAIN_LINK_DIR/$i
+ ln -s $TOOLCHAIN_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu* $TOOLCHAIN_LINK_DIR/$i
done
diff --git a/meta-arm/meta-arm-bsp/conf/machine/musca-b1.conf b/meta-arm/meta-arm-bsp/conf/machine/musca-b1.conf
index c5ef32331c..4e9cf82942 100644
--- a/meta-arm/meta-arm-bsp/conf/machine/musca-b1.conf
+++ b/meta-arm/meta-arm-bsp/conf/machine/musca-b1.conf
@@ -20,4 +20,4 @@ QB_GRAPHICS = "-nographic -vga none"
QB_MEM = "512k"
QB_RNG = ""
-TFM_PLATFORM = "arm/musca_b1/sse_200"
+TFM_PLATFORM = "arm/musca_b1"
diff --git a/meta-arm/meta-arm-bsp/documentation/corstone1000/change-log.rst b/meta-arm/meta-arm-bsp/documentation/corstone1000/change-log.rst
index 7cdcd28d78..64e82aac98 100644
--- a/meta-arm/meta-arm-bsp/documentation/corstone1000/change-log.rst
+++ b/meta-arm/meta-arm-bsp/documentation/corstone1000/change-log.rst
@@ -11,7 +11,7 @@ This document contains a summary of the new features, changes and
fixes in each release of Corstone-1000 software stack.
******************
-Version 2022.11.10
+Version 2022.11.23
******************
Changes
diff --git a/meta-arm/meta-arm-bsp/documentation/corstone1000/release-notes.rst b/meta-arm/meta-arm-bsp/documentation/corstone1000/release-notes.rst
index f657c26bc2..89a4fa9ab2 100644
--- a/meta-arm/meta-arm-bsp/documentation/corstone1000/release-notes.rst
+++ b/meta-arm/meta-arm-bsp/documentation/corstone1000/release-notes.rst
@@ -7,8 +7,21 @@
Release notes
#############
+
+*************************
+Disclaimer
+*************************
+
+You expressly assume all liabilities and risks relating to your use or operation
+of Your Software and Your Hardware designed or modified using the Arm Tools,
+including without limitation, Your software or Your Hardware designed or
+intended for safety-critical applications. Should Your Software or Your Hardware
+prove defective, you assume the entire cost of all necessary servicing, repair
+or correction.
+
+
**************************
-Release notes - 2022.11.10
+Release notes - 2022.11.23
**************************
Known Issues or Limitations
@@ -18,10 +31,13 @@ Known Issues or Limitations
- Due to the performance uplimit of MPS3 FPGA and FVP, some Linux distros like Fedora Rawhide can not boot on Corstone-1000 (i.e. user may experience timeouts or boot hang).
- Below SCT FAILURE is a known issues in the FVP:
UEFI Compliant - Boot from network protocols must be implemented -- FAILURE
+ - Below SCT FAILURE is a known issue when a terminal emulator (in the system where the user connects to serial ports) does not support 80x25 or 80x50 mode:
+ EFI_SIMPLE_TEXT_OUT_PROTOCOL.SetMode - SetMode() with valid mode -- FAILURE
- Known limitations regarding ACS tests: The behavior after running ACS tests on FVP is not consistent. Both behaviors are expected and are valid;
The system might boot till the Linux prompt. Or, the system might wait after finishing the ACS tests.
In both cases, the system executes the entire test suite and writes the results as stated in the user guide.
+
Platform Support
-----------------
- This software release is tested on Corstone-1000 FPGA version AN550_v1
@@ -152,7 +168,9 @@ Known Issues or Limitations
Support
-------
-For support email: support-subsystem-iot@arm.com
+For technical support email: support-subsystem-iot@arm.com
+
+For all security issues, contact Arm by email at arm-security@arm.com.
--------------
diff --git a/meta-arm/meta-arm-bsp/documentation/corstone1000/user-guide.rst b/meta-arm/meta-arm-bsp/documentation/corstone1000/user-guide.rst
index a6350bb8b0..e173f244b4 100644
--- a/meta-arm/meta-arm-bsp/documentation/corstone1000/user-guide.rst
+++ b/meta-arm/meta-arm-bsp/documentation/corstone1000/user-guide.rst
@@ -18,9 +18,7 @@ for more information.
Prerequisites
-------------
-These instructions assume your host PC is running Ubuntu Linux 18.04 or 20.04 LTS, with
-at least 32GB of free disk space and 16GB of RAM as minimum requirement. The
-following instructions expect that you are using a bash shell.
+These instructions assume your host PC is running Ubuntu Linux 18.04 or 20.04 LTS, with at least 32GB of free disk space and 16GB of RAM as minimum requirement. The following instructions expect that you are using a bash shell. All the paths stated in this document are absolute paths.
The following prerequisites must be available on the host system. To resolve these dependencies, run:
@@ -146,11 +144,13 @@ commands to build the stack. To install kas tool, run:
pip3 install kas
+If 'kas' command is not found in command-line, please make sure the user installation directories are visible on $PATH. If you have sudo rights, try 'sudo pip3 install kas'.
+
In the top directory of the workspace ``<_workspace>``, run:
::
- git clone https://git.yoctoproject.org/git/meta-arm -b CORSTONE1000-2022.11.10
+ git clone https://git.yoctoproject.org/git/meta-arm -b CORSTONE1000-2022.11.23
To build a Corstone-1000 image for MPS3 FPGA, run:
@@ -215,9 +215,10 @@ The directory structure of the FPGA bundle is shown below.
└── config.txt
Depending upon the MPS3 board version (printed on the MPS3 board) you should update the images.txt file
-(in corresponding HBI0309x folder) so that the file points to the images under SOFTWARE directory.
+(in corresponding HBI0309x folder. Boardfiles/MB/HBI0309<board_revision>/AN550/images.txt) so that the file points to the images under SOFTWARE directory.
-Here is an example
+The images.txt file that is compatible with the latest version of the software
+stack can be seen below;
::
@@ -289,6 +290,9 @@ logs on the serial port terminals. Once the HOST(Cortex-A35) is
booted completely, user can login to the shell using
**"root"** login.
+If system does not boot and only the ttyUSB1 logs are visible, please follow the steps in `Clean Secure Flash Before Testing (applicable to FPGA only)`_ under `SystemReady-IR tests`_ section. The previous image used in FPGA (MPS3) might have filled the Secure Flash completely. The best practice is to clean the secure flash in this case.
+
+
Running the software on FVP
---------------------------
@@ -299,8 +303,11 @@ A Yocto recipe is provided and allows to download the latest supported FVP versi
The recipe is located at <_workspace>/meta-arm/meta-arm/recipes-devtools/fvp/fvp-corstone1000.bb
-The latest supported Fixed Virtual Platform (FVP) version is 11.19_21 and is automatically downloaded
-and installed when using the runfvp command as detailed below.
+The latest supported Fixed Virtual Platform (FVP) version is 11.19_21 and is automatically downloaded and installed when using the runfvp command as detailed below. The FVP version can be checked by running the following command:
+
+::
+
+<_workspace>/meta-arm/scripts/runfvp <_workspace>/build/tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.fvpconf -- --version
The FVP can also be manually downloaded from the `Arm Ecosystem FVPs`_ page. On this page, navigate
to "Corstone IoT FVPs" section to download the Corstone-1000 platform FVP installer. Follow the
@@ -361,8 +368,8 @@ boot. Run following commands to build such image.
::
cd <_workspace>
- git clone https://git.yoctoproject.org/git/meta-arm -b CORSTONE1000-2022.11.10
- git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git
+ git clone https://git.yoctoproject.org/git/meta-arm -b CORSTONE1000-2022.11.23
+ git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2022.11.23
cp -f systemready-patch/embedded-a/corstone1000/erase_flash/0001-arm-bsp-trusted-firmware-m-corstone1000-Clean-Secure.patch meta-arm
cd meta-arm
git apply 0001-arm-bsp-trusted-firmware-m-corstone1000-Clean-Secure.patch
@@ -374,7 +381,8 @@ Replace the bl1.bin and cs1000.bin files on the SD card with following files:
- The flash image: <_workspace>/build/tmp/deploy/images/corstone1000-mps3/corstone1000-image-corstone1000-mps3.wic.nopt
Now reboot the board. This step erases the Corstone-1000 SecureEnclave flash
-completely, the user should expect following message from TF-M log:
+completely, the user should expect following message from TF-M log (can be seen
+in ttyUSB1):
::
@@ -388,7 +396,7 @@ software stack and flash the FPGA as normal. And continue the testing.
Run SystemReady-IR ACS tests
=============================
-ACS image contains two partitions. BOOT partition and RESULTS partition.
+ACS image contains two partitions. BOOT partition and RESULT partition.
Following packages are under BOOT partition
* SCT
@@ -398,8 +406,8 @@ Following packages are under BOOT partition
* grub
* uefi manual capsule application
-RESULTS partition is used to store the test results.
-PLEASE MAKE SURE THAT THE RESULTS PARTITION IS EMPTY BEFORE YOU START THE TESTING. OTHERWISE THE TEST RESULTS
+RESULT partition is used to store the test results.
+PLEASE MAKE SURE THAT THE RESULT PARTITION IS EMPTY BEFORE YOU START THE TESTING. OTHERWISE THE TEST RESULTS
WILL NOT BE CONSISTENT
FPGA instructions for ACS image
@@ -441,6 +449,8 @@ Once the USB stick with ACS image is prepared, the user should make sure that
ensure that only the USB stick with the ACS image is connected to the board,
and then boot the board.
+The FPGA will reset multiple times during the test, and it might take approx. 24-36 hours to finish the test. At the end of test, the FPGA host terminal will halt showing a shell prompt. Once test is finished the result can be copied following above instructions.
+
FVP instructions for ACS image and run
============================================
@@ -456,7 +466,7 @@ SD card.
tmux
- <_workspace>/meta-arm/scripts/runfvp <_workspace>/build/tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.fvpconf – -C board.msd_mmc.p_mmc_file="${<path-to-img>/ir_acs_live_image.img}"
+ <_workspace>/meta-arm/scripts/runfvp <_workspace>/build/tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.fvpconf -- -C board.msd_mmc.p_mmc_file="${<path-to-img>/ir_acs_live_image.img}"
The test results can be fetched using following commands:
@@ -488,7 +498,7 @@ automatically in the following sequence:
- FWTS
- BSA Linux
-The results can be fetched from the ``acs_results`` partition of the USB stick (FPGA) / SD Card (FVP).
+The results can be fetched from the ``acs_results`` folder in the RESULT partition of the USB stick (FPGA) / SD Card (FVP).
#####################################################
@@ -757,11 +767,29 @@ In the Linux command-line run the following:
Negative scenario
=================
-In the negative case scenario, the user should see appropriate logs in
-the secure enclave terminal. If capsule pass initial verification, but fails
-verifications performed during boot time, secure enclave will try new images
-predetermined number of times (defined in the code), before reverting back to
-the previous good bank.
+In the negative case scenario (rollback the capsule version), the user should
+see appropriate logs in the secure enclave terminal.
+
+::
+
+ ...
+ uefi_capsule_retrieve_images: image 0 at 0xa0000070, size=15654928
+ uefi_capsule_retrieve_images: exit
+ flash_full_capsule: enter: image = 0x0xa0000070, size = 15654928, version = 10
+ ERROR: flash_full_capsule: version error
+ private_metadata_write: enter: boot_index = 1
+ private_metadata_write: success
+ fmp_set_image_info:133 Enter
+ FMP image update: image id = 0
+ FMP image update: status = 1version=11 last_attempt_version=10.
+ fmp_set_image_info:157 Exit.
+ corstone1000_fwu_flash_image: exit: ret = -1
+ ...
+
+
+If capsule pass initial verification, but fails verifications performed during
+boot time, secure enclave will try new images predetermined number of times
+(defined in the code), before reverting back to the previous good bank.
::
@@ -803,7 +831,7 @@ Linux distros tests
Debian/OpenSUSE install and boot (applicable to FPGA only)
***************************************************************************************
-To test Linux distro install and boot, the user should prepare two empty USB sticks.
+To test Linux distro install and boot, the user should prepare two empty USB sticks (minimum size should be 4GB and formatted with FAT32).
Download one of following Linux distro images:
- Debian installer image: https://cdimage.debian.org/cdimage/weekly-builds/arm64/iso-dvd/
@@ -819,7 +847,7 @@ file into the first USB stick, run:
::
- sudo dd if=</path/to/iso_file> of=/dev/sdb iflag=direct oflag=direct status=progress bs=1M; sync;
+ sudo dd if=<path-to-iso_file> of=/dev/sdb iflag=direct oflag=direct status=progress bs=1M; sync;
Boot the MSP3 board with the first USB stick connected. Open following minicom sessions:
@@ -828,9 +856,7 @@ Boot the MSP3 board with the first USB stick connected. Open following minicom s
sudo picocom -b 115200 /dev/ttyUSB0 # in one terminal
sudo picocom -b 115200 /dev/ttyUSB2 # in another terminal.
-Press <Ctrl+x>.
-
-Now plug in the second USB stick, the distro installation process will start.
+Now plug in the second USB stick (once installation screen is visible), the distro installation process will start. The installation prompt can be seen in ttyUSB2. If installer does not start, please try to reboot the board with both USB sticks connected and repeat the process.
**NOTE:** Due to the performance limitation of Corstone-1000 MPS3 FPGA, the
distro installation process can take up to 24 hours to complete.
@@ -922,7 +948,7 @@ First, load FF-A TEE kernel module:
::
- insmod /lib/modules/5.19.9-yocto-standard/extra/arm-ffa-tee.ko
+ insmod /lib/modules/5.19.14-yocto-standard/extra/arm-ffa-tee.ko
Then, check whether the FF-A TEE driver is loaded correctly by using the following command:
@@ -1034,7 +1060,7 @@ The output on the Host terminal should be:
Tests results
-----------------------------------
-As a reference for the end user, reports for various tests for `Corstone-1000 software (CORSTONE1000-2022.11.10) <https://git.yoctoproject.org/meta-arm/tag/?h=CORSTONE1000-2022.11.10>`__
+As a reference for the end user, reports for various tests for `Corstone-1000 software (CORSTONE1000-2022.11.23) <https://git.yoctoproject.org/meta-arm/tag/?h=CORSTONE1000-2022.11.23>`__
can be found in `here <https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-test-report/-/tree/master/embedded-a/corstone1000>`__.
Running the software on FVP on Windows
diff --git a/meta-arm/meta-arm-bsp/documentation/fvp-base-arm32.md b/meta-arm/meta-arm-bsp/documentation/fvp-base-arm32.md
index 54408b0d86..141e61f3ab 100644
--- a/meta-arm/meta-arm-bsp/documentation/fvp-base-arm32.md
+++ b/meta-arm/meta-arm-bsp/documentation/fvp-base-arm32.md
@@ -1,55 +1,24 @@
-# Armv7-A Base Platform FVP Support in meta-arm-bsp
+# Armv8-A Base Platform FVP (32-bit) Support in meta-arm-bsp
-## How to build and run
+## Howto Build and Run
### Configuration:
-In the local.conf file, MACHINE should be set as follows:
-MACHINE ?= "fvp-base-arm32"
+In the local.conf file, `MACHINE` should be set:
+```
+MACHINE = "fvp-base-arm32"
+```
### Build:
-```bash$ bitbake core-image-minimal```
+```
+$ bitbake core-image-base
+```
### Run:
-To Run the Fixed Virtual Platform simulation tool you must download "Armv8-A
-Base Platform FVP" from Arm developer (This might require the user to
-register) from this address:
-https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms
-and install it on your host PC.
-
-Fast Models Fixed Virtual Platforms (FVP) Reference Guide:
-https://developer.arm.com/docs/100966/latest
-
-Armv8‑A Foundation Platform User Guide:
-https://developer.arm.com/docs/100961/latest/
+The `fvp-base` machine has support for the `runfvp` script, so running is simple:
-
-Once done, do the following to build and run an image:
-```bash$ bitbake core-image-minimal```
-```bash$ export YOCTO_DEPLOY_IMGS_DIR="<yocto-build-dir/tmp/deploy/images/fvp-base-arm32>"```
-```bash$ cd <path-to-Base_RevC_AEMv8A_pkg-dir/models/Linux64_GCC-X.X/>```
```
-bash$ ./FVP_Base_RevC-2xAEMv8A -C bp.virtio_net.enabled=1 \
- -C cache_state_modelled=0 \
- -C bp.secureflashloader.fname=${YOCTO_DEPLOY_IMGS_DIR}/bl1-fvp.bin \
- -C bp.flashloader0.fname=${YOCTO_DEPLOY_IMGS_DIR}/fip-fvp.bin \
- --data cluster0.cpu0=${YOCTO_DEPLOY_IMGS_DIR}/Image@0x80080000 \
- -C bp.virtioblockdevice.image_path=${YOCTO_DEPLOY_IMGS_DIR}/core-image-minimal-fvp-base-arm32.wic \
- -C cluster0.cpu0.CONFIG64=0 \
- -C cluster0.cpu1.CONFIG64=0 \
- -C cluster0.cpu2.CONFIG64=0 \
- -C cluster0.cpu3.CONFIG64=0 \
- -C cluster1.cpu0.CONFIG64=0 \
- -C cluster1.cpu1.CONFIG64=0 \
- -C cluster1.cpu2.CONFIG64=0 \
- -C cluster1.cpu3.CONFIG64=0 \
-
+$ runfvp tmp/deploy/images/fvp-base-arm32/core-image-base-fvp-base-arm32.fvpconf
```
-
-
-If you have built a configuration without a ramdisk, you can use the following
-command in U-boot to start Linux:
-```fvp32# bootz 0x80080000 - 0x82000000```
-
## Devices supported in the kernel
- serial
- virtio disk
diff --git a/meta-arm/meta-arm-bsp/documentation/fvp-base.md b/meta-arm/meta-arm-bsp/documentation/fvp-base.md
index b0026de488..7eda8d34fa 100644
--- a/meta-arm/meta-arm-bsp/documentation/fvp-base.md
+++ b/meta-arm/meta-arm-bsp/documentation/fvp-base.md
@@ -3,45 +3,22 @@
## Howto Build and Run
### Configuration:
-In the local.conf file, MACHINE should be set as follow:
-MACHINE ?= "fvp-base"
+In the local.conf file, `MACHINE` should be set:
+```
+MACHINE = "fvp-base"
+```
### Build:
-```bash$ bitbake core-image-minimal```
+```
+$ bitbake core-image-base
+```
### Run:
-To Run the Fixed Virtual Platform simulation tool you must download "Armv8-A
-Base Platform FVP" from Arm developer (This might require the user to
-register) from this address:
-https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms
-and install it on your host PC.
-
-Fast Models Fixed Virtual Platforms (FVP) Reference Guide:
-https://developer.arm.com/docs/100966/latest
+The `fvp-base` machine has support for the `runfvp` script, so running is simple:
-Armv8‑A Foundation Platform User Guide:
-https://developer.arm.com/docs/100961/latest/
-
-
-Once done, do the following to build and run an image:
-```bash$ bitbake core-image-minimal```
-```bash$ export YOCTO_DEPLOY_IMGS_DIR="<yocto-build-dir/tmp/deploy/images/fvp-base>"```
-```bash$ cd <path-to-Base_RevC_AEMv8A_pkg-dir/models/Linux64_GCC-X.X/>```
```
-bash$ ./FVP_Base_RevC-2xAEMv8A -C bp.virtio_net.enabled=1 \
- -C cache_state_modelled=0 \
- -C bp.secureflashloader.fname=${YOCTO_DEPLOY_IMGS_DIR}/bl1-fvp.bin \
- -C bp.flashloader0.fname=${YOCTO_DEPLOY_IMGS_DIR}/fip-fvp.bin \
- --data cluster0.cpu0=${YOCTO_DEPLOY_IMGS_DIR}/Image@0x80080000 \
- --data cluster0.cpu0=${YOCTO_DEPLOY_IMGS_DIR}/fvp-base-gicv3-psci-custom.dtb@0x83000000 \
- -C bp.virtioblockdevice.image_path=${YOCTO_DEPLOY_IMGS_DIR}/core-image-minimal-fvp-base.wic
+$ runfvp tmp/deploy/images/fvp-base/core-image-base-fvp-base.fvpconf
```
-
-
-If you have built a configuration without a ramdisk, you can use the following
-command in U-boot to start Linux:
-```VExpress64# booti 0x80080000 - 0x83000000```
-
## Devices supported in the kernel
- serial
- virtio disk
diff --git a/meta-arm/meta-arm-bsp/documentation/fvp-baser-aemv8r64.md b/meta-arm/meta-arm-bsp/documentation/fvp-baser-aemv8r64.md
index 9127a6ce72..e29aad34d6 100644
--- a/meta-arm/meta-arm-bsp/documentation/fvp-baser-aemv8r64.md
+++ b/meta-arm/meta-arm-bsp/documentation/fvp-baser-aemv8r64.md
@@ -27,9 +27,9 @@ The fvp-baser-aemv8r64 Yocto MACHINE supports the following BSP components,
where either a standard or Real-Time Linux kernel (PREEMPT\_RT) can be built
and run:
- - FVP_Base_AEMv8R: v11.19.14
+ - FVP_Base_AEMv8R: v11.20.15
- boot-wrapper-aarch64: provides PSCI support
- - U-Boot: v2022.04 - provides UEFI services
+ - U-Boot: v2022.07 - provides UEFI services
- Linux kernel: linux-yocto-5.15
- Linux kernel with PREEMPT\_RT support: linux-yocto-rt-5.15
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0001-corstone1000-platform-secure-test-framework.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0001-corstone1000-platform-secure-test-framework.patch
deleted file mode 100644
index 8f63319149..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0001-corstone1000-platform-secure-test-framework.patch
+++ /dev/null
@@ -1,359 +0,0 @@
-From 6ab17eeb8225cdf4afc6956c9a2774d60866c36d Mon Sep 17 00:00:00 2001
-From: Satish Kumar <satish.kumar01@arm.com>
-Date: Mon, 28 Mar 2022 05:16:50 +0100
-Subject: [PATCH 1/6] corstone1000: platform secure test framework
-
-Change-Id: Ib781927f0add93ec9c06515d251e79518ee1db6e
-Signed-off-by: Satish Kumar <satish.kumar01@arm.com>
-Upstream-Status: Accepted [TF-Mv1.7.0]
----
- .../arm/corstone1000/Native_Driver/firewall.c | 15 ++
- .../arm/corstone1000/Native_Driver/firewall.h | 5 +
- .../ci_regression_tests/CMakeLists.txt | 45 +++++
- .../corstone1000/ci_regression_tests/s_test.c | 186 ++++++++++++++++++
- .../corstone1000/ci_regression_tests/s_test.h | 30 +++
- .../ci_regression_tests/s_test_config.cmake | 8 +
- 6 files changed, 289 insertions(+)
- create mode 100644 platform/ext/target/arm/corstone1000/ci_regression_tests/CMakeLists.txt
- create mode 100644 platform/ext/target/arm/corstone1000/ci_regression_tests/s_test.c
- create mode 100644 platform/ext/target/arm/corstone1000/ci_regression_tests/s_test.h
- create mode 100644 platform/ext/target/arm/corstone1000/ci_regression_tests/s_test_config.cmake
-
-diff --git a/platform/ext/target/arm/corstone1000/Native_Driver/firewall.c b/platform/ext/target/arm/corstone1000/Native_Driver/firewall.c
-index 788cc3ec92..356b85e9d5 100755
---- a/platform/ext/target/arm/corstone1000/Native_Driver/firewall.c
-+++ b/platform/ext/target/arm/corstone1000/Native_Driver/firewall.c
-@@ -293,6 +293,21 @@ void fc_enable_mpl(enum rgn_mpe_t mpe, enum rgn_mpl_t mpl)
- ptr->rgn_mpl3 |= (mpl & RGN_MPL_EN_MASK);
- }
-
-+void fc_read_mpl(enum rgn_mpe_t mpe, enum rgn_mpl_t* mpl)
-+{
-+ struct _firewall_pe_rwe_reg_map_t *ptr =
-+ (struct _firewall_pe_rwe_reg_map_t *)fw_data.rwe_ptr;
-+ if (mpe == RGN_MPE0)
-+ *mpl = (ptr->rgn_mpl0 & RGN_MPL_EN_MASK);
-+ else if (mpe == RGN_MPE1)
-+ *mpl = (ptr->rgn_mpl1 & RGN_MPL_EN_MASK);
-+ else if (mpe == RGN_MPE2)
-+ *mpl = (ptr->rgn_mpl2 & RGN_MPL_EN_MASK);
-+ else if (mpe == RGN_MPE3)
-+ *mpl = (ptr->rgn_mpl3 & RGN_MPL_EN_MASK);
-+}
-+
-+
- void fc_disable_mpl(enum rgn_mpe_t mpe, enum rgn_mpl_t mpl)
- {
- struct _firewall_pe_rwe_reg_map_t *ptr =
-diff --git a/platform/ext/target/arm/corstone1000/Native_Driver/firewall.h b/platform/ext/target/arm/corstone1000/Native_Driver/firewall.h
-index 48c86725ef..17afe6a92f 100755
---- a/platform/ext/target/arm/corstone1000/Native_Driver/firewall.h
-+++ b/platform/ext/target/arm/corstone1000/Native_Driver/firewall.h
-@@ -247,6 +247,11 @@ void fc_init_mpl(enum rgn_mpe_t mpe);
- */
- void fc_enable_mpl(enum rgn_mpe_t mpe, enum rgn_mpl_t mpl);
-
-+/**
-+ * \brief Reads Master Permission List in the selected Firewall Component
-+ */
-+void fc_read_mpl(enum rgn_mpe_t mpe, enum rgn_mpl_t* mpl);
-+
- /**
- * \brief Disables Master Permission List in the selected Firewall Component
- */
-diff --git a/platform/ext/target/arm/corstone1000/ci_regression_tests/CMakeLists.txt b/platform/ext/target/arm/corstone1000/ci_regression_tests/CMakeLists.txt
-new file mode 100644
-index 0000000000..70e1c20e4e
---- /dev/null
-+++ b/platform/ext/target/arm/corstone1000/ci_regression_tests/CMakeLists.txt
-@@ -0,0 +1,45 @@
-+#-------------------------------------------------------------------------------
-+# Copyright (c) 2021-22, Arm Limited. All rights reserved.
-+#
-+# SPDX-License-Identifier: BSD-3-Clause
-+#
-+#-------------------------------------------------------------------------------
-+
-+cmake_policy(SET CMP0079 NEW)
-+
-+include(${CMAKE_CURRENT_SOURCE_DIR}/s_test_config.cmake)
-+
-+####################### Secure #################################################
-+
-+add_library(corstone1000_test_s STATIC EXCLUDE_FROM_ALL)
-+
-+target_sources(corstone1000_test_s
-+ PRIVATE
-+ ${CMAKE_CURRENT_SOURCE_DIR}/s_test.c
-+ ../Native_Driver/firewall.c
-+)
-+
-+target_include_directories(corstone1000_test_s
-+ PRIVATE
-+ ${CMAKE_CURRENT_SOURCE_DIR}
-+ ../Device/Include
-+ ../Native_Driver
-+)
-+
-+# Example test links tfm_test_suite_extra_common to use related interface
-+target_link_libraries(corstone1000_test_s
-+ PRIVATE
-+ tfm_test_suite_extra_common
-+ tfm_log
-+)
-+
-+target_compile_definitions(corstone1000_test_s
-+ PRIVATE
-+ $<$<BOOL:${PLATFORM_IS_FVP}>:PLATFORM_IS_FVP>
-+)
-+
-+# The corstone1000_test_s library is linked by tfm_test_suite_extra_s
-+target_link_libraries(tfm_test_suite_extra_s
-+ PRIVATE
-+ corstone1000_test_s
-+)
-diff --git a/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test.c b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test.c
-new file mode 100644
-index 0000000000..963f46d2ab
---- /dev/null
-+++ b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test.c
-@@ -0,0 +1,186 @@
-+/*
-+ * Copyright (c) 2021-22, Arm Limited. All rights reserved.
-+ *
-+ * SPDX-License-Identifier: BSD-3-Clause
-+ *
-+ */
-+
-+#include "s_test.h"
-+#include "platform_base_address.h"
-+#include "firewall.h"
-+#include "tfm_log_raw.h"
-+
-+#define DISABLED_TEST 0
-+
-+enum host_firewall_host_comp_id_t {
-+ HOST_FCTRL = (0x00u),
-+ COMP_SYSPERIPH,
-+ COMP_DBGPERIPH,
-+ COMP_AONPERIPH,
-+ COMP_XNVM,
-+ COMP_CVM,
-+ COMP_HOSTCPU,
-+ COMP_EXTSYS0,
-+ COMP_EXTSYS1,
-+ COMP_EXPSLV0,
-+ COMP_EXPSLV1,
-+ COMP_EXPMST0,
-+ COMP_EXPMST1,
-+ COMP_OCVM,
-+ COMP_DEBUG,
-+};
-+
-+const struct extra_tests_t plat_s_t = {
-+ .test_entry = s_test,
-+ .expected_ret = EXTRA_TEST_SUCCESS
-+};
-+
-+static int test_host_firewall_status(void)
-+{
-+ enum fw_lockdown_status_t status;
-+ uint32_t any_component_id = 2;
-+
-+ fc_select((void *)CORSTONE1000_HOST_FIREWALL_BASE, any_component_id);
-+ status = fw_get_lockdown_status();
-+ if (status != FW_LOCKED) {
-+ tfm_log_printf("FAIL: %s.\n\r", __func__);
-+ return EXTRA_TEST_FAILED;
-+ }
-+
-+ tfm_log_printf("PASS: %s\n\r", __func__);
-+ return EXTRA_TEST_SUCCESS;
-+}
-+
-+static int test_host_firewall_external_flash_configurations(void)
-+{
-+ enum rgn_mpl_t mpl_rights = 0;
-+ enum rgn_mpl_t expected_rights = 0;
-+
-+#if !(PLATFORM_IS_FVP)
-+ /* External flash */
-+ fc_select((void *)CORSTONE1000_HOST_FIREWALL_BASE, COMP_EXPMST0);
-+ fc_select_region(3);
-+ fc_read_mpl(RGN_MPE0, &mpl_rights);
-+ expected_rights = (RGN_MPL_ANY_MST_MASK | RGN_MPL_SECURE_READ_MASK |
-+ RGN_MPL_SECURE_WRITE_MASK);
-+ if (mpl_rights != expected_rights) {
-+ tfm_log_printf("FAIL1: %s.\n\r", __func__);
-+ return EXTRA_TEST_FAILED;
-+ }
-+ /* XIP Permissions */
-+ fc_select((void *)CORSTONE1000_HOST_FIREWALL_BASE, COMP_XNVM);
-+ fc_select_region(1);
-+ fc_read_mpl(RGN_MPE0, &mpl_rights);
-+ expected_rights = (RGN_MPL_ANY_MST_MASK |
-+ RGN_MPL_SECURE_READ_MASK |
-+ RGN_MPL_NONSECURE_READ_MASK);
-+ if (mpl_rights != expected_rights) {
-+ tfm_log_printf("FAIL2: %s.\n\r", __func__);
-+ return EXTRA_TEST_FAILED;
-+ }
-+#else
-+ /* Enable the below test when FVP Host Firewall is configured. */
-+ /*
-+ fc_select((void *)CORSTONE1000_HOST_FIREWALL_BASE, COMP_XNVM);
-+ fc_select_region(1);
-+ fc_read_mpl(RGN_MPE0, &mpl_rights);
-+ tfm_log_printf("mpl rights = %d\n\r", mpl_rights);
-+ expected_rights = (RGN_MPL_ANY_MST_MASK |
-+ RGN_MPL_SECURE_READ_MASK |
-+ RGN_MPL_SECURE_WRITE_MASK |
-+ RGN_MPL_NONSECURE_READ_MASK |
-+ RGN_MPL_NONSECURE_WRITE_MASK);
-+ if (mpl_rights != expected_rights) {
-+ tfm_log_printf("FAIL1: %s.\n\r", __func__);
-+ return EXTRA_TEST_FAILED;
-+ }
-+ */
-+#endif
-+
-+ tfm_log_printf("PASS: %s\n\r", __func__);
-+ return EXTRA_TEST_SUCCESS;
-+}
-+
-+static int test_host_firewall_secure_flash_configurations(void)
-+{
-+ enum rgn_mpl_t mpl_rights = 0;
-+ enum rgn_mpl_t expected_rights = 0;
-+
-+#if !(PLATFORM_IS_FVP)
-+ /* External flash */
-+ fc_select((void *)CORSTONE1000_HOST_FIREWALL_BASE, COMP_EXPMST1);
-+ fc_select_region(1);
-+ fc_read_mpl(RGN_MPE0, &mpl_rights);
-+ expected_rights = (RGN_MPL_ANY_MST_MASK | RGN_MPL_SECURE_READ_MASK |
-+ RGN_MPL_SECURE_WRITE_MASK);
-+ if (mpl_rights != expected_rights) {
-+ tfm_log_printf("FAIL: %s.\n\r", __func__);
-+ return EXTRA_TEST_FAILED;
-+ }
-+#endif
-+
-+ tfm_log_printf("PASS: %s\n\r", __func__);
-+ return EXTRA_TEST_SUCCESS;
-+}
-+
-+static int test_bir_programming(void)
-+{
-+ /* BIR is expected to bhaive like write once register */
-+
-+ volatile uint32_t *bir_base = (uint32_t *)CORSTONE1000_HOST_BIR_BASE;
-+
-+ bir_base[0] = 0x1;
-+ bir_base[0] = 0x2;
-+ if (bir_base[0] != 0x1) {
-+ tfm_log_printf("FAIL: %s : (%u)\n\r", __func__, bir_base[0]);
-+ return EXTRA_TEST_FAILED;
-+ }
-+
-+ tfm_log_printf("PASS: %s\n\r", __func__);
-+ return EXTRA_TEST_SUCCESS;
-+}
-+
-+int32_t s_test(void)
-+{
-+ int status;
-+ int failures = 0;
-+
-+#if (DISABLED_TEST == 1)
-+ status = test_host_firewall_status();
-+ if (status) {
-+ failures++;
-+ }
-+#endif
-+
-+ status = test_host_firewall_secure_flash_configurations();
-+ if (status) {
-+ failures++;
-+ }
-+
-+ status = test_host_firewall_external_flash_configurations();
-+ if (status) {
-+ failures++;
-+ }
-+
-+#if (DISABLED_TEST == 1)
-+ status = test_bir_programming();
-+ if (status) {
-+ failures++;
-+ }
-+#endif
-+
-+ if (failures) {
-+ tfm_log_printf("Not all platform test could pass: failures=%d\n\r", failures);
-+ return EXTRA_TEST_FAILED;
-+ }
-+
-+ tfm_log_printf("ALL_PASS: corstone1000 platform test cases passed.\n\r");
-+ return EXTRA_TEST_SUCCESS;
-+}
-+
-+int32_t extra_tests_init(struct extra_tests_t *internal_test_t)
-+{
-+ /* Add platform init code here. */
-+
-+ return register_extra_tests(internal_test_t, &plat_s_t);
-+}
-diff --git a/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test.h b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test.h
-new file mode 100644
-index 0000000000..8aff4d679c
---- /dev/null
-+++ b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test.h
-@@ -0,0 +1,30 @@
-+/*
-+ * Copyright (c) 2021-22, Arm Limited. All rights reserved.
-+ *
-+ * SPDX-License-Identifier: BSD-3-Clause
-+ *
-+ */
-+
-+#ifndef __S_TESTS_H__
-+#define __S_TESTS_H__
-+
-+#include "extra_tests_common.h"
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+const struct extra_tests_t plat_s_t;
-+
-+/**
-+ * \brief Platform specific secure test function.
-+ *
-+ * \returns Returns error code as specified in \ref int32_t
-+ */
-+int32_t s_test(void);
-+
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+#endif /* __S_TESTS_H__ */
-diff --git a/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test_config.cmake b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test_config.cmake
-new file mode 100644
-index 0000000000..bb8d26bf1c
---- /dev/null
-+++ b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test_config.cmake
-@@ -0,0 +1,8 @@
-+#-------------------------------------------------------------------------------
-+# Copyright (c) 2021-22, Arm Limited. All rights reserved.
-+#
-+# SPDX-License-Identifier: BSD-3-Clause
-+#
-+#-------------------------------------------------------------------------------
-+
-+############ Define secure test specific cmake configurations here #############
---
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0002-corstone1000-make-external-system-support-optional.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0002-corstone1000-make-external-system-support-optional.patch
deleted file mode 100644
index c6bacb49f9..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0002-corstone1000-make-external-system-support-optional.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 6fd49ab55c3419429e437845864c5bb2d731da29 Mon Sep 17 00:00:00 2001
-From: Satish Kumar <satish.kumar01@arm.com>
-Date: Mon, 25 Apr 2022 05:26:38 +0100
-Subject: [PATCH 2/6] corstone1000: make external system support optional
-
-The commits introduce build time variables to make
-external system support in the platform optional.
-
-Change-Id: I593014e0da4ac553c105c66ae55f6fd83ffe427e
-Signed-off-by: Satish Kumar <satish.kumar01@arm.com>
-Upstream-Status: Accepted [TF-Mv1.7.0]
----
- .../ext/target/arm/corstone1000/CMakeLists.txt | 1 +
- platform/ext/target/arm/corstone1000/config.cmake | 1 +
- .../target/arm/corstone1000/tfm_hal_multi_core.c | 15 +++++++++++++++
- 3 files changed, 17 insertions(+)
-
-diff --git a/platform/ext/target/arm/corstone1000/CMakeLists.txt b/platform/ext/target/arm/corstone1000/CMakeLists.txt
-index 16bc708964..39d7b03455 100644
---- a/platform/ext/target/arm/corstone1000/CMakeLists.txt
-+++ b/platform/ext/target/arm/corstone1000/CMakeLists.txt
-@@ -97,6 +97,7 @@ target_compile_definitions(platform_s
- PRIVATE
- $<$<BOOL:${PLATFORM_IS_FVP}>:PLATFORM_IS_FVP>
- $<$<BOOL:${TEST_S}>:TEST_S>
-+ $<$<BOOL:${EXTERNAL_SYSTEM_SUPPORT}>:EXTERNAL_SYSTEM_SUPPORT>
- )
-
- #========================= Platform BL2 =======================================#
-diff --git a/platform/ext/target/arm/corstone1000/config.cmake b/platform/ext/target/arm/corstone1000/config.cmake
-index e5f91108ee..a3399db318 100644
---- a/platform/ext/target/arm/corstone1000/config.cmake
-+++ b/platform/ext/target/arm/corstone1000/config.cmake
-@@ -21,6 +21,7 @@ set(CRYPTO_HW_ACCELERATOR ON CACHE BOOL "Whether to en
- set(CRYPTO_NV_SEED OFF CACHE BOOL "Use stored NV seed to provide entropy")
- set(TFM_CRYPTO_TEST_ALG_CFB OFF CACHE BOOL "Test CFB cryptography mode")
- set(NS FALSE CACHE BOOL "Whether to build NS app")
-+set(EXTERNAL_SYSTEM_SUPPORT OFF CACHE BOOL "Whether to include external system support.")
-
- # FVP is not integrated/tested with CC312.
- if (${PLATFORM_IS_FVP})
-diff --git a/platform/ext/target/arm/corstone1000/tfm_hal_multi_core.c b/platform/ext/target/arm/corstone1000/tfm_hal_multi_core.c
-index 8e1b455086..8622844d91 100644
---- a/platform/ext/target/arm/corstone1000/tfm_hal_multi_core.c
-+++ b/platform/ext/target/arm/corstone1000/tfm_hal_multi_core.c
-@@ -16,6 +16,16 @@
- #define HOST_CPU_PE0_CONFIG_OFFSET 0x010
- #define AA64nAA32_MASK (1 << 3)
-
-+#ifdef EXTERNAL_SYSTEM_SUPPORT
-+void tfm_external_system_boot()
-+{
-+ volatile uint32_t *ext_sys_reset_ctl_reg = (uint32_t *)(CORSTONE1000_EXT_SYS_RESET_REG);
-+
-+ /* de-assert CPU_WAIT signal*/
-+ *ext_sys_reset_ctl_reg = 0x0;
-+}
-+#endif
-+
- void tfm_hal_boot_ns_cpu(uintptr_t start_addr)
- {
- /* Switch the shared flash to XiP mode for the host */
-@@ -53,6 +63,11 @@ void tfm_hal_boot_ns_cpu(uintptr_t start_addr)
- *reset_ctl_reg = 0;
-
- (void) start_addr;
-+
-+#ifdef EXTERNAL_SYSTEM_SUPPORT
-+ /*release EXT SYS out of reset*/
-+ tfm_external_system_boot();
-+#endif
- }
-
- void tfm_hal_wait_for_ns_cpu_ready(void)
---
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0003-corstone1000-enable-secure-enclave-run-without-host-.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0003-corstone1000-enable-secure-enclave-run-without-host-.patch
deleted file mode 100644
index 6422952264..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0003-corstone1000-enable-secure-enclave-run-without-host-.patch
+++ /dev/null
@@ -1,298 +0,0 @@
-From 2e56f2601249243f2fb3ba67caf9febe4bfc8371 Mon Sep 17 00:00:00 2001
-From: Satish Kumar <satish.kumar01@arm.com>
-Date: Tue, 26 Apr 2022 20:17:13 +0100
-Subject: [PATCH 3/6] corstone1000: enable secure enclave run without host
- binaries
-
-In TEST_S configuration, the build disables part of the code which
-assumes that the host binaries are present in the flash. This change
-will allow secure enclave's part of the platforms software to build
-and run without the host support. The configuration can be used to run
-CI and test secure enclave software independently.
-
-Change-Id: I29325750a3bea270fe5b3b8b47932a7071a59482
-Signed-off-by: Satish Kumar <satish.kumar01@arm.com>
-Upstream-Status: Accepted [TF-Mv1.7.0]
----
- .../ext/target/arm/corstone1000/readme.rst | 88 +++++++++++++++----
- .../target/arm/corstone1000/CMakeLists.txt | 8 +-
- .../arm/corstone1000/bl1/CMakeLists.txt | 2 +-
- .../target/arm/corstone1000/bl2_flash_map.c | 2 +
- .../target/arm/corstone1000/boot_hal_bl2.c | 2 +
- .../ext/target/arm/corstone1000/config.cmake | 11 ++-
- .../arm/corstone1000/partition/flash_layout.h | 2 +-
- .../arm/corstone1000/tfm_hal_multi_core.c | 2 +
- 8 files changed, 94 insertions(+), 23 deletions(-)
-
-diff --git a/docs/platform/ext/target/arm/corstone1000/readme.rst b/docs/platform/ext/target/arm/corstone1000/readme.rst
-index 94b58ac6fc..10c9c58f78 100644
---- a/docs/platform/ext/target/arm/corstone1000/readme.rst
-+++ b/docs/platform/ext/target/arm/corstone1000/readme.rst
-@@ -7,22 +7,27 @@ Introduction
- ************
-
- The ARM's Corstone-1000 platform is a reference implementation of PSA FF-M
--architecture where NSPE and SPE environments are partitioned into
-+architecture where NSPE and SPE environments are partitioned/isolated into
- Cortex-A35 and Cortex-M0+ respectively.
-
- Cortex-M0+ acting as Secure Enclave is the Root-of-trust of SoC. Its
--software comprises of two boot loading stages, i.e. Bl1 and Bl2, based on
--mcuboot, and TF-M as run time software. Cortex-A35, also referred as host,
--is completely treated as non-secure from the Secure Enclave perspective.
-+software comprises of two boot loading stages, i.e. Bl1 and Bl2 (based on
-+mcuboot) and TF-M as run time software. Cortex-A35, also referred as host,
-+is treated as non-secure from the Secure Enclave perspective.
- The Cortex-A35 is brought out of rest by Secure Enclave in aarch64 bit mode,
- and boots the software ecosystem based on linux, u-boot, UEFI run time
--services, TF-A and Optee.
-+services, TF-A, Secure Partitions and Optee.
-
- The communication between NSPE and SPE is based on PSA IPC protocol running on
--top of OpenAMP.
-+top of FF-A/OpenAMP.
-
- The secure enclave subsystem has ARM's CC-312 (Crypto Cell) hardware to
--accelerate cryptographic operations.
-+accelerate cryptographic operations. Additionaly, platform supports Secure Debug
-+using SDC-600 as the communication interface between host debugger and platform
-+target. The platform has the build option to enable secure debug protocol to
-+unlock debug ports during boot time. The protocol is based on ARM's ADAC
-+(Authenticated Debug Access Control) standard.
-+
-
- ***********
- System boot
-@@ -33,23 +38,76 @@ System boot
- - BL1 load, verifies and transfer execution to BL2 which is again based on mcuboot.
- - BL2 loads and verifies TF-M and host's initial boot loader image.
- - BL2 transfer the execution to the TF-M.
--- During TF-M initialization, the host is reset.
-+- During TF-M initialization, the host is taken out of rest.
-+- Hashes of the keys used for image verification are stored in the OTP memory.
-
- *****
- Build
- *****
-
--.. code-block::
-+Platform solution
-+=================
-+
-+The platform binaries are build using Yocto. Below is the user guide:
-+
-+`Arm Corstone-1000 User Guide`_
-+
-+Secure Test
-+===========
-+
-+This section can be used to test the secure enclave software indedendently from
-+the host. The below configuration builds the secure enclave binaries with CI test
-+frame integrated. On boot, secure enclave softwares stack is brought up, and
-+CI tests starts executing at the end of the initialization process. In the
-+below configuration, host software support is disabled, and meant only
-+to test/verify the secure enclave softwares.
-+
-+FVP
-+---
-
-- cmake -B build/ -S <tf-m-root>/ -DCMAKE_BUILD_TYPE=Debug -DTFM_TOOLCHAIN_FILE=<tf-m-root>/toolchain_GNUARM.cmake -DTFM_PLATFORM=arm/corstone1000
-+- Download Corstone-1000 FVP from : `Arm Ecosystem FVPs`_
-+- Install FVP by running the shell script.
-+- Running of the binary will boot secure enclave software stack and at the end all CI test
-+ from tf-m-test along with platform specific tests are executed.
-+
-+.. code-block:: bash
-+
-+ cmake -B build/ -S <tf-m-root>/ -DCMAKE_BUILD_TYPE=Debug -DTFM_TOOLCHAIN_FILE=<tf-m-root>/toolchain_GNUARM.cmake -DTFM_PLATFORM=arm/corstone1000 -DPLATFORM_IS_FVP=TRUE -DTEST_NS=OFF -DTEST_S=ON -DEXTRA_S_TEST_SUITES_PATHS=<tf-m-root>/trusted-firmware-m/platform/ext/target/arm/corstone1000/ci_regression_tests/
- cmake --build build -- install
-+ cd ./build/install/outputs/
-+ cat bl2_signed.bin bl2_signed.bin tfm_s_signed.bin > cs1000.bin
-+ cd <path-to-FVP-installation>/models/Linux64_GCC-9.3/
-+ ./FVP_Corstone-1000 -C board.flashloader0.fname="none" -C se.trustedBootROMloader.fname="./<path-to-build-dir>/install/outputs/bl1.bin" -C board.xnvm_size=64 -C se.trustedSRAM_config=6 -C se.BootROM_config="3" -C board.smsc_91c111.enabled=0 -C board.hostbridge.userNetworking=true --data board.flash0=./<path-to-build-dir>/install/outputs/cs1000.bin@0x68100000 -C diagnostics=4 -C disable_visualisation=true -C board.se_flash_size=8192 -C diagnostics=4 -C disable_visualisation=true
-+
-+FPGA
-+----
-
--The binaries will be installed inside:
-+- Follow the above pointed platform user guide to setup the FPGA board.
-+- Use the BL1 generated from the below commands to place it inside FPGA board SD Card.
-+- Use the cs1000.bin created from the below commands to place it inside FPGA board SD Card.
-+
-+.. code-block:: bash
-+
-+ cmake -B build/ -S <tf-m-root>/ -DCMAKE_BUILD_TYPE=Debug -DTFM_TOOLCHAIN_FILE=<tf-m-root>/toolchain_GNUARM.cmake -DTFM_PLATFORM=arm/corstone1000 -DTEST_NS=OFF -DTEST_S=ON -DEXTRA_S_TEST_SUITES_PATHS=<tf-m-root>/trusted-firmware-m/platform/ext/target/arm/corstone1000/ci_regression_tests/ -DTEST_S_PS=OFF -DTEST_S_PLATFORM=OFF
-+ cmake --build build -- install
-+ cd ./build/install/outputs/
-+ cat bl2_signed.bin bl2_signed.bin tfm_s_signed.bin > cs1000.bin
-+ cp bl1.bin <path-to-FPGA-SD-CARD>/SOFTWARE/
-+ cp cs1000.bin <path-to-FPGA-SD-CARD>/SOFTWARE/
-
--.. code-block::
-+FPGA build can not compile all the CI tests into a single build as it exceeds
-+the available RAM size. So there is a need to select few tests but not all.
-+The above configuration disable build of -DTEST_S_PS and -DTEST_S_PLATFORM.
-+Other test configurations are:
-
-- ./build/install/outputs/ARM/CORSTONE1000
-+- -DTEST_S_ATTESTATION=ON/OFF
-+- -DTEST_S_AUDIT=ON/OFF
-+- -DTEST_S_CRYPTO=ON/OFF
-+- -DTEST_S_ITS=ON/OFF
-+- -DTEST_S_PS=ON/OFF
-+- -DTEST_S_PLATFORM=ON/OFF
-
----------------
-+*Copyright (c) 2021-2022, Arm Limited. All rights reserved.*
-
--*Copyright (c) 2021, Arm Limited. All rights reserved.*
-+.. _Arm Ecosystem FVPs: https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps
-+.. _Arm Corstone-1000 User Guide: https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-docs/-/blob/CORSTONE1000-2022.04.19/docs/embedded-a/corstone1000/user-guide.rst
-diff --git a/platform/ext/target/arm/corstone1000/CMakeLists.txt b/platform/ext/target/arm/corstone1000/CMakeLists.txt
-index 39d7b03455..81522c7cf0 100644
---- a/platform/ext/target/arm/corstone1000/CMakeLists.txt
-+++ b/platform/ext/target/arm/corstone1000/CMakeLists.txt
-@@ -18,7 +18,7 @@ target_include_directories(platform_region_defs
-
- target_compile_definitions(platform_region_defs
- INTERFACE
-- $<$<BOOL:${TEST_S}>:TEST_S>
-+ $<$<BOOL:${TFM_S_REG_TEST}>:TFM_S_REG_TEST>
- )
- #========================= Platform common defs ===============================#
-
-@@ -75,7 +75,7 @@ target_sources(platform_s
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
- fw_update_agent/uefi_capsule_parser.c
- fw_update_agent/fwu_agent.c
-- $<$<BOOL:${TEST_S}>:${CMAKE_CURRENT_SOURCE_DIR}/target_cfg.c>
-+ $<$<BOOL:${TFM_S_REG_TEST}>:${CMAKE_CURRENT_SOURCE_DIR}/target_cfg.c>
- )
-
- if (PLATFORM_IS_FVP)
-@@ -96,7 +96,7 @@ endif()
- target_compile_definitions(platform_s
- PRIVATE
- $<$<BOOL:${PLATFORM_IS_FVP}>:PLATFORM_IS_FVP>
-- $<$<BOOL:${TEST_S}>:TEST_S>
-+ $<$<BOOL:${TFM_S_REG_TEST}>:TFM_S_REG_TEST>
- $<$<BOOL:${EXTERNAL_SYSTEM_SUPPORT}>:EXTERNAL_SYSTEM_SUPPORT>
- )
-
-@@ -136,7 +136,7 @@ endif()
- target_compile_definitions(platform_bl2
- PRIVATE
- $<$<BOOL:${PLATFORM_IS_FVP}>:PLATFORM_IS_FVP>
-- $<$<BOOL:${TEST_S}>:TEST_S>
-+ $<$<BOOL:${TFM_S_REG_TEST}>:TFM_S_REG_TEST>
- )
-
- # boot_hal_bl2.c is compiled as part of 'bl2' target and not inside
-diff --git a/platform/ext/target/arm/corstone1000/bl1/CMakeLists.txt b/platform/ext/target/arm/corstone1000/bl1/CMakeLists.txt
-index 369695f148..d39c5ae91d 100644
---- a/platform/ext/target/arm/corstone1000/bl1/CMakeLists.txt
-+++ b/platform/ext/target/arm/corstone1000/bl1/CMakeLists.txt
-@@ -291,7 +291,7 @@ target_compile_definitions(signing_layout_for_bl2
- PRIVATE
- MCUBOOT_IMAGE_NUMBER=${BL1_IMAGE_NUMBER}
- BL1
-- $<$<BOOL:${TEST_S}>:TEST_S>
-+ $<$<BOOL:${TFM_S_REG_TEST}>:TFM_S_REG_TEST>
- )
-
- target_include_directories(signing_layout_for_bl2
-diff --git a/platform/ext/target/arm/corstone1000/bl2_flash_map.c b/platform/ext/target/arm/corstone1000/bl2_flash_map.c
-index 6bffa274df..0a6a592d94 100644
---- a/platform/ext/target/arm/corstone1000/bl2_flash_map.c
-+++ b/platform/ext/target/arm/corstone1000/bl2_flash_map.c
-@@ -38,6 +38,7 @@ struct flash_area flash_map[] = {
- .fa_off = FLASH_AREA_1_OFFSET,
- .fa_size = FLASH_AREA_1_SIZE,
- },
-+#ifndef TFM_S_REG_TEST
- {
- .fa_id = FLASH_AREA_2_ID,
- .fa_device_id = FLASH_DEVICE_ID,
-@@ -52,6 +53,7 @@ struct flash_area flash_map[] = {
- .fa_off = FLASH_INVALID_OFFSET,
- .fa_size = FLASH_INVALID_SIZE,
- },
-+#endif
- };
-
- const int flash_map_entry_num = ARRAY_SIZE(flash_map);
-diff --git a/platform/ext/target/arm/corstone1000/boot_hal_bl2.c b/platform/ext/target/arm/corstone1000/boot_hal_bl2.c
-index 792e06f81e..134315a17b 100644
---- a/platform/ext/target/arm/corstone1000/boot_hal_bl2.c
-+++ b/platform/ext/target/arm/corstone1000/boot_hal_bl2.c
-@@ -100,10 +100,12 @@ int32_t boot_platform_init(void)
- return 1;
- }
-
-+#ifndef TFM_S_REG_TEST
- result = fill_bl2_flash_map_by_parsing_fips(BANK_0_PARTITION_OFFSET);
- if (result) {
- return 1;
- }
-+#endif
-
- result = FLASH_DEV_NAME.Initialize(NULL);
- if (result != ARM_DRIVER_OK) {
-diff --git a/platform/ext/target/arm/corstone1000/config.cmake b/platform/ext/target/arm/corstone1000/config.cmake
-index a3399db318..a6a1a33c42 100644
---- a/platform/ext/target/arm/corstone1000/config.cmake
-+++ b/platform/ext/target/arm/corstone1000/config.cmake
-@@ -13,8 +13,15 @@ set(DEFAULT_MCUBOOT_FLASH_MAP OFF CACHE BOOL "Whether to us
- set(MCUBOOT_UPGRADE_STRATEGY "RAM_LOAD" CACHE STRING "Upgrade strategy when multiple boot images are loaded")
- set(MCUBOOT_SECURITY_COUNTER_S "1" CACHE STRING "Security counter for S image. auto sets it to IMAGE_VERSION_S")
-
--set(TFM_ISOLATION_LEVEL 2 CACHE STRING "Isolation level")
--set(MCUBOOT_IMAGE_NUMBER 2 CACHE STRING "Whether to combine S and NS into either 1 image, or sign each separately")
-+if (TEST_S OR TEST_S_ATTESTATION OR TEST_S_AUDIT OR TEST_S_CRYPTO OR TEST_S_ITS OR TEST_S_PS OR TEST_S_PLATFORM OR EXTRA_S_TEST_SUITES_PATHS)
-+ # Test configuration: host images are not needed and work only with isolation level 1
-+ set(MCUBOOT_IMAGE_NUMBER 1 CACHE STRING "Whether to combine S and NS into either 1 image, or sign each separately")
-+ set(TFM_ISOLATION_LEVEL 1 CACHE STRING "Isolation level")
-+else()
-+ set(MCUBOOT_IMAGE_NUMBER 2 CACHE STRING "Whether to combine S and NS into either 1 image, or sign each separately")
-+ set(TFM_ISOLATION_LEVEL 2 CACHE STRING "Isolation level")
-+endif()
-+
- set(TFM_MULTI_CORE_TOPOLOGY ON CACHE BOOL "Whether to build for a dual-cpu architecture")
- set(TFM_PLAT_SPECIFIC_MULTI_CORE_COMM ON CACHE BOOL "Whether to use a platform specific inter core communication instead of mailbox in dual-cpu topology")
- set(CRYPTO_HW_ACCELERATOR ON CACHE BOOL "Whether to enable the crypto hardware accelerator on supported platforms")
-diff --git a/platform/ext/target/arm/corstone1000/partition/flash_layout.h b/platform/ext/target/arm/corstone1000/partition/flash_layout.h
-index aa5a8fe463..b0319bb319 100644
---- a/platform/ext/target/arm/corstone1000/partition/flash_layout.h
-+++ b/platform/ext/target/arm/corstone1000/partition/flash_layout.h
-@@ -119,7 +119,7 @@
- *
- */
- #define SE_BL2_PARTITION_SIZE (0x19000) /* 100 KB */
--#ifdef TEST_S
-+#ifdef TFM_S_REG_TEST
- #define TFM_PARTITION_SIZE (0x61C00) /* 391 KB */
- #else
- #define TFM_PARTITION_SIZE (0x5E000) /* 376 KB */
-diff --git a/platform/ext/target/arm/corstone1000/tfm_hal_multi_core.c b/platform/ext/target/arm/corstone1000/tfm_hal_multi_core.c
-index 8622844d91..1146ffe22a 100644
---- a/platform/ext/target/arm/corstone1000/tfm_hal_multi_core.c
-+++ b/platform/ext/target/arm/corstone1000/tfm_hal_multi_core.c
-@@ -31,6 +31,7 @@ void tfm_hal_boot_ns_cpu(uintptr_t start_addr)
- /* Switch the shared flash to XiP mode for the host */
- Select_XIP_Mode_For_Shared_Flash();
-
-+#ifndef TFM_S_REG_TEST
- volatile uint32_t *bir_base = (uint32_t *)CORSTONE1000_HOST_BIR_BASE;
-
- /* Program Boot Instruction Register to jump to BL2 (TF-A) base address
-@@ -68,6 +69,7 @@ void tfm_hal_boot_ns_cpu(uintptr_t start_addr)
- /*release EXT SYS out of reset*/
- tfm_external_system_boot();
- #endif
-+#endif /* !TFM_S_REG_TEST */
- }
-
- void tfm_hal_wait_for_ns_cpu_ready(void)
---
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0004-Platform-Partition-Allow-configuration-of-input-and-.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0004-Platform-Partition-Allow-configuration-of-input-and-.patch
deleted file mode 100644
index 211fb9e669..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0004-Platform-Partition-Allow-configuration-of-input-and-.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From f3686dfb8fb97cb42c3d4f8ee2d7aa736d5cb760 Mon Sep 17 00:00:00 2001
-From: Satish Kumar <satish.kumar01@arm.com>
-Date: Wed, 3 Aug 2022 15:50:27 +0100
-Subject: [PATCH 4/6] Platform Partition: Allow configuration of input and
- output buffer
-
-The change makes input and output buffer size macros used by
-the platform partition to be configured by cmake. This will
-allow platforms to set the buffer size accordingly.
-
-Change-Id: Ia492ce02f8744b0157228d9be51a9ec5b7c88ef6
-Signed-off-by: Satish Kumar <satish.kumar01@arm.com>
-Upstream-Status: Accepted [TF-Mv1.7.0]
----
- config/config_default.cmake | 2 ++
- secure_fw/partitions/platform/CMakeLists.txt | 6 ++++++
- secure_fw/partitions/platform/platform_sp.c | 9 +++++++--
- 3 files changed, 15 insertions(+), 2 deletions(-)
-
-diff --git a/config/config_default.cmake b/config/config_default.cmake
-index 3112b707bc..497c972dc9 100755
---- a/config/config_default.cmake
-+++ b/config/config_default.cmake
-@@ -141,6 +141,8 @@ set(ATTEST_INCLUDE_OPTIONAL_CLAIMS ON CACHE BOOL "Include opt
- set(ATTEST_INCLUDE_COSE_KEY_ID OFF CACHE BOOL "Include COSE key-id in initial attestation token")
-
- set(TFM_PARTITION_PLATFORM ON CACHE BOOL "Enable Platform partition")
-+set(PLATFORM_SERVICE_INPUT_BUFFER_SIZE 64 CACHE STRING "Size of input buffer in platform service.")
-+set(PLATFORM_SERVICE_OUTPUT_BUFFER_SIZE 64 CACHE STRING "Size of output buffer in platform service.")
-
- set(TFM_PARTITION_AUDIT_LOG OFF CACHE BOOL "Enable Audit Log partition")
-
-diff --git a/secure_fw/partitions/platform/CMakeLists.txt b/secure_fw/partitions/platform/CMakeLists.txt
-index 4b37cd780c..3070f89d6d 100644
---- a/secure_fw/partitions/platform/CMakeLists.txt
-+++ b/secure_fw/partitions/platform/CMakeLists.txt
-@@ -47,6 +47,12 @@ target_link_libraries(tfm_psa_rot_partition_platform
- tfm_spm
- )
-
-+target_compile_definitions(tfm_psa_rot_partition_platform
-+ PRIVATE
-+ INPUT_BUFFER_SIZE=${PLATFORM_SERVICE_INPUT_BUFFER_SIZE}
-+ OUTPUT_BUFFER_SIZE=${PLATFORM_SERVICE_OUTPUT_BUFFER_SIZE}
-+)
-+
- ############################ Secure API ########################################
-
- target_sources(tfm_sprt
-diff --git a/secure_fw/partitions/platform/platform_sp.c b/secure_fw/partitions/platform/platform_sp.c
-index 673cb0ee06..87bd434720 100644
---- a/secure_fw/partitions/platform/platform_sp.c
-+++ b/secure_fw/partitions/platform/platform_sp.c
-@@ -38,8 +38,13 @@ static const int32_t nv_counter_access_map[NV_COUNTER_MAP_SIZE] = {
- #include "psa/service.h"
- #include "region_defs.h"
-
--#define INPUT_BUFFER_SIZE 64
--#define OUTPUT_BUFFER_SIZE 64
-+#ifndef INPUT_BUFFER_SIZE
-+#define INPUT_BUFFER_SIZE 64
-+#endif
-+
-+#ifndef OUTPUT_BUFFER_SIZE
-+#define OUTPUT_BUFFER_SIZE 64
-+#endif
-
- typedef enum tfm_platform_err_t (*plat_func_t)(const psa_msg_t *msg);
- #endif /* TFM_PSA_API */
---
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0005-corstone1000-support-for-UEFI-FMP-image-Information.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0005-corstone1000-support-for-UEFI-FMP-image-Information.patch
deleted file mode 100644
index 14e4b7ff8e..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0005-corstone1000-support-for-UEFI-FMP-image-Information.patch
+++ /dev/null
@@ -1,573 +0,0 @@
-From 9d70628b7dc1dbc3c1ac7f4f3c0f6aa6b237510d Mon Sep 17 00:00:00 2001
-From: Satish Kumar <satish.kumar01@arm.com>
-Date: Wed, 6 Jul 2022 11:19:39 +0100
-Subject: [PATCH 5/6] corstone1000: support for UEFI FMP image Information
-
-The commit provides the support for UEFI FMP (Firmware Management
-Protocol) SET and GET Image info APIs.
-
-The APIs to SET and GET image info is implemented. In current design,
-SET is called by secure encalve and GET is called by the host.
-
-FMP image information is initialized on every boot and retained
-in SRAM. The updatable values of the FMP are stored in private
-metadata section of the flash.
-
-Change-Id: Iaf0b4a13a9c24f05e4a32509e61a8b96ee8e9e4b
-Signed-off-by: Satish Kumar <satish.kumar01@arm.com>
-Upstream-Status: Accepted [TF-Mv1.7.0]
----
- .../target/arm/corstone1000/CMakeLists.txt | 2 +
- .../ext/target/arm/corstone1000/config.cmake | 8 +-
- .../corstone1000/fw_update_agent/fwu_agent.c | 61 ++++-
- .../corstone1000/fw_update_agent/fwu_agent.h | 3 +
- .../corstone1000/fw_update_agent/uefi_fmp.c | 240 ++++++++++++++++++
- .../corstone1000/fw_update_agent/uefi_fmp.h | 56 ++++
- .../include/corstone1000_ioctl_requests.h | 14 +-
- .../services/src/tfm_platform_system.c | 9 +
- 8 files changed, 374 insertions(+), 19 deletions(-)
- create mode 100644 platform/ext/target/arm/corstone1000/fw_update_agent/uefi_fmp.c
- create mode 100644 platform/ext/target/arm/corstone1000/fw_update_agent/uefi_fmp.h
-
-diff --git a/platform/ext/target/arm/corstone1000/CMakeLists.txt b/platform/ext/target/arm/corstone1000/CMakeLists.txt
-index 81522c7cf0..3602312a3a 100644
---- a/platform/ext/target/arm/corstone1000/CMakeLists.txt
-+++ b/platform/ext/target/arm/corstone1000/CMakeLists.txt
-@@ -76,6 +76,8 @@ target_sources(platform_s
- fw_update_agent/uefi_capsule_parser.c
- fw_update_agent/fwu_agent.c
- $<$<BOOL:${TFM_S_REG_TEST}>:${CMAKE_CURRENT_SOURCE_DIR}/target_cfg.c>
-+ fw_update_agent/uefi_fmp.c
-+ $<$<NOT:$<BOOL:${PLATFORM_DEFAULT_OTP}>>:${PLATFORM_DIR}/ext/accelerator/cc312/otp_cc312.c>
- )
-
- if (PLATFORM_IS_FVP)
-diff --git a/platform/ext/target/arm/corstone1000/config.cmake b/platform/ext/target/arm/corstone1000/config.cmake
-index a6a1a33c42..ab0fe17ba8 100644
---- a/platform/ext/target/arm/corstone1000/config.cmake
-+++ b/platform/ext/target/arm/corstone1000/config.cmake
-@@ -50,7 +50,9 @@ else()
- set(PLATFORM_PSA_ADAC_SECURE_DEBUG FALSE CACHE BOOL "Whether to use psa-adac secure debug.")
- endif()
-
--set(DEFAULT_MCUBOOT_SECURITY_COUNTERS OFF CACHE BOOL "Whether to use the default security counter configuration defined by TF-M project")
-+set(DEFAULT_MCUBOOT_SECURITY_COUNTERS OFF CACHE BOOL "Whether to use the default security counter configuration defined by TF-M project")
-
--set(PS_ENCRYPTION OFF CACHE BOOL "Enable encryption for Protected Storage partition")
--set(PS_ROLLBACK_PROTECTION OFF CACHE BOOL "Enable rollback protection for Protected Storage partition")
-+set(PS_ENCRYPTION OFF CACHE BOOL "Enable encryption for Protected Storage partition")
-+set(PS_ROLLBACK_PROTECTION OFF CACHE BOOL "Enable rollback protection for Protected Storage partition")
-+
-+set(PLATFORM_SERVICE_OUTPUT_BUFFER_SIZE 256 CACHE STRING "Size of output buffer in platform service.")
-diff --git a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
-index 3abb5dd0dc..72a5fc9c1d 100644
---- a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
-+++ b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
-@@ -18,6 +18,7 @@
- #include "platform_description.h"
- #include "tfm_plat_nv_counters.h"
- #include "tfm_plat_defs.h"
-+#include "uefi_fmp.h"
-
- /* Properties of image in a bank */
- struct fwu_image_properties {
-@@ -84,6 +85,11 @@ struct fwu_private_metadata {
- /* staged nv_counter: temprary location before written to the otp */
- uint32_t nv_counter[NR_OF_IMAGES_IN_FW_BANK];
-
-+ /* FMP information */
-+ uint32_t fmp_version;
-+ uint32_t fmp_last_attempt_version;
-+ uint32_t fmp_last_attempt_status;
-+
- } __packed;
-
- #define MAX_BOOT_ATTEMPTS_PER_BANK 3
-@@ -278,7 +284,7 @@ enum fwu_agent_error_t fwu_metadata_provision(void)
- {
- enum fwu_agent_error_t ret;
- struct fwu_private_metadata priv_metadata;
-- uint32_t image_version = 0;
-+ uint32_t image_version = FWU_IMAGE_INITIAL_VERSION;
-
- FWU_LOG_MSG("%s: enter\n\r", __func__);
-
-@@ -302,8 +308,8 @@ enum fwu_agent_error_t fwu_metadata_provision(void)
- memset(&_metadata, 0, sizeof(struct fwu_metadata));
-
- _metadata.version = 1;
-- _metadata.active_index = 0;
-- _metadata.previous_active_index = 1;
-+ _metadata.active_index = BANK_0;
-+ _metadata.previous_active_index = BANK_1;
-
- /* bank 0 is the place where images are located at the
- * start of device lifecycle */
-@@ -339,6 +345,10 @@ enum fwu_agent_error_t fwu_metadata_provision(void)
- priv_metadata.boot_index = BANK_0;
- priv_metadata.boot_attempted = 0;
-
-+ priv_metadata.fmp_version = FWU_IMAGE_INITIAL_VERSION;
-+ priv_metadata.fmp_last_attempt_version = FWU_IMAGE_INITIAL_VERSION;
-+ priv_metadata.fmp_last_attempt_status = LAST_ATTEMPT_STATUS_SUCCESS;
-+
- ret = private_metadata_write(&priv_metadata);
- if (ret) {
- return ret;
-@@ -540,9 +550,25 @@ enum fwu_agent_error_t corstone1000_fwu_flash_image(void)
- &image_bank_offset);
- switch(image_index) {
- case IMAGE_ALL:
-+
- ret = flash_full_capsule(&_metadata, capsule_info.image[i],
- capsule_info.size[i],
- capsule_info.version[i]);
-+
-+ if (ret != FWU_AGENT_SUCCESS) {
-+
-+ priv_metadata.fmp_last_attempt_version = capsule_info.version[i];
-+ priv_metadata.fmp_last_attempt_status = LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL;
-+
-+ private_metadata_write(&priv_metadata);
-+
-+ fmp_set_image_info(&full_capsule_image_guid,
-+ priv_metadata.fmp_version,
-+ priv_metadata.fmp_last_attempt_version,
-+ priv_metadata.fmp_last_attempt_status);
-+ }
-+
-+
- break;
- default:
- FWU_LOG_MSG("%s: sent image not recognized\n\r", __func__);
-@@ -866,17 +892,42 @@ enum fwu_agent_error_t corstone1000_fwu_host_ack(void)
-
- current_state = get_fwu_agent_state(&_metadata, &priv_metadata);
- if (current_state == FWU_AGENT_STATE_REGULAR) {
-+
- ret = FWU_AGENT_SUCCESS; /* nothing to be done */
-+
-+ fmp_set_image_info(&full_capsule_image_guid,
-+ priv_metadata.fmp_version,
-+ priv_metadata.fmp_last_attempt_version,
-+ priv_metadata.fmp_last_attempt_status);
-+
- goto out;
-+
- } else if (current_state != FWU_AGENT_STATE_TRIAL) {
- FWU_ASSERT(0);
- }
-
- if (_metadata.active_index != priv_metadata.boot_index) {
-+
- /* firmware update failed, revert back to previous bank */
-+
-+ priv_metadata.fmp_last_attempt_version =
-+ _metadata.img_entry[IMAGE_0].img_props[_metadata.active_index].version;
-+
-+ priv_metadata.fmp_last_attempt_status = LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL;
-+
- ret = fwu_select_previous(&_metadata, &priv_metadata);
-+
- } else {
-+
- /* firmware update successful */
-+
-+ priv_metadata.fmp_version =
-+ _metadata.img_entry[IMAGE_0].img_props[_metadata.active_index].version;
-+ priv_metadata.fmp_last_attempt_version =
-+ _metadata.img_entry[IMAGE_0].img_props[_metadata.active_index].version;
-+
-+ priv_metadata.fmp_last_attempt_status = LAST_ATTEMPT_STATUS_SUCCESS;
-+
- ret = fwu_accept_image(&full_capsule_image_guid, &_metadata,
- &priv_metadata);
- if (!ret) {
-@@ -886,6 +937,10 @@ enum fwu_agent_error_t corstone1000_fwu_host_ack(void)
-
- if (ret == FWU_AGENT_SUCCESS) {
- disable_host_ack_timer();
-+ fmp_set_image_info(&full_capsule_image_guid,
-+ priv_metadata.fmp_version,
-+ priv_metadata.fmp_last_attempt_version,
-+ priv_metadata.fmp_last_attempt_status);
- }
-
- out:
-diff --git a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.h b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.h
-index 57b07e8d2c..aa18179024 100644
---- a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.h
-+++ b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.h
-@@ -30,6 +30,9 @@ enum fwu_agent_error_t {
- } \
-
-
-+/* Version used for the very first image of the device. */
-+#define FWU_IMAGE_INITIAL_VERSION 0
-+
- enum fwu_agent_error_t fwu_metadata_provision(void);
- enum fwu_agent_error_t fwu_metadata_init(void);
-
-diff --git a/platform/ext/target/arm/corstone1000/fw_update_agent/uefi_fmp.c b/platform/ext/target/arm/corstone1000/fw_update_agent/uefi_fmp.c
-new file mode 100644
-index 0000000000..ce576e1794
---- /dev/null
-+++ b/platform/ext/target/arm/corstone1000/fw_update_agent/uefi_fmp.c
-@@ -0,0 +1,240 @@
-+/*
-+ * Copyright (c) 2022, Arm Limited. All rights reserved.
-+ *
-+ * SPDX-License-Identifier: BSD-3-Clause
-+ *
-+ */
-+
-+#include <string.h>
-+#include <stdbool.h>
-+#include "cmsis.h"
-+#include "uefi_fmp.h"
-+
-+/* The count will increase when partial update is supported.
-+ * At present, only full WIC is considered as updatable image.
-+ */
-+#define NUMBER_OF_FMP_IMAGES 1
-+#define NO_OF_FMP_VARIABLES_PER_IMAGE 6
-+
-+#define UEFI_ARCHITECTURE_64
-+
-+#ifdef UEFI_ARCHITECTURE_64
-+typedef uint64_t uefi_ptr_t;
-+typedef uint64_t efi_uintn_t;
-+#else
-+typedef uint32_t uefi_ptr_t;
-+typedef uint32_t efi_uintn_t;
-+#endif
-+
-+/* Below macro definations and struct declarations taken from UEFI spec 2.9 */
-+
-+/*
-+ * Image Attribute Definitions
-+ */
-+#define IMAGE_ATTRIBUTE_IMAGE_UPDATABLE 0x00000001
-+#define IMAGE_ATTRIBUTE_RESET_REQUIRED 0x00000002
-+#define IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x00000004
-+#define IMAGE_ATTRIBUTE_IN_USE 0x00000008
-+#define IMAGE_ATTRIBUTE_UEFI_IMAGE 0x00000010
-+#define IMAGE_ATTRIBUTE_DEPENDENCY 0x00000020
-+
-+typedef uint32_t DescriptorVersion_t;
-+typedef uint32_t DescriptorSize_t;
-+typedef uint8_t DescriptorCount_t;
-+
-+typedef __PACKED_STRUCT {
-+ uint8_t ImageIndex;
-+ struct efi_guid ImageTypeId;
-+ uint64_t ImageId;
-+ uefi_ptr_t PtrImageIdName;
-+ uint32_t Version;
-+ uefi_ptr_t PtrVersionName;
-+ efi_uintn_t Size;
-+ uint64_t AttributesSupported;
-+ uint64_t AttributesSetting;
-+ uint64_t Compatibilities;
-+ /* Introduced with DescriptorVersion 2+ */
-+ uint32_t LowestSupportedImageVersion;
-+ /* Introduced with DescriptorVersion 3+ */
-+ uint32_t LastAttemptVersion;
-+ uint32_t LastAttemptStatus;
-+ uint64_t HardwareInstance;
-+ /* Introduced with DescriptorVersion 4+ */
-+ uefi_ptr_t PtrDependencies;
-+} EFI_FIRMWARE_IMAGE_DESCRIPTOR;
-+
-+typedef __PACKED_STRUCT {
-+ DescriptorVersion_t DescriptorVersion;
-+ DescriptorSize_t DescriptorsSize;
-+ DescriptorCount_t DescriptorCount;
-+ EFI_FIRMWARE_IMAGE_DESCRIPTOR ImageDescriptor;
-+ uint16_t *ImageName;
-+ uint32_t ImageNameSize;
-+ uint16_t *ImageVersionName;
-+ uint32_t ImageVersionNameSize;
-+} EFI_FIRMWARE_MANAGEMENT_PROTOCOL_IMAGE_INFO;
-+
-+
-+static uint16_t corstone_image_name0[] = { 'C', 'O', 'R', 'S', 'T', 'O', 'N', 'E', '1', '0', '0', '0', '_', 'W', 'I', 'C', '\0' };
-+static uint16_t corstone_version_name0[] = { 'C', 'O', 'R', 'S', 'T', 'O', 'N', 'E', '1', '0', '0', '0', '_', 'B', 'E', 'S', 'T', '\0'};
-+
-+static EFI_FIRMWARE_MANAGEMENT_PROTOCOL_IMAGE_INFO fmp_info[NUMBER_OF_FMP_IMAGES];
-+
-+extern struct efi_guid full_capsule_image_guid;
-+
-+static bool is_fmp_info_initialized = false;
-+
-+static void init_fmp_info(void)
-+{
-+ memset(fmp_info, 0,
-+ sizeof(EFI_FIRMWARE_MANAGEMENT_PROTOCOL_IMAGE_INFO) * NUMBER_OF_FMP_IMAGES);
-+
-+ /* Fill information for the WIC.
-+ * Add further details when partial image is supported.
-+ */
-+
-+ fmp_info[0].DescriptorVersion = 4;
-+ fmp_info[0].DescriptorCount = NUMBER_OF_FMP_IMAGES;
-+ fmp_info[0].DescriptorsSize =
-+ sizeof(EFI_FIRMWARE_IMAGE_DESCRIPTOR) +
-+ sizeof(corstone_image_name0) + sizeof(corstone_version_name0);
-+
-+ fmp_info[0].ImageDescriptor.ImageIndex = 1;
-+
-+ memcpy(&fmp_info[0].ImageDescriptor.ImageTypeId, &full_capsule_image_guid,
-+ sizeof(struct efi_guid));
-+
-+ fmp_info[0].ImageDescriptor.ImageId = 1;
-+ fmp_info[0].ImageDescriptor.Version = FWU_IMAGE_INITIAL_VERSION;
-+ fmp_info[0].ImageDescriptor.AttributesSupported = 1;
-+ fmp_info[0].ImageDescriptor.AttributesSetting = (
-+ IMAGE_ATTRIBUTE_IMAGE_UPDATABLE | IMAGE_ATTRIBUTE_RESET_REQUIRED);
-+ fmp_info[0].ImageDescriptor.LowestSupportedImageVersion =
-+ FWU_IMAGE_INITIAL_VERSION;
-+ fmp_info[0].ImageDescriptor.LastAttemptVersion = FWU_IMAGE_INITIAL_VERSION;
-+ fmp_info[0].ImageDescriptor.LastAttemptStatus = LAST_ATTEMPT_STATUS_SUCCESS;
-+
-+ fmp_info[0].ImageName = corstone_image_name0;
-+ fmp_info[0].ImageNameSize = sizeof(corstone_image_name0);
-+ fmp_info[0].ImageVersionName = corstone_version_name0;
-+ fmp_info[0].ImageVersionNameSize = sizeof(corstone_version_name0);
-+
-+ is_fmp_info_initialized = true;
-+
-+ return;
-+}
-+
-+enum fwu_agent_error_t fmp_set_image_info(struct efi_guid *guid,
-+ uint32_t current_version, uint32_t attempt_version,
-+ uint32_t last_attempt_status)
-+{
-+ enum fwu_agent_error_t status = FWU_AGENT_ERROR;
-+
-+ FWU_LOG_MSG("%s:%d Enter\n\r", __func__, __LINE__);
-+
-+ if (is_fmp_info_initialized == false) {
-+ init_fmp_info();
-+ }
-+
-+ for (int i = 0; i < NUMBER_OF_FMP_IMAGES; i++) {
-+ if ((memcmp(guid, &fmp_info[i].ImageDescriptor.ImageTypeId,
-+ sizeof(struct efi_guid))) == 0)
-+ {
-+ FWU_LOG_MSG("FMP image update: image id = %u\n\r",
-+ fmp_info[i].ImageDescriptor.ImageId);
-+ fmp_info[i].ImageDescriptor.Version = current_version;
-+ fmp_info[i].ImageDescriptor.LastAttemptVersion = attempt_version;
-+ fmp_info[i].ImageDescriptor.LastAttemptStatus = last_attempt_status;
-+ FWU_LOG_MSG("FMP image update: status = %u"
-+ "version=%u last_attempt_version=%u.\n\r",
-+ last_attempt_status, current_version,
-+ attempt_version);
-+ status = FWU_AGENT_SUCCESS;
-+ break;
-+ }
-+ }
-+
-+ FWU_LOG_MSG("%s:%d Exit.\n\r", __func__, __LINE__);
-+ return status;
-+}
-+
-+
-+#define NO_OF_FMP_VARIABLES (NUMBER_OF_FMP_IMAGES * NO_OF_FMP_VARIABLES_PER_IMAGE)
-+
-+static enum fwu_agent_error_t pack_image_info(void *buffer, uint32_t size)
-+{
-+ typedef __PACKED_STRUCT {
-+ uint32_t variable_count;
-+ uint32_t variable_size[NO_OF_FMP_VARIABLES];
-+ uint8_t variable[];
-+ } packed_buffer_t;
-+
-+ packed_buffer_t *packed_buffer = buffer;
-+ int runner = 0;
-+ int index = 0;
-+ int current_size = sizeof(packed_buffer_t);
-+ int size_requirement_1 = 0;
-+ int size_requirement_2 = 0;
-+
-+ if (size < current_size) {
-+ FWU_LOG_MSG("%s:%d Buffer too small.\n\r", __func__, __LINE__);
-+ return FWU_AGENT_ERROR;
-+ }
-+
-+ packed_buffer->variable_count = NO_OF_FMP_VARIABLES;
-+
-+ for (int i = 0; i < NUMBER_OF_FMP_IMAGES; i++) {
-+
-+ packed_buffer->variable_size[index++] = sizeof(DescriptorVersion_t);
-+ packed_buffer->variable_size[index++] = sizeof(DescriptorSize_t);
-+ packed_buffer->variable_size[index++] = sizeof(DescriptorCount_t);
-+ packed_buffer->variable_size[index++] = sizeof(EFI_FIRMWARE_IMAGE_DESCRIPTOR);
-+ packed_buffer->variable_size[index++] = fmp_info[i].ImageNameSize;
-+ packed_buffer->variable_size[index++] = fmp_info[i].ImageVersionNameSize;
-+
-+ size_requirement_1 = sizeof(DescriptorVersion_t) + sizeof(DescriptorSize_t) +
-+ sizeof(DescriptorCount_t) + sizeof(EFI_FIRMWARE_IMAGE_DESCRIPTOR);
-+
-+ size_requirement_2 = fmp_info[i].ImageNameSize + fmp_info[i].ImageVersionNameSize;
-+
-+ current_size += size_requirement_1 + size_requirement_2;
-+
-+ if (size < current_size) {
-+ FWU_LOG_MSG("%s:%d Buffer too small.\n\r", __func__, __LINE__);
-+ return FWU_AGENT_ERROR;
-+ }
-+
-+ FWU_LOG_MSG("%s:%d ImageInfo size = %u, ImageName size = %u, "
-+ "ImageVersionName size = %u\n\r", __func__, __LINE__,
-+ sizeof(EFI_FIRMWARE_IMAGE_DESCRIPTOR), fmp_info[i].ImageNameSize,
-+ fmp_info[i].ImageVersionNameSize);
-+
-+ memcpy(&packed_buffer->variable[runner], &fmp_info[i], size_requirement_1);
-+ runner += size_requirement_1;
-+
-+ memcpy(&packed_buffer->variable[runner], fmp_info[i].ImageName,
-+ fmp_info[i].ImageNameSize);
-+ runner += fmp_info[i].ImageNameSize;
-+
-+ memcpy(&packed_buffer->variable[runner], fmp_info[i].ImageVersionName,
-+ fmp_info[i].ImageVersionNameSize);
-+ runner += fmp_info[i].ImageVersionNameSize;
-+
-+ }
-+
-+ return FWU_AGENT_SUCCESS;
-+}
-+
-+enum fwu_agent_error_t fmp_get_image_info(void *buffer, uint32_t size)
-+{
-+ enum fwu_agent_error_t status;
-+
-+ FWU_LOG_MSG("%s:%d Enter\n\r", __func__, __LINE__);
-+
-+ status = pack_image_info(buffer, size);
-+
-+ FWU_LOG_MSG("%s:%d Exit\n\r", __func__, __LINE__);
-+
-+ return status;
-+}
-+
-diff --git a/platform/ext/target/arm/corstone1000/fw_update_agent/uefi_fmp.h b/platform/ext/target/arm/corstone1000/fw_update_agent/uefi_fmp.h
-new file mode 100644
-index 0000000000..d876bd7cff
---- /dev/null
-+++ b/platform/ext/target/arm/corstone1000/fw_update_agent/uefi_fmp.h
-@@ -0,0 +1,56 @@
-+/*
-+ * Copyright (c) 2022, Arm Limited. All rights reserved.
-+ *
-+ * SPDX-License-Identifier: BSD-3-Clause
-+ *
-+ */
-+
-+#ifndef UEFI_FMP_H
-+#define UEFI_FMP_H
-+
-+
-+#include <stdint.h>
-+#include "fwu_agent.h"
-+#include "../fip_parser/external/uuid.h"
-+
-+/*
-+ * Last Attempt Status Value
-+ */
-+
-+#define LAST_ATTEMPT_STATUS_SUCCESS 0x00000000
-+#define LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL 0x00000001
-+#define LAST_ATTEMPT_STATUS_ERROR_INSUFFICIENT_RESOURCES 0x00000002
-+#define LAST_ATTEMPT_STATUS_ERROR_INCORRECT_VERSION 0x00000003
-+#define LAST_ATTEMPT_STATUS_ERROR_INVALID_FORMAT 0x00000004
-+#define LAST_ATTEMPT_STATUS_ERROR_AUTH_ERROR 0x00000005
-+#define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_AC 0x00000006
-+#define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_BATT 0x00000007
-+#define LAST_ATTEMPT_STATUS_ERROR_UNSATISFIED_DEPENDENCIES 0x00000008
-+/* The LastAttemptStatus values of 0x1000 - 0x4000 are reserved for vendor usage. */
-+#define LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL_VENDOR_RANGE_MIN 0x00001000
-+#define LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL_VENDOR_RANGE_MAX 0x00004000
-+
-+
-+
-+/*
-+ * Updates FMP information for the image matched by guid.
-+ *
-+ * guid : guid of the image
-+ * current_version: current versions for the image
-+ * attempt_version: attempted versions for the image
-+ *
-+ */
-+enum fwu_agent_error_t fmp_set_image_info(struct efi_guid *guid,
-+ uint32_t current_version, uint32_t attempt_version,
-+ uint32_t last_attempt_status);
-+
-+/*
-+ * Return fmp image information for all the updable images.
-+ *
-+ * buffer : pointer to the out buffer
-+ * size : size of the buffer
-+ *
-+ */
-+enum fwu_agent_error_t fmp_get_image_info(void *buffer, uint32_t size);
-+
-+#endif /* UEFI_FMP_H */
-diff --git a/platform/ext/target/arm/corstone1000/services/include/corstone1000_ioctl_requests.h b/platform/ext/target/arm/corstone1000/services/include/corstone1000_ioctl_requests.h
-index 8ac67346b6..c5f3537e9d 100644
---- a/platform/ext/target/arm/corstone1000/services/include/corstone1000_ioctl_requests.h
-+++ b/platform/ext/target/arm/corstone1000/services/include/corstone1000_ioctl_requests.h
-@@ -14,19 +14,7 @@
- enum corstone1000_ioctl_id_t {
- IOCTL_CORSTONE1000_FWU_FLASH_IMAGES = 0,
- IOCTL_CORSTONE1000_FWU_HOST_ACK,
-+ IOCTL_CORSTONE1000_FMP_GET_IMAGE_INFO,
- };
-
--
--typedef struct corstone1000_ioctl_in_params {
--
-- uint32_t ioctl_id;
--
--} corstone1000_ioctl_in_params_t;
--
--typedef struct corstone1000_ioctl_out_params {
--
-- int32_t result;
--
--} corstone1000_ioctl_out_params_t;
--
- #endif /* CORSTONE1000_IOCTL_REQUESTS_H */
-diff --git a/platform/ext/target/arm/corstone1000/services/src/tfm_platform_system.c b/platform/ext/target/arm/corstone1000/services/src/tfm_platform_system.c
-index 5b3f3e14a2..41305ed966 100644
---- a/platform/ext/target/arm/corstone1000/services/src/tfm_platform_system.c
-+++ b/platform/ext/target/arm/corstone1000/services/src/tfm_platform_system.c
-@@ -9,6 +9,7 @@
- #include "platform_description.h"
- #include "corstone1000_ioctl_requests.h"
- #include "fwu_agent.h"
-+#include "uefi_fmp.h"
-
- void tfm_platform_hal_system_reset(void)
- {
-@@ -36,6 +37,14 @@ enum tfm_platform_err_t tfm_platform_hal_ioctl(tfm_platform_ioctl_req_t request,
- corstone1000_fwu_host_ack();
- break;
-
-+ case IOCTL_CORSTONE1000_FMP_GET_IMAGE_INFO:
-+ if (out_vec == NULL) {
-+ ret = TFM_PLATFORM_ERR_INVALID_PARAM;
-+ break;
-+ }
-+ fmp_get_image_info(out_vec[0].base, out_vec[0].len);
-+ break;
-+
- default:
- ret = TFM_PLATFORM_ERR_NOT_SUPPORTED;
- break;
---
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0006-corstone1000-remove-two-partition-configuration.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0006-corstone1000-remove-two-partition-configuration.patch
deleted file mode 100644
index ade2c8c8f5..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0006-corstone1000-remove-two-partition-configuration.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 492c887c8dff97ea1b8a11b4e729620d3744ac38 Mon Sep 17 00:00:00 2001
-From: Satish Kumar <satish.kumar01@arm.com>
-Date: Mon, 30 May 2022 12:38:23 +0100
-Subject: [PATCH 6/6] corstone1000: remove two partition configuration
-
-Previously to run tf-m test, a larger partition was created
-which allowed all default test binaries to be included.
-The patch revert the change because any partition might
-not be enough to hold all test binaries in the future.
-So its better to run few test at a time instead of creating
-a larger partition.
-
-Signed-off-by: Satish Kumar <satish.kumar01@arm.com>
-Change-Id: I223fe45f2de014dbcadc6ac12c321c524701116a
-Upstream-Status: Accepted [TF-Mv1.7.0]
----
- platform/ext/target/arm/corstone1000/bl1/CMakeLists.txt | 1 -
- platform/ext/target/arm/corstone1000/partition/flash_layout.h | 4 ----
- 2 files changed, 5 deletions(-)
-
-diff --git a/platform/ext/target/arm/corstone1000/bl1/CMakeLists.txt b/platform/ext/target/arm/corstone1000/bl1/CMakeLists.txt
-index d39c5ae91d..f1ae1ebd47 100644
---- a/platform/ext/target/arm/corstone1000/bl1/CMakeLists.txt
-+++ b/platform/ext/target/arm/corstone1000/bl1/CMakeLists.txt
-@@ -291,7 +291,6 @@ target_compile_definitions(signing_layout_for_bl2
- PRIVATE
- MCUBOOT_IMAGE_NUMBER=${BL1_IMAGE_NUMBER}
- BL1
-- $<$<BOOL:${TFM_S_REG_TEST}>:TFM_S_REG_TEST>
- )
-
- target_include_directories(signing_layout_for_bl2
-diff --git a/platform/ext/target/arm/corstone1000/partition/flash_layout.h b/platform/ext/target/arm/corstone1000/partition/flash_layout.h
-index b0319bb319..50a0a11fc8 100644
---- a/platform/ext/target/arm/corstone1000/partition/flash_layout.h
-+++ b/platform/ext/target/arm/corstone1000/partition/flash_layout.h
-@@ -119,11 +119,7 @@
- *
- */
- #define SE_BL2_PARTITION_SIZE (0x19000) /* 100 KB */
--#ifdef TFM_S_REG_TEST
--#define TFM_PARTITION_SIZE (0x61C00) /* 391 KB */
--#else
- #define TFM_PARTITION_SIZE (0x5E000) /* 376 KB */
--#endif
- #define FIP_PARTITION_SIZE (0x200000) /* 2 MB */
- #define KERNEL_PARTITION_SIZE (0xC00000) /* 12 MB */
-
---
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0007-corstone1000-adjust-PS-asset-configuration.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0007-corstone1000-adjust-PS-asset-configuration.patch
deleted file mode 100644
index 7fae7b69b0..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/corstone1000/0007-corstone1000-adjust-PS-asset-configuration.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 5be42e1c05205209fc3988f0df30a02da95c2448 Mon Sep 17 00:00:00 2001
-From: Rui Miguel Silva <rui.silva@linaro.org>
-Date: Wed, 2 Nov 2022 00:12:35 +0000
-Subject: [PATCH] corstone1000: adjust PS asset configuration
-
-Adjust protected storage asset configuration to be more inline
-with the one in trusted service side, that would make thinks
-work when testing and using more than the default variables.
-
-Upstream-Status: Pending
-Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
----
- platform/ext/target/arm/corstone1000/config.cmake | 1 ++
- 1 file changed, 1 insertions(+)
-
-diff --git a/platform/ext/target/arm/corstone1000/config.cmake b/platform/ext/target/arm/corstone1000/config.cmake
-index ab0fe17ba886..c2b4b646e6b0 100644
---- a/platform/ext/target/arm/corstone1000/config.cmake
-+++ b/platform/ext/target/arm/corstone1000/config.cmake
-@@ -56,3 +56,4 @@ set(PS_ENCRYPTION OFF CACHE BOOL "Enable
- set(PS_ROLLBACK_PROTECTION OFF CACHE BOOL "Enable rollback protection for Protected Storage partition")
-
- set(PLATFORM_SERVICE_OUTPUT_BUFFER_SIZE 256 CACHE STRING "Size of output buffer in platform service.")
-+set(PS_NUM_ASSETS "40" CACHE STRING "The maximum number of assets to be stored in the Protected Storage area")
---
-2.38.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.7.0-corstone1000.inc
index 58ad103262..861dcff856 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.7.0-corstone1000.inc
@@ -6,6 +6,8 @@ TFM_PLATFORM = "arm/corstone1000"
TFM_DEBUG = "1"
+
+
## Default is the MPS3 board
TFM_PLATFORM_IS_FVP ?= "FALSE"
EXTRA_OECMAKE += "-DPLATFORM_IS_FVP=${TFM_PLATFORM_IS_FVP}"
@@ -25,17 +27,11 @@ SRC_URI += "git://github.com/OpenAMP/open-amp.git;protocol=https;branch=main;nam
SRCREV_openamp = "347397decaa43372fc4d00f965640ebde042966d"
EXTRA_OECMAKE += "-DLIBOPENAMP_SRC_PATH=${S}/../openamp -DLIBOPENAMP_BIN_PATH=${B}/libopenamp-build"
-# Apply the necessary changes for supporting FMP image info
-FILESEXTRAPATHS:prepend := "${THISDIR}/corstone1000:"
-SRC_URI:append:corstone1000 = " \
- file://0001-corstone1000-platform-secure-test-framework.patch \
- file://0002-corstone1000-make-external-system-support-optional.patch \
- file://0003-corstone1000-enable-secure-enclave-run-without-host-.patch \
- file://0004-Platform-Partition-Allow-configuration-of-input-and-.patch \
- file://0005-corstone1000-support-for-UEFI-FMP-image-Information.patch \
- file://0006-corstone1000-remove-two-partition-configuration.patch \
- file://0007-corstone1000-adjust-PS-asset-configuration.patch \
- "
+
+# Uncomment to apply patches
+# FILESEXTRAPATHS:prepend := "${THISDIR}/corstone1000:"
+# SRC_URI:append:corstone1000 = " \
+# "
do_install() {
install -D -p -m 0644 ${B}/install/outputs/tfm_s_signed.bin ${D}/firmware/tfm_s_signed.bin
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.6.%.bbappend b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.%.bbappend
index da70bc7806..ec0e483b97 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.6.%.bbappend
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.%.bbappend
@@ -1,6 +1,6 @@
# Machine specific configurations
MACHINE_TFM_REQUIRE ?= ""
-MACHINE_TFM_REQUIRE:corstone1000 = "trusted-firmware-m-corstone1000.inc"
+MACHINE_TFM_REQUIRE:corstone1000 = "trusted-firmware-m-1.7.0-corstone1000.inc"
require ${MACHINE_TFM_REQUIRE}
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-juno.inc b/meta-arm/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-juno.inc
index aac0d1cb5b..44613f134a 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-juno.inc
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-juno.inc
@@ -3,7 +3,3 @@ EDK2_PLATFORM_DSC = "Platform/ARM/JunoPkg/ArmJuno.dsc"
EDK2_BIN_NAME = "BL33_AP_UEFI.fd"
COMPATIBLE_MACHINE = "juno"
-
-# As of 2022-06-14 with 2022.05, clang builds fail:
-# "The required fv image size 0x104048 exceeds the set fv image size 0xf9000"
-TOOLCHAIN = "gcc"
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0006-plat-n1sdp-add-external-device-tree-base-and-size.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0006-plat-n1sdp-add-external-device-tree-base-and-size.patch
new file mode 100644
index 0000000000..74c94e0afe
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/n1sdp/0006-plat-n1sdp-add-external-device-tree-base-and-size.patch
@@ -0,0 +1,44 @@
+Upstream-Status: Pending [Not submitted to upstream yet]
+Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
+
+From 1a9aeedda58228893add545e49d2d6cd4c316b4f Mon Sep 17 00:00:00 2001
+From: Emekcan <emekcan.aras@arm.com>
+Date: Tue, 13 Dec 2022 13:45:06 +0000
+Subject: [PATCH] plat-n1sdp: add external device tree base and size
+
+Adds external device tree address and size. It also
+register this physical memory so optee can read the device tree.
+---
+ core/arch/arm/plat-n1sdp/main.c | 1 +
+ core/arch/arm/plat-n1sdp/platform_config.h | 3 +++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/core/arch/arm/plat-n1sdp/main.c b/core/arch/arm/plat-n1sdp/main.c
+index bb951ce6b..ab76f60c6 100644
+--- a/core/arch/arm/plat-n1sdp/main.c
++++ b/core/arch/arm/plat-n1sdp/main.c
+@@ -31,6 +31,7 @@ static struct gic_data gic_data __nex_bss;
+ static struct pl011_data console_data __nex_bss;
+
+ register_phys_mem_pgdir(MEM_AREA_IO_SEC, CONSOLE_UART_BASE, PL011_REG_SIZE);
++register_phys_mem_pgdir(MEM_AREA_EXT_DT, EXT_DT_BASE, EXT_DT_SIZE);
+
+ register_ddr(DRAM0_BASE, DRAM0_SIZE);
+ register_ddr(DRAM1_BASE, DRAM1_SIZE);
+diff --git a/core/arch/arm/plat-n1sdp/platform_config.h b/core/arch/arm/plat-n1sdp/platform_config.h
+index bf0a3c834..8741a2503 100644
+--- a/core/arch/arm/plat-n1sdp/platform_config.h
++++ b/core/arch/arm/plat-n1sdp/platform_config.h
+@@ -42,6 +42,9 @@
+ #define GICC_BASE 0x2C000000
+ #define GICR_BASE 0x300C0000
+
++#define EXT_DT_BASE 0x04001600
++#define EXT_DT_SIZE 0x200
++
+ #ifndef UART_BAUDRATE
+ #define UART_BAUDRATE 115200
+ #endif
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-n1sdp.inc b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-n1sdp.inc
index 2719e4c047..a40c93dcba 100644
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-n1sdp.inc
+++ b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-n1sdp.inc
@@ -11,6 +11,7 @@ SRC_URI:append = " \
file://0003-HACK-disable-instruction-cache-and-data-cache.patch \
file://0004-Handle-logging-syscall.patch \
file://0005-plat-n1sdp-register-DRAM1-to-optee-os.patch \
+ file://0006-plat-n1sdp-add-external-device-tree-base-and-size.patch \
"
EXTRA_OEMAKE += " CFG_TEE_CORE_LOG_LEVEL=4"
@@ -20,3 +21,9 @@ EXTRA_OEMAKE += " CFG_TEE_BENCHMARK=n"
EXTRA_OEMAKE += " CFG_CORE_SEL1_SPMC=y CFG_CORE_FFA=y"
EXTRA_OEMAKE += " CFG_WITH_SP=y"
+
+EXTRA_OEMAKE += " CFG_DT=y"
+
+EXTRA_OEMAKE += " CFG_SECURE_PARTITION=y"
+
+EXTRA_OEMAKE += " CFG_MAP_EXT_DT_SECURE=y"
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.19.0.bbappend b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.19.0.bbappend
new file mode 100644
index 0000000000..f80e09f82d
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.19.0.bbappend
@@ -0,0 +1,6 @@
+# Machine specific configurations
+
+MACHINE_OPTEE_OS_REQUIRE ?= ""
+MACHINE_OPTEE_OS_REQUIRE:n1sdp = "optee-os-n1sdp.inc"
+
+require ${MACHINE_OPTEE_OS_REQUIRE}
diff --git a/meta-arm/meta-arm-bsp/recipes-security/packagegroups/packagegroup-ts-tests.bbappend b/meta-arm/meta-arm-bsp/recipes-security/packagegroups/packagegroup-ts-tests.bbappend
new file mode 100644
index 0000000000..20612cb1a1
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/packagegroups/packagegroup-ts-tests.bbappend
@@ -0,0 +1,2 @@
+COMPATIBLE_MACHINE:corstone1000 = "corstone1000"
+COMPATIBLE_MACHINE:n1sdp = "n1sdp"
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/corstone1000/0023-Use-the-stateless-platform-service.patch b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/corstone1000/0023-Use-the-stateless-platform-service.patch
new file mode 100644
index 0000000000..824196c11a
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/corstone1000/0023-Use-the-stateless-platform-service.patch
@@ -0,0 +1,140 @@
+From 956b8a8e1dd5702b9c1657f4ec27a7aeddb0758e Mon Sep 17 00:00:00 2001
+From: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
+Date: Mon, 21 Nov 2022 00:08:20 +0000
+Subject: [PATCH] Use the stateless platform service calls
+
+Calls to psa_connect is not needed and psa_call can be called
+directly with a pre defined handle.
+
+Signed-off-by: Satish Kumar <satish.kumar01@arm.com>
+Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
+Upstream-Status: Inappropriate [Design is to revisted]
+
+---
+ .../provider/capsule_update_provider.c | 24 ++++---------------
+ .../provider/corstone1000_fmp_service.c | 10 ++++----
+ .../provider/corstone1000_fmp_service.h | 3 +--
+ components/service/common/include/psa/sid.h | 6 +++++
+ 4 files changed, 16 insertions(+), 27 deletions(-)
+
+diff --git a/components/service/capsule_update/provider/capsule_update_provider.c b/components/service/capsule_update/provider/capsule_update_provider.c
+index 991a2235..6809249f 100644
+--- a/components/service/capsule_update/provider/capsule_update_provider.c
++++ b/components/service/capsule_update/provider/capsule_update_provider.c
+@@ -61,7 +61,6 @@ void capsule_update_provider_deinit(struct capsule_update_provider *context)
+ static rpc_status_t event_handler(uint32_t opcode, struct rpc_caller *caller)
+ {
+ uint32_t ioctl_id;
+- psa_handle_t handle;
+ rpc_status_t rpc_status = TS_RPC_CALL_ACCEPTED;
+
+ struct psa_invec in_vec[] = {
+@@ -79,31 +78,18 @@ static rpc_status_t event_handler(uint32_t opcode, struct rpc_caller *caller)
+ case CAPSULE_UPDATE_REQUEST:
+ /* Openamp call with IOCTL for firmware update*/
+ ioctl_id = IOCTL_CORSTONE1000_FWU_FLASH_IMAGES;
+- handle = psa_connect(caller, TFM_SP_PLATFORM_IOCTL_SID,
+- TFM_SP_PLATFORM_IOCTL_VERSION);
+- if (handle <= 0) {
+- EMSG("%s Invalid handle", __func__);
+- rpc_status = TS_RPC_ERROR_INVALID_PARAMETER;
+- return rpc_status;
+- }
+- psa_call(caller,handle, PSA_IPC_CALL,
++ psa_call(caller,TFM_PLATFORM_SERVICE_HANDLE, TFM_PLATFORM_API_ID_IOCTL,
+ in_vec,IOVEC_LEN(in_vec), NULL, 0);
+- set_fmp_image_info(caller, handle);
++ set_fmp_image_info(caller);
+ break;
+
+ case KERNEL_STARTED_EVENT:
+ ioctl_id = IOCTL_CORSTONE1000_FWU_HOST_ACK;
+ /*openamp call with IOCTL for kernel start*/
+- handle = psa_connect(caller, TFM_SP_PLATFORM_IOCTL_SID,
+- TFM_SP_PLATFORM_IOCTL_VERSION);
+- if (handle <= 0) {
+- EMSG("%s Invalid handle", __func__);
+- rpc_status = TS_RPC_ERROR_INVALID_PARAMETER;
+- return rpc_status;
+- }
+- psa_call(caller,handle, PSA_IPC_CALL,
++
++ psa_call(caller,TFM_PLATFORM_SERVICE_HANDLE, TFM_PLATFORM_API_ID_IOCTL,
+ in_vec,IOVEC_LEN(in_vec), NULL, 0);
+- set_fmp_image_info(caller, handle);
++ set_fmp_image_info(caller);
+ break;
+ default:
+ EMSG("%s unsupported opcode", __func__);
+diff --git a/components/service/capsule_update/provider/corstone1000_fmp_service.c b/components/service/capsule_update/provider/corstone1000_fmp_service.c
+index 6a7a47a7..d811af9f 100644
+--- a/components/service/capsule_update/provider/corstone1000_fmp_service.c
++++ b/components/service/capsule_update/provider/corstone1000_fmp_service.c
+@@ -238,8 +238,7 @@ static psa_status_t unpack_image_info(void *buffer, uint32_t size)
+ return PSA_SUCCESS;
+ }
+
+-static psa_status_t get_image_info(struct rpc_caller *caller,
+- psa_handle_t platform_service_handle)
++static psa_status_t get_image_info(struct rpc_caller *caller)
+ {
+ psa_status_t status;
+ psa_handle_t handle;
+@@ -255,7 +254,7 @@ static psa_status_t get_image_info(struct rpc_caller *caller,
+
+ memset(image_info_buffer, 0, IMAGE_INFO_BUFFER_SIZE);
+
+- psa_call(caller, platform_service_handle, PSA_IPC_CALL,
++ psa_call(caller, TFM_PLATFORM_SERVICE_HANDLE, TFM_PLATFORM_API_ID_IOCTL,
+ in_vec, IOVEC_LEN(in_vec), out_vec, IOVEC_LEN(out_vec));
+
+ status = unpack_image_info(image_info_buffer, IMAGE_INFO_BUFFER_SIZE);
+@@ -288,12 +287,11 @@ static psa_status_t set_image_info(struct rpc_caller *caller)
+ return PSA_SUCCESS;
+ }
+
+-void set_fmp_image_info(struct rpc_caller *caller,
+- psa_handle_t platform_service_handle)
++void set_fmp_image_info(struct rpc_caller *caller)
+ {
+ psa_status_t status;
+
+- status = get_image_info(caller, platform_service_handle);
++ status = get_image_info(caller);
+ if (status != PSA_SUCCESS) {
+ return;
+ }
+diff --git a/components/service/capsule_update/provider/corstone1000_fmp_service.h b/components/service/capsule_update/provider/corstone1000_fmp_service.h
+index 95fba2a0..963223e8 100644
+--- a/components/service/capsule_update/provider/corstone1000_fmp_service.h
++++ b/components/service/capsule_update/provider/corstone1000_fmp_service.h
+@@ -16,8 +16,7 @@ extern "C" {
+
+ void provision_fmp_variables_metadata(struct rpc_caller *caller);
+
+-void set_fmp_image_info(struct rpc_caller *caller,
+- psa_handle_t platform_service_handle);
++void set_fmp_image_info(struct rpc_caller *caller);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+diff --git a/components/service/common/include/psa/sid.h b/components/service/common/include/psa/sid.h
+index 7a29cc25..8103a9af 100644
+--- a/components/service/common/include/psa/sid.h
++++ b/components/service/common/include/psa/sid.h
+@@ -37,6 +37,12 @@ extern "C" {
+ #define TFM_CRYPTO_VERSION (1U)
+ #define TFM_CRYPTO_HANDLE (0x40000100U)
+
++
++/******** TFM_PLATFORM_SERVICE *******/
++#define TFM_PLATFORM_API_ID_IOCTL (1013)
++#define TFM_PLATFORM_SERVICE_HANDLE (0x40000105U)
++
++
+ /**
+ * \brief Define a progressive numerical value for each SID which can be used
+ * when dispatching the requests to the service
+--
+2.25.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/libts_%.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/libts_%.bbappend
new file mode 100644
index 0000000000..99c03f69fd
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/libts_%.bbappend
@@ -0,0 +1,5 @@
+require ts-arm-platforms.inc
+
+EXTRA_OECMAKE:append:corstone1000 = "-DMM_COMM_BUFFER_ADDRESS=0x02000000 \
+ -DMM_COMM_BUFFER_PAGE_COUNT=1 \
+ "
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/libts_git.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/libts_git.bbappend
deleted file mode 100644
index a885d38797..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/libts_git.bbappend
+++ /dev/null
@@ -1,10 +0,0 @@
-MACHINE_TS_REQUIRE ?= ""
-MACHINE_TS_REQUIRE:corstone1000 = "ts-corstone1000.inc"
-
-require ${MACHINE_TS_REQUIRE}
-
-
-EXTRA_OECMAKE:append:corstone1000 = "-DMM_COMM_BUFFER_ADDRESS=0x02000000 \
- -DMM_COMM_BUFFER_PAGE_COUNT=1 \
- "
-
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-corstone1000.inc b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-arm-platforms.inc
index e97fb5937a..59009555d3 100644
--- a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-corstone1000.inc
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-arm-platforms.inc
@@ -1,5 +1,6 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/corstone1000:"
+FILESEXTRAPATHS:prepend:corstone1000 := "${THISDIR}/corstone1000:"
+COMPATIBLE_MACHINE:corstone1000 = "corstone1000"
SRC_URI:append:corstone1000 = " \
file://0001-Add-openamp-to-SE-proxy-deployment.patch;patchdir=../trusted-services \
file://0002-Implement-mhu-driver-and-the-OpenAmp-conversion-laye.patch;patchdir=../trusted-services \
@@ -23,4 +24,7 @@ SRC_URI:append:corstone1000 = " \
file://0020-FMP-Support-in-Corstone1000.patch;patchdir=../trusted-services \
file://0021-smm_gateway-add-checks-for-null-attributes.patch;patchdir=../trusted-services \
file://0022-GetNextVariableName-Fix.patch;patchdir=../trusted-services \
+ file://0023-Use-the-stateless-platform-service.patch;patchdir=../trusted-services \
"
+
+COMPATIBLE_MACHINE:n1sdp = "n1sdp"
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-demo_%.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-demo_%.bbappend
new file mode 100644
index 0000000000..5c9ef210ec
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-demo_%.bbappend
@@ -0,0 +1 @@
+require ts-arm-platforms.inc
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-newlib_%.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-newlib_%.bbappend
index 845f883493..7417d9b0ba 100644
--- a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-newlib_%.bbappend
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-newlib_%.bbappend
@@ -1,6 +1,8 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/corstone1000/${PN}:"
+FILESEXTRAPATHS:prepend:corstone1000 := "${THISDIR}/corstone1000/${PN}:"
+COMPATIBLE_MACHINE:corstone1000 = "corstone1000"
SRC_URI:append:corstone1000 = " \
file://0001-newlib-memcpy-remove-optimized-version.patch;patchdir=../newlib \
"
+COMPATIBLE_MACHINE:n1sdp = "n1sdp"
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-api-test.inc b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-api-test.inc
index 50ff960df5..a1f43d415c 100644
--- a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-api-test.inc
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-api-test.inc
@@ -1,6 +1,6 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/corstone1000/psa-apitest:"
+FILESEXTRAPATHS:prepend:corstone1000 := "${THISDIR}/corstone1000/psa-apitest:"
-include ts-corstone1000.inc
+include ts-arm-platforms.inc
SRC_URI:append:corstone1000 = " \
file://0001-corstone1000-port-crypto-config.patch;patchdir=../psatest \
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-crypto-api-test_git.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-crypto-api-test_%.bbappend
index ea49213e89..ea49213e89 100644
--- a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-crypto-api-test_git.bbappend
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-crypto-api-test_%.bbappend
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-iat-api-test_git.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-iat-api-test_%.bbappend
index ea49213e89..ea49213e89 100644
--- a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-iat-api-test_git.bbappend
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-iat-api-test_%.bbappend
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-its-api-test_git.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-its-api-test_%.bbappend
index ea49213e89..ea49213e89 100644
--- a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-its-api-test_git.bbappend
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-its-api-test_%.bbappend
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-ps-api-test_git.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-ps-api-test_%.bbappend
index ea49213e89..ea49213e89 100644
--- a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-ps-api-test_git.bbappend
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-psa-ps-api-test_%.bbappend
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-service-test_%.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-service-test_%.bbappend
new file mode 100644
index 0000000000..5c9ef210ec
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-service-test_%.bbappend
@@ -0,0 +1 @@
+require ts-arm-platforms.inc
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-attestation_%.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-attestation_%.bbappend
new file mode 100644
index 0000000000..5c9ef210ec
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-attestation_%.bbappend
@@ -0,0 +1 @@
+require ts-arm-platforms.inc
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-crypto_%.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-crypto_%.bbappend
new file mode 100644
index 0000000000..5c9ef210ec
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-crypto_%.bbappend
@@ -0,0 +1 @@
+require ts-arm-platforms.inc
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-its_%.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-its_%.bbappend
new file mode 100644
index 0000000000..5c9ef210ec
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-its_%.bbappend
@@ -0,0 +1 @@
+require ts-arm-platforms.inc
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-se-proxy_%.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-se-proxy_%.bbappend
index f39d2395f5..eba1553235 100644
--- a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-se-proxy_%.bbappend
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-se-proxy_%.bbappend
@@ -1,9 +1,5 @@
-MACHINE_TS_REQUIRE ?= ""
-MACHINE_TS_REQUIRE:corstone1000 = "ts-corstone1000.inc"
-
-require ${MACHINE_TS_REQUIRE}
+require ts-arm-platforms.inc
EXTRA_OECMAKE:append:corstone1000 = " -DMM_COMM_BUFFER_ADDRESS="0x00000000 0x02000000" \
-DMM_COMM_BUFFER_PAGE_COUNT="1" \
"
-
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-smm-gateway_%.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-smm-gateway_%.bbappend
index f39d2395f5..eba1553235 100644
--- a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-smm-gateway_%.bbappend
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-smm-gateway_%.bbappend
@@ -1,9 +1,5 @@
-MACHINE_TS_REQUIRE ?= ""
-MACHINE_TS_REQUIRE:corstone1000 = "ts-corstone1000.inc"
-
-require ${MACHINE_TS_REQUIRE}
+require ts-arm-platforms.inc
EXTRA_OECMAKE:append:corstone1000 = " -DMM_COMM_BUFFER_ADDRESS="0x00000000 0x02000000" \
-DMM_COMM_BUFFER_PAGE_COUNT="1" \
"
-
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-storage_%.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-storage_%.bbappend
new file mode 100644
index 0000000000..5c9ef210ec
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-sp-storage_%.bbappend
@@ -0,0 +1 @@
+require ts-arm-platforms.inc
diff --git a/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-uefi-test_%.bbappend b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-uefi-test_%.bbappend
new file mode 100644
index 0000000000..5c9ef210ec
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-security/trusted-services/ts-uefi-test_%.bbappend
@@ -0,0 +1 @@
+require ts-arm-platforms.inc
diff --git a/meta-arm/meta-arm-toolchain/conf/distro/include/external-arm-toolchain-versions.inc b/meta-arm/meta-arm-toolchain/conf/distro/include/external-arm-toolchain-versions.inc
index 92fb038c80..675457d12f 100644
--- a/meta-arm/meta-arm-toolchain/conf/distro/include/external-arm-toolchain-versions.inc
+++ b/meta-arm/meta-arm-toolchain/conf/distro/include/external-arm-toolchain-versions.inc
@@ -123,7 +123,6 @@ python external_arm_toolchain_version_handler () {
return
d = e.data
ld = d.createCopy()
- ld.finalize()
d.setVar('EAT_VER_MAIN', eat_get_main_version(ld))
d.setVar('EAT_VER_GCC', eat_get_gcc_version(ld))
diff --git a/meta-arm/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc b/meta-arm/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc
index 178fb71e43..6d2189196e 100644
--- a/meta-arm/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc
+++ b/meta-arm/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc
@@ -74,7 +74,6 @@ python toolchain_metadata_setup () {
d = e.data
l = d.createCopy()
- l.finalize()
oe_import(l)
external_toolchain = l.getVar('EXTERNAL_TOOLCHAIN', True)
@@ -99,7 +98,6 @@ def populate_toolchain_links(d):
from glob import glob
d = d.createCopy()
- d.finalize()
pattern = bb.data.expand('${EXTERNAL_TOOLCHAIN}/bin/${TARGET_PREFIX}*', d)
files = glob(pattern)
diff --git a/meta-arm/meta-arm/classes/apply_local_src_patches.bbclass b/meta-arm/meta-arm/classes/apply_local_src_patches.bbclass
new file mode 100644
index 0000000000..e193935383
--- /dev/null
+++ b/meta-arm/meta-arm/classes/apply_local_src_patches.bbclass
@@ -0,0 +1,48 @@
+# This class is to be inherited by recipes where there are patches located inside
+# the fetched source code which need to be applied.
+
+# The following variables need to be set:
+# LOCAL_SRC_PATCHES_INPUT_DIR is the directory from where the patches are located
+# LOCAL_SRC_PATCHES_DEST_DIR is the directory where the patches will be applied
+
+do_patch[depends] += "quilt-native:do_populate_sysroot"
+
+LOCAL_SRC_PATCHES_INPUT_DIR ??= ""
+LOCAL_SRC_PATCHES_DEST_DIR ??= "${LOCAL_SRC_PATCHES_INPUT_DIR}"
+
+python() {
+ if not d.getVar('LOCAL_SRC_PATCHES_INPUT_DIR'):
+ bb.warn("LOCAL_SRC_PATCHES_INPUT_DIR variable needs to be set.")
+}
+
+apply_local_src_patches() {
+
+ input_dir="${LOCAL_SRC_PATCHES_INPUT_DIR}"
+ dest_dir="${LOCAL_SRC_PATCHES_DEST_DIR}"
+
+ if [ ! -d "$input_dir" ] ; then
+ bbfatal "LOCAL_SRC_PATCHES_INPUT_DIR=$input_dir not found."
+ fi
+
+ if [ ! -d "$dest_dir" ] ; then
+ bbfatal "LOCAL_SRC_PATCHES_DEST_DIR=$dest_dir not found."
+ fi
+
+ cd $dest_dir
+ export QUILT_PATCHES=./patches-extra
+ mkdir -p patches-extra
+
+ for patch in $(find $input_dir -type f -name *.patch -or -name *.diff | sort)
+ do
+ patch_basename=`basename $patch`
+ if ! quilt applied $patch_basename >/dev/null ; then
+ bbdebug 1 "Applying $patch_basename in $dest_dir."
+ echo $patch_basename >> patches-extra/series
+ cp $patch patches-extra
+ quilt push $patch_basename
+ else
+ bbdebug 1 "$patch_basename already applied."
+ fi
+ done
+}
+do_patch[postfuncs] += "apply_local_src_patches"
diff --git a/meta-arm/meta-arm/classes/fvpboot.bbclass b/meta-arm/meta-arm/classes/fvpboot.bbclass
index 78dabd7369..508deb29c9 100644
--- a/meta-arm/meta-arm/classes/fvpboot.bbclass
+++ b/meta-arm/meta-arm/classes/fvpboot.bbclass
@@ -24,7 +24,9 @@ FVP_CONSOLES[default] ?= "${FVP_CONSOLE}"
# Arbitrary extra arguments
FVP_EXTRA_ARGS ?= ""
# Bitbake variables to pass to the FVP environment
-FVP_ENV_PASSTHROUGH ?= ""
+FVP_ENV_PASSTHROUGH ?= "FASTSIM_DISABLE_TA"
+# Disable timing annotation by default
+FASTSIM_DISABLE_TA ?= "1"
EXTRA_IMAGEDEPENDS += "${FVP_PROVIDER}"
diff --git a/meta-arm/meta-arm/conf/machine/qemuarm-secureboot.conf b/meta-arm/meta-arm/conf/machine/qemuarm-secureboot.conf
index f08b84fe5e..db02dc6891 100644
--- a/meta-arm/meta-arm/conf/machine/qemuarm-secureboot.conf
+++ b/meta-arm/meta-arm/conf/machine/qemuarm-secureboot.conf
@@ -21,3 +21,6 @@ WKS_FILE_DEPENDS = "trusted-firmware-a"
IMAGE_BOOT_FILES = "${KERNEL_IMAGETYPE}"
MACHINE_FEATURES += "optee-ftpm"
+
+PREFERRED_VERSION_optee-os ?= "3.18.%"
+
diff --git a/meta-arm/meta-arm/conf/machine/qemuarm64-secureboot.conf b/meta-arm/meta-arm/conf/machine/qemuarm64-secureboot.conf
index 55c4cab457..7277817ddf 100644
--- a/meta-arm/meta-arm/conf/machine/qemuarm64-secureboot.conf
+++ b/meta-arm/meta-arm/conf/machine/qemuarm64-secureboot.conf
@@ -23,3 +23,6 @@ WKS_FILE_DEPENDS = "trusted-firmware-a"
IMAGE_BOOT_FILES = "${KERNEL_IMAGETYPE}"
MACHINE_FEATURES += "optee-ftpm"
+
+PREFERRED_VERSION_optee-os ?= "3.18.%"
+
diff --git a/meta-arm/meta-arm/lib/fvp/runner.py b/meta-arm/meta-arm/lib/fvp/runner.py
index f55c579d7e..4fd624ba67 100644
--- a/meta-arm/meta-arm/lib/fvp/runner.py
+++ b/meta-arm/meta-arm/lib/fvp/runner.py
@@ -70,6 +70,13 @@ class ConsolePortParser:
pass
+# This function is backported from Python 3.8. Remove it and replace call sites
+# with shlex.join once OE-core support for earlier Python versions is dropped.
+def shlex_join(split_command):
+ """Return a shell-escaped string from *split_command*."""
+ return ' '.join(shlex.quote(arg) for arg in split_command)
+
+
class FVPRunner:
def __init__(self, logger):
self._logger = logger
@@ -88,7 +95,7 @@ class FVPRunner:
if name in os.environ:
env[name] = os.environ[name]
- self._logger.debug(f"Constructed FVP call: {shlex.join(cli)}")
+ self._logger.debug(f"Constructed FVP call: {shlex_join(cli)}")
self._fvp_process = subprocess.Popen(
cli,
stdin=subprocess.DEVNULL, stdout=stdout, stderr=subprocess.STDOUT,
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.6.0.bb b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.0.bb
index c10efd5a62..3b4469d097 100644
--- a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.6.0.bb
+++ b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.7.0.bb
@@ -8,7 +8,7 @@ DESCRIPTION = "Trusted Firmware-M"
HOMEPAGE = "https://git.trustedfirmware.org/trusted-firmware-m.git"
PROVIDES = "virtual/trusted-firmware-m"
-LICENSE = "BSD-3-Clause & Apache-2.0"
+LICENSE = "BSD-2-Clause & BSD-3-Clause & Apache-2.0"
LIC_FILES_CHKSUM = "file://license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \
file://../tf-m-tests/license.rst;md5=02d06ffb8d9f099ff4961c0cb0183a18 \
@@ -19,21 +19,25 @@ SRC_URI = "git://git.trustedfirmware.org/TF-M/trusted-firmware-m.git;protocol=h
git://git.trustedfirmware.org/TF-M/tf-m-tests.git;protocol=https;branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=git/tf-m-tests \
git://github.com/ARMmbed/mbedtls.git;protocol=https;branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=git/mbedtls \
git://github.com/mcu-tools/mcuboot.git;protocol=https;branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=git/mcuboot \
+ git://github.com/laurencelundblade/QCBOR.git;protocol=https;branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=git/qcbor \
"
# The required dependencies are documented in tf-m/config/config_default.cmake
-# TF-Mv1.6.0
-SRCBRANCH_tfm ?= "release/1.6.x"
-SRCREV_tfm = "7387d88158701a3c51ad51c90a05326ee12847a8"
-# mbedtls-3.1.0
+# TF-Mv1.7.0
+SRCBRANCH_tfm ?= "release/1.7.x"
+SRCREV_tfm = "b725a1346cdb9ec75b1adcdc4c84705881e8fd4e"
+# mbedtls-3.2.0
SRCBRANCH_mbedtls ?= "master"
-SRCREV_mbedtls = "d65aeb37349ad1a50e0f6c9b694d4b5290d60e49"
+SRCREV_mbedtls = "869298bffeea13b205343361b7a7daf2b210e33d"
# TF-Mv1.6.0
-SRCBRANCH_tfm-tests ?= "release/1.6.x"
-SRCREV_tfm-tests = "723905d46019596f3f2df66d79b5d6bff6f3f213"
+SRCBRANCH_tfm-tests ?= "release/1.7.x"
+SRCREV_tfm-tests = "4972e8df3fcbd386a5b0c18613d8a803f4dda082"
# v1.9.0
SRCBRANCH_mcuboot ?= "main"
SRCREV_mcuboot = "c657cbea75f2bb1faf1fceacf972a0537a8d26dd"
+# qcbor
+SRCBRANCH_qcbor ?= "master"
+SRCREV_qcbor = "b0e7033268e88c9f27146fa9a1415ef4c19ebaff"
UPSTREAM_CHECK_GITTAGREGEX = "^TF-Mv(?P<pver>\d+(\.\d+)+)$"
@@ -87,12 +91,12 @@ EXTRA_OECMAKE += "-DFETCHCONTENT_FULLY_DISCONNECTED=ON"
EXTRA_OECMAKE += "-DTFM_PLATFORM=${TFM_PLATFORM}"
# Handle TFM_DEBUG parameter
-EXTRA_OECMAKE += "${@bb.utils.contains('TFM_DEBUG', '1', '-DCMAKE_BUILD_TYPE=Debug', '', d)}"
+EXTRA_OECMAKE += "${@bb.utils.contains('TFM_DEBUG', '1', '-DCMAKE_BUILD_TYPE=Debug', '-DCMAKE_BUILD_TYPE=Release', d)}"
# Verbose builds
EXTRA_OECMAKE += "-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON"
-EXTRA_OECMAKE += "-DMBEDCRYPTO_PATH=${S}/../mbedtls -DTFM_TEST_REPO_PATH=${S}/../tf-m-tests -DMCUBOOT_PATH=${S}/../mcuboot"
+EXTRA_OECMAKE += "-DMBEDCRYPTO_PATH=${S}/../mbedtls -DTFM_TEST_REPO_PATH=${S}/../tf-m-tests -DMCUBOOT_PATH=${S}/../mcuboot -DQCBOR_PATH=${S}/../qcbor"
export CMAKE_BUILD_PARALLEL_LEVEL = "${@oe.utils.parallel_make(d, False)}"
@@ -106,13 +110,6 @@ LD[unexport] = "1"
# right path until this is relocated automatically.
export OPENSSL_MODULES="${STAGING_LIBDIR_NATIVE}/ossl-modules"
-# TF-M ships patches that it needs applied to mbedcrypto, so apply them
-# as part of do_patch.
-apply_local_patches() {
- cat ${S}/lib/ext/mbedcrypto/*.patch | patch -p1 -d ${S}/../mbedtls
-}
-do_patch[postfuncs] += "apply_local_patches"
-
do_configure[cleandirs] = "${B}"
do_configure() {
cmake -GNinja -S ${S} -B ${B} ${EXTRA_OECMAKE} ${PACKAGECONFIG_CONFARGS}
diff --git a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.18.16.bb b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.20.15.bb
index 4d8519e3f4..4c62822ed1 100644
--- a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.18.16.bb
+++ b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.20.15.bb
@@ -5,6 +5,9 @@ LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=1a33828e132ba
file://license_terms/third_party_licenses/third_party_licenses.txt;md5=34a1ba318d745f05e6197def68ea5411 \
file://license_terms/third_party_licenses/arm_license_management_utilities/third_party_licenses.txt;md5=2e53bda6ff2db4c35d69944b93926c9f"
-SRC_URI[sha256sum] = "fe76f9ff217a44ed7680a0a6ccd6bd19758f5e0466ff98ccd82b2ae62289b9fe"
+SRC_URI[fvp-aarch64.sha256sum] = "e14e6cbd5c3ec8e1e2e79965e994c9235e136480e102f5c43de31162263b6361"
+SRC_URI[fvp-x86_64.sha256sum] = "f9db2076e3a63e2f8eb2ea9ed60f30db04e5f81f535bc7e3ed24e270d857ea6f"
MODEL_CODE = "FVP_Base_RevC-2xAEMvA"
+
+COMPATIBLE_HOST = "(aarch64|x86_64).*-linux"
diff --git a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.19.14.bb b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.20.15.bb
index 3ef089121e..3f8139ca4a 100644
--- a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.19.14.bb
+++ b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-r-aem_11.20.15.bb
@@ -5,6 +5,6 @@ LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=1a33828e132ba
file://license_terms/third_party_licenses/third_party_licenses.txt;md5=34a1ba318d745f05e6197def68ea5411 \
file://license_terms/third_party_licenses/arm_license_management_utilities/third_party_licenses.txt;md5=2e53bda6ff2db4c35d69944b93926c9f"
-SRC_URI[sha256sum] = "788ede659414af36a2d09489e400c4d822c859b726565f1f171bc3102a9413d0"
+SRC_URI[fvp-x86_64.sha256sum] = "c252616489b79fffa3bb721255b1c99ff4ee8c38e4beebce4fa05862a3195fe9"
MODEL_CODE = "FVP_Base_AEMv8R"
diff --git a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-corstone1000.bb b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-corstone1000.bb
index 35ffe0b797..7d556616f0 100644
--- a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-corstone1000.bb
+++ b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-corstone1000.bb
@@ -2,10 +2,10 @@ require fvp-ecosystem.inc
MODEL = "Corstone-1000-23"
MODEL_CODE = "FVP_Corstone_1000"
-PV = "11.17_23"
+PV = "11.19_21"
-SRC_URI = "https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/${MODEL}/Linux/${MODEL_CODE}_${PV}.tgz;subdir=${BP}"
-SRC_URI[sha256sum] = "00ccb72d02c90e2424d24a625d275cabf8ea8dc024713985208f618bb88d1934"
+SRC_URI = "https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/${MODEL}/Linux/${MODEL_CODE}_${PV}_${FVP_ARCH}.tgz;subdir=${BP}"
+SRC_URI[sha256sum] = "dbdcb8b0c206fd56fd2296fe338a62902eb978883ba07f4da28440e180383b24"
LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=1a33828e132ba71861c11688dbb0bd16 \
- file://license_terms/third_party_licenses.txt;md5=41029e71051b1c786bae3112a29905a7"
+ file://license_terms/third_party_licenses/third_party_licenses.txt;md5=34a1ba318d745f05e6197def68ea5411"
diff --git a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-envelope.inc b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-envelope.inc
index 887d9d27fb..1e8bb40728 100644
--- a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-envelope.inc
+++ b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-envelope.inc
@@ -1,8 +1,8 @@
require fvp-common.inc
-HOMEPAGE = "https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms/arm-ecosystem-models"
+HOMEPAGE = "https://developer.arm.com/Tools%20and%20Software/Fixed%20Virtual%20Platforms"
-SRC_URI = "https://developer.arm.com/-/media/Files/downloads/ecosystem-models/${MODEL_CODE}_${PV_URL}_${FVP_ARCH}.tgz;subdir=${BP}"
+SRC_URI = "https://developer.arm.com/-/media/Files/downloads/ecosystem-models/${MODEL_CODE}_${PV_URL}_${FVP_ARCH}.tgz;subdir=${BP};name=fvp-${HOST_ARCH}"
UPSTREAM_CHECK_URI = "${HOMEPAGE}"
UPSTREAM_CHECK_REGEX = "${MODEL_CODE}_(?P<pver>(\d+[\.\-_]*)+).tgz"
diff --git a/meta-arm/meta-arm/recipes-devtools/gn/gn/0001-Replace-lstat64-stat64-functions-on-linux.patch b/meta-arm/meta-arm/recipes-devtools/gn/gn/0001-Replace-lstat64-stat64-functions-on-linux.patch
new file mode 100644
index 0000000000..159fbaaf96
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-devtools/gn/gn/0001-Replace-lstat64-stat64-functions-on-linux.patch
@@ -0,0 +1,60 @@
+From 25786d356ac391124489f2e55690281c03fa83db Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 22 Dec 2022 00:30:55 -0800
+Subject: [PATCH] Replace lstat64/stat64 functions on linux
+
+we define -D_FILE_OFFSET_BITS=64 which means lstat is operating on 64bit
+off_t and is same as lstat64, same for stat and stat64 case.
+
+This fixes build with musl where off_t has always been 64bit
+
+Upstream-Status: Submitted [https://gn-review.googlesource.com/c/gn/+/14960]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/base/files/file.h | 2 +-
+ src/base/files/file_posix.cc | 2 +-
+ src/base/files/file_util_posix.cc | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/base/files/file.h b/src/base/files/file.h
+index 2c94eb4e..99e87ed9 100644
+--- a/src/base/files/file.h
++++ b/src/base/files/file.h
+@@ -23,7 +23,7 @@ namespace base {
+
+ #if defined(OS_BSD) || defined(OS_MACOSX) || defined(OS_NACL) || \
+ defined(OS_HAIKU) || defined(OS_MSYS) || defined(OS_ZOS) || \
+- defined(OS_ANDROID) && __ANDROID_API__ < 21
++ defined(OS_LINUX) || defined(OS_ANDROID) && __ANDROID_API__ < 21
+ typedef struct stat stat_wrapper_t;
+ #elif defined(OS_POSIX) || defined(OS_FUCHSIA)
+ typedef struct stat64 stat_wrapper_t;
+diff --git a/src/base/files/file_posix.cc b/src/base/files/file_posix.cc
+index b1f9f5e8..049568f0 100644
+--- a/src/base/files/file_posix.cc
++++ b/src/base/files/file_posix.cc
+@@ -26,7 +26,7 @@ namespace {
+
+ #if defined(OS_BSD) || defined(OS_MACOSX) || defined(OS_NACL) || \
+ defined(OS_HAIKU) || defined(OS_MSYS) || defined(OS_ZOS) || \
+- defined(OS_ANDROID) && __ANDROID_API__ < 21
++ defined(OS_LINUX) || defined(OS_ANDROID) && __ANDROID_API__ < 21
+ int CallFstat(int fd, stat_wrapper_t* sb) {
+ return fstat(fd, sb);
+ }
+diff --git a/src/base/files/file_util_posix.cc b/src/base/files/file_util_posix.cc
+index aa54731d..53be3d3b 100644
+--- a/src/base/files/file_util_posix.cc
++++ b/src/base/files/file_util_posix.cc
+@@ -61,7 +61,7 @@ namespace {
+
+ #if defined(OS_BSD) || defined(OS_MACOSX) || defined(OS_NACL) || \
+ defined(OS_HAIKU) || defined(OS_MSYS) || defined(OS_ZOS) || \
+- defined(OS_ANDROID) && __ANDROID_API__ < 21
++ defined(OS_LINUX) || defined(OS_ANDROID) && __ANDROID_API__ < 21
+ int CallStat(const char* path, stat_wrapper_t* sb) {
+ return stat(path, sb);
+ }
+--
+2.39.0
+
diff --git a/meta-arm/meta-arm/recipes-devtools/gn/gn_git.bb b/meta-arm/meta-arm/recipes-devtools/gn/gn_git.bb
index 8d1efb6508..521e33e9ae 100644
--- a/meta-arm/meta-arm/recipes-devtools/gn/gn_git.bb
+++ b/meta-arm/meta-arm/recipes-devtools/gn/gn_git.bb
@@ -4,7 +4,8 @@ DEPENDS += "ninja-native"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
-SRC_URI = "git://gn.googlesource.com/gn;protocol=https;branch=main"
+SRC_URI = "git://gn.googlesource.com/gn;protocol=https;branch=main \
+ file://0001-Replace-lstat64-stat64-functions-on-linux.patch"
SRCREV = "bf4e17dc67b2a2007475415e3f9e1d1cf32f6e35"
PV = "0+git${SRCPV}"
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os/0001-core-Define-section-attributes-for-clang.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0001-core-Define-section-attributes-for-clang.patch
index a69d77761d..a69d77761d 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-os/0001-core-Define-section-attributes-for-clang.patch
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0001-core-Define-section-attributes-for-clang.patch
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os/0006-allow-setting-sysroot-for-libgcc-lookup.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0006-allow-setting-sysroot-for-libgcc-lookup.patch
index ab4a6dbc0a..ab4a6dbc0a 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-os/0006-allow-setting-sysroot-for-libgcc-lookup.patch
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0006-allow-setting-sysroot-for-libgcc-lookup.patch
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os/0007-allow-setting-sysroot-for-clang.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0007-allow-setting-sysroot-for-clang.patch
index 067ba6ebfb..067ba6ebfb 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-os/0007-allow-setting-sysroot-for-clang.patch
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0007-allow-setting-sysroot-for-clang.patch
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os/0008-no-warn-rwx-segments.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0008-no-warn-rwx-segments.patch
index 6d48a7601b..6d48a7601b 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-os/0008-no-warn-rwx-segments.patch
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0008-no-warn-rwx-segments.patch
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os/0009-add-z-execstack.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0009-add-z-execstack.patch
index 3ba6c4ef38..3ba6c4ef38 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-os/0009-add-z-execstack.patch
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0009-add-z-execstack.patch
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os/0010-add-note-GNU-stack-section.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0010-add-note-GNU-stack-section.patch
index 4ea65d88cc..4ea65d88cc 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-os/0010-add-note-GNU-stack-section.patch
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.18.0/0010-add-note-GNU-stack-section.patch
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0001-core-Define-section-attributes-for-clang.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0001-core-Define-section-attributes-for-clang.patch
new file mode 100644
index 0000000000..a1dc251a2d
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0001-core-Define-section-attributes-for-clang.patch
@@ -0,0 +1,243 @@
+From ff1b556ac2cd6bbb857a1ac03e0557eb490bc845 Mon Sep 17 00:00:00 2001
+From: Emekcan Aras <emekcan.aras@arm.com>
+Date: Wed, 21 Dec 2022 10:55:58 +0000
+Subject: [PATCH] [PATCH] core: Define section attributes for clang
+
+Clang's attribute section is not same as gcc, here we need to add flags
+to sections so they can be eventually collected by linker into final
+output segments. Only way to do so with clang is to use
+
+pragma clang section ...
+
+The behavious is described here [1], this allows us to define names bss
+sections. This was not an issue until clang-15 where LLD linker starts
+to detect the section flags before merging them and throws the following
+errors
+
+| ld.lld: error: section type mismatch for .nozi.kdata_page
+| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/kernel/thread.o:(.nozi.kdata_page): SHT_PROGBITS
+| >>> output section .nozi: SHT_NOBITS
+|
+| ld.lld: error: section type mismatch for .nozi.mmu.l2
+| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/mm/core_mmu_lpae.o:(.nozi.mmu.l2): SHT_PROGBITS
+| >>> output section .nozi: SHT_NOBITS
+
+These sections should be carrying SHT_NOBITS but so far it was not
+possible to do so, this patch tries to use clangs pragma to get this
+going and match the functionality with gcc.
+
+[1] https://intel.github.io/llvm-docs/clang/LanguageExtensions.html#specifying-section-names-for-global-objects-pragma-clang-section
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ core/arch/arm/kernel/thread.c | 19 +++++++++++++++--
+ core/arch/arm/mm/core_mmu_lpae.c | 35 +++++++++++++++++++++++++++----
+ core/arch/arm/mm/core_mmu_v7.c | 36 +++++++++++++++++++++++++++++---
+ core/arch/arm/mm/pgt_cache.c | 12 ++++++++++-
+ core/kernel/thread.c | 13 +++++++++++-
+ 5 files changed, 104 insertions(+), 11 deletions(-)
+
+diff --git a/core/arch/arm/kernel/thread.c b/core/arch/arm/kernel/thread.c
+index 05dbbe56..8e6ea034 100644
+--- a/core/arch/arm/kernel/thread.c
++++ b/core/arch/arm/kernel/thread.c
+@@ -44,15 +44,30 @@ static size_t thread_user_kcode_size __nex_bss;
+ #if defined(CFG_CORE_UNMAP_CORE_AT_EL0) && \
+ defined(CFG_CORE_WORKAROUND_SPECTRE_BP_SEC) && defined(ARM64)
+ long thread_user_kdata_sp_offset __nex_bss;
++#ifdef __clang__
++#ifndef CFG_VIRTUALIZATION
++#pragma clang section bss=".nozi.kdata_page"
++#else
++#pragma clang section bss=".nex_nozi.kdata_page"
++#endif
++#endif
+ static uint8_t thread_user_kdata_page[
+ ROUNDUP(sizeof(struct thread_core_local) * CFG_TEE_CORE_NB_CORE,
+ SMALL_PAGE_SIZE)]
+ __aligned(SMALL_PAGE_SIZE)
++#ifndef __clang__
+ #ifndef CFG_VIRTUALIZATION
+- __section(".nozi.kdata_page");
++ __section(".nozi.kdata_page")
+ #else
+- __section(".nex_nozi.kdata_page");
++ __section(".nex_nozi.kdata_page")
+ #endif
++#endif
++ ;
++#endif
++
++/* reset BSS section to default ( .bss ) */
++#ifdef __clang__
++#pragma clang section bss=""
+ #endif
+
+ #ifdef ARM32
+diff --git a/core/arch/arm/mm/core_mmu_lpae.c b/core/arch/arm/mm/core_mmu_lpae.c
+index 3f08eec6..e6dc9261 100644
+--- a/core/arch/arm/mm/core_mmu_lpae.c
++++ b/core/arch/arm/mm/core_mmu_lpae.c
+@@ -233,19 +233,46 @@ typedef uint16_t l1_idx_t;
+ typedef uint64_t base_xlat_tbls_t[CFG_TEE_CORE_NB_CORE][NUM_BASE_LEVEL_ENTRIES];
+ typedef uint64_t xlat_tbl_t[XLAT_TABLE_ENTRIES];
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.base_table"
++#endif
+ static base_xlat_tbls_t base_xlation_table[NUM_BASE_TABLES]
+ __aligned(NUM_BASE_LEVEL_ENTRIES * XLAT_ENTRY_SIZE)
+- __section(".nozi.mmu.base_table");
++#ifndef __clang__
++ __section(".nozi.mmu.base_table")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ static xlat_tbl_t xlat_tables[MAX_XLAT_TABLES]
+- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
++ __aligned(XLAT_TABLE_SIZE)
++#ifndef __clang__
++ __section(".nozi.mmu.l2")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ #define XLAT_TABLES_SIZE (sizeof(xlat_tbl_t) * MAX_XLAT_TABLES)
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ /* MMU L2 table for TAs, one for each thread */
+ static xlat_tbl_t xlat_tables_ul1[CFG_NUM_THREADS]
+- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
+-
++#ifndef __clang__
++ __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+ /*
+ * TAs page table entry inside a level 1 page table.
+ *
+diff --git a/core/arch/arm/mm/core_mmu_v7.c b/core/arch/arm/mm/core_mmu_v7.c
+index cd85bd22..3e18f54f 100644
+--- a/core/arch/arm/mm/core_mmu_v7.c
++++ b/core/arch/arm/mm/core_mmu_v7.c
+@@ -204,16 +204,46 @@ typedef uint32_t l1_xlat_tbl_t[NUM_L1_ENTRIES];
+ typedef uint32_t l2_xlat_tbl_t[NUM_L2_ENTRIES];
+ typedef uint32_t ul1_xlat_tbl_t[NUM_UL1_ENTRIES];
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l1"
++#endif
+ static l1_xlat_tbl_t main_mmu_l1_ttb
+- __aligned(L1_ALIGNMENT) __section(".nozi.mmu.l1");
++ __aligned(L1_ALIGNMENT)
++#ifndef __clang__
++ __section(".nozi.mmu.l1")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ /* L2 MMU tables */
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ static l2_xlat_tbl_t main_mmu_l2_ttb[MAX_XLAT_TABLES]
+- __aligned(L2_ALIGNMENT) __section(".nozi.mmu.l2");
++ __aligned(L2_ALIGNMENT)
++#ifndef __clang__
++ __section(".nozi.mmu.l2")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ /* MMU L1 table for TAs, one for each thread */
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.ul1"
++#endif
+ static ul1_xlat_tbl_t main_mmu_ul1_ttb[CFG_NUM_THREADS]
+- __aligned(UL1_ALIGNMENT) __section(".nozi.mmu.ul1");
++ __aligned(UL1_ALIGNMENT)
++#ifndef __clang__
++ __section(".nozi.mmu.ul1")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ struct mmu_partition {
+ l1_xlat_tbl_t *l1_table;
+diff --git a/core/arch/arm/mm/pgt_cache.c b/core/arch/arm/mm/pgt_cache.c
+index a7b1b10e..489859ce 100644
+--- a/core/arch/arm/mm/pgt_cache.c
++++ b/core/arch/arm/mm/pgt_cache.c
+@@ -410,8 +410,18 @@ void pgt_init(void)
+ * has a large alignment, while .bss has a small alignment. The current
+ * link script is optimized for small alignment in .bss
+ */
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ static uint8_t pgt_tables[PGT_CACHE_SIZE][PGT_SIZE]
+- __aligned(PGT_SIZE) __section(".nozi.pgt_cache");
++ __aligned(PGT_SIZE)
++#ifndef __clang__
++ __section(".nozi.pgt_cache")
++#endif
++ ;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+ size_t n;
+
+ for (n = 0; n < ARRAY_SIZE(pgt_tables); n++) {
+diff --git a/core/kernel/thread.c b/core/kernel/thread.c
+index d1f2f382..8de124ae 100644
+--- a/core/kernel/thread.c
++++ b/core/kernel/thread.c
+@@ -38,13 +38,24 @@ struct thread_core_local thread_core_local[CFG_TEE_CORE_NB_CORE] __nex_bss;
+ name[stack_num][sizeof(name[stack_num]) / sizeof(uint32_t) - 1]
+ #endif
+
++#define DO_PRAGMA(x) _Pragma (#x)
++
++#ifdef __clang__
++#define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
++DO_PRAGMA (clang section bss=".nozi_stack." #name) \
++linkage uint32_t name[num_stacks] \
++ [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
++ STACK_ALIGNMENT) / sizeof(uint32_t)] \
++ __attribute__((aligned(STACK_ALIGNMENT))); \
++DO_PRAGMA(clang section bss="")
++#else
+ #define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
+ linkage uint32_t name[num_stacks] \
+ [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
+ STACK_ALIGNMENT) / sizeof(uint32_t)] \
+ __attribute__((section(".nozi_stack." # name), \
+ aligned(STACK_ALIGNMENT)))
+-
++#endif
+ #define GET_STACK(stack) ((vaddr_t)(stack) + STACK_SIZE(stack))
+
+ DECLARE_STACK(stack_tmp, CFG_TEE_CORE_NB_CORE, STACK_TMP_SIZE,
+--
+2.17.1
+
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0006-allow-setting-sysroot-for-libgcc-lookup.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0006-allow-setting-sysroot-for-libgcc-lookup.patch
new file mode 100644
index 0000000000..ab4a6dbc0a
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0006-allow-setting-sysroot-for-libgcc-lookup.patch
@@ -0,0 +1,35 @@
+From 528aeb42652a3159c1bfd51d6c1442c3ff27b84c Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 26 May 2020 14:38:02 -0500
+Subject: [PATCH] allow setting sysroot for libgcc lookup
+
+Explicitly pass the new variable LIBGCC_LOCATE_CFLAGS variable when searching
+for the compiler libraries as there's no easy way to reliably pass --sysroot
+otherwise.
+
+Upstream-Status: Pending [https://github.com/OP-TEE/optee_os/issues/4188]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+---
+ mk/gcc.mk | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/mk/gcc.mk b/mk/gcc.mk
+index adc77a24..81bfa78a 100644
+--- a/mk/gcc.mk
++++ b/mk/gcc.mk
+@@ -13,11 +13,11 @@ nostdinc$(sm) := -nostdinc -isystem $(shell $(CC$(sm)) \
+ -print-file-name=include 2> /dev/null)
+
+ # Get location of libgcc from gcc
+-libgcc$(sm) := $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \
++libgcc$(sm) := $(shell $(CC$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CFLAGS$(arch-bits-$(sm))) \
+ -print-libgcc-file-name 2> /dev/null)
+-libstdc++$(sm) := $(shell $(CXX$(sm)) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
++libstdc++$(sm) := $(shell $(CXX$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
+ -print-file-name=libstdc++.a 2> /dev/null)
+-libgcc_eh$(sm) := $(shell $(CXX$(sm)) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
++libgcc_eh$(sm) := $(shell $(CXX$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
+ -print-file-name=libgcc_eh.a 2> /dev/null)
+
+ # Define these to something to discover accidental use
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0007-allow-setting-sysroot-for-clang.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0007-allow-setting-sysroot-for-clang.patch
new file mode 100644
index 0000000000..067ba6ebfb
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0007-allow-setting-sysroot-for-clang.patch
@@ -0,0 +1,30 @@
+From db9e44af75c7cfd3316cab15aaa387383df3e57e Mon Sep 17 00:00:00 2001
+From: Brett Warren <brett.warren@arm.com>
+Date: Wed, 23 Sep 2020 09:27:34 +0100
+Subject: [PATCH] optee: enable clang support
+
+When compiling with clang, the LIBGCC_LOCATE_CFLAG variable used
+to provide a sysroot wasn't included, which results in not locating
+compiler-rt. This is mitigated by including the variable as ammended.
+
+Upstream-Status: Pending
+ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701
+Signed-off-by: Brett Warren <brett.warren@arm.com>
+
+---
+ mk/clang.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mk/clang.mk b/mk/clang.mk
+index c141a3f2..7d067cc0 100644
+--- a/mk/clang.mk
++++ b/mk/clang.mk
+@@ -27,7 +27,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \
+
+ # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of
+ # libgcc for clang
+-libgcc$(sm) := $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \
++libgcc$(sm) := $(shell $(CC$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CFLAGS$(arch-bits-$(sm))) \
+ -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null)
+
+ # Core ASLR relies on the executable being ready to run from its preferred load
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0008-no-warn-rwx-segments.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0008-no-warn-rwx-segments.patch
new file mode 100644
index 0000000000..2dc797b36f
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0008-no-warn-rwx-segments.patch
@@ -0,0 +1,38 @@
+diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
+index 0e96e606c..3fbcb6804 100644
+--- a/core/arch/arm/kernel/link.mk
++++ b/core/arch/arm/kernel/link.mk
+@@ -37,6 +37,7 @@ link-ldflags += --sort-section=alignment
+ link-ldflags += --fatal-warnings
+ link-ldflags += --gc-sections
+ link-ldflags += $(link-ldflags-common)
++link-ldflags += $(call ld-option,--no-warn-rwx-segments)
+
+ link-ldadd = $(LDADD)
+ link-ldadd += $(ldflags-external)
+@@ -61,6 +62,7 @@ link-script-cppflags := \
+ $(cppflagscore))
+
+ ldargs-all_objs := -T $(link-script-dummy) --no-check-sections \
++ $(call ld-option,--no-warn-rwx-segments) \
+ $(link-ldflags-common) \
+ $(link-objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/all_objs.o
+@@ -75,7 +77,7 @@ $(link-out-dir)/unpaged_entries.txt: $(link-out-dir)/all_objs.o
+ $(AWK) '/ ____keep_pager/ { printf "-u%s ", $$3 }' > $@
+
+ unpaged-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
+- $(link-ldflags-common)
++ $(link-ldflags-common) $(call ld-option,--no-warn-rwx-segments)
+ unpaged-ldadd := $(objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/unpaged.o
+ $(link-out-dir)/unpaged.o: $(link-out-dir)/unpaged_entries.txt
+@@ -104,7 +106,7 @@ $(link-out-dir)/init_entries.txt: $(link-out-dir)/all_objs.o
+ $(AWK) '/ ____keep_init/ { printf "-u%s ", $$3 }' > $@
+
+ init-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
+- $(link-ldflags-common)
++ $(link-ldflags-common) $(call ld-option,--no-warn-rwx-segments)
+ init-ldadd := $(link-objs-init) $(link-out-dir)/version.o $(link-ldadd) \
+ $(libgcccore)
+ cleanfiles += $(link-out-dir)/init.o
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0009-add-z-execstack.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0009-add-z-execstack.patch
new file mode 100644
index 0000000000..3ba6c4ef38
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0009-add-z-execstack.patch
@@ -0,0 +1,94 @@
+From ea932656461865ab9ac4036245c756c082aeb3e1 Mon Sep 17 00:00:00 2001
+From: Jerome Forissier <jerome.forissier@linaro.org>
+Date: Tue, 23 Aug 2022 11:41:00 +0000
+Subject: [PATCH] core, ldelf: link: add -z execstack
+
+When building for arm32 with GNU binutils 2.39, the linker outputs
+warnings when generating some TEE core binaries (all_obj.o, init.o,
+unpaged.o and tee.elf) as well as ldelf.elf:
+
+ arm-poky-linux-gnueabi-ld.bfd: warning: atomic_a32.o: missing .note.GNU-stack section implies executable stack
+ arm-poky-linux-gnueabi-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
+
+The permissions used when mapping the TEE core stacks do not depend on
+any metadata found in the ELF file. Similarly when the TEE core loads
+ldelf it already creates a non-executable stack regardless of ELF
+information. Therefore we can safely ignore the warnings. This is done
+by adding the '-z execstack' option.
+
+Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
+
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499]
+
+---
+ core/arch/arm/kernel/link.mk | 13 +++++++++----
+ ldelf/link.mk | 3 +++
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
+index c39d43cb..0e96e606 100644
+--- a/core/arch/arm/kernel/link.mk
++++ b/core/arch/arm/kernel/link.mk
+@@ -9,6 +9,11 @@ link-script-dep = $(link-out-dir)/.kern.ld.d
+
+ AWK = awk
+
++link-ldflags-common += $(call ld-option,--no-warn-rwx-segments)
++ifeq ($(CFG_ARM32_core),y)
++link-ldflags-common += $(call ld-option,--no-warn-execstack)
++endif
++
+ link-ldflags = $(LDFLAGS)
+ ifeq ($(CFG_CORE_ASLR),y)
+ link-ldflags += -pie -Bsymbolic -z norelro $(ldflag-apply-dynamic-relocs)
+@@ -31,7 +36,7 @@ link-ldflags += -T $(link-script-pp) -Map=$(link-out-dir)/tee.map
+ link-ldflags += --sort-section=alignment
+ link-ldflags += --fatal-warnings
+ link-ldflags += --gc-sections
+-link-ldflags += $(call ld-option,--no-warn-rwx-segments)
++link-ldflags += $(link-ldflags-common)
+
+ link-ldadd = $(LDADD)
+ link-ldadd += $(ldflags-external)
+@@ -56,7 +61,7 @@ link-script-cppflags := \
+ $(cppflagscore))
+
+ ldargs-all_objs := -T $(link-script-dummy) --no-check-sections \
+- $(call ld-option,--no-warn-rwx-segments) \
++ $(link-ldflags-common) \
+ $(link-objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/all_objs.o
+ $(link-out-dir)/all_objs.o: $(objs) $(libdeps) $(MAKEFILE_LIST)
+@@ -70,7 +75,7 @@ $(link-out-dir)/unpaged_entries.txt: $(link-out-dir)/all_objs.o
+ $(AWK) '/ ____keep_pager/ { printf "-u%s ", $$3 }' > $@
+
+ unpaged-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
+- $(call ld-option,--no-warn-rwx-segments)
++ $(link-ldflags-common)
+ unpaged-ldadd := $(objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/unpaged.o
+ $(link-out-dir)/unpaged.o: $(link-out-dir)/unpaged_entries.txt
+@@ -99,7 +104,7 @@ $(link-out-dir)/init_entries.txt: $(link-out-dir)/all_objs.o
+ $(AWK) '/ ____keep_init/ { printf "-u%s ", $$3 }' > $@
+
+ init-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
+- $(call ld-option,--no-warn-rwx-segments)
++ $(link-ldflags-common)
+ init-ldadd := $(link-objs-init) $(link-out-dir)/version.o $(link-ldadd) \
+ $(libgcccore)
+ cleanfiles += $(link-out-dir)/init.o
+diff --git a/ldelf/link.mk b/ldelf/link.mk
+index 64c8212a..bd49551e 100644
+--- a/ldelf/link.mk
++++ b/ldelf/link.mk
+@@ -20,6 +20,9 @@ link-ldflags += -z max-page-size=4096 # OP-TEE always uses 4K alignment
+ ifeq ($(CFG_CORE_BTI),y)
+ link-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
+ endif
++ifeq ($(CFG_ARM32_$(sm)), y)
++link-ldflags += $(call ld-option,--no-warn-execstack)
++endif
+ link-ldflags += $(link-ldflags$(sm))
+
+ link-ldadd = $(addprefix -L,$(libdirs))
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0010-add-note-GNU-stack-section.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0010-add-note-GNU-stack-section.patch
new file mode 100644
index 0000000000..4ea65d88cc
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-3.19.0/0010-add-note-GNU-stack-section.patch
@@ -0,0 +1,128 @@
+From ec30e84671aac9a2e9549754eb7bc6201728db4c Mon Sep 17 00:00:00 2001
+From: Jerome Forissier <jerome.forissier@linaro.org>
+Date: Tue, 23 Aug 2022 12:31:46 +0000
+Subject: [PATCH] arm32: libutils, libutee, ta: add .note.GNU-stack section to
+
+ .S files
+
+When building for arm32 with GNU binutils 2.39, the linker outputs
+warnings when linking Trusted Applications:
+
+ arm-unknown-linux-uclibcgnueabihf-ld.bfd: warning: utee_syscalls_a32.o: missing .note.GNU-stack section implies executable stack
+ arm-unknown-linux-uclibcgnueabihf-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
+
+We could silence the warning by adding the '-z execstack' option to the
+TA link flags, like we did in the parent commit for the TEE core and
+ldelf. Indeed, ldelf always allocates a non-executable piece of memory
+for the TA to use as a stack.
+
+However it seems preferable to comply with the common ELF practices in
+this case. A better fix is therefore to add the missing .note.GNU-stack
+sections in the assembler files.
+
+Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
+
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499]
+
+---
+ lib/libutee/arch/arm/utee_syscalls_a32.S | 2 ++
+ lib/libutils/ext/arch/arm/atomic_a32.S | 2 ++
+ lib/libutils/ext/arch/arm/mcount_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/setjmp_a32.S | 2 ++
+ ta/arch/arm/ta_entry_a32.S | 2 ++
+ 7 files changed, 14 insertions(+)
+
+diff --git a/lib/libutee/arch/arm/utee_syscalls_a32.S b/lib/libutee/arch/arm/utee_syscalls_a32.S
+index 6e621ca6..af405f62 100644
+--- a/lib/libutee/arch/arm/utee_syscalls_a32.S
++++ b/lib/libutee/arch/arm/utee_syscalls_a32.S
+@@ -7,6 +7,8 @@
+ #include <tee_syscall_numbers.h>
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ .section .text
+ .balign 4
+ .code 32
+diff --git a/lib/libutils/ext/arch/arm/atomic_a32.S b/lib/libutils/ext/arch/arm/atomic_a32.S
+index eaef6914..2be73ffa 100644
+--- a/lib/libutils/ext/arch/arm/atomic_a32.S
++++ b/lib/libutils/ext/arch/arm/atomic_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /* uint32_t atomic_inc32(uint32_t *v); */
+ FUNC atomic_inc32 , :
+ ldrex r1, [r0]
+diff --git a/lib/libutils/ext/arch/arm/mcount_a32.S b/lib/libutils/ext/arch/arm/mcount_a32.S
+index 51439a23..54dc3c02 100644
+--- a/lib/libutils/ext/arch/arm/mcount_a32.S
++++ b/lib/libutils/ext/arch/arm/mcount_a32.S
+@@ -7,6 +7,8 @@
+
+ #if defined(CFG_TA_GPROF_SUPPORT) || defined(CFG_FTRACE_SUPPORT)
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * Convert return address to call site address by subtracting the size of the
+ * mcount call instruction (blx __gnu_mcount_nc).
+diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
+index a600c879..37ae9ec6 100644
+--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
++++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * signed ret_idivmod_values(signed quot, signed rem);
+ * return quotient and remaining the EABI way (regs r0,r1)
+diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
+index 2dc50bc9..5c3353e2 100644
+--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
++++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * __value_in_regs lldiv_t __aeabi_ldivmod( long long n, long long d)
+ */
+diff --git a/lib/libutils/isoc/arch/arm/setjmp_a32.S b/lib/libutils/isoc/arch/arm/setjmp_a32.S
+index 43ea5937..f8a0b70d 100644
+--- a/lib/libutils/isoc/arch/arm/setjmp_a32.S
++++ b/lib/libutils/isoc/arch/arm/setjmp_a32.S
+@@ -51,6 +51,8 @@
+ #define SIZE(x)
+ #endif
+
++ .section .note.GNU-stack,"",%progbits
++
+ /* Arm/Thumb interworking support:
+
+ The interworking scheme expects functions to use a BX instruction
+diff --git a/ta/arch/arm/ta_entry_a32.S b/ta/arch/arm/ta_entry_a32.S
+index d2f8a69d..cd9a12f9 100644
+--- a/ta/arch/arm/ta_entry_a32.S
++++ b/ta/arch/arm/ta_entry_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * This function is the bottom of the user call stack. Mark it as such so that
+ * the unwinding code won't try to go further down.
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-3_19.inc b/meta-arm/meta-arm/recipes-security/optee/optee-os-3_19.inc
new file mode 100644
index 0000000000..8adb6996d0
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-3_19.inc
@@ -0,0 +1,82 @@
+SUMMARY = "OP-TEE Trusted OS"
+DESCRIPTION = "Open Portable Trusted Execution Environment - Trusted side of the TEE"
+HOMEPAGE = "https://www.op-tee.org/"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
+
+inherit deploy python3native
+require optee.inc
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/optee-os-3_19:"
+
+CVE_PRODUCT = "linaro:op-tee op-tee:op-tee_os"
+
+DEPENDS = "python3-pyelftools-native python3-cryptography-native"
+
+DEPENDS:append:toolchain-clang = " compiler-rt"
+
+SRC_URI = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https"
+
+SRC_URI:append = " \
+ file://0006-allow-setting-sysroot-for-libgcc-lookup.patch \
+ file://0007-allow-setting-sysroot-for-clang.patch \
+ file://0008-no-warn-rwx-segments.patch \
+ "
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+EXTRA_OEMAKE += " \
+ PLATFORM=${OPTEEMACHINE} \
+ CFG_${OPTEE_CORE}_core=y \
+ CROSS_COMPILE_core=${HOST_PREFIX} \
+ CROSS_COMPILE_ta_${OPTEE_ARCH}=${HOST_PREFIX} \
+ NOWERROR=1 \
+ ta-targets=ta_${OPTEE_ARCH} \
+ O=${B} \
+"
+EXTRA_OEMAKE += " HOST_PREFIX=${HOST_PREFIX}"
+EXTRA_OEMAKE += " CROSS_COMPILE64=${HOST_PREFIX}"
+
+CFLAGS[unexport] = "1"
+LDFLAGS[unexport] = "1"
+CPPFLAGS[unexport] = "1"
+AS[unexport] = "1"
+LD[unexport] = "1"
+
+do_compile:prepend() {
+ PLAT_LIBGCC_PATH=$(${CC} -print-libgcc-file-name)
+}
+
+do_compile() {
+ oe_runmake -C ${S} all
+}
+do_compile[cleandirs] = "${B}"
+
+do_install() {
+ #install core in firmware
+ install -d ${D}${nonarch_base_libdir}/firmware/
+ install -m 644 ${B}/core/*.bin ${B}/core/tee.elf ${D}${nonarch_base_libdir}/firmware/
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+do_deploy() {
+ install -d ${DEPLOYDIR}/${MLPREFIX}optee
+ install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/${MLPREFIX}optee
+}
+
+addtask deploy before do_build after do_install
+
+SYSROOT_DIRS += "${nonarch_base_libdir}/firmware"
+
+FILES:${PN} = "${nonarch_base_libdir}/firmware/"
+
+# note: "textrel" is not triggered on all archs
+INSANE_SKIP:${PN} = "textrel"
+# Build paths are currently embedded
+INSANE_SKIP:${PN} += "buildpaths"
+INSANE_SKIP:${PN}-dev = "staticdev"
+INHIBIT_PACKAGE_STRIP = "1"
+
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0001-core-Define-section-attributes-for-clang.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0001-core-Define-section-attributes-for-clang.patch
new file mode 100644
index 0000000000..a69d77761d
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0001-core-Define-section-attributes-for-clang.patch
@@ -0,0 +1,230 @@
+From f189457b79989543f65b8a4e8729eff2cdf9a758 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 13 Aug 2022 19:24:55 -0700
+Subject: [PATCH] core: Define section attributes for clang
+
+Clang's attribute section is not same as gcc, here we need to add flags
+to sections so they can be eventually collected by linker into final
+output segments. Only way to do so with clang is to use
+
+pragma clang section ...
+
+The behavious is described here [1], this allows us to define names bss
+sections. This was not an issue until clang-15 where LLD linker starts
+to detect the section flags before merging them and throws the following
+errors
+
+| ld.lld: error: section type mismatch for .nozi.kdata_page
+| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/kernel/thread.o:(.nozi.kdata_page): SHT_PROGBITS
+| >>> output section .nozi: SHT_NOBITS
+|
+| ld.lld: error: section type mismatch for .nozi.mmu.l2
+| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/mm/core_mmu_lpae.o:(.nozi.mmu.l2): SHT_PROGBITS
+| >>> output section .nozi: SHT_NOBITS
+
+These sections should be carrying SHT_NOBITS but so far it was not
+possible to do so, this patch tries to use clangs pragma to get this
+going and match the functionality with gcc.
+
+[1] https://intel.github.io/llvm-docs/clang/LanguageExtensions.html#specifying-section-names-for-global-objects-pragma-clang-section
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ core/arch/arm/kernel/thread.c | 19 +++++++++++++++--
+ core/arch/arm/mm/core_mmu_lpae.c | 35 ++++++++++++++++++++++++++++----
+ core/arch/arm/mm/pgt_cache.c | 12 ++++++++++-
+ core/kernel/thread.c | 13 +++++++++++-
+ 4 files changed, 71 insertions(+), 8 deletions(-)
+
+--- a/core/arch/arm/kernel/thread.c
++++ b/core/arch/arm/kernel/thread.c
+@@ -44,16 +44,31 @@ static size_t thread_user_kcode_size __n
+ #if defined(CFG_CORE_UNMAP_CORE_AT_EL0) && \
+ defined(CFG_CORE_WORKAROUND_SPECTRE_BP_SEC) && defined(ARM64)
+ long thread_user_kdata_sp_offset __nex_bss;
++#ifdef __clang__
++#ifndef CFG_VIRTUALIZATION
++#pragma clang section bss=".nozi.kdata_page"
++#else
++#pragma clang section bss=".nex_nozi.kdata_page"
++#endif
++#endif
+ static uint8_t thread_user_kdata_page[
+ ROUNDUP(sizeof(struct thread_core_local) * CFG_TEE_CORE_NB_CORE,
+ SMALL_PAGE_SIZE)]
+ __aligned(SMALL_PAGE_SIZE)
++#ifndef __clang__
+ #ifndef CFG_VIRTUALIZATION
+- __section(".nozi.kdata_page");
++ __section(".nozi.kdata_page")
+ #else
+- __section(".nex_nozi.kdata_page");
++ __section(".nex_nozi.kdata_page")
+ #endif
+ #endif
++ ;
++#endif
++
++/* reset BSS section to default ( .bss ) */
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ #ifdef ARM32
+ uint32_t __nostackcheck thread_get_exceptions(void)
+--- a/core/arch/arm/mm/core_mmu_lpae.c
++++ b/core/arch/arm/mm/core_mmu_lpae.c
+@@ -233,19 +233,46 @@ typedef uint16_t l1_idx_t;
+ typedef uint64_t base_xlat_tbls_t[CFG_TEE_CORE_NB_CORE][NUM_BASE_LEVEL_ENTRIES];
+ typedef uint64_t xlat_tbl_t[XLAT_TABLE_ENTRIES];
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.base_table"
++#endif
+ static base_xlat_tbls_t base_xlation_table[NUM_BASE_TABLES]
+ __aligned(NUM_BASE_LEVEL_ENTRIES * XLAT_ENTRY_SIZE)
+- __section(".nozi.mmu.base_table");
++#ifndef __clang__
++ __section(".nozi.mmu.base_table")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ static xlat_tbl_t xlat_tables[MAX_XLAT_TABLES]
+- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
++ __aligned(XLAT_TABLE_SIZE)
++#ifndef __clang__
++ __section(".nozi.mmu.l2")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ #define XLAT_TABLES_SIZE (sizeof(xlat_tbl_t) * MAX_XLAT_TABLES)
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ /* MMU L2 table for TAs, one for each thread */
+ static xlat_tbl_t xlat_tables_ul1[CFG_NUM_THREADS]
+- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
+-
++#ifndef __clang__
++ __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+ /*
+ * TAs page table entry inside a level 1 page table.
+ *
+--- a/core/arch/arm/mm/pgt_cache.c
++++ b/core/arch/arm/mm/pgt_cache.c
+@@ -104,8 +104,18 @@ void pgt_init(void)
+ * has a large alignment, while .bss has a small alignment. The current
+ * link script is optimized for small alignment in .bss
+ */
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ static uint8_t pgt_tables[PGT_CACHE_SIZE][PGT_SIZE]
+- __aligned(PGT_SIZE) __section(".nozi.pgt_cache");
++ __aligned(PGT_SIZE)
++#ifndef __clang__
++ __section(".nozi.pgt_cache")
++#endif
++ ;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+ size_t n;
+
+ for (n = 0; n < ARRAY_SIZE(pgt_tables); n++) {
+--- a/core/kernel/thread.c
++++ b/core/kernel/thread.c
+@@ -37,13 +37,24 @@ struct thread_core_local thread_core_loc
+ name[stack_num][sizeof(name[stack_num]) / sizeof(uint32_t) - 1]
+ #endif
+
++#define DO_PRAGMA(x) _Pragma (#x)
++
++#ifdef __clang__
++#define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
++DO_PRAGMA (clang section bss=".nozi_stack." #name) \
++linkage uint32_t name[num_stacks] \
++ [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
++ STACK_ALIGNMENT) / sizeof(uint32_t)] \
++ __attribute__((aligned(STACK_ALIGNMENT))); \
++DO_PRAGMA(clang section bss="")
++#else
+ #define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
+ linkage uint32_t name[num_stacks] \
+ [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
+ STACK_ALIGNMENT) / sizeof(uint32_t)] \
+ __attribute__((section(".nozi_stack." # name), \
+ aligned(STACK_ALIGNMENT)))
+-
++#endif
+ #define GET_STACK(stack) ((vaddr_t)(stack) + STACK_SIZE(stack))
+
+ DECLARE_STACK(stack_tmp, CFG_TEE_CORE_NB_CORE,
+--- a/core/arch/arm/mm/core_mmu_v7.c
++++ b/core/arch/arm/mm/core_mmu_v7.c
+@@ -204,16 +204,46 @@ typedef uint32_t l1_xlat_tbl_t[NUM_L1_EN
+ typedef uint32_t l2_xlat_tbl_t[NUM_L2_ENTRIES];
+ typedef uint32_t ul1_xlat_tbl_t[NUM_UL1_ENTRIES];
+
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l1"
++#endif
+ static l1_xlat_tbl_t main_mmu_l1_ttb
+- __aligned(L1_ALIGNMENT) __section(".nozi.mmu.l1");
++ __aligned(L1_ALIGNMENT)
++#ifndef __clang__
++ __section(".nozi.mmu.l1")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ /* L2 MMU tables */
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.l2"
++#endif
+ static l2_xlat_tbl_t main_mmu_l2_ttb[MAX_XLAT_TABLES]
+- __aligned(L2_ALIGNMENT) __section(".nozi.mmu.l2");
++ __aligned(L2_ALIGNMENT)
++#ifndef __clang__
++ __section(".nozi.mmu.l2")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ /* MMU L1 table for TAs, one for each thread */
++#ifdef __clang__
++#pragma clang section bss=".nozi.mmu.ul1"
++#endif
+ static ul1_xlat_tbl_t main_mmu_ul1_ttb[CFG_NUM_THREADS]
+- __aligned(UL1_ALIGNMENT) __section(".nozi.mmu.ul1");
++ __aligned(UL1_ALIGNMENT)
++#ifndef __clang__
++ __section(".nozi.mmu.ul1")
++#endif
++;
++#ifdef __clang__
++#pragma clang section bss=""
++#endif
+
+ struct mmu_partition {
+ l1_xlat_tbl_t *l1_table;
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0006-allow-setting-sysroot-for-libgcc-lookup.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0006-allow-setting-sysroot-for-libgcc-lookup.patch
new file mode 100644
index 0000000000..ab4a6dbc0a
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0006-allow-setting-sysroot-for-libgcc-lookup.patch
@@ -0,0 +1,35 @@
+From 528aeb42652a3159c1bfd51d6c1442c3ff27b84c Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 26 May 2020 14:38:02 -0500
+Subject: [PATCH] allow setting sysroot for libgcc lookup
+
+Explicitly pass the new variable LIBGCC_LOCATE_CFLAGS variable when searching
+for the compiler libraries as there's no easy way to reliably pass --sysroot
+otherwise.
+
+Upstream-Status: Pending [https://github.com/OP-TEE/optee_os/issues/4188]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+---
+ mk/gcc.mk | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/mk/gcc.mk b/mk/gcc.mk
+index adc77a24..81bfa78a 100644
+--- a/mk/gcc.mk
++++ b/mk/gcc.mk
+@@ -13,11 +13,11 @@ nostdinc$(sm) := -nostdinc -isystem $(shell $(CC$(sm)) \
+ -print-file-name=include 2> /dev/null)
+
+ # Get location of libgcc from gcc
+-libgcc$(sm) := $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \
++libgcc$(sm) := $(shell $(CC$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CFLAGS$(arch-bits-$(sm))) \
+ -print-libgcc-file-name 2> /dev/null)
+-libstdc++$(sm) := $(shell $(CXX$(sm)) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
++libstdc++$(sm) := $(shell $(CXX$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
+ -print-file-name=libstdc++.a 2> /dev/null)
+-libgcc_eh$(sm) := $(shell $(CXX$(sm)) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
++libgcc_eh$(sm) := $(shell $(CXX$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
+ -print-file-name=libgcc_eh.a 2> /dev/null)
+
+ # Define these to something to discover accidental use
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0007-allow-setting-sysroot-for-clang.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0007-allow-setting-sysroot-for-clang.patch
new file mode 100644
index 0000000000..067ba6ebfb
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0007-allow-setting-sysroot-for-clang.patch
@@ -0,0 +1,30 @@
+From db9e44af75c7cfd3316cab15aaa387383df3e57e Mon Sep 17 00:00:00 2001
+From: Brett Warren <brett.warren@arm.com>
+Date: Wed, 23 Sep 2020 09:27:34 +0100
+Subject: [PATCH] optee: enable clang support
+
+When compiling with clang, the LIBGCC_LOCATE_CFLAG variable used
+to provide a sysroot wasn't included, which results in not locating
+compiler-rt. This is mitigated by including the variable as ammended.
+
+Upstream-Status: Pending
+ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701
+Signed-off-by: Brett Warren <brett.warren@arm.com>
+
+---
+ mk/clang.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mk/clang.mk b/mk/clang.mk
+index c141a3f2..7d067cc0 100644
+--- a/mk/clang.mk
++++ b/mk/clang.mk
+@@ -27,7 +27,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \
+
+ # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of
+ # libgcc for clang
+-libgcc$(sm) := $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \
++libgcc$(sm) := $(shell $(CC$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CFLAGS$(arch-bits-$(sm))) \
+ -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null)
+
+ # Core ASLR relies on the executable being ready to run from its preferred load
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0008-no-warn-rwx-segments.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0008-no-warn-rwx-segments.patch
new file mode 100644
index 0000000000..6d48a7601b
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0008-no-warn-rwx-segments.patch
@@ -0,0 +1,65 @@
+From cf2a2451f4e9300532d677bb3a8315494a3b3a82 Mon Sep 17 00:00:00 2001
+From: Jerome Forissier <jerome.forissier@linaro.org>
+Date: Fri, 5 Aug 2022 09:48:03 +0200
+Subject: [PATCH] core: link: add --no-warn-rwx-segments
+
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5474]
+
+binutils ld.bfd generates one RWX LOAD segment by merging several sections
+with mixed R/W/X attributes (.text, .rodata, .data). After version 2.38 it
+also warns by default when that happens [1], which breaks the build due to
+--fatal-warnings. The RWX segment is not a problem for the TEE core, since
+that information is not used to set memory permissions. Therefore, silence
+the warning.
+
+Link: [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
+Link: https://sourceware.org/bugzilla/show_bug.cgi?id=29448
+Reported-by: Dominique Martinet <dominique.martinet@atmark-techno.com>
+Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
+Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
+
+---
+ core/arch/arm/kernel/link.mk | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
+index 7eed333a..c39d43cb 100644
+--- a/core/arch/arm/kernel/link.mk
++++ b/core/arch/arm/kernel/link.mk
+@@ -31,6 +31,7 @@ link-ldflags += -T $(link-script-pp) -Map=$(link-out-dir)/tee.map
+ link-ldflags += --sort-section=alignment
+ link-ldflags += --fatal-warnings
+ link-ldflags += --gc-sections
++link-ldflags += $(call ld-option,--no-warn-rwx-segments)
+
+ link-ldadd = $(LDADD)
+ link-ldadd += $(ldflags-external)
+@@ -55,6 +56,7 @@ link-script-cppflags := \
+ $(cppflagscore))
+
+ ldargs-all_objs := -T $(link-script-dummy) --no-check-sections \
++ $(call ld-option,--no-warn-rwx-segments) \
+ $(link-objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/all_objs.o
+ $(link-out-dir)/all_objs.o: $(objs) $(libdeps) $(MAKEFILE_LIST)
+@@ -67,7 +69,8 @@ $(link-out-dir)/unpaged_entries.txt: $(link-out-dir)/all_objs.o
+ $(q)$(NMcore) $< | \
+ $(AWK) '/ ____keep_pager/ { printf "-u%s ", $$3 }' > $@
+
+-unpaged-ldargs = -T $(link-script-dummy) --no-check-sections --gc-sections
++unpaged-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
++ $(call ld-option,--no-warn-rwx-segments)
+ unpaged-ldadd := $(objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/unpaged.o
+ $(link-out-dir)/unpaged.o: $(link-out-dir)/unpaged_entries.txt
+@@ -95,7 +98,8 @@ $(link-out-dir)/init_entries.txt: $(link-out-dir)/all_objs.o
+ $(q)$(NMcore) $< | \
+ $(AWK) '/ ____keep_init/ { printf "-u%s ", $$3 }' > $@
+
+-init-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections
++init-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
++ $(call ld-option,--no-warn-rwx-segments)
+ init-ldadd := $(link-objs-init) $(link-out-dir)/version.o $(link-ldadd) \
+ $(libgcccore)
+ cleanfiles += $(link-out-dir)/init.o
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0009-add-z-execstack.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0009-add-z-execstack.patch
new file mode 100644
index 0000000000..3ba6c4ef38
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0009-add-z-execstack.patch
@@ -0,0 +1,94 @@
+From ea932656461865ab9ac4036245c756c082aeb3e1 Mon Sep 17 00:00:00 2001
+From: Jerome Forissier <jerome.forissier@linaro.org>
+Date: Tue, 23 Aug 2022 11:41:00 +0000
+Subject: [PATCH] core, ldelf: link: add -z execstack
+
+When building for arm32 with GNU binutils 2.39, the linker outputs
+warnings when generating some TEE core binaries (all_obj.o, init.o,
+unpaged.o and tee.elf) as well as ldelf.elf:
+
+ arm-poky-linux-gnueabi-ld.bfd: warning: atomic_a32.o: missing .note.GNU-stack section implies executable stack
+ arm-poky-linux-gnueabi-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
+
+The permissions used when mapping the TEE core stacks do not depend on
+any metadata found in the ELF file. Similarly when the TEE core loads
+ldelf it already creates a non-executable stack regardless of ELF
+information. Therefore we can safely ignore the warnings. This is done
+by adding the '-z execstack' option.
+
+Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
+
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499]
+
+---
+ core/arch/arm/kernel/link.mk | 13 +++++++++----
+ ldelf/link.mk | 3 +++
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
+index c39d43cb..0e96e606 100644
+--- a/core/arch/arm/kernel/link.mk
++++ b/core/arch/arm/kernel/link.mk
+@@ -9,6 +9,11 @@ link-script-dep = $(link-out-dir)/.kern.ld.d
+
+ AWK = awk
+
++link-ldflags-common += $(call ld-option,--no-warn-rwx-segments)
++ifeq ($(CFG_ARM32_core),y)
++link-ldflags-common += $(call ld-option,--no-warn-execstack)
++endif
++
+ link-ldflags = $(LDFLAGS)
+ ifeq ($(CFG_CORE_ASLR),y)
+ link-ldflags += -pie -Bsymbolic -z norelro $(ldflag-apply-dynamic-relocs)
+@@ -31,7 +36,7 @@ link-ldflags += -T $(link-script-pp) -Map=$(link-out-dir)/tee.map
+ link-ldflags += --sort-section=alignment
+ link-ldflags += --fatal-warnings
+ link-ldflags += --gc-sections
+-link-ldflags += $(call ld-option,--no-warn-rwx-segments)
++link-ldflags += $(link-ldflags-common)
+
+ link-ldadd = $(LDADD)
+ link-ldadd += $(ldflags-external)
+@@ -56,7 +61,7 @@ link-script-cppflags := \
+ $(cppflagscore))
+
+ ldargs-all_objs := -T $(link-script-dummy) --no-check-sections \
+- $(call ld-option,--no-warn-rwx-segments) \
++ $(link-ldflags-common) \
+ $(link-objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/all_objs.o
+ $(link-out-dir)/all_objs.o: $(objs) $(libdeps) $(MAKEFILE_LIST)
+@@ -70,7 +75,7 @@ $(link-out-dir)/unpaged_entries.txt: $(link-out-dir)/all_objs.o
+ $(AWK) '/ ____keep_pager/ { printf "-u%s ", $$3 }' > $@
+
+ unpaged-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
+- $(call ld-option,--no-warn-rwx-segments)
++ $(link-ldflags-common)
+ unpaged-ldadd := $(objs) $(link-ldadd) $(libgcccore)
+ cleanfiles += $(link-out-dir)/unpaged.o
+ $(link-out-dir)/unpaged.o: $(link-out-dir)/unpaged_entries.txt
+@@ -99,7 +104,7 @@ $(link-out-dir)/init_entries.txt: $(link-out-dir)/all_objs.o
+ $(AWK) '/ ____keep_init/ { printf "-u%s ", $$3 }' > $@
+
+ init-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
+- $(call ld-option,--no-warn-rwx-segments)
++ $(link-ldflags-common)
+ init-ldadd := $(link-objs-init) $(link-out-dir)/version.o $(link-ldadd) \
+ $(libgcccore)
+ cleanfiles += $(link-out-dir)/init.o
+diff --git a/ldelf/link.mk b/ldelf/link.mk
+index 64c8212a..bd49551e 100644
+--- a/ldelf/link.mk
++++ b/ldelf/link.mk
+@@ -20,6 +20,9 @@ link-ldflags += -z max-page-size=4096 # OP-TEE always uses 4K alignment
+ ifeq ($(CFG_CORE_BTI),y)
+ link-ldflags += $(call ld-option,-z force-bti) --fatal-warnings
+ endif
++ifeq ($(CFG_ARM32_$(sm)), y)
++link-ldflags += $(call ld-option,--no-warn-execstack)
++endif
+ link-ldflags += $(link-ldflags$(sm))
+
+ link-ldadd = $(addprefix -L,$(libdirs))
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0010-add-note-GNU-stack-section.patch b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0010-add-note-GNU-stack-section.patch
new file mode 100644
index 0000000000..4ea65d88cc
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os-tadevkit-3.18.0/0010-add-note-GNU-stack-section.patch
@@ -0,0 +1,128 @@
+From ec30e84671aac9a2e9549754eb7bc6201728db4c Mon Sep 17 00:00:00 2001
+From: Jerome Forissier <jerome.forissier@linaro.org>
+Date: Tue, 23 Aug 2022 12:31:46 +0000
+Subject: [PATCH] arm32: libutils, libutee, ta: add .note.GNU-stack section to
+
+ .S files
+
+When building for arm32 with GNU binutils 2.39, the linker outputs
+warnings when linking Trusted Applications:
+
+ arm-unknown-linux-uclibcgnueabihf-ld.bfd: warning: utee_syscalls_a32.o: missing .note.GNU-stack section implies executable stack
+ arm-unknown-linux-uclibcgnueabihf-ld.bfd: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
+
+We could silence the warning by adding the '-z execstack' option to the
+TA link flags, like we did in the parent commit for the TEE core and
+ldelf. Indeed, ldelf always allocates a non-executable piece of memory
+for the TA to use as a stack.
+
+However it seems preferable to comply with the common ELF practices in
+this case. A better fix is therefore to add the missing .note.GNU-stack
+sections in the assembler files.
+
+Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
+
+Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
+Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5499]
+
+---
+ lib/libutee/arch/arm/utee_syscalls_a32.S | 2 ++
+ lib/libutils/ext/arch/arm/atomic_a32.S | 2 ++
+ lib/libutils/ext/arch/arm/mcount_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S | 2 ++
+ lib/libutils/isoc/arch/arm/setjmp_a32.S | 2 ++
+ ta/arch/arm/ta_entry_a32.S | 2 ++
+ 7 files changed, 14 insertions(+)
+
+diff --git a/lib/libutee/arch/arm/utee_syscalls_a32.S b/lib/libutee/arch/arm/utee_syscalls_a32.S
+index 6e621ca6..af405f62 100644
+--- a/lib/libutee/arch/arm/utee_syscalls_a32.S
++++ b/lib/libutee/arch/arm/utee_syscalls_a32.S
+@@ -7,6 +7,8 @@
+ #include <tee_syscall_numbers.h>
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ .section .text
+ .balign 4
+ .code 32
+diff --git a/lib/libutils/ext/arch/arm/atomic_a32.S b/lib/libutils/ext/arch/arm/atomic_a32.S
+index eaef6914..2be73ffa 100644
+--- a/lib/libutils/ext/arch/arm/atomic_a32.S
++++ b/lib/libutils/ext/arch/arm/atomic_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /* uint32_t atomic_inc32(uint32_t *v); */
+ FUNC atomic_inc32 , :
+ ldrex r1, [r0]
+diff --git a/lib/libutils/ext/arch/arm/mcount_a32.S b/lib/libutils/ext/arch/arm/mcount_a32.S
+index 51439a23..54dc3c02 100644
+--- a/lib/libutils/ext/arch/arm/mcount_a32.S
++++ b/lib/libutils/ext/arch/arm/mcount_a32.S
+@@ -7,6 +7,8 @@
+
+ #if defined(CFG_TA_GPROF_SUPPORT) || defined(CFG_FTRACE_SUPPORT)
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * Convert return address to call site address by subtracting the size of the
+ * mcount call instruction (blx __gnu_mcount_nc).
+diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
+index a600c879..37ae9ec6 100644
+--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
++++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * signed ret_idivmod_values(signed quot, signed rem);
+ * return quotient and remaining the EABI way (regs r0,r1)
+diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
+index 2dc50bc9..5c3353e2 100644
+--- a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
++++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * __value_in_regs lldiv_t __aeabi_ldivmod( long long n, long long d)
+ */
+diff --git a/lib/libutils/isoc/arch/arm/setjmp_a32.S b/lib/libutils/isoc/arch/arm/setjmp_a32.S
+index 43ea5937..f8a0b70d 100644
+--- a/lib/libutils/isoc/arch/arm/setjmp_a32.S
++++ b/lib/libutils/isoc/arch/arm/setjmp_a32.S
+@@ -51,6 +51,8 @@
+ #define SIZE(x)
+ #endif
+
++ .section .note.GNU-stack,"",%progbits
++
+ /* Arm/Thumb interworking support:
+
+ The interworking scheme expects functions to use a BX instruction
+diff --git a/ta/arch/arm/ta_entry_a32.S b/ta/arch/arm/ta_entry_a32.S
+index d2f8a69d..cd9a12f9 100644
+--- a/ta/arch/arm/ta_entry_a32.S
++++ b/ta/arch/arm/ta_entry_a32.S
+@@ -5,6 +5,8 @@
+
+ #include <asm.S>
+
++ .section .note.GNU-stack,"",%progbits
++
+ /*
+ * This function is the bottom of the user call stack. Mark it as such so that
+ * the unwinding code won't try to go further down.
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os_3.18.0.bb b/meta-arm/meta-arm/recipes-security/optee/optee-os_3.18.0.bb
index 59e58ed30f..31da5dedf4 100644
--- a/meta-arm/meta-arm/recipes-security/optee/optee-os_3.18.0.bb
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os_3.18.0.bb
@@ -2,6 +2,8 @@ require optee-os.inc
DEPENDS += "dtc-native"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-3.18.0:"
+
SRCREV = "1ee647035939e073a2e8dddb727c0f019cc035f1"
SRC_URI:append = " \
file://0001-core-Define-section-attributes-for-clang.patch \
diff --git a/meta-arm/meta-arm/recipes-security/optee/optee-os_3.19.0.bb b/meta-arm/meta-arm/recipes-security/optee/optee-os_3.19.0.bb
new file mode 100644
index 0000000000..656a09748c
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-security/optee/optee-os_3.19.0.bb
@@ -0,0 +1,9 @@
+require optee-os-3_19.inc
+
+DEPENDS += "dtc-native"
+
+SRCREV = "afacf356f9593a7f83cae9f96026824ec242ff52"
+
+SRC_URI:append = " \
+ file://0001-core-Define-section-attributes-for-clang.patch \
+ "
diff --git a/meta-arm/meta-arm/recipes-security/packagegroups/packagegroup-ts-tests.bb b/meta-arm/meta-arm/recipes-security/packagegroups/packagegroup-ts-tests.bb
index b9c6507ce7..25ee2f5a87 100644
--- a/meta-arm/meta-arm/recipes-security/packagegroups/packagegroup-ts-tests.bb
+++ b/meta-arm/meta-arm/recipes-security/packagegroups/packagegroup-ts-tests.bb
@@ -5,6 +5,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
COMPATIBLE_HOST = "aarch64.*-linux"
+COMPATIBLE_MACHINE ?= "invalid"
+COMPATIBLE_MACHINE:qemuarm64-secureboot = "qemuarm64-secureboot"
PACKAGES = "${PN} ${PN}-psa"
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/libts_git.bb b/meta-arm/meta-arm/recipes-security/trusted-services/libts_git.bb
index 598b281bac..aafe85160c 100644
--- a/meta-arm/meta-arm/recipes-security/trusted-services/libts_git.bb
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/libts_git.bb
@@ -24,11 +24,14 @@ do_install:append () {
fi
# Move the dynamic libraries into the standard place.
- # Update a cmake file to use correct paths.
install -d ${D}${libdir}
mv ${D}${TS_INSTALL}/lib/libts* ${D}${libdir}
- sed -i -e "s#/${TS_ENV}##g" ${D}${TS_INSTALL}/lib/cmake/libts/libtsTargets-noconfig.cmake
+ # Update generated cmake file to use correct paths.
+ target_cmake=$(find ${D}${TS_INSTALL}/lib/cmake/libts -type f -iname "libtsTargets-*.cmake")
+ if [ ! -z "$target_cmake" ]; then
+ sed -i -e "s#/${TS_ENV}##g" $target_cmake
+ fi
}
inherit ${@oe.utils.conditional('VIRTUAL-RUNTIME_dev_manager', 'busybox-mdev', '', 'useradd', d)}
diff --git a/meta-arm/meta-arm/recipes-security/trusted-services/trusted-services.inc b/meta-arm/meta-arm/recipes-security/trusted-services/trusted-services.inc
index 59f461d3b0..c64a1d4100 100644
--- a/meta-arm/meta-arm/recipes-security/trusted-services/trusted-services.inc
+++ b/meta-arm/meta-arm/recipes-security/trusted-services/trusted-services.inc
@@ -6,6 +6,8 @@ LICENSE = "Apache-2.0 & BSD-3-Clause & Zlib"
inherit python3native cmake
COMPATIBLE_HOST = "aarch64.*-linux"
+COMPATIBLE_MACHINE ?= "invalid"
+COMPATIBLE_MACHINE:qemuarm64-secureboot = "qemuarm64-secureboot"
require trusted-services-src.inc
diff --git a/meta-arm/meta-atp/README.md b/meta-arm/meta-atp/README.md
deleted file mode 100644
index 15d0e29b81..0000000000
--- a/meta-arm/meta-atp/README.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# meta-atp layer
-
-The meta-atp layer supports building environments with traffic generation capabilities based on [AMBA Adaptive Traffic Profiles (ATP)](https://developer.arm.com/documentation/ihi0082/latest).
-
-## Recipes
-
-The meta-atp layer supports building the following software components:
-
-- Arm's implementation of the AMBA ATP specification, namely the [AMBA ATP Engine](https://github.com/ARM-software/ATP-Engine).
-- Linux kernel modules and user API (UAPI) for programming ATP devices.
-- Integration test suite for verification of kernel modules and UAPI.
-
-It is also possible to build the AMBA ATP Engine as part of the final [gem5](https://www.gem5.org/) executable. For this, meta-atp extends the `gem5-aarch64-native` recipe to add the AMBA ATP engine code as extra sources.
-
-## Machines
-
-The `gem5-atp-arm64` machine extends the `gem5-arm64` machine to instantiate a simulated platform with support for programmable AMBA ATP traffic generation. The platform includes the following models:
-
-- `ProfileGen` model. This is the adapter layer between gem5 and the AMBA ATP Engine. It is the source of traffic into the gem5 host platform.
-- `ATPDevice` model. Software can program it using the Linux kernel modules and UAPI to control traffic generation.
-
-## Usage
-
-Users should add the meta-atp layer and layer dependencies to `conf/bblayers.conf`. See `conf/layer.conf` for dependencies.
-
-### Standalone Engine executable
-
-Users can build the AMBA ATP Engine as a standalone native executable as follows:
-
-```bash
-bitbake atp-native
-```
-
-Users can run the executable through standard build scripts:
-
-```bash
-oe-run-native atp-native atpeng [--help | args...]
-```
-
-## Integration of the Engine in gem5
-
-Users should select the `gem5-atp-arm64` platform in their `conf/local.conf` file.
-
-Users can build the target image of preference, for example:
-
-```bash
-bitbake core-image-minimal
-```
-
-The resulting gem5 native executable contains the AMBA ATP Engine. The resulting target image contains the kernel modules, UAPI and test suite.
-
-Users should run the environment as follows:
-
-```bash
-./tmp/deploy/tools/start-gem5-atp.sh
-```
-
-This script launches a fast simulation to fast-forward Linux boot. Once Linux boot is completed, the fast simulation switches into a detailed simulation for the final usable environment. Users can connect and interact with the environment as follows:
-
-```bash
-oe-run-native gem5-m5term-native m5term <PORT>
-```
-
-The connection PORT is announced by the deploy script as:
-
-```bash
-system.terminal: Listening for connections on port <PORT>
-```
-
-This is usually port 3456.
-
-Users can verify access to the ATP device by running the integration test suite from within the simulated environment as follows:
-
-```bash
-test_atp.out
-```
diff --git a/meta-arm/meta-atp/conf/layer.conf b/meta-arm/meta-atp/conf/layer.conf
deleted file mode 100644
index 8e48b26fef..0000000000
--- a/meta-arm/meta-atp/conf/layer.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-BBPATH .= ":${LAYERDIR}"
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "meta-atp"
-BBFILE_PATTERN_meta-atp = "^${LAYERDIR}/"
-
-LAYERDEPENDS_meta-atp = "core openembedded-layer meta-gem5"
-LAYERSERIES_COMPAT_meta-atp = "langdale mickledore"
diff --git a/meta-arm/meta-atp/conf/machine/gem5-atp-arm64.conf b/meta-arm/meta-atp/conf/machine/gem5-atp-arm64.conf
deleted file mode 100644
index d5fe22a7c0..0000000000
--- a/meta-arm/meta-atp/conf/machine/gem5-atp-arm64.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-require conf/machine/gem5-arm64.conf
-MACHINEOVERRIDES =. "gem5-arm64:"
-
-# Use baremetal_atp.py as machine configuration
-GEM5_RUN_PROFILE = "configs/baremetal_atp.py"
-# Require m5term
-EXTRA_IMAGEDEPENDS += "gem5-m5term-native"
-# Require ATP kernel modules, user API and gem5 m5ops
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-atp atp-uapi gem5-m5ops"
-# Optionally provide ATP kernel tests
-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "atp-test"
diff --git a/meta-arm/meta-atp/recipes-devtools/atp/atp-native_3.1.bb b/meta-arm/meta-atp/recipes-devtools/atp/atp-native_3.1.bb
deleted file mode 100644
index 31b58bf947..0000000000
--- a/meta-arm/meta-atp/recipes-devtools/atp/atp-native_3.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require atp-source_3.1.inc
-inherit pkgconfig native
-
-SUMMARY = "AMBA ATP Engine: synthetic traffic interface modelling framework"
-
-S = "${WORKDIR}/git"
-SRC_URI = "${ATP_SRC} \
- file://no-werror.patch"
-
-EXTRA_OEMAKE += "EXTRA_CXX_FLAGS='${CXXFLAGS}' EXTRA_LD_FLAGS='${LDFLAGS}'"
-
-do_install() {
- oe_runmake install
-}
-
-DEPENDS = "protobuf-native cppunit-native"
-
-addtask addto_recipe_sysroot before do_build
diff --git a/meta-arm/meta-atp/recipes-devtools/atp/atp-source_3.1.inc b/meta-arm/meta-atp/recipes-devtools/atp/atp-source_3.1.inc
deleted file mode 100644
index de24ef8361..0000000000
--- a/meta-arm/meta-atp/recipes-devtools/atp/atp-source_3.1.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-ATP_SRC = "git://github.com/ARM-software/ATP-Engine.git;protocol=https;branch=master"
-ATP_REV = "be1066029d6256626b37be004e2a663fbc29f37e"
-ATP_LIC = "BSD-3-Clause-Clear"
-ATP_LIC_MD5 = "e836b5992257064f488715d9a59752c3"
-
-HOMEPAGE ?= "https://github.com/ARM-software/ATP-Engine"
-SRCREV ?= "${ATP_REV}"
-LICENSE ?= "${ATP_LIC}"
-LIC_FILES_CHKSUM ?= "file://LICENSE;md5=${ATP_LIC_MD5}"
diff --git a/meta-arm/meta-atp/recipes-devtools/atp/files/no-werror.patch b/meta-arm/meta-atp/recipes-devtools/atp/files/no-werror.patch
deleted file mode 100644
index 4be143afa7..0000000000
--- a/meta-arm/meta-atp/recipes-devtools/atp/files/no-werror.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Don't pass -Werror, as new compilers introduce new warnings.
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-diff --git a/Makefile b/Makefile
-index c01b120..1d3c30a 100644
---- a/Makefile
-+++ b/Makefile
-@@ -18,7 +18,7 @@ PROTOBUF_C_FLAGS:= $(shell pkg-config --cflags protobuf)
- CPPUNIT_C_FLAGS := $(shell pkg-config --cflags cppunit)
- PROTOBUF_L_FLAGS:= $(shell pkg-config --libs protobuf)
- CPPUNIT_L_FLAGS := $(shell pkg-config --libs cppunit)
--CXX_FLAGS := $(PROTOBUF_C_FLAGS) -std=c++11 -Wall -Werror -Wextra -Wno-unused-parameter -Wno-unused-variable $(CPPUNIT_C_FLAGS) -fPIC $(EXTRA_CXX_FLAGS)
-+CXX_FLAGS := $(PROTOBUF_C_FLAGS) -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable $(CPPUNIT_C_FLAGS) -fPIC $(EXTRA_CXX_FLAGS)
- LD_FLAGS := $(PROTOBUF_L_FLAGS) $(CPPUNIT_L_FLAGS) $(EXTRA_LD_FLAGS)
- PROTO_SRC_DIR := ./proto/
- PROTO_SRC := $(wildcard $(PROTO_SRC_DIR)tp*.proto)
diff --git a/meta-arm/meta-atp/recipes-devtools/gem5/gem5-aarch64-dtb.bbappend b/meta-arm/meta-atp/recipes-devtools/gem5/gem5-aarch64-dtb.bbappend
deleted file mode 100644
index 2b55b8928a..0000000000
--- a/meta-arm/meta-atp/recipes-devtools/gem5/gem5-aarch64-dtb.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-# Export datadir paths for baremetal_atp.py script
-export GEM5_DATADIR = "${STAGING_DATADIR_NATIVE}/gem5"
-export ATP_DATADIR = "${STAGING_DATADIR_NATIVE}/gem5"
diff --git a/meta-arm/meta-atp/recipes-devtools/gem5/gem5-aarch64-native/start-gem5-atp.sh b/meta-arm/meta-atp/recipes-devtools/gem5/gem5-aarch64-native/start-gem5-atp.sh
deleted file mode 100755
index 16dac47714..0000000000
--- a/meta-arm/meta-atp/recipes-devtools/gem5/gem5-aarch64-native/start-gem5-atp.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env bash
-
-source <(bitbake -e gem5-aarch64-native | grep \
- -e "^STAGING_DATADIR_NATIVE=" -e "^DEPLOY_DIR_TOOLS=")
-
-# Used by baremetal_atp.py
-export GEM5_DATADIR=${STAGING_DATADIR_NATIVE}/gem5
-export ATP_DATADIR=${STAGING_DATADIR_NATIVE}/gem5
-
-# Fast-forward Linux boot and restore into timing simulation
-${DEPLOY_DIR_TOOLS}/start-gem5.sh --checkpoint $@
-${DEPLOY_DIR_TOOLS}/start-gem5.sh --restore-with-cpu TimingSimpleCPU \
- --checkpoint-restore 1 $@
diff --git a/meta-arm/meta-atp/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend b/meta-arm/meta-atp/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
deleted file mode 100644
index 6607f0f8b7..0000000000
--- a/meta-arm/meta-atp/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
+++ /dev/null
@@ -1,24 +0,0 @@
-require recipes-devtools/atp/atp-source_3.1.inc
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
-
-SRC_URI += "${ATP_SRC};destsuffix=git/atp;name=atp \
- file://start-gem5-atp.sh"
-SRCREV_FORMAT = "gem5_atp"
-SRCREV_atp = "${ATP_REV}"
-LICENSE += "& ${ATP_LIC}"
-LIC_FILES_CHKSUM += "file://atp/LICENSE;md5=${ATP_LIC_MD5}"
-
-EXTRA_OESCONS += "EXTRAS=${S}/atp"
-
-do_install:append() {
- # baremetal_atp.py machine configuration and sample stream.atp file
- install -m 644 ${B}/atp/gem5/baremetal_atp.py \
- ${B}/atp/configs/stream.atp \
- ${D}${datadir}/gem5/configs
-}
-
-do_deploy:append() {
- # start-gem5-atp.sh launch script
- install -m 755 ${WORKDIR}/start-gem5-atp.sh ${DEPLOYDIR}
-}
diff --git a/meta-arm/meta-atp/recipes-devtools/gem5/gem5-m5ops/m5-readfile.sh b/meta-arm/meta-atp/recipes-devtools/gem5/gem5-m5ops/m5-readfile.sh
deleted file mode 100755
index 44477e9640..0000000000
--- a/meta-arm/meta-atp/recipes-devtools/gem5/gem5-m5ops/m5-readfile.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-### BEGIN INIT INFO
-# Provides: m5-readfile
-# Required-Start: $all
-# Default-Start: 5
-# Description: Enables reading any script at simulation launch time.
-### END INIT INFO
-
-m5 readfile | sh
diff --git a/meta-arm/meta-atp/recipes-devtools/gem5/gem5-m5ops_20.bbappend b/meta-arm/meta-atp/recipes-devtools/gem5/gem5-m5ops_20.bbappend
deleted file mode 100644
index 3ba0c3cacd..0000000000
--- a/meta-arm/meta-atp/recipes-devtools/gem5/gem5-m5ops_20.bbappend
+++ /dev/null
@@ -1,14 +0,0 @@
-inherit update-rc.d
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
-
-# Add startup script calling m5 readfile for automatic checkpoint and restore
-SRC_URI += "file://m5-readfile.sh"
-
-INITSCRIPT_NAME = "m5-readfile.sh"
-INITSCRIPT_PARAMS = "defaults 99"
-
-do_install:append() {
- install -d ${D}/${INIT_D_DIR}
- install -m 755 ${WORKDIR}/m5-readfile.sh ${D}/${INIT_D_DIR}
-}
diff --git a/meta-arm/meta-atp/recipes-kernel/atp/atp-module_3.1.bb b/meta-arm/meta-atp/recipes-kernel/atp/atp-module_3.1.bb
deleted file mode 100644
index 0bf4949b6f..0000000000
--- a/meta-arm/meta-atp/recipes-kernel/atp/atp-module_3.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-require recipes-devtools/atp/atp-source_3.1.inc
-inherit module
-
-SUMMARY = "Kernel modules for interacting wih ATP Engine and devices"
-SECTION = "kernel/modules"
-
-S = "${WORKDIR}/git"
-SRC_URI = "${ATP_SRC}"
-
-ATP_MOD_DIR = "linux"
-
-EXTRA_OEMAKE += "-C ${ATP_MOD_DIR}"
-
-PROVIDES = "kernel-module-atp"
-RPROVIDES:${PN} = "kernel-module-atp"
-KERNEL_MODULE_AUTOLOAD += "atp_buffer_manager atp_device"
-MODULES_MODULE_SYMVERS_LOCATION = "${ATP_MOD_DIR}"
-
-do_install:append() {
- install -d ${D}${includedir}/linux
- install -m 644 ${ATP_MOD_DIR}/atp_buffer_manager_user.h \
- ${ATP_MOD_DIR}/atp_device_user.h \
- ${D}${includedir}/linux
-}
diff --git a/meta-arm/meta-atp/recipes-kernel/atp/atp-test_3.1.bb b/meta-arm/meta-atp/recipes-kernel/atp/atp-test_3.1.bb
deleted file mode 100644
index e98e13cd17..0000000000
--- a/meta-arm/meta-atp/recipes-kernel/atp/atp-test_3.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require recipes-devtools/atp/atp-source_3.1.inc
-
-SUMMARY = "End-to-end tests evaluating ATP kernel modules service correctness"
-SECTION = "kernel/userland"
-
-S = "${WORKDIR}/git"
-SRC_URI = "${ATP_SRC}"
-
-EXTRA_OEMAKE += "-C linux/test"
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- oe_runmake DESTDIR=${D} PREFIX=${prefix} install
-}
-
-DEPENDS = "atp-uapi cppunit"
-RDEPENDS:${PN} = "atp-uapi"
diff --git a/meta-arm/meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb b/meta-arm/meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb
deleted file mode 100644
index 140105f817..0000000000
--- a/meta-arm/meta-atp/recipes-kernel/atp/atp-uapi_3.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-require recipes-devtools/atp/atp-source_3.1.inc
-
-SUMMARY = "User API for accessing services from ATP kernel modules"
-SECTION = "kernel/userland"
-
-S = "${WORKDIR}/git"
-SRC_URI = "${ATP_SRC}"
-
-# Unversioned library
-SOLIBS = ".so"
-FILES_SOLIBSDEV = ""
-
-EXTRA_OEMAKE += "-C linux/uapi"
-
-do_compile() {
- oe_runmake KERNEL_HDR_PATH=${STAGING_INCDIR}
-}
-
-do_install() {
- oe_runmake DESTDIR=${D} PREFIX=${prefix} install
-}
-
-DEPENDS = "linux-libc-headers kernel-module-atp"
diff --git a/meta-arm/meta-atp/recipes-kernel/linux/files/no_ftrace.cfg b/meta-arm/meta-atp/recipes-kernel/linux/files/no_ftrace.cfg
deleted file mode 100644
index 870eeaf67a..0000000000
--- a/meta-arm/meta-atp/recipes-kernel/linux/files/no_ftrace.cfg
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_FTRACE is not set
diff --git a/meta-arm/meta-atp/recipes-kernel/linux/files/smmuv3.cfg b/meta-arm/meta-atp/recipes-kernel/linux/files/smmuv3.cfg
deleted file mode 100644
index 2d0a87d956..0000000000
--- a/meta-arm/meta-atp/recipes-kernel/linux/files/smmuv3.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-CONFIG_IOMMU_IO_PGTABLE=y
-CONFIG_IOMMU_IO_PGTABLE_LPAE=y
-# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
-CONFIG_ARM_SMMU_V3=y
diff --git a/meta-arm/meta-atp/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-arm/meta-atp/recipes-kernel/linux/linux-yocto_%.bbappend
deleted file mode 100644
index f59f8d44b6..0000000000
--- a/meta-arm/meta-atp/recipes-kernel/linux/linux-yocto_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-SRC_URI += "file://no_ftrace.cfg file://smmuv3.cfg"
diff --git a/meta-arm/meta-gem5/COPYING.MIT b/meta-arm/meta-gem5/COPYING.MIT
deleted file mode 100644
index fb950dc69f..0000000000
--- a/meta-arm/meta-gem5/COPYING.MIT
+++ /dev/null
@@ -1,17 +0,0 @@
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/meta-arm/meta-gem5/README.md b/meta-arm/meta-gem5/README.md
deleted file mode 100644
index 490ddca97e..0000000000
--- a/meta-arm/meta-gem5/README.md
+++ /dev/null
@@ -1 +0,0 @@
-See ../README.md
diff --git a/meta-arm/meta-gem5/conf/layer.conf b/meta-arm/meta-gem5/conf/layer.conf
deleted file mode 100644
index db378b3812..0000000000
--- a/meta-arm/meta-gem5/conf/layer.conf
+++ /dev/null
@@ -1,19 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "meta-gem5"
-BBFILE_PATTERN_meta-gem5 = "^${LAYERDIR}/"
-BBFILE_PRIORITY_meta-gem5 = "5"
-
-LAYERDEPENDS_meta-gem5 = "core openembedded-layer meta-arm"
-LAYERSERIES_COMPAT_meta-gem5 = "langdale mickledore"
-
-BBFILES_DYNAMIC += " \
- virtualization-layer:${LAYERDIR}/dynamic-layers/meta-virtualization/*/*/*.bbappend \
-"
-
-DISTRO_FEATURES_NATIVE:append = " ${@bb.utils.filter('DISTRO_FEATURES', 'xen', d)}"
diff --git a/meta-arm/meta-gem5/conf/machine/gem5-arm64.conf b/meta-arm/meta-gem5/conf/machine/gem5-arm64.conf
deleted file mode 100644
index fa931da870..0000000000
--- a/meta-arm/meta-gem5/conf/machine/gem5-arm64.conf
+++ /dev/null
@@ -1,54 +0,0 @@
-# Configuration for gem5 running on ARM64
-
-#@TYPE: Machine
-#@NAME: Gem5 arm64 machine
-#@DESCRIPTION: Machine configuration for Gem5 arm64
-
-TUNE_FEATURES = "aarch64"
-
-require conf/machine/include/arm/arch-armv8a.inc
-
-MACHINE_FEATURES = "optee pci"
-
-KERNEL_IMAGETYPES = "Image vmlinux"
-KERNEL_IMAGETYPE = "Image"
-
-IMAGE_FSTYPES += "tar.bz2 ext4"
-
-SERIAL_CONSOLES = "115200;ttyAMA0"
-
-EXTRA_IMAGEDEPENDS += "virtual/gem5-bootloader"
-
-PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "5.4%"
-
-
-# Uncomment the following if you need to build gem5 provided bootloader, else
-# using standard bootloader by Linux aarch64
-# Use gem5 provided bootloader
-# PREFERRED_PROVIDER_virtual/gem5-bootloader = "gem5-aarch64-bootloader"
-
-# use the dtb stored in the kernel recipe
-# KERNEL_DEVICETREE ?= "gem5-arm64/armv8_gem5_v2_4cpu.dtb"
-
-# Use Linux aarch64 boot wrapper with FDT support and generated
-# dtb (gem5-aarch64-dtb.bb)
-PREFERRED_PROVIDER_virtual/gem5-bootloader = "boot-wrapper-aarch64"
-
-BOOT_WRAPPER_AARCH64_CMDLINE ?= "\
- earlyprintk=pl011,0x1c090000 console=ttyAMA0 root=/dev/vda rw mem=1G \
- "
-# Use baremetal profile and axf file so dtb is in axf file
-GEM5_RUN_PROFILE = "configs/example/arm/baremetal.py"
-GEM5_RUN_KERNEL = "linux-system.axf"
-GEM5_RUN_EXTRA = ""
-GEM5_RUN_DTB = ""
-GEM5_RUN_CMDLINE = ""
-
-EXTRA_IMAGEDEPENDS += "gem5-aarch64-native"
-
-# As this is a virtual target that will not be used in the real world there is
-# no need for real SSH keys. Disable rng-tools (which takes too long to
-# initialise) and install the pre-generated keys.
-PACKAGECONFIG:remove:pn-openssh = "rng-tools"
-MACHINE_EXTRA_RRECOMMENDS += "ssh-pregen-hostkeys"
diff --git a/meta-arm/meta-gem5/documentation/gem5-arm64.md b/meta-arm/meta-gem5/documentation/gem5-arm64.md
deleted file mode 100644
index 137676b3eb..0000000000
--- a/meta-arm/meta-gem5/documentation/gem5-arm64.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# Gem5 Arm64 Platform Support in meta-gem5
-
-## Howto Build and Run
-
-### Configuration:
-In the local.conf file, MACHINE should be set as follow:
-MACHINE ?= "gem5-arm64"
-
-And in the bblayers.conf the following layers need to be added:
-##OEROOT##/meta-arm/meta-arm-toolchain
-##OEROOT##/meta-arm/meta-arm
-
-### Build:
-```bash$ bitbake core-image-minimal```
-
-### Run:
-After compilation of an image, you can execute it using the compiled gem5
-with the followin command:
-```./tmp/deploy/tools/start-gem5.sh```
-
-You can modify the script to change the command line options of gem5.
-
-## Devices supported in the kernel
-- serial
-
-### Untested:
-- pci
-- sata
-- ide
-
-
-## Devices not supported or not functional
diff --git a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend b/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend
deleted file mode 100644
index e4b97e948f..0000000000
--- a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend
+++ /dev/null
@@ -1,32 +0,0 @@
-# Use OVERRIDES to minimize the usage of
-# ${@bb.utils.contains('DISTRO_FEATURES', 'xen', ...
-OVERRIDES:append = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ':xen', '', d)}"
-
-# Xen image to put in the image
-# This should point to a file in the deploy image directory
-BOOT_WRAPPER_AARCH64_XEN ??= "xen-${MACHINE}"
-
-# Xen command line for the image
-BOOT_WRAPPER_AARCH64_XEN_CMDLINE ??= "noreboot dom0_mem=256M"
-
-BOOT_WRAPPER_AARCH64_XEN_CMDLINE:gem5-arm64 = "noreboot dom0_mem=256M console=dtuart \
- dtuart=/uart@1c090000 bootscrub=0"
-
-# Fix command line in the axf file for gem5-arm64 when Xen is present
-BOOT_WRAPPER_AARCH64_CMDLINE_xen:gem5-arm64 = "console=hvc0 root=/dev/vda rw"
-
-# Image generated by boot wrapper when Xen is present
-BOOT_WRAPPER_AARCH64_IMAGE:xen ?= "xen-system.axf"
-
-EXTRA_OECONF:append:xen = " \
---with-xen=${WORKDIR}/kernel/arch/arm64/boot/Image \
---with-xen-cmdline="" \
-"
-
-EXTRA_OEMAKE:append:xen = " \
-XEN_IMAGE=${DEPLOY_DIR_IMAGE}/${BOOT_WRAPPER_AARCH64_XEN} \
-XEN_CMDLINE="${BOOT_WRAPPER_AARCH64_XEN_CMDLINE}" \
-"
-
-# We need xen if it is activated
-do_deploy[depends] += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'xen:do_deploy', '', d)}"
diff --git a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend b/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
deleted file mode 100644
index 5c38bdd668..0000000000
--- a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-# When booting gem5-arm64 with Xen we need to set the cpu as Cortex A53 and
-# remove support for pointer authentification
-GEM5_RUN_EXTRA:append = " \
-${@bb.utils.contains('DISTRO_FEATURES_NATIVE', 'xen', \
-'--param=system.cpu_cluster[0].cpus[0].isa[0].midr=0x410fd030 \
---param=system.cpu_cluster[0].cpus[0].isa[0].id_aa64isar1_el1=0x0', \
-'', d)}"
diff --git a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/files/gem5-arm64/early-printk.cfg b/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/files/gem5-arm64/early-printk.cfg
deleted file mode 100644
index e89e546cef..0000000000
--- a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/files/gem5-arm64/early-printk.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_DEBUG=y
-CONFIG_EARLY_PRINTK_VEXPRESS=y
diff --git a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/xen_%.bbappend b/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/xen_%.bbappend
deleted file mode 100644
index 6ee4dbde21..0000000000
--- a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/xen_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-# gem5-arm64 support
-COMPATIBLE_MACHINE:gem5-arm64 = "gem5-arm64"
-FILESEXTRAPATHS:prepend:gem5-arm64 := "${THISDIR}/files:"
-SRC_URI:append:gem5-arm64 = " file://early-printk.cfg"
diff --git a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/linux-%.bbappend b/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/linux-%.bbappend
deleted file mode 100644
index 7ff3fe2b12..0000000000
--- a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/linux-%.bbappend
+++ /dev/null
@@ -1,14 +0,0 @@
-FILESEXTRAPATHS:prepend:gem5-arm64 := "${THISDIR}:"
-
-#
-# virtualization kmeta extra
-#
-SRC_URI:append:gem5-arm64 = " file://virtualization-kmeta-extra-gem5;type=kmeta;name=virtualization-kmeta-extra-gem5;destsuffix=virtualization-kmeta-extra-gem5"
-
-# We need to turn off SVE support in the Linux kernel otherwise Xen is stopping
-# Linux kernel with a coredump while trying to access XEN bit of CPACR1 core
-# register.
-LINUX_VIRTUALIZATION_DISABLE_ARM64_SVE:gem5-arm64 = "${@bb.utils.contains('DISTRO_FEATURES', \
- 'xen', ' features/disable-arm64-sve.scc','',d)}"
-
-KERNEL_FEATURES:append:gem5-arm64 = "${LINUX_VIRTUALIZATION_DISABLE_ARM64_SVE}"
diff --git a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.cfg b/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.cfg
deleted file mode 100644
index 7e87cab419..0000000000
--- a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-# We need to turn off SVE support in the Linux kernel otherwise Xen is stopping
-# Linux kernel with a coredump while trying to access ZEN bit of CPACR1 core
-# register.
-# CONFIG_ARM64_SVE is not set
diff --git a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.scc b/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.scc
deleted file mode 100644
index 6bc769ccc4..0000000000
--- a/meta-arm/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.scc
+++ /dev/null
@@ -1,3 +0,0 @@
-define KFEATURE_DESCRIPTION "Disable SVE support"
-
-kconf non-hardware disable-arm64-sve.cfg
diff --git a/meta-arm/meta-gem5/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64_%.bbappend b/meta-arm/meta-gem5/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64_%.bbappend
deleted file mode 100644
index 3dd2cba264..0000000000
--- a/meta-arm/meta-gem5/recipes-bsp/boot-wrapper-aarch64/boot-wrapper-aarch64_%.bbappend
+++ /dev/null
@@ -1,16 +0,0 @@
-# Gem5 aarch64 support
-COMPATIBLE_MACHINE:gem5-arm64 = "gem5-arm64"
-
-PROVIDES:gem5-arm64 += "virtual/gem5-bootloader"
-
-# For gem5 we use the dtb generated by gem5 directly
-DEPENDS:append:gem5-arm64 = " gem5-aarch64-dtb"
-BOOT_WRAPPER_AARCH64_DEVICETREE:gem5-arm64 = "gem5-aarch64.dtb"
-
-# The dtb must be generated for us to generate the axf
-DEPLOY_DEPEND_LIST ?= ""
-DEPLOY_DEPEND_LIST:gem5-arm64 = " gem5-aarch64-dtb:do_deploy"
-do_deploy[depends] += "${DEPLOY_DEPEND_LIST}"
-
-# The base recipe has been upgraded, so hold back at known working revision
-SRCREV = "8d5a765251d9113c3c0f9fa14de42a9e7486fe8a"
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/files/mapping.patch b/meta-arm/meta-gem5/recipes-devtools/gem5/files/mapping.patch
deleted file mode 100644
index 3a7cb4379f..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/files/mapping.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From 89958f7f30ec722e30e1bcffdeab547c874fa475 Mon Sep 17 00:00:00 2001
-From: Adrian Herrera <adrian.herrera@arm.com>
-Date: Mon, 15 Mar 2021 13:14:44 +0000
-Subject: [PATCH] python: debug, fix Mapping import
-
-Change "collections.Mapping" to "collections.abc.Mapping".
-"collections.Mapping" was an alias, it is deprecated starting from Python 3.3, and it will be removed in Python 3.10.
-
-Change-Id: Ic257e3c5206eb3d48d4eed85a93fac48bd3b8dc4
-Signed-off-by: Adrian Herrera <adrian.herrera@arm.com>
-Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/43023
-Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
-Maintainer: Jason Lowe-Power <power.jg@gmail.com>
-Tested-by: kokoro <noreply+kokoro@google.com>
----
- src/python/m5/debug.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/python/m5/debug.py b/src/python/m5/debug.py
-index d808850cc..787a39ece 100644
---- a/src/python/m5/debug.py
-+++ b/src/python/m5/debug.py
-@@ -26,7 +26,7 @@
-
- from __future__ import print_function
-
--from collections import Mapping
-+from collections.abc import Mapping
-
- import _m5.debug
- from _m5.debug import SimpleFlag, CompoundFlag
---
-2.25.1
-
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/files/start-gem5.sh b/meta-arm/meta-gem5/recipes-devtools/gem5/files/start-gem5.sh
deleted file mode 100644
index 633541161d..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/files/start-gem5.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-
-# Get parameters from bitbake configuration
-
-source <(bitbake -e gem5-aarch64-native | grep \
- -e "^STAGING_.*_NATIVE=" \
- -e "^DEPLOY_DIR.*=" \
- -e "^GEM5_RUN.*=")
-
-export M5_PATH="${DEPLOY_DIR_IMAGE}"
-
-args=""
-
-if [ -n "${GEM5_RUN_KERNEL}" ]; then
- kernfile=$(readlink -f ${DEPLOY_DIR_IMAGE}/${GEM5_RUN_KERNEL})
- args="$args --kernel=$kernfile"
-fi
-
-if [ -n "${GEM5_RUN_DISK}" ]; then
- diskfile=$(readlink -f ${DEPLOY_DIR_IMAGE}/${GEM5_RUN_DISK})
- args="$args --disk-image=$diskfile"
-fi
-
-if [ -n "${GEM5_RUN_DTB}" ]; then
- dtbfile=$(readlink -f ${DEPLOY_DIR_IMAGE}/${GEM5_RUN_DTB})
- args="$args --dtb=$dtbfile"
-fi
-
-if [ -n "${GEM5_RUN_CMDLINE}" ]; then
- args="$args --command-line='${GEM5_RUN_CMDLINE}'"
-fi
-
-if [ -n "${GEM5_RUN_EXTRA}" ]; then
- args="$args ${GEM5_RUN_EXTRA}"
-fi
-
-oe-run-native gem5-aarch64-native ${GEM5_RUN_CONFIG} \
- ${STAGING_DATADIR_NATIVE}/gem5/${GEM5_RUN_PROFILE} ${args} "$@"
-
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-bootloader.inc b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-bootloader.inc
deleted file mode 100644
index c4fd3a1d2c..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-bootloader.inc
+++ /dev/null
@@ -1,30 +0,0 @@
-# Build instructions for gem5 custom bootloader
-
-SUMMARY = "Gem5 AARCH64 boot loader"
-LICENSE = "BSD-3-Clause"
-
-inherit deploy
-
-PROVIDES += "virtual/gem5-bootloader"
-
-COMPATIBLE_MACHINE = "gem5-arm64"
-
-BOOTLOADER_SRC_PATH ?= "${S}/system/arm/bootloader/arm64"
-
-# no configure step
-do_configure[noexec] = "1"
-
-# no install
-do_install[noexec] = "1"
-
-do_compile() {
- oe_runmake -C ${BOOTLOADER_SRC_PATH} all CROSS_COMPILE=${TARGET_PREFIX}
-}
-
-do_deploy() {
- oe_runmake -C ${BOOTLOADER_SRC_PATH} install \
- CROSS_COMPILE=${TARGET_PREFIX} DESTDIR=${DEPLOYDIR}/binaries
-}
-
-addtask deploy before do_build after do_compile
-
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-bootloader_20.bb b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-bootloader_20.bb
deleted file mode 100644
index 67570f6337..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-bootloader_20.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-# gem5 custom bootloader
-
-require gem5-source_20.inc
-
-BPN = "gem5-aarch64-bootloader"
-
-require gem5-aarch64-bootloader.inc
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-dtb.bb b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-dtb.bb
deleted file mode 100644
index 50ac030061..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-dtb.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-# Use gem5 executable to produce a dtb
-
-LICENSE = "MIT"
-
-inherit deploy
-
-DEPENDS = "gem5-aarch64-native"
-
-do_configure[noexec] = "1"
-
-do_compile() {
- # generate a dtb using gem5
- gem5.opt \
- ${STAGING_DATADIR_NATIVE}/gem5/${GEM5_RUN_PROFILE} \
- --dtb-gen
-
- if [ ! -f m5out/system.dtb ]; then
- echo "No dtb generated !!!"
- exit 1
- fi
-}
-
-do_install[noexec] = "1"
-
-do_deploy() {
- install --d ${DEPLOYDIR}
- cp m5out/system.dtb ${DEPLOYDIR}/gem5-aarch64.dtb
-}
-addtask deploy before do_build after do_compile
-
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native.inc b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native.inc
deleted file mode 100644
index 2fd5206e0f..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native.inc
+++ /dev/null
@@ -1,40 +0,0 @@
-# gem5 aarch64 specific configuration
-
-# Build arm64 gem5
-GEM5_BUILD_CONFIGS ?= "build/ARM/gem5.${GEM5_BUILD_VARIANT}"
-
-SRC_URI += "file://start-gem5.sh"
-
-inherit deploy
-
-# Parameters for the start script
-
-GEM5_RUN_CONFIG ?= "gem5.${GEM5_BUILD_VARIANT}"
-
-# Linux kernel file to boot
-GEM5_RUN_KERNEL ?= "vmlinux"
-
-# Disk Image to use
-GEM5_RUN_DISK ?= "*-${MACHINE}.ext4"
-
-# DTB to use
-GEM5_RUN_DTB ?= "${@os.path.basename(d.getVar('KERNEL_DEVICETREE'))}"
-
-# Linux command line to pass
-GEM5_RUN_CMDLINE ?= "earlyprintk=pl011,0x1c090000 console=ttyAMA0 rw mem=512MB root=/dev/sda rootwait"
-
-# Extra arguments to pass to gem5
-GEM5_RUN_EXTRA ?= "--mem-size=512MB -n 4 --machine-type=VExpress_GEM5_V2"
-
-#This is required so that our binaries are in the sysroot. We need this
-# to have both gem5 required libraries and gem5 in the same sysroot.
-addtask addto_recipe_sysroot after do_populate_sysroot before do_build
-
-do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
-do_deploy() {
- install -d ${DEPLOYDIR}
-
- install -m 755 ${WORKDIR}/start-gem5.sh ${DEPLOYDIR}/.
-}
-addtask deploy before do_build after do_compile
-
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native/0001-dev-arm-SMMUv3-enable-interrupt-interface.patch b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native/0001-dev-arm-SMMUv3-enable-interrupt-interface.patch
deleted file mode 100644
index 6d00cc26db..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native/0001-dev-arm-SMMUv3-enable-interrupt-interface.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From be710c5657b03bc9a9ce18ecf7ce1956265bae47 Mon Sep 17 00:00:00 2001
-From: Adrian Herrera <adrian.herrera@arm.com>
-Date: Thu, 10 Dec 2020 18:07:21 +0000
-Subject: [PATCH] dev-arm: SMMUv3, enable interrupt interface
-
-Users can set "irq_interface_enable" to allow software to program
-SMMU_IRQ_CTRL and SMMU_IRQ_CTRLACK. This is required to boot Linux v5.4+
-in a reasonable time. Notice the model does not implement architectural
-interrupt sources, so no assertions will happen.
-
-Change-Id: Ie138befdf5a204fe8fce961081c575c2166e22b9
-Signed-off-by: Adrian Herrera <adrian.herrera@arm.com>
-Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/38555
-Tested-by: kokoro <noreply+kokoro@google.com>
-Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
-Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
-
-Upstream-Status: Accepted [https://gem5-review.googlesource.com/c/public/gem5/+/38555]
-Expected version: v20.2
----
- src/dev/arm/SMMUv3.py | 5 +++++
- src/dev/arm/smmu_v3.cc | 10 +++++++++-
- src/dev/arm/smmu_v3.hh | 4 +++-
- 3 files changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/src/dev/arm/SMMUv3.py b/src/dev/arm/SMMUv3.py
-index 29c15682bf..f57be896f9 100644
---- a/src/dev/arm/SMMUv3.py
-+++ b/src/dev/arm/SMMUv3.py
-@@ -91,6 +91,11 @@ class SMMUv3(ClockedObject):
- reg_map = Param.AddrRange('Address range for control registers')
- system = Param.System(Parent.any, "System this device is part of")
-
-+ irq_interface_enable = Param.Bool(False,
-+ "This flag enables software to program SMMU_IRQ_CTRL and "
-+ "SMMU_IRQ_CTRLACK as if the model implemented architectural "
-+ "interrupt sources")
-+
- device_interfaces = VectorParam.SMMUv3DeviceInterface([],
- "Responder interfaces")
-
-diff --git a/src/dev/arm/smmu_v3.cc b/src/dev/arm/smmu_v3.cc
-index f9bdc277c6..d73f270170 100644
---- a/src/dev/arm/smmu_v3.cc
-+++ b/src/dev/arm/smmu_v3.cc
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2013, 2018-2019 ARM Limited
-+ * Copyright (c) 2013, 2018-2020 ARM Limited
- * All rights reserved
- *
- * The license below extends only to copyright in the software and shall
-@@ -58,6 +58,7 @@ SMMUv3::SMMUv3(SMMUv3Params *params) :
- requestPort(name() + ".request", *this),
- tableWalkPort(name() + ".walker", *this),
- controlPort(name() + ".control", *this, params->reg_map),
-+ irqInterfaceEnable(params->irq_interface_enable),
- tlb(params->tlb_entries, params->tlb_assoc, params->tlb_policy),
- configCache(params->cfg_entries, params->cfg_assoc, params->cfg_policy),
- ipaCache(params->ipa_entries, params->ipa_assoc, params->ipa_policy),
-@@ -626,6 +627,13 @@ SMMUv3::writeControl(PacketPtr pkt)
- assert(pkt->getSize() == sizeof(uint32_t));
- regs.cr0 = regs.cr0ack = pkt->getLE<uint32_t>();
- break;
-+ case offsetof(SMMURegs, irq_ctrl):
-+ assert(pkt->getSize() == sizeof(uint32_t));
-+ if (irqInterfaceEnable) {
-+ warn("SMMUv3::%s No support for interrupt sources", __func__);
-+ regs.irq_ctrl = regs.irq_ctrlack = pkt->getLE<uint32_t>();
-+ }
-+ break;
-
- case offsetof(SMMURegs, cr1):
- case offsetof(SMMURegs, cr2):
-diff --git a/src/dev/arm/smmu_v3.hh b/src/dev/arm/smmu_v3.hh
-index 6b3f3982b8..a001d71178 100644
---- a/src/dev/arm/smmu_v3.hh
-+++ b/src/dev/arm/smmu_v3.hh
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2013, 2018-2019 ARM Limited
-+ * Copyright (c) 2013, 2018-2020 ARM Limited
- * All rights reserved
- *
- * The license below extends only to copyright in the software and shall
-@@ -94,6 +94,8 @@ class SMMUv3 : public ClockedObject
- SMMUTableWalkPort tableWalkPort;
- SMMUControlPort controlPort;
-
-+ const bool irqInterfaceEnable;
-+
- ARMArchTLB tlb;
- ConfigCache configCache;
- IPACache ipaCache;
---
-2.17.1
-
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bb b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bb
deleted file mode 100644
index 057aad878c..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-require gem5-source_20.inc
-
-SRC_URI += "file://0001-dev-arm-SMMUv3-enable-interrupt-interface.patch"
-
-BPN = "gem5-aarch64-native"
-
-require gem5-aarch64-native.inc
-require gem5-native.inc
-
-# Get rid of compiler errors when building protobuf
-GEM5_SCONS_ARGS:append = " CCFLAGS_EXTRA='-Wno-error=unused-variable' --verbose"
-
-# Get rid of linker errors and have a faster link process
-GEM5_SCONS_ARGS:append = " LDFLAGS_EXTRA='${BUILD_LDFLAGS}' \
-MARSHAL_LDFLAGS_EXTRA='${BUILD_LDFLAGS}' --force-lto "
-
-do_compile:prepend() {
- # Gem5 expect to have python in the path (can be python2 or 3)
- # Create a link named python to python3
- real=$(which ${PYTHON})
- ln -snf $real $(dirname $real)/python
-}
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5ops/0001-util-m5ops-optional-extra-build-flags.patch b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5ops/0001-util-m5ops-optional-extra-build-flags.patch
deleted file mode 100644
index b446a2fe01..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5ops/0001-util-m5ops-optional-extra-build-flags.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 32e35a2f179d1b036d2eb699d77f869f7787f36b Mon Sep 17 00:00:00 2001
-From: Adrian Herrera <adrian.herrera@arm.com>
-Date: Tue, 8 Dec 2020 20:12:55 +0000
-Subject: [PATCH] util: m5ops, optional extra build flags
-
-This increases compilation control for users. Main use case is building
-m5ops as part of an image distribution. Specifying a different sysroot
-or dynamic linker may be required when the cross toolchain is built as
-part of the process.
-
-Change-Id: Icbd3faa92ea6e084fc4a9b2db83129bce73faf21
-Signed-off-by: Adrian Herrera <adrian.herrera@arm.com>
-Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/38416
-Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
-Reviewed-by: Gabe Black <gabe.black@gmail.com>
-Maintainer: Jason Lowe-Power <power.jg@gmail.com>
-Tested-by: kokoro <noreply+kokoro@google.com>
-
-Upstream-Status: Accepted [https://gem5-review.googlesource.com/c/public/gem5/+/38416]
-Expected version: v20.2
----
- util/m5/SConstruct | 14 +++++++++++---
- 1 file changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/util/m5/SConstruct b/util/m5/SConstruct
-index bbae8d9bbf..a37573d763 100644
---- a/util/m5/SConstruct
-+++ b/util/m5/SConstruct
-@@ -136,16 +136,24 @@ for root, dirs, files in os.walk(abspath(src_dir)):
- #
- # This also considers scons command line settings which may look like
- # environment variables, but are set after "scons" on the command line.
-- def get_abi_opt(name, default):
-+ def _extract_abi_opt_val(name, default):
- var_name = env.subst('${ABI}.%s' % name)
-- env[name] = os.environ.get(
-- var_name, ARGUMENTS.get(var_name, default))
-+ return os.environ.get(var_name, ARGUMENTS.get(var_name, default))
-+ def get_abi_opt(name, default):
-+ env[name] = _extract_abi_opt_val(name, default)
-+ def append_abi_opt(name):
-+ env.Append(**{ name: _extract_abi_opt_val(name, '') })
-
- # Process the ABI's settings in the SConsopts file, storing them
- # in a copy of the primary environment.
- env.SConscript(Dir(root).File('SConsopts'),
- exports=[ 'env', 'get_abi_opt' ])
-
-+ # The user can pass extra build flags for each ABI
-+ append_abi_opt('CCFLAGS')
-+ append_abi_opt('CXXFLAGS')
-+ append_abi_opt('LINKFLAGS')
-+
- # Once all the options have been configured, set up build targets for
- # this abi.
- abi_dir = build_dir.Dir(env.subst('${ABI}'))
---
-2.17.1
-
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5ops_20.bb b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5ops_20.bb
deleted file mode 100644
index d55ed8575c..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5ops_20.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-require gem5-source_20.inc
-inherit scons
-
-HOMEPAGE = "https://www.gem5.org/documentation/general_docs/m5ops"
-SUMMARY = "m5ops provide pseudo-instructions to trigger gem5 functionality"
-LICENSE = "BSD-3-Clause"
-
-M5OPS_DIR = "util/m5"
-
-SRC_URI += "file://0001-util-m5ops-optional-extra-build-flags.patch"
-
-OUT_DIR = "build/${TARGET_ARCH}/out"
-
-EXTRA_OESCONS += "${TARGET_ARCH}.CROSS_COMPILE=${TARGET_PREFIX} \
- ${TARGET_ARCH}.CCFLAGS=--sysroot=${STAGING_DIR_TARGET} \
- ${TARGET_ARCH}.LINKFLAGS=--sysroot=${STAGING_DIR_TARGET} \
- -C ${S}/${M5OPS_DIR} ${OUT_DIR}/m5"
-
-# The SConstruct file for m5ops does not provide a "install" target
-# We do the install process within the recipe
-do_install() {
- install -d ${D}${bindir} ${D}${libdir} ${D}${includedir}
- install -m 755 ${B}/${M5OPS_DIR}/${OUT_DIR}/m5 ${D}${bindir}
- install -m 644 ${B}/${M5OPS_DIR}/${OUT_DIR}/libm5.a ${D}${libdir}
- install -m 644 ${B}/include/gem5/m5ops.h ${D}${includedir}
-}
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5term-native_20.bb b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5term-native_20.bb
deleted file mode 100644
index b91dbbc72b..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5term-native_20.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-require gem5-source_20.inc
-
-SUMMARY = "m5term allows users to connect to gem5's simulated console"
-HOMEPAGE = "https://www.gem5.org/documentation/general_docs/fullsystem/m5term"
-LICENSE = "BSD-3-Clause"
-
-inherit native
-
-M5TERM_DIR = "util/term"
-
-SRC_URI += "file://0001-add-makefile-flags.patch"
-
-do_compile() {
- oe_runmake -C ${S}/${M5TERM_DIR}
-}
-
-# The Makefile for m5term does not provide a "install" target
-# We do the install process within the recipe
-do_install() {
- install -d ${D}${bindir}
- install -m 755 ${B}/${M5TERM_DIR}/m5term ${D}${bindir}
-}
-
-addtask addto_recipe_sysroot before do_build
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5term/0001-add-makefile-flags.patch b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5term/0001-add-makefile-flags.patch
deleted file mode 100644
index d13ef4ceb8..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-m5term/0001-add-makefile-flags.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 688f7103e08318edbd48cf830c0ab3a048761bbb Mon Sep 17 00:00:00 2001
-From: Adrian Herrera <adrian.herrera@arm.com>
-Date: Thu, 03 Dec 2020 16:45:59 +0000
-Subject: [PATCH] util: m5term, fix LDFLAGS, standard make variables
-
-Enables build systems to provide necessary flags to build m5term.
-Useful specially if a different linker is intended to be used.
-
-Change-Id: If7f867cc0965d6ad4627b5421e00a99cc3d64989
-Signed-off-by: Adrian Herrera <adrian.herrera@arm.com>
-
-Upstream-Status: Accepted [https://gem5-review.googlesource.com/c/public/gem5/+/38256]
-Expected version: v20.2
----
-
-diff --git a/util/term/Makefile b/util/term/Makefile
-index 658b961..4aa1c52 100644
---- a/util/term/Makefile
-+++ b/util/term/Makefile
-@@ -24,12 +24,12 @@
- # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--CCFLAGS= -g -O0
-+CFLAGS ?= -g -O0
-
- default: m5term
-
- m5term: term.c
-- $(CC) $(LFLAGS) -o $@ $^
-+ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
-
- install: m5term
- $(SUDO) install -o root -m 555 m5term /usr/local/bin
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-native.inc b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-native.inc
deleted file mode 100644
index 91a554bbbc..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-native.inc
+++ /dev/null
@@ -1,52 +0,0 @@
-# gem5 platform independent build information
-
-SUMMARY = "A modular platform for computer-system architecture research"
-HOMEPAGE = "http://gem5.org"
-LICENSE = "BSD-3-Clause & MIT & LGPL-2.1-only"
-
-# Gem5 build and run parameter
-
-# See http://www.gem5.org/documentation/general_docs/building for the list of variants
-GEM5_BUILD_VARIANT ?= "opt"
-
-# What gem5 binary are we building
-GEM5_BUILD_CONFIGS ?= "build/X86/gem5.{GEM5_BUILD_VARIANT}"
-
-# Scons build arguments
-GEM5_SCONS_ARGS ?= "CC=${BUILD_CC} CXX=${BUILD_CXX} \
- AS=${BUILD_AS} AR=${BUILD_AR} ${GEM5_BUILD_CONFIGS} \
- PYTHON_CONFIG=python3-config"
-
-# Default profile to run
-GEM5_RUN_PROFILE ?= "configs/example/fs.py"
-
-# We are building a native package and we need to use scons
-inherit scons native
-
-# the build is using several tools:
-# python3: scons and six
-# google protobuf
-# pkgconfig
-# hdf5
-DEPENDS += "m4-native python3-six-native protobuf-native hdf5-native pkgconfig-native \
- boost-native libpng-native"
-
-EXTRA_OESCONS = "${GEM5_SCONS_ARGS}"
-
-do_install() {
-
- install -d ${D}${datadir}/gem5
- cp -a --no-preserve=ownership -rf configs ${D}${datadir}/gem5/.
-
- for f in ${GEM5_BUILD_CONFIGS}; do
- destname=$(basename $f)
- install -d ${D}${bindir}
- install -m 755 $f ${D}${bindir}/$destname
- done
-}
-
-FILES:${PN} = "${datadir}/gem5/* ${bindir}/*"
-INSANE_SKIP:${PN} += "already-stripped"
-RDEPENDS:${PN} += "python3-native hdf5-native protobuf-native libpng-native"
-
-addtask addto_recipe_sysroot before do_build
diff --git a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-source_20.inc b/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-source_20.inc
deleted file mode 100644
index bf448fef4b..0000000000
--- a/meta-arm/meta-gem5/recipes-devtools/gem5/gem5-source_20.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d9514d69d8abf88b6e9125e759bf0ab \
- file://LICENSE;md5=a585e2893cee63d16a1d8bc16c6297ec"
-
-SRC_URI = "git://gem5.googlesource.com/public/gem5;protocol=https;nobranch=1 \
- file://mapping.patch"
-RELEASE_TAG = "v20.1.0.5"
-SRCREV = "31cd81fdec46bae4b48d4f3788776936389dbdec"
-
-PV = "${RELEASE_TAG}"
-
-S = "${WORKDIR}/git"
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/files/0001-lib-build_OID_registry-fix-reproducibility-issues.patch b/meta-arm/meta-gem5/recipes-kernel/linux/files/0001-lib-build_OID_registry-fix-reproducibility-issues.patch
deleted file mode 100644
index 4c95a415a2..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/files/0001-lib-build_OID_registry-fix-reproducibility-issues.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From f678d79b3bede48c9e095e6e9c46bd3542f23077 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@gmail.com>
-Date: Sun, 10 Jul 2022 22:56:53 -0400
-Subject: [PATCH 1/2] lib/build_OID_registry: fix reproducibility issues
-
-The script build_OID_registry captures the full path of itself
-in the generated data. This causes reproduciblity issues as the
-path is captured and packaged.
-
-We use the basename of the script instead, and that allows us
-to be reprodicible, with slightly less information captured in
-the output data (but the generating script can still easily
-be found).
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- lib/build_OID_registry | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/lib/build_OID_registry b/lib/build_OID_registry
-index d7fc32ea8ac2..f6de0a7f7457 100755
---- a/lib/build_OID_registry
-+++ b/lib/build_OID_registry
-@@ -8,6 +8,7 @@
- #
-
- use strict;
-+use File::Basename;
-
- my @names = ();
- my @oids = ();
-@@ -35,7 +36,7 @@ close IN_FILE || die;
- #
- open C_FILE, ">$ARGV[1]" or die;
- print C_FILE "/*\n";
--print C_FILE " * Automatically generated by ", $0, ". Do not edit\n";
-+print C_FILE " * Automatically generated by ", basename $0, ". Do not edit\n";
- print C_FILE " */\n";
-
- #
---
-2.34.1
-
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/files/0002-vt-conmakehash-improve-reproducibility.patch b/meta-arm/meta-gem5/recipes-kernel/linux/files/0002-vt-conmakehash-improve-reproducibility.patch
deleted file mode 100644
index 74156afe8e..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/files/0002-vt-conmakehash-improve-reproducibility.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From 10a09290f97d0435b9b304d3ef980b0cafa87bd2 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@gmail.com>
-Date: Sun, 10 Jul 2022 21:37:07 -0400
-Subject: [PATCH 2/2] vt/conmakehash: improve reproducibility
-
-The file generated by conmakehash capture the application
-path used to generate the file. While that can be informative,
-it varies based on where the kernel was built, as the full
-path is captured.
-
-We tweak the application to use a second input as the "capture
-name", and then modify the Makefile to pass the basename of
-the source, making it reproducible.
-
-This could be improved by using some sort of path mapping,
-or the application manipualing argv[1] itself, but for now
-this solves the reprodicibility issue.
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- drivers/tty/vt/Makefile | 2 +-
- scripts/conmakehash.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/tty/vt/Makefile b/drivers/tty/vt/Makefile
-index edbbe0ccdb83..19e21968f8de 100644
---- a/drivers/tty/vt/Makefile
-+++ b/drivers/tty/vt/Makefile
-@@ -13,7 +13,7 @@ obj-$(CONFIG_HW_CONSOLE) += vt.o defkeymap.o
- clean-files := consolemap_deftbl.c defkeymap.c
-
- quiet_cmd_conmk = CONMK $@
-- cmd_conmk = scripts/conmakehash $< > $@
-+ cmd_conmk = scripts/conmakehash $< $(shell basename $<) > $@
-
- $(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE)
- $(call cmd,conmk)
-diff --git a/scripts/conmakehash.c b/scripts/conmakehash.c
-index cddd789fe46e..d62510b280e9 100644
---- a/scripts/conmakehash.c
-+++ b/scripts/conmakehash.c
-@@ -253,7 +253,7 @@ int main(int argc, char *argv[])
- #include <linux/types.h>\n\
- \n\
- u8 dfont_unicount[%d] = \n\
--{\n\t", argv[1], fontlen);
-+{\n\t", argv[2], fontlen);
-
- for ( i = 0 ; i < fontlen ; i++ )
- {
---
-2.34.1
-
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_1cpu.dts b/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_1cpu.dts
deleted file mode 100644
index 0e59fdf890..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_1cpu.dts
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 2015-2016 ARM Limited
- * All rights reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Andreas Sandberg
- */
-
-/dts-v1/;
-
-/memreserve/ 0x80000000 0x00010000;
-
-/include/ "vexpress_gem5_v2.dtsi"
-
-/ {
- model = "V2P-AARCH64";
- compatible = "arm,vexpress,v2p-aarch64", "arm,vexpress";
-
- memory@80000000 {
- device_type = "memory";
- reg = <0 0x80000000 0x4 0x00000000>;
- };
-
- cpus {
- #address-cells = <1>;
- #size-cells = <0>;
-
- cpu@0 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 0 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- };
-
- virt-encoder {
- compatible = "drm,virtual-encoder";
- port {
- dp0_virt_input: endpoint@0 {
- remote-endpoint = <&dp0_output>;
- };
- };
-
- display-timings {
- native-mode = <&timing0>;
-
- timing0: timing_1080p60 {
- /* 1920x1080-60 */
- clock-frequency = <148500000>;
- hactive = <1920>;
- vactive = <1080>;
- hfront-porch = <148>;
- hback-porch = <88>;
- hsync-len = <44>;
- vfront-porch = <36>;
- vback-porch = <4>;
- vsync-len = <5>;
- };
- };
- };
-};
-
-&dp0 {
- status = "ok";
-
- port {
- dp0_output: endpoint@0 {
- remote-endpoint = <&dp0_virt_input>;
- };
- };
-};
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_2cpu.dts b/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_2cpu.dts
deleted file mode 100644
index 441d3df2a1..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_2cpu.dts
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 2015-2016 ARM Limited
- * All rights reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Andreas Sandberg
- */
-
-/dts-v1/;
-
-/memreserve/ 0x80000000 0x00010000;
-
-/include/ "vexpress_gem5_v2.dtsi"
-
-/ {
- model = "V2P-AARCH64";
- compatible = "arm,vexpress,v2p-aarch64", "arm,vexpress";
-
- memory@80000000 {
- device_type = "memory";
- reg = <0 0x80000000 0x4 0x00000000>;
- };
-
- cpus {
- #address-cells = <1>;
- #size-cells = <0>;
-
- cpu@0 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 0 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- cpu@1 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 1 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- };
-
- virt-encoder {
- compatible = "drm,virtual-encoder";
- port {
- dp0_virt_input: endpoint@0 {
- remote-endpoint = <&dp0_output>;
- };
- };
-
- display-timings {
- native-mode = <&timing0>;
-
- timing0: timing_1080p60 {
- /* 1920x1080-60 */
- clock-frequency = <148500000>;
- hactive = <1920>;
- vactive = <1080>;
- hfront-porch = <148>;
- hback-porch = <88>;
- hsync-len = <44>;
- vfront-porch = <36>;
- vback-porch = <4>;
- vsync-len = <5>;
- };
- };
- };
-};
-
-&dp0 {
- status = "ok";
-
- port {
- dp0_output: endpoint@0 {
- remote-endpoint = <&dp0_virt_input>;
- };
- };
-};
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_4cpu.dts b/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_4cpu.dts
deleted file mode 100644
index 2d0311a5f8..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_4cpu.dts
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2015-2016 ARM Limited
- * All rights reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Andreas Sandberg
- */
-
-/dts-v1/;
-
-/memreserve/ 0x80000000 0x00010000;
-
-/include/ "vexpress_gem5_v2.dtsi"
-
-/ {
- model = "V2P-AARCH64";
- compatible = "arm,vexpress,v2p-aarch64", "arm,vexpress";
-
- memory@80000000 {
- device_type = "memory";
- reg = <0 0x80000000 0x4 0x00000000>;
- };
-
- cpus {
- #address-cells = <1>;
- #size-cells = <0>;
-
- cpu@0 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 0 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- cpu@1 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 1 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- cpu@2 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 2 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- cpu@3 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 3 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- };
-
- virt-encoder {
- compatible = "drm,virtual-encoder";
- port {
- dp0_virt_input: endpoint@0 {
- remote-endpoint = <&dp0_output>;
- };
- };
-
- display-timings {
- native-mode = <&timing0>;
-
- timing0: timing_1080p60 {
- /* 1920x1080-60 */
- clock-frequency = <148500000>;
- hactive = <1920>;
- vactive = <1080>;
- hfront-porch = <148>;
- hback-porch = <88>;
- hsync-len = <44>;
- vfront-porch = <36>;
- vback-porch = <4>;
- vsync-len = <5>;
- };
- };
- };
-};
-
-&dp0 {
- status = "ok";
-
- port {
- dp0_output: endpoint@0 {
- remote-endpoint = <&dp0_virt_input>;
- };
- };
-};
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_8cpu.dts b/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_8cpu.dts
deleted file mode 100644
index ba94d07469..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/armv8_gem5_v2_8cpu.dts
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 2015-2016 ARM Limited
- * All rights reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Andreas Sandberg
- */
-
-/dts-v1/;
-
-/memreserve/ 0x80000000 0x00010000;
-
-/include/ "vexpress_gem5_v2.dtsi"
-
-/ {
- model = "V2P-AARCH64";
- compatible = "arm,vexpress,v2p-aarch64", "arm,vexpress";
-
- memory@80000000 {
- device_type = "memory";
- reg = <0 0x80000000 0x4 0x00000000>;
- };
-
- cpus {
- #address-cells = <1>;
- #size-cells = <0>;
-
- cpu@0 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 0 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- cpu@1 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 1 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- cpu@2 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 2 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- cpu@3 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 3 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- cpu@4 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 4 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- cpu@5 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 5 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- cpu@6 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 6 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- cpu@7 {
- device_type = "cpu";
- compatible = "gem5,armv8", "arm,armv8";
- reg = < 7 >;
- enable-method = "spin-table";
- cpu-release-addr = <0 0x8000fff8>;
- };
-
- };
-
- virt-encoder {
- compatible = "drm,virtual-encoder";
- port {
- dp0_virt_input: endpoint@0 {
- remote-endpoint = <&dp0_output>;
- };
- };
-
- display-timings {
- native-mode = <&timing0>;
-
- timing0: timing_1080p60 {
- /* 1920x1080-60 */
- clock-frequency = <148500000>;
- hactive = <1920>;
- vactive = <1080>;
- hfront-porch = <148>;
- hback-porch = <88>;
- hsync-len = <44>;
- vfront-porch = <36>;
- vback-porch = <4>;
- vsync-len = <5>;
- };
- };
- };
-};
-
-&dp0 {
- status = "ok";
-
- port {
- dp0_output: endpoint@0 {
- remote-endpoint = <&dp0_virt_input>;
- };
- };
-};
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/vexpress_gem5_v2.dtsi b/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/vexpress_gem5_v2.dtsi
deleted file mode 100644
index e53e6e84b3..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/vexpress_gem5_v2.dtsi
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2015-2018 ARM Limited
- * All rights reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Andreas Sandberg
- */
-
-/include/ "vexpress_gem5_v2_base.dtsi"
-
-/ {
- /* The display processor needs custom configuration to setup its
- * output ports. Disable it by default in the platform until the
- * DT bindings have stabilize.
- */
- dp0: hdlcd@2b000000 {
- compatible = "arm,hdlcd";
- reg = <0x0 0x2b000000 0x0 0x1000>;
- interrupts = <0 63 4>;
- clocks = <&osc_pxl>;
- clock-names = "pxlclk";
- status = "disabled";
- };
-};
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/vexpress_gem5_v2_base.dtsi b/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/vexpress_gem5_v2_base.dtsi
deleted file mode 100644
index eba0db2526..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/files/dts/gem5-arm64/vexpress_gem5_v2_base.dtsi
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Copyright (c) 2015-2017, 2019 ARM Limited
- * All rights reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Andreas Sandberg
- */
-
-/ {
- arm,hbi = <0x0>;
- arm,vexpress,site = <0xf>;
- interrupt-parent = <&gic>;
- #address-cells = <2>;
- #size-cells = <2>;
-
- gic: interrupt-controller@2c000000 {
- compatible = "arm,gic-v3";
- #interrupt-cells = <0x3>;
- #address-cells = <0x2>;
- ranges;
- interrupt-controller;
- redistributor-stride = <0x0 0x40000>; // 256kB stride
- reg = <0x0 0x2c000000 0x0 0x10000
- 0x0 0x2c010000 0x0 0x2000000 // room for 128 redistributors using 128K each (256K strided...)
- 0x0 0x0 0x0 0x0>;
- interrupts = <1 9 0xf04>;
- #size-cells = <0x2>;
- linux,phandle = <0x1>;
- phandle = <0x1>;
-
- gic-its@2e010000 {
- compatible = "arm,gic-v3-its";
- msi-controller;
- #msi-cells = <1>;
- reg = <0x0 0x2e010000 0 0x20000>;
- };
- };
-
- timer {
- compatible = "arm,cortex-a15-timer",
- "arm,armv7-timer";
- interrupts = <1 13 0xf08>,
- <1 14 0xf08>,
- <1 11 0xf08>,
- <1 10 0xf08>;
- clocks = <&osc_sys>;
- clock-names="apb_pclk";
- };
-
- pci {
- compatible = "pci-host-ecam-generic";
- device_type = "pci";
- #address-cells = <0x3>;
- #size-cells = <0x2>;
- #interrupt-cells = <0x1>;
-
- reg = <0x0 0x30000000 0x0 0x10000000>;
-
- ranges = <0x01000000 0x0 0x00000000 0x0 0x2f000000 0x0 0x00010000>,
- <0x02000000 0x0 0x40000000 0x0 0x40000000 0x0 0x40000000>;
-
- /*
- child unit address, #cells = #address-cells
- child interrupt specifier, #cells = #interrupt-cells (INTA = 1, INTB = 2, INTC = 3 and INTD = 4)
- interrupt-parent, phandle
- parent unit address, #cells = #address-cells@gic
- parent interrupt specifier, #cells = #interrupt-cells@gic
- */
- interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x44 0x1
- 0x800 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x45 0x1
- 0x1000 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x46 0x1
- 0x1800 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x47 0x1>;
-
- interrupt-map-mask = <0x001800 0x0 0x0 0x0>;
- dma-coherent;
- };
-
- kmi@1c060000 {
- compatible = "arm,pl050", "arm,primecell";
- reg = <0x0 0x1c060000 0x0 0x1000>;
- interrupts = <0 12 4>;
- clocks = <&v2m_clk24mhz>, <&osc_smb>;
- clock-names = "KMIREFCLK", "apb_pclk";
- };
-
- kmi@1c070000 {
- compatible = "arm,pl050", "arm,primecell";
- reg = <0x0 0x1c070000 0x0 0x1000>;
- interrupts = <0 13 4>;
- clocks = <&v2m_clk24mhz>, <&osc_smb>;
- clock-names = "KMIREFCLK", "apb_pclk";
- };
-
- uart0: uart@1c090000 {
- compatible = "arm,pl011", "arm,primecell";
- reg = <0x0 0x1c090000 0x0 0x1000>;
- interrupts = <0 5 4>;
- clocks = <&osc_peripheral>, <&osc_smb>;
- clock-names = "uartclk", "apb_pclk";
- };
-
- rtc@1c170000 {
- compatible = "arm,pl031", "arm,primecell";
- reg = <0x0 0x1c170000 0x0 0x1000>;
- interrupts = <0 4 4>;
- clocks = <&osc_smb>;
- clock-names = "apb_pclk";
- };
-
- v2m_clk24mhz: clk24mhz {
- compatible = "fixed-clock";
- #clock-cells = <0>;
- clock-frequency = <24000000>;
- clock-output-names = "v2m:clk24mhz";
- };
-
-
- v2m_sysreg: sysreg@1c010000 {
- compatible = "arm,vexpress-sysreg";
- reg = <0 0x1c010000 0x0 0x1000>;
- gpio-controller;
- #gpio-cells = <2>;
- };
-
- vio@1c130000 {
- compatible = "virtio,mmio";
- reg = <0 0x1c130000 0x0 0x1000>;
- interrupts = <0 42 4>;
- };
-
- vio@1c140000 {
- compatible = "virtio,mmio";
- reg = <0 0x1c140000 0x0 0x1000>;
- interrupts = <0 43 4>;
- };
-
- dcc {
- compatible = "arm,vexpress,config-bus";
- arm,vexpress,config-bridge = <&v2m_sysreg>;
-
- osc_pxl: osc@5 {
- compatible = "arm,vexpress-osc";
- arm,vexpress-sysreg,func = <1 5>;
- freq-range = <23750000 1000000000>;
- #clock-cells = <0>;
- clock-output-names = "oscclk5";
- };
-
- osc_smb: osc@6 {
- compatible = "arm,vexpress-osc";
- arm,vexpress-sysreg,func = <1 6>;
- freq-range = <20000000 50000000>;
- #clock-cells = <0>;
- clock-output-names = "oscclk6";
- };
-
- osc_sys: osc@7 {
- compatible = "arm,vexpress-osc";
- arm,vexpress-sysreg,func = <1 7>;
- freq-range = <20000000 60000000>;
- #clock-cells = <0>;
- clock-output-names = "oscclk7";
- };
- };
-
-
- mcc {
- compatible = "arm,vexpress,config-bus";
- arm,vexpress,config-bridge = <&v2m_sysreg>;
- arm,vexpress,site = <0>;
-
- osc_peripheral: osc@2 {
- compatible = "arm,vexpress-osc";
- arm,vexpress-sysreg,func = <1 2>;
- freq-range = <24000000 24000000>;
- #clock-cells = <0>;
- clock-output-names = "v2m:oscclk2";
- };
- };
-};
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/files/init_disassemble_info-signature-changes-causes-compile-failures.patch b/meta-arm/meta-gem5/recipes-kernel/linux/files/init_disassemble_info-signature-changes-causes-compile-failures.patch
deleted file mode 100644
index 3d7ac92eaa..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/files/init_disassemble_info-signature-changes-causes-compile-failures.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 4af28e8e58b6c461a3b85960b222dade8b6891ce Mon Sep 17 00:00:00 2001
-From: Andres Freund <andres@anarazel.de>
-Date: Wed, 22 Jun 2022 11:19:18 -0700
-Subject: [PATCH] init_disassemble_info() signature changes causes compile
- failures
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Hi,
-
-binutils changed the signature of init_disassemble_info(), which now causes
-perf and bpftool to fail to compile (e.g. on debian unstable).
-
-Relevant binutils commit: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=60a3da00bd5407f07d64dff82a4dae98230dfaac
-
-util/annotate.c: In function ‘symbol__disassemble_bpf’:
-util/annotate.c:1765:9: error: too few arguments to function ‘init_disassemble_info’
- 1765 | init_disassemble_info(&info, s,
- | ^~~~~~~~~~~~~~~~~~~~~
-In file included from util/annotate.c:1718:
-/usr/include/dis-asm.h:472:13: note: declared here
- 472 | extern void init_disassemble_info (struct disassemble_info *dinfo, void *stream,
- | ^~~~~~~~~~~~~~~~~~~~~
-
-with equivalent failures in
-
-tools/bpf/bpf_jit_disasm.c
-tools/bpf/bpftool/jit_disasm.c
-
-The fix is easy enough, add a wrapper around fprintf() that conforms to the
-new signature.
-
-However I assume the necessary feature test and wrapper should only be added
-once? I don't know the kernel stuff well enough to choose the right structure
-here.
-
-Attached is my local fix for perf. Obviously would need work to be a real
-solution.
-
-Greetings,
-
-Andres Freund
----
-
-binutils 2.39 changed the signature of init_disassemble_info(),
-which now causes perf and bpftool to fail to compile.
-
-Relevant binutils commit: [1]
-
-There is a proper fix in development upstream[2].
-This is a work-around for older kernels.
-
-[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=60a3da00bd5407f07d64dff82a4dae98230dfaac
-[2] https://patchwork.kernel.org/project/netdevbpf/cover/20220801013834.156015-1-andres@anarazel.de/
-
-Upstream-Status: Pending
-Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
-
-
- tools/perf/util/annotate.c | 15 ++++++++++++++-
- 1 file changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
-index 0c5e4ce390ef..1151c029f714 100644
---- a/tools/perf/util/annotate.c
-+++ b/tools/perf/util/annotate.c
-@@ -1708,6 +1708,18 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil
- #include <bfd.h>
- #include <dis-asm.h>
-
-+static int fprintf_styled(void *, enum disassembler_style, const char* fmt, ...)
-+{
-+ va_list args;
-+ int r;
-+
-+ va_start(args, fmt);
-+ r = vprintf(fmt, args);
-+ va_end(args);
-+
-+ return r;
-+}
-+
- static int symbol__disassemble_bpf(struct symbol *sym,
- struct annotate_args *args)
- {
-@@ -1750,7 +1762,8 @@ static int symbol__disassemble_bpf(struct symbol *sym,
- goto out;
- }
- init_disassemble_info(&info, s,
-- (fprintf_ftype) fprintf);
-+ (fprintf_ftype) fprintf,
-+ fprintf_styled);
-
- info.arch = bfd_get_arch(bfdf);
- info.mach = bfd_get_mach(bfdf);
---
-2.30.2
-
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64-standard.scc b/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64-standard.scc
deleted file mode 100644
index 0fb69e4076..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64-standard.scc
+++ /dev/null
@@ -1,11 +0,0 @@
-define KMACHINE gem5-arm64
-define KTYPE standard
-define KARCH arm64
-
-include ktypes/standard/standard.scc
-
-include gem5-arm64.scc
-
-# default policy for standard kernels
-#include features/latencytop/latencytop.scc
-#include features/profiling/profiling.scc
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64.scc b/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64.scc
deleted file mode 100644
index a24a3af2b9..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64.scc
+++ /dev/null
@@ -1,14 +0,0 @@
-include features/input/input.scc
-include features/net/net.scc
-include cfg/timer/no_hz.scc
-
-kconf hardware gem5-arm64/gem5-arm64-board.cfg
-kconf hardware gem5-arm64/gem5-arm64-drm.cfg
-kconf hardware gem5-arm64/gem5-arm64-net.cfg
-kconf hardware gem5-arm64/gem5-arm64-rtc.cfg
-kconf hardware gem5-arm64/gem5-arm64-serial.cfg
-kconf hardware gem5-arm64/gem5-arm64-virtio.cfg
-kconf hardware gem5-arm64/gem5-arm64-cfi.cfg
-kconf hardware gem5-arm64/gem5-arm64-virtio.cfg
-kconf hardware gem5-arm64/gem5-arm64-pci.cfg
-kconf hardware gem5-arm64/gem5-arm64-pata.cfg
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-board.cfg b/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-board.cfg
deleted file mode 100644
index 56bb9e6d35..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-board.cfg
+++ /dev/null
@@ -1,23 +0,0 @@
-CONFIG_ARM64=y
-CONFIG_ARCH_VEXPRESS=y
-CONFIG_SMP=y
-CONFIG_NR_CPUS=256
-CONFIG_HOTPLUG_CPU=y
-
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-
-CONFIG_CPU_IDLE=y
-CONFIG_ARM_CPUIDLE=y
-
-CONFIG_VEXPRESS_CONFIG=y
-
-# Keyboard over AMBA
-CONFIG_SERIO=y
-CONFIG_SERIO_AMBAKMI=y
-
-CONFIG_MFD_VEXPRESS_SYSREG=y
-
-# Turn off RAID to speed up boot
-CONFIG_MD=n
-CONFIG_BTRFS_FS=n
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-cfi.cfg b/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-cfi.cfg
deleted file mode 100644
index f28e0d9205..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-cfi.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-# CFI Flash
-CONFIG_MTD=y
-CONFIG_MTD_CFI=y
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-drm.cfg b/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-drm.cfg
deleted file mode 100644
index 34b0141395..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-drm.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-CONFIG_DRM=y
-CONFIG_DRM_HDLCD=y
-CONFIG_FB=y
-CONFIG_FB_ARMCLCD=y
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-net.cfg b/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-net.cfg
deleted file mode 100644
index 54e3686d37..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-net.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_SMSC911X=y
-CONFIG_SMC91X=y
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-pata.cfg b/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-pata.cfg
deleted file mode 100644
index 62722880dc..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-pata.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-CONFIG_ATA=y
-CONFIG_ATA_GENERIC=y
-CONFIG_PATA_PLATFORM=y
-CONFIG_PATA_OF_PLATFORM=y
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_ATA_PIIX=y
-CONFIG_PATA_OLDPIIX=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_SG=y
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-pci.cfg b/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-pci.cfg
deleted file mode 100644
index c8ae9d4844..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-pci.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_PCI=y
-CONFIG_PCI_HOST_GENERIC=y
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-rtc.cfg b/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-rtc.cfg
deleted file mode 100644
index 5d377b396a..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-rtc.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_PL031=y
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-serial.cfg b/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-serial.cfg
deleted file mode 100644
index f58e3c2efd..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-serial.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-virtio.cfg b/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-virtio.cfg
deleted file mode 100644
index b4a53da1be..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/gem5-kmeta/bsp/gem5-platforms/gem5-arm64/gem5-arm64-virtio.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-CONFIG_VIRTIO=y
-CONFIG_VIRTIO_MMIO=y
-CONFIG_BLOCK=y
-CONFIG_VIRTIO_BLK=y
-CONFIG_BLK_MQ_VIRTIO=y
-CONFIG_SCSI_VIRTIO=y
-CONFIG_VIRTIO_BLK_SCSI=y
-CONFIG_VIRTIO_PCI=y
-CONFIG_VIRTIO_PCI_LEGACY=y
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_%.bbappend
deleted file mode 100644
index e66dd21bf3..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_%.bbappend
+++ /dev/null
@@ -1,12 +0,0 @@
-FILESEXTRAPATHS:prepend:gem5-arm64 := "${THISDIR}:${THISDIR}/files:"
-
-COMPATIBLE_MACHINE:gem5-arm64 = "gem5-arm64"
-KMACHINE:gem5-arm64 = "gem5-arm64"
-SRC_URI:append:gem5-arm64 = " file://gem5-kmeta;type=kmeta;name=gem5-kmeta;destsuffix=gem5-kmeta \
- file://dts/gem5-arm64;subdir=add-files \
- file://init_disassemble_info-signature-changes-causes-compile-failures.patch"
-
-do_patch:append:gem5-arm64() {
- tar -C ${WORKDIR}/add-files/dts -cf - gem5-arm64 | \
- tar -C arch/arm64/boot/dts -xf -
-}
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_5.4.bb b/meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_5.4.bb
deleted file mode 100644
index a1a301ccba..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_5.4.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-KBRANCH ?= "v5.4/standard/base"
-
-require recipes-kernel/linux/linux-yocto.inc
-
-SRCREV_machine ?= "8a59dfded81659402005acfb06fbb00b71c8ce86"
-SRCREV_meta ?= "e8c675c7e11fbd96cd812dfb9f4f6fb6f92b6abb"
-
-SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
- git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA} \
- file://0001-lib-build_OID_registry-fix-reproducibility-issues.patch \
- file://0002-vt-conmakehash-improve-reproducibility.patch \
- "
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-LINUX_VERSION ?= "5.4.205"
-
-DEPENDS += "openssl-native util-linux-native"
-
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-KMETA = "kernel-meta"
-KCONF_BSP_AUDIT_LEVEL = "1"
-
-# Functionality flags
-KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
diff --git a/meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_5.4.bbappend b/meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_5.4.bbappend
deleted file mode 100644
index 078b684fdd..0000000000
--- a/meta-arm/meta-gem5/recipes-kernel/linux/linux-yocto_5.4.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'recipes-kernel/linux/linux-yocto_virtualization.inc', '', d)}
diff --git a/meta-arm/scripts/machine-summary.py b/meta-arm/scripts/machine-summary.py
index c2b43dae18..8bd0fa789b 100755
--- a/meta-arm/scripts/machine-summary.py
+++ b/meta-arm/scripts/machine-summary.py
@@ -56,7 +56,7 @@ def get_url_for_patch(layer: str, localpath: pathlib.Path, d) -> str:
# TODO: assumes default branch
if layer == "core":
return f"https://git.openembedded.org/openembedded-core/tree/meta/{relative}"
- elif layer in ("meta-arm", "meta-arm-bsp", "arm-toolchain", "meta-atp", "meta-gem5"):
+ elif layer in ("meta-arm", "meta-arm-bsp", "arm-toolchain"):
return f"https://git.yoctoproject.org/meta-arm/tree/{layer}/{relative}"
else:
print(f"WARNING: Don't know web URL for layer {layer}", file=sys.stderr)