1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-07-18 16:37:08 +00:00

Compare commits

..

255 Commits

Author SHA1 Message Date
Usama Arif 56514201ad tc0/spm: boot SP according to boot order specified in manifest
This is currently in review at:
https://review.trustedfirmware.org/c/hafnium/hafnium/+/4997/36

Signed-off-by: Usama Arif <usama.arif@arm.com>
2020-10-27 17:35:35 +00:00
Arunachalam Ganapathy 86f9419b9d arm-bsp: Enable SPM build option in yocto framework
This patch adds:
spm, tf-a-tests recipes.
This builds tf-a with SPM at S-EL2 and test secure partitions at S-EL1.

Change-Id: Ia2f44f4000aa0786b945bc8fb66c9edb1a0094e8
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Signed-off-by: Usama Arif <usama.arif@arm.com>
2020-10-27 17:35:26 +00:00
Usama Arif da57312334 arm-bsp/images: Add tc0-kernel-image
This depends on trusted-firmware-a which is the last component to be built.
Calling bitbake tc0-kernel-image will create all the required images
to boot poky.

Change-Id: Ia8675b048db4a127d32394f536632ce88fe20826
Signed-off-by: Usama Arif <usama.arif@arm.com>
2020-10-26 18:26:37 +00:00
Usama Arif 70a9c4991e arm-bsp/u-boot: update SHA for tc0
Change-Id: Ideb4866df92d05bdc07b53f47346ae4f381dfc6d
Signed-off-by: Usama Arif <usama.arif@arm.com>
2020-10-26 18:26:35 +00:00
Usama Arif 29cee51f84 arm-bsp/tc0: Enable verified u-boot
This involes creating the fitImage which contains
both the kernel and ramdisk. The fitImage is also
signed.

Change-Id: Iaedffd54751585a7ef6b467d63f5f8fb6e744aa7
Signed-off-by: Usama Arif <usama.arif@arm.com>
2020-10-26 18:20:22 +00:00
Abdellatif El Khlifi 92c0971055 arm-bsp/corstone700-test-app: adding test recipe for systems comms
This commit provides a recipe that generates a Linux userspace
application used for testing the communication between Corstone700 cores.

Change-Id: I7c00653b0fcd6d9074510bbb70a838762aed0150
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-25 09:48:47 -04:00
Anders Dellien 785f8bf4c1 arm-bsp/tc0: Add kernel patches
Add patches for SCMI, MHUv2 and DRM. Also update the kernel config
to enable boot to Android home screen instead of just console.

Change-Id: Ic2af15441667b967ef360d8410de94e83eb73de4
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-25 09:48:47 -04:00
Diego Sueiro 82ffc86baf arm-autonomy/linux-arm-autonomy: Fix runstate info page if kpti is enabled
This patch surpress Dom0/DomU kernel messages like these:
(XEN) p2m.c:1888: d0v1: Failed to walk page-table va 0xffff00005ddb6238
(XEN) p2m.c:1888: d0v1: Failed to walk page-table va 0xffff00005ddb6247

Change-Id: I10364516a9992da4a7b52a2cb02baa5c12ff8585
Issue-Id: SCM-1520
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-25 09:48:47 -04:00
Diego Sueiro 6c740e5cf0 arm-autonomy/xen: Backport improvements to xen 4.14
These patches improve the overall stability of Xen.

Change-Id: I40c93f1c28fe9bd9548883c1cc0c38e1be7f56c3
Issue-Id: SCM-1520
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-25 09:48:47 -04:00
Ross Burton a6d345f978 arm-bsp: fix typo in musca-b1 documentation
Change-Id: I7e39c39f14a9ccf32ccfbc732f57c0df79034885
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-20 12:32:47 -04:00
Ross Burton 67108e430e arm-bsp/layer.conf: add meta-python for musca
Change-Id: I46568f3144519bc25a65bce3d29d0ae659335f55
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-20 12:32:47 -04:00
Ross Burton 5659d038e3 arm/edk2-firmware: set do_configure[cleandirs] to ensure B is empty
Change-Id: I0df26d6f39613ee65cce5a297dbcd17f299ac0be
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-20 12:32:01 -04:00
Ross Burton ed66883f14 arm/edk2-firmware: rationalise $S
Currently edk2-firmware sets S to WORKDIR/git/ and unpacks edk2 into
WORKDIR/git/edk2. This isn't idiomatic and breaks tooling such as devtool
which expects a git fetcher to unpack a git repository to $S.

Move the edk2 unpack to $S directly, and update the recipe where required.

Change-Id: Ib9571032c14a01864860e2eb5a04ed73dd382710
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-20 12:32:01 -04:00
Ross Burton df856a631b arm-bsp/edk2-firmware: remove redundant SRC_URI
Now that the base recipe uses gitsm: the SRC_URI can be removed from here.

Change-Id: Ic070a8a84c49a9c731690ad660501fb61b092750
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-20 12:32:01 -04:00
Ross Burton 2f592aa7ea arm/edk2-firmare: use gitsm fetcher
The EDK2 repository contains a number of submodules and some builds need
them, so use the gitsm fetcher to ensure they're always fetched.

Change-Id: I63cf20900b3fa636f409926222c715b7f6a7bb89
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-20 12:32:01 -04:00
Ross Burton 37c9eea1cd arm/edk2-firware: don't handle obsolete GCC releases
There's no point in handling GCC cross compilers that are before version 5, as
GCC 5 came out in 2017 and is obsolete now.

Change-Id: I650ee44c433f70004d20c0219310ddbd4028addb
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-20 12:32:01 -04:00
Ross Burton 8492512109 arm/edk2-firmware: no need to inherit python3native
There are no python3-foo-native dependencies, so just set PYTHON to the host
python3 (which is in HOSTTOOLS) and remove the python3native inherit.

Change-Id: I1234d04df380a71a1e881328157e1d154f3cb49c
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-20 12:32:01 -04:00
Jon Mason 4f264deaa4 arm-bsp: remove dunfell u-boot support
u-boot version 2020.01 is not needed with dunfell not supported.  Remove
files and adjust the necessary.  Also, move tc0 support to match the
other BSPs

Change-Id: Ibc0f93a9eb0ca600a84b1399d77b35e6ae08753b
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-20 11:58:27 -04:00
Jon Mason 406e905d5e arm-bsp: remove cortex-a tune files
Cortex-a tune files have been accepted into openembedded-core.  So,
those should be used in place of these.  Removing these to prevent any
issues.

Change-Id: Ifca1557a88e50ce6947524222ba7f852fd9a282c
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-20 11:58:27 -04:00
Jon Mason e4d4b90ce2 Drop dunfell support
Drop dunfell support from the master branch in anticipation of the
gatestgarth release.  All dunfell users should reference the dunfell
branch.

Change-Id: I9c5806f698cca42773aaea1fb49e0dfff437eaf4
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-20 11:58:27 -04:00
Khasim Mohammed b0752bbc78 arm-bsp/linux-linaro-arm-5.4: remove linux kernel dtb and use one from TFA
DTB is generated from TFA therefore remove using the one from linux kernel.

Change-Id: I4647482b41b76db803fdd6a417580d99d2e79215
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-19 15:59:12 -04:00
Khasim Mohammed e4e060a063 arm-bsp/n1sdp: add support for startup.nsh file
UEFI EDK2 on N1SDP is unable to detect FS2 during boot resulting
in launching of EDK2 shell instead of launching grub.
The startup.nsh will force launching of grub.

Change-Id: I90426f2883251b7cc5fd4aa453ccfd606640d3bd
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-19 15:59:12 -04:00
Brett Warren 7611e8cf4a optee: upgrade to 3.11
optee 3.10 recipes have been upgraded to 3.11 to keep up with
the latest version.

Change-Id: fef3af6d7d04d2903d310cf99d17566b67e2f811
Signed-off-by: Brett Warren <brett.warren@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-19 09:50:13 -04:00
Brett Warren b419151acd optee: refactor into .inc files
To reduce code duplication, .inc files are used to hold common parts
of recipes, allowing .bb files to only specify things specific to that
recipe version.

Changed-Id: 740e6c9d36a957e2988f3599dd830c745f240beb
Signed-off-by: Brett Warren <brett.warren@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-19 09:50:13 -04:00
Brett Warren 5719261b4d wic/qemuarm64: enabled kernel arguments with u-boot
Kernel commandline arguments passed via runqemu don't
configure the kernel when booting with u-boot, as it finds
configuration in extlinux/extlinux.conf instead, which is
generated by wic.

A custom extlinux.conf file is now passed to wic with the
intended arguments, so that the kernel now configures
as directed.

Change-Id: Icbbcab47fe5cf70e4d8d39c7145371f1d6cd8db7
Signed-off-by: Brett Warren <brett.warren@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-19 09:50:13 -04:00
Brett Warren 5013182dda trusted-firmware-a: enable clang support
The CC and LD parameters are used to point make to the currently
used compiler and linkers.

This change enables TFA to be compiled successfully when
TOOLCHAIN=clang.

Change-Id: Ice465318b8c9b2b69c08fe4f48f6d36c610978f0
Signed-off-by: Brett Warren <brett.warren@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-19 09:50:13 -04:00
Brett Warren effcd18f5a optee: enable clang support
Patch 0002 and 0003 in optee-test remove -W options from make
to enable successful compilation with clang.

Patch 0007 modifies the libgcc$(sm) variable in optee so that it can
find the compiler-rt dependencies. Compiler-rt is also added as a
dependency to the optee recipe.

The compiler in use is passed to make via TOOLCHAIN. If TOOLCHAIN
doesn't exist (it is declared by meta-clang, and so doesn't exist
by default), 'gcc' is passed as a default.

These modifications allow optee to be successfully compiled
when TOOLCHAIN=clang

Change-Id: If565969e169078fabd5e3cf5716ca317cc49a126
Signed-off-by: Brett Warren <brett.warren@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-19 09:50:13 -04:00
Brett Warren 715c9f8f98 optee: upgraded recipes to 3.10
The optee recipes were upgraded due to issues booting with 3.8
on qemuarm64-secureboot, which were resolved by the upgrade.
The 3.8 recipes are retained for backwards compatibility.

optee-test and optee-examples were modified to pass a sysroot
to the LIBGCC_LOCATE_CFLAGS parameter, to ensure proper location
of the libgcc library.

Recipes have been renamed to reflect their current version.
As this makes the PV variables redundent, these have been removed.

Patch 0006 has been refreshed to work with 3.10 without fuzzing.
The original copy has been retained for the 3.8 recipes to use.

Change-Id: Iacaba02d64570a790d5cc20eca8be58246e39019
Signed-off-by: Brett Warren <brett.warren@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-19 09:50:13 -04:00
Brett Warren a636818415 qemuarm64-secureboot: changed format of memory to MB
When running runqemu the memory argument in the kernel
commandline arguments expects megabytes, so with the previous
format "-m 1GM" ended up being passed.

Change-Id: I5d3bc9d5ce93fa3da5885c99feb99ce80367c993
Signed-off-by: Brett Warren <brett.warren@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-19 09:50:13 -04:00
Ross Burton a7dc167104 gem5: use pre-generated keys instead of haveged in gem5 machine
As the gem5 image won't be used in production there is no need to
generate unique SSH keys on the first boot, which takes a long time in
gem5.

Instead of recommending haveged (from meta-oe) we can simply install
pre-generated SSH keys. These keys are static so should not be used in
production!

Change-Id: I134a421d66eb2b55cf0e4f44781021ac2c96106d
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-16 22:40:24 -04:00
Ross Burton 8d4a60880f arm-bsp: use pre-generated keys instead of haveged in FVP machines
As the FVP images won't be used in production there is no need to
generate unique SSH keys on the first boot, which takes a long time in a
FVP.

Instead of recommending haveged (from meta-oe) we can simply install
pre-generated SSH keys. These keys are static so should not be used in
production!

Change-Id: I6a538de6bee892a77816c1d938dd2b55c94257f4
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-16 22:40:24 -04:00
Jon Mason ad8ded94b9 arm-bsp: sgi575: update tune location
cortex-a75 location was upstreamed to a different location that
specified in this file.  Modify it so that the references the correct
location.

Change-Id: Ia2082e8368444b2355e6be6635f299a6383a7284
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-15 11:48:16 -04:00
Usama Arif c398ea17f5 arm-bsp/docmumentation: Add information about tc0
This includes an overview as well as build and run instructions
for the tc0 software stack.

Change-Id: I9abfc7d6dffc68da2a2cd4ceda82bec6bc5fcb10
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-15 11:48:16 -04:00
Ross Burton f77b8b1de4 arm-bsp/musca-*: use newlib for libc
Whilst glibc is definitely not an option for Cortex-M cores, newlib is
a viable libc implementation that is useful to default too.

Change-Id: I1f3a53e43945f486aa2e7bce019f105c55df5e87
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-15 11:48:16 -04:00
Kamil Dziezyk bab28a95cd arm-autonomy/xenguest-mkimage: add extra ramdisk support
Some guest images requires a ramdisk, that is built with a custom recipe.
This patch adds an option '--xen-ramdisk',
for xenguest-mkimage script to cover that.
Extra ramdisk support is also added to xenguest-image-extra bbclass,
via 'XENGUEST_EXTRA_RAMDISK' variable.

Issue-Id: SCM-1276
Change-Id: I8ec74a37c0c96ca83a3489911186f3b3262f80fd
Signed-off-by: Kamil Dziezyk <kamil.dziezyk@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-15 11:48:16 -04:00
Usama Arif 553654ece7 arm-bsp/scp-firmware: Update SHA for tc0
This SHA includes the architecture changes introduced as
including switching Cortex M7 to M3 as well as memory and
interrupt map changes. The SRC_URI is also overwritten as
the patch
0001-tools-gen_module_code-atomically-rewrite-the-generat.patch
has already been merged applied in the base recipe has
already been merge in this SHA.

Change-Id: I85dc6b65390249673415789ec110aae74ba3b5af
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-13 09:35:14 -04:00
Usama Arif 3d32e6cb98 arm-bsp/trusted-firmware-a: Update SHA for tc0
This SHA of trusted-firmware-a includes support for
additional features for tc0 including TZC and cpuidle.

Change-Id: I004f9614b2bada9b88d2fce90f0f10064d8437e4
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-13 09:35:14 -04:00
Nathan Dunne 6a92503d9b arm-autonomy: Move machine override soft assignments to inc files
Moved assignments of the form:
     MYVAR_$MACHINE ?= "val"
to a machine specific .inc file, as the above will still set the
value when the base variable has been set in local.conf, e.g:
     MYVAR = "local_val"
despite the weak assignment.

Change-Id: I3ba77453be785ec92ab45255cbd34d7d77bbcf37
Issue-Id: SCM-1524
Signed-off-by: Nathan Dunne <Nathan.Dunne@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-13 09:35:05 -04:00
Nathan Dunne c9ee368bee arm-autonomy: Drop foundation-armv8 support
Remove foundation-armv8 overrides from arm-autonomy recipes.

Change-Id: I7913ccdb3383bdf40b608fc852428716e1538318
Issue-Id: SCM-1525
Signed-off-by: Nathan Dunne <Nathan.Dunne@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-13 09:34:22 -04:00
Jon Mason 90243d0713 arm-bsp: fix cortexa32 tune
Cortex-A32 is 32bit only, but the recent changes had it working as
64bit (causing build breaks).  This reverts that change in this file.

Change-Id: I58115096477424127baf99712b96131d2a0b0497
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-12 13:50:23 -04:00
Diego Sueiro 24f859cff2 arm-autonomy: Add minimal docker runtime in xenguest images
This patch introduces the 'docker' DISTRO_FEATURE do control whether or not to
have a minimal docker runtime installed in xenguest images.

A new packagegroup and kernel feature were introduced to ensure the minimal
kernel config is applied as well as the packages to be installed in the image.

Change-Id: Id973ca2421c43d5b0978c6f7311e1d0b4db5edca
Issue-Id: SCM-1533
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-12 13:50:23 -04:00
Diego Sueiro 37cfed754a arm-autonomy: Update Maintainers list
Change-Id: If01fcd1aaf971d0e58894661df7fe9f6ab7e5f4a
Issue-Id: SCM-1520
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-12 13:50:23 -04:00
lakshmi Kailasanathan f2abff9da8 arm-bsp/corstone700-mps3: Enabling NXP ISP1763 USB host controller in linux
This commit adds  usb host in the v5.6 kernel as a machine feature
to support the USB host controller and mass storage for MPS3 board.
The kernel binary size increase with this hence wks file updated.
The node for USB controller is added to device tree in the TF-A and
updated the sha to reflect it.

Change-Id: Iad3348f8dc599d5642ddfa0c5199485eeaca0991
Signed-off-by: lakshmi Kailasanathan <lakshmi.Kailasanathan@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-07 11:22:38 -04:00
Jon Mason 4cde2c189e arm-bsp: musca-b1: Add Zephyr support
Zephyr supports Musca B1, and QEMU has an emulated Musca B1 board.  Add
the relevant parts to get this compiling with meta-zephyr and (in
theory) run QEMU.

Change-Id: I9af4aea03e31e96f8eee17f44913e747b1241891
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-02 10:33:44 -04:00
Jon Mason 3b924302d6 arm-bsp: remove armv8m
Musca B1 and S1 should be using the external tune files.  Remove armv8,
as it is not correct anyway, and use the Cortex-M33 tune.

Note:  This change will prevent glibc from compiling (and possibly
others).  This isn't relevant for a Cortex-M, as it should be
running an RTOS not Linux.

Change-Id: Id88d2af41217e8b5bad01e98b337cf0523acf6e1
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-02 10:31:25 -04:00
Jon Mason a896f597c2 arm-bsp: rename musca_b1 and musca_s1
Rename musca_b1 and musca_s1 machines to have the standard hyphen
instead of underscore.

Change-Id: Ifd43d4f68cd964f5acd546a8380f165cc53588ab
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-02 10:28:54 -04:00
Jon Mason 7e67045530 arm-bsp: Add cortexm tunes
Until accepted into oe-core, add the cortex-m tunes here so that they
can be used in meta-arm-bsp.

Change-Id: Iaa74937da61cd8d35c27beae7e09351e996a262e
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-02 10:28:54 -04:00
Jon Mason a7db701d9b arm-bsp: Add cortexa tunes
Until accepted into oe-core, add the cortex-a tunes here so that they
can be used in meta-arm-bsp.  Also, this allows for them to be used for
dunfell support.

Change-Id: I9e0affef8d9d94f27cd68d5032b82276f51f7c1e
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-02 10:28:54 -04:00
Jon Mason 41832a15a6 gem5: remove reference to meta-arm-platforms
Change-Id: Ib279545916b7da00b3d74b58464fd35f511bdc11
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-02 10:28:54 -04:00
Jon Mason 6fd568a02f arm-bsp: Remove references to meta-arm-platforms
meta-arm-platforms does not exist.  Change to meta-arm-bsp.

Change-Id: Iacf74f2ec2d5cd2ddaa3a952e9190e71822bd9f5
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-02 10:28:54 -04:00
Diego Sueiro 1b2500bfb0 arm-autonomy/wic: Deploy Xen related artefacts in the wic boot partition
This patch brings the following changes:
* Documentation about how to customize the wic image for N1SDP
* Introduce a custom wks and grub.cfg file for N1SP when building with
  `DISTRO_FEATURES += "arm-autonomy-host"` to include Xen artefacts and boot
  option.
* Introduce a mechanism to include extra global settings for machines defined
  in meta-arm-bsp when building with `DISTRO_FEATURES += "arm-autonomy-host"`.

Change-Id: Ic9f36bae3bf04df1ee6a6c543e812f27c5c537a0
Issue-Id: SCM-1065
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-02 10:28:01 -04:00
Diego Sueiro fa846e808c arm-autonomy/grub-efi: Add xen_boot support when 'xen' is in DISTRO_FEATURES
Change-Id: Icb9d909beae96e3915f36093c1c16859181d0238
Issue-Id: SCM-1065
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-10-02 10:28:01 -04:00
Usama Arif c74446e6bc arm-bsp/linux-arm64-ack: remove bbappend for version 4.19
This version is not used by any arm bsps' anymore.

Change-Id: I14b78e78ce05a50b7cd3428993de280b9394ad48
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-30 18:11:46 -04:00
Ross Burton 6f85236d16 arm-bsp/documentation: add BSP documentation template
Add a template for future BSP documentation.

Change-Id: I614d43f477f1a5dfb898b808d4c5b78a5bb163b8
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-30 18:11:46 -04:00
Rui Miguel Silva f5cfc2f2df arm-bsp/u-boot: fix patches for a5ds
Some of the patches for u-boot do not apply without
fuzz in 2020.07, rebase them so we do not have the
ugly warnings during do_patch

Change-Id: I0c89b18ed66adad66c7cf41373ca7cdd3fdea3da
Signed-off-by: Rui Miguel Silva <rui.silva@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-30 18:11:46 -04:00
Anders Dellien cebd9c5289 arm-bsp/recipes-kernel: Update fvp-base-arm32 BSP definition
Update to use the yocto-kernel-cache 'standard' configuration
and edit 'fvp-features.cfg' to remove duplicate configs.

Change-Id: I49617bdac554571aa1242080797cb60327e527da
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-28 21:42:38 -04:00
Diego Sueiro bc07e6c62a arm-autonomy/wic: Introduce empty plugin to create unformatted empty partitions
The empty wic plugin is used to create unformatted empty partitions for wic
images.

To use it you must pass "empty" as argument for the "--source" parameter in the
wks file. For example:
part foo --source empty --ondisk sda --size="1024" --align 1024

Change-Id: I0155561e9cc2ac11159e181eec9e4d9ae11555c3
Issue-Id: SCM-889
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-25 09:33:04 -04:00
Usama Arif d62dff99d3 arm-bsp/tc0: update kernel from 4.19 to 5.4
As the ack-4.19 patches are no longer used, they can
be removed.
The extra defconfig options have been removed as well
according for 5.4 kernel.

Change-Id: Iecbfe86107b7b142f17af6bdfbee086b9590fc1a
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-24 14:36:04 -04:00
Nathan Dunne f28d16dd5d arm-bsp/n1sdp: Use IMAGE_EFI_BOOT_FILES instead of IMAGE_BOOT_FILES
Replaced IMAGE_BOOT_FILES variable with IMAGE_EFI_BOOT_FILES
in the machine config file for N1SDP, in line with commit
85574ce0cf84eaf828334dd2fafadc18909e73b5 from oe-core.

Change-Id: Ib7b76c01870dc10f49be4bb9c0b7623bd2819d46
Issue-Id: SCM-1300
Signed-off-by: Nathan Dunne <Nathan.Dunne@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-24 11:21:04 -04:00
Khasim Mohammed cd7b55ed68 arm-bsp/n1sdp: update TFA SRC_REV to include remote chip pcie support
This patch updates the SRC REV for TFA to latest version, this includes
patch required to add support for remote chip pcie.

Change-Id: Ifeba55ca14a3437e343c4bed72ca5bb2bbda7d2f
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-24 11:20:59 -04:00
Khasim Mohammed fc38cccad1 arm-bsp/linux-linaro-arm-5.4: fix N1SDP kernel configuration warnings
Update the cfg file to fix build time kernel configuration warnings
as shown below:

{{ [NOTE]: 'CONFIG_REALTEK_PHY' last val (m) and .config val do not match
[INFO]: CONFIG_REALTEK_PHY : y ## .config: 2358 :configs///defconfig (m)
[INFO]: raw config text:

Change-Id: Icdd0ed0ecdde887e4dcb5874cc59ce407c8d92db
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-24 11:20:59 -04:00
Usama Arif f54431b950 arm/linux-arm64-ack: update branch to 5.4 version
android-5.4-stable branch has been deprecated.
Update to new branch.

Change-Id: I6912005380e89cf62baf0f49404367a1492a45e3
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-24 08:56:20 -04:00
Anders Dellien 5db22bcc8d arm-bsp/u-boot: Rebase FVP patches on u-boot 2020.07
This removes fuzz warnings when applying the patches.

Also change 'earlyprintk' parameter to 'earlycon' as
the former isn't support for AArch64.

Change-Id: I7d9ee3e3ab47877e1d85862dbc835e0d5dac0ecc
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
2020-09-23 16:16:38 -04:00
Nathan Dunne c7a1a5f9fd arm-autonomy/documentation: Update arm-autonomy-quickstart.md with dependencies
Added dependencies on meta-kernel and meta-arm/meta-arm-toolchain layers
to quick start guide instructions.

Change-Id: I7d5a3c631ccdcc7a39b8003a958d5f68ecb606c7
Issue-Id: SCM-1298
Signed-off-by: Nathan Dunne <Nathan.Dunne@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-22 21:39:06 -04:00
Nathan Dunne e4e1a7211a arm-bsp/u-boot: fix THISDIR name collision in u-boot_%.bbappend
Renamed ${THISDIR} user defined variable to ${THIS_DIR}, to prevent
it from breaking ${THISDIR} macro in subsequent u-boot .bbappend files

Change-Id: I4473ee5c3ac5c0aea9310557294cc9757579bdf1
Issue-Id: SCM-1302
Signed-off-by: Nathan Dunne <Nathan.Dunne@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-21 12:40:00 -04:00
Denys Dmytriyenko 804d3a5b68 external-arm-sdk-toolchain: add recipe to package gcc/gdb/binutils cross binaries
Allows re-use of prebuilt ARM toolchain binaries for SDK generation.

This code is upstreamed from meta-arago layer.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
[Sumit: package headers corresponding to EAT_TARGET_SYS and add PV]
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-18 09:39:46 -04:00
Diego Sueiro 6cf9117016 arm-autonomy/xenguest-network: Add kernel-module-xt-masquerade to RDEPENDS
Newer versions of iptables requires the xt-MASQUARADE.ko.

Change-Id: I243365b8e1819407ddadc6f021704b867ab6dcf5
Issue-Id: SCM-1065
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-18 09:39:46 -04:00
Diego Sueiro 67b359d532 arm-autonomy/recipes-connectivity: revert dhcp removal and bind update
In oe-core master branch the dhcp recipe was removed and bind version was
bumped.

For now, arm-autonomy-host-image-minimal installs the dhcp-server package
which is generated by dhcp_4.4.2.bb recipe that depends on bind_9.11.22.bb
recipe.

In the near future arm-autonomy will be updated to use kea dhcp server
which is now used in oe-core.

Change-Id: I5f11b5ae8642d6afd90a52b905041dbcec2d0024
Issue-Id: SCM-1065
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-18 09:39:46 -04:00
Ross Burton ba05f5e7b9 arm/scp-firmware: fix build race
Backport a patch to fix a race in parallel builds.

Change-Id: I4b33b819f2da302369ca77429f25d5c15672c5f3
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-18 09:39:46 -04:00
Khasim Mohammed 1f3cf5812c arm-bsp/scp-firmware: set CCIX speed to GEN3 to work with interposer C2C setup
Set CCIX speed to GEN3 to work with interposer C2C setup.
In this usecase set downstream/upstream port transmitter preset value to 4.

Change-Id: I9795a46d9a349dc2813a4ed92944a481c0a2498e
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-08 10:25:52 -04:00
Khasim Mohammed 87e8e14b9a arm-bsp/linux-linaro-arm-5.4: n1sdp: pcie: add quirk support to enable remote chip PCIe
Base address mapping for remote chip Root PCIe ECAM space.

Remote Chip PCIe topology is enumerated in Firmware and current
change takes reference of enumerated PCIe hierarchy of Remote chip into the
kernel and include in complete PCIe topology for kernel framework.

Change-Id: I2bbceb5c89cc8fb4609e646652917cd97d638a27
Signed-off-by: Sayanta Pattanayak <sayanta.pattanayak@arm.com>
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-08 10:25:52 -04:00
Khasim Mohammed 2eeea26a51 arm-bsp/n1sdp: update SRC_REV to latest validated version
This patch updates the SRC REV for SCP, TFA and edk2-platforms to point to
latest versions.

Change-Id: Ib6825d51fac89a9514b936ce927e7f5f3e508e26
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-08 10:25:52 -04:00
Jon Mason 8ddfd20f79 arm-bsp: use neoverse-n1 for N1SDP
Per https://community.arm.com/developer/tools-software/oss-platforms/w/docs/458/neoverse-n1-sdp
The N1SDP is a Neoverse N1.  Use that tuning to get better optimization
for the platform.

Change-Id: I435931abd2537a17a08eae06395137ce185a49dc
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-04 05:00:48 -04:00
Jon Mason 91d5cf02b9 arm-bsp: SGI575 should use A75 tuning
Per https://community.arm.com/developer/tools-software/oss-platforms/w/docs/489/system-guidance-for-infrastructure-sgi
The SGI575 is a Cortex-A75.  Use that tuning to get better optimization
for the platform.

Change-Id: I6172820684f2c32eb57be1e86f2ac632fcb7cecd
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-04 05:00:48 -04:00
Jon Mason b2b0a833d2 arm-bsp: ARMv8-2a: Add tuning files
Add all the available ARMv8.2 tunings from GCC.  This belongs in
OE-Core, but adding here so that it can be used while trying to upstream
there.

Change-Id: I5025eef6d18545478116b5079daf9c4d12e93dca
Signed-off-by: Jon Mason <jon.mason@arm.com>
Reviewed-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
2020-09-04 05:00:27 -04:00
Jon Mason 43a5b21016 arm-bsp: add cortexa73-cortexa35 tune
Add ARMv8-A big.LITTLE tuning for cortexa73-cortexa35.  It is supported
in GCC, and is the only one missing from OE-Core.

Signed-off-by: Jon Mason <jon.mason@arm.com>
Reviewed-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
2020-09-04 05:00:14 -04:00
Diego Sueiro 00e56a20e7 arm-autonomy/xen/gem5: Update EARLY_PRINTK support
From Xen 4.14 version, the CONFIG_EARLY_PRINTK setting was moved from the
make define setting in xen/arch/arm/Rules.mk to the Kconfig infrastructure.
Hence, we need to make usage of config fragments to add this option to the
supported machines.

Change-Id: I64a7dfbe05c803e59f3296d7d0799126b2eb7d1f
Issue-Id: SCM-1197
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-03 21:51:18 -04:00
Diego Sueiro 75e7288e61 gem5: Backport pointer authentication fixes
Change-Id: I5152895f992e9bc85b24a9190e4affb3c74e44cd
Issue-ID: SCM-899
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-03 21:51:18 -04:00
Diego Sueiro 173dca73b9 arm-autonomy/gem5-aarch64-native: Set CPU and disable pointer authentication
When booting gem5-arm64 with Xen and Linux we need to set the cpu as Cortex A53
and remove support for pointer authentification.

Change-Id: Ib8ea61784f668bf88c1492e5e56737a0aa40d762
Issue-Id: SCM-899
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-03 21:51:18 -04:00
Diego Sueiro 616bb5cf41 arm-autonomy: Introduce arm-autonomy-host DISTRO_FEATURES_NATIVE
Some native recipes might want to apply specific settings when the
arm-autonomy-host or xen DISTRO_FEATURES is enable for the target build.
In this case the arm-autonomy-host needs to be also added to
DISTRO_FEATURES_NATIVE.

Change-Id: I11a8c4bbb99333d62520afc2c12a183cf08d6e1a
Issue-Id: SCM-899
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-03 21:51:18 -04:00
Diego Sueiro a41e7a4893 arm-autonomy/xen,xen-tools: Remove sdl from PACKAGECONFIG for arm-autonomy-host
For arm-autonomy-host DISTRO_FEATURES we don't need xen and xen-tools
configured with sdl support.

Change-Id: Id7391b722ab37b8970aa4b72d4d34221fb566618
Issue-Id: SCM-889
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-03 21:51:18 -04:00
Diego Sueiro 6c7cc4288d arm-autonomy/xen-devicetree: Update XEN_DEVICETREE_DOM0_BOOTARGS for N1SDP
For N1SDP the wic image partition layout have the /dev/sda1 as the boot
partition and /dev/sda2 as the rootfs partition.

To reflect this, we need to update the XEN_DEVICETREE_DOM0_BOOTARGS to
set the "root=" command line parameter to /dev/sda2.

Change-Id: Iee52176ab4ac1232a3d726e955835261b0a5ae00
Issue-Id: SCM-1065
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-03 21:51:18 -04:00
Diego Sueiro 5a893d9a02 arm-autonomy/xen-devicetree: Fixes and updates for N1SDP
The N1SDP machine now uses the dtb generated by the tf-a recipe and for
now we are only interested in the single-chip mode.

The xen-n1sdp.dtsi needs to be updated by adding the extra
'soc' root path to have the dtc being enable to process the
nodes customizations.

Change-Id: I46eaec23d25f6c4a4b6ed86661d451ace590706d
Issue-Id: SCM-1065
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-03 21:51:18 -04:00
Diego Sueiro 7aac78e433 arm-autonomy/xen-devicetree: Use a different sed delimiter character
In the do_deploy task, replace the current sed delimiter (',') with '?'
since there are use cases where the bootargs variables have the ','
character in it which makes the sed command to fail.

Change-Id: If9b8221404ec63568768bf0f303be7759ba5f64d
Issue-Id: SCM-1065
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-03 21:51:18 -04:00
Diego Sueiro 2fa92f8e5f arm-autonomy/xen: Update EARLY_PRINTK support and remove custom defconfigs
From Xen 4.14 version, the CONFIG_EARLY_PRINTK setting was moved from the
make define setting in xen/arch/arm/Rules.mk to the Kconfig infrastructure.
Hence, we need to make usage of config fragments to add this option to the
supported machines.

Also, remove the custom machines defconfigs and rely on the Xen in tree
defconfig.

Change-Id: Ibd6058c4808eeea6ad1260ba558468a64877b231
Issue-Id: SCM-1197
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-03 21:51:18 -04:00
Khem Raj fff1d902a1 optee-examples: Respect LDFLAGS passed via environment
This ensures right linking flags e.g. gnu_hash settings

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-09-02 14:22:15 -04:00
Usama Arif 237c94f5ef arm/kernel: Introduce 5.4 Android Common Kernel
This recipe targets machines based on arm64. The patch
also adds an .inc file to for common code between different
ACK recipes.

The base commit is based on tag refs/tags/ASB-2020-06-05_5.4-stable

Change-Id: I5b5f1eeb8336910355fc9880670c729453a8096a
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-28 11:39:43 -04:00
Usama Arif 15b94c1f3f arm-bsp/machine: Fix ACK version for tc0 to 4.19
Change-Id: Ieca56d40c26367c158b9394d546323be4c1f81ce
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-28 11:39:43 -04:00
Ross Burton a6d45ae857 arm-bsp/trusted-firmware-a: remove redundant MBEDTLS_DIR assignment
The base recipe already does this, so there's no need to do it again.

Change-Id: I04f679ab267db3bcdbb812dce6be2efc8a25b633
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-28 11:39:43 -04:00
Ross Burton 6324b10be4 arm/trusted-firmware-a: don't build all targets in parallel
There are build races in the Makefiles when you build all targets at
once (missing dependencies):

| tools/fiptool/fiptool create [...]
| ERROR: fopen WORKDIR/build/juno/debug/fdts/juno_fw_config.dtb: No such file or directory

These are non-trivial to fix so whilst upstream works on this we can
just build each target serially.

Change-Id: Iba0d0ae7de6faf199efea073135fd3b7232b81a1
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-28 11:39:43 -04:00
Ross Burton 2ac291eea3 arm-bsp/trusted-firmware-a: remove duplicated Mbed TLS tarball
Now that trusted-firmware-a is actually adding the Mbed TLS tarball, the
machine-specific includes can stop doing it themselves.

Change-Id: I45754b8a4eba99c8fbf7c99e61d01f2a27da1b4a
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-28 11:39:43 -04:00
Ross Burton 24379d7e7f arm/trusted-firmware-a: actually add mbedtls to SRC_URI
trusted-firmware-a.inc was conditionally adding the Mbed TLS tarball to
SRC_URI, but all of the versioned recipes subsequently assigned over the
top of it so the Mbed TLS tarball was never actually in SRC_URI.  This
resulted in machine overrides needing to add the tarball themselves.

Solve by using _append so that the SRC_URI is actually changed.

Change-Id: I05cf1dec2c6422a40a42c615fb2b9b6e8d6f1cb0
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-28 11:39:43 -04:00
Ross Burton ad09efd4f0 arm-bsp/trusted-firmware-a: reorder the build targets
Build the DTBs before the FIP, as the latter depends on the former to exist.

Change-Id: I6059805458b12cb87c2af77eb924778844dc88ec
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-28 11:39:43 -04:00
Usama Arif f7ec7a1278 arm/scp-firmware: Fix build location
The build location is dependent on whether
debug or release version of scp is being built.

Change-Id: I22e0777c316ea59a49a6f178d620a59d24372e00
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-28 12:03:32 +01:00
Jon Mason 46941a67b7 arm-bsp: redundant entry in FVP TF-A
bl1 is specified twice in the FVP Arm32 include file, which seems
erroneous.

Change-Id: Ib2fc91b547151acfc28f57679e99f649bd0f49ab
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-25 11:13:28 -04:00
Jon Mason fc0ce7964e arm: trusted-firmware-a variable name misuse
"processes" should be "processed" in trusted-firmware-a.inc, as it
signifies if the relevant part has been installed/processed.

Change-Id: I2d1ffbb0c6d14d280b6f9c9cc45c04c7c32409a7
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-25 11:13:28 -04:00
Khasim Mohammed 2f3898a46e arm-bsp/trusted-firmware-a: Install dtbs from the generic TFA recipe
Configure TFA_INSTALL_TARGET to multi-chip and single-chip dtbs,
avoid installing dtbs in platform specific recipe instead use the generic
step.

Change-Id: I79835f2c4f4d0bde938e43d6cf59f73392520935
Issue-Id: PLATFORMS-3971
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-21 14:09:08 -04:00
Khasim Mohammed 3fc917ac8f arm/trusted-firmware-a: add support to install dtb built as part of TFA
Device tree blobs (DTBs) generated as part of TFA were installed separately
in the platform specific TFA recipes, its redundant as each platform was
executing similar installation steps.

The patch avoids skipping dtb installation and adds support to check for
DTB entries in TFA_INSTALL_TARGET and install the same to respective deploy folder.

Change-Id: I0f8f5c39dc4b4931d202696990fa915ea7ed60eb
Issue-Id: PLATFORMS-3971
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-21 14:09:08 -04:00
Khasim Mohammed 016f81a284 arm/trusted-firmware-a: fix variable name typo
Variable name "processes" is wrongly mentioned as "processed", this patch
fixes the same.

Change-Id: Id9362f514861c75f8f6a727582e11b0e65736349
Issue-Id: PLATFORMS-3971
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-21 14:09:08 -04:00
Khasim Mohammed 75b337d909 arm-bsp/linux-linaro-arm: Fix multiple definition of `yylloc'
Patch https://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto/commit/scripts/dtc/dtc-lexer.l?h=v5.4.56&id=35b34d264cb347909ec89d9fa895900035d5438c
is applied to fix kernel build failure due to multiple definition of 'yyloc'.

Refer to the bug report https://bugzilla.yoctoproject.org/show_bug.cgi?id=14014 for more details.

Change-Id: I801c6c40dc67ceea74993ccf26b077ba66ae58d8
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-19 11:47:44 -04:00
Jon Mason c6cee30268 arm-bsp: Correct documentation errors
Documentation for FVP and Foundation is incorrect in names and missing a
field.

Change-Id: I58de54e9d0883671166102e657f53cfad14a2cba
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-19 11:47:19 -04:00
Jon Mason 07699dadbc arm-bsp: Remove unused kernel recipe
Change-Id: I4203a6d4536702a701055b511fc2b9a27868082f
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-19 11:47:19 -04:00
Damodar Santhapuri 7bf455636a arm-bsp/juno: Move to linux-yocto 5.4
This commit includes
1. Move from linux-linaro-arm 4.9 to linux-yocto 5.4
2. MHU patches for SCMI
3. add patch to remove stale configs in v5.4

Observed the below error in kernel boot

[    7.177114] arm-scmi firmware:scmi: mbox timed out in resp(caller: scmi_power_state_set+0x78/0xc0)
[    7.197984] arm-scmi firmware:scmi: mbox timed out in resp(caller: scmi_power_state_set+0x78/0xc0)
[    7.201125] smsc911x 18000000.ethernet eth1: SMSC911x/921x identified at 0xffff800012a70000, IRQ: 8
[    7.206968] arm-scmi firmware:scmi: mbox timed out in resp(caller: scmi_power_state_set+0x78/0xc0)
[    7.206978] arm-scmi firmware:scmi: mbox timed out in resp(caller: scmi_power_state_set+0x78/0xc0)
[    7.216073] arm-scmi firmware:scmi: message for 5 is not expected!

Change-Id: I4651a142bcee06ba95faa315e3caaf871f406b5a
Signed-off-by: Damodar Santhapuri <damodar.santhapuri@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-18 08:51:17 -04:00
Denys Dmytriyenko 38de27d05f external-arm-toolchain: check for TCLIBC being glibc
The old TARGET_OS check doesn't work, as it only checks for uclibc and musl at
the end, while TARGET_OS is usually "linux-musleabi", uclibc has been deprecated
and new options like "newlib" and "baremetal" were added. Plus it only works for
the target, but not SDK. Switch to simply checking for TCLIBC = glibc.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-14 15:55:31 +01:00
Denys Dmytriyenko ad86780072 external-arm-toolchain-versions: set per-component toolchain licenses
This code is upstreamed from meta-arago layer.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-14 15:55:31 +01:00
Denys Dmytriyenko 513afd26f8 external-arm-toolchain-versions: also collect binutils/bfd version
To be used by SDK packaging for binutils cross.

This code is upstreamed from meta-arago layer.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-14 15:55:31 +01:00
Anders Dellien ea506b8908 arm-bsp/recipes-kernel: Remove kernel config warnings for fvp-base machines
For fvp-base, enable CONFIG_COMPILE_TEST to remove warning regarding
CONFIG_ARM_TIMER_SP804

For fvp-base-arm32, enable CONFIG_MODULES to remove warning regarding
CONFIG_SCSI_DEBUG

Change-Id: I02457ae2d50e03367d1ec3aeb3a0f1571c0f2b05
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-14 09:19:47 -04:00
Abdellatif El Khlifi 64131db424 arm-bsp/linux: Enabling lan9115 Ethernet for corstone700-mps3
This commit enables lan9115 Ethernet in the v5.6 kernel
as a machine feature.

Change-Id: Ib8e724a64b24db3048a2b12973824bba9f3eecc4
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-14 09:13:40 -04:00
Abdellatif El Khlifi d789b0373a arm-bsp/machine: adding corstone700-mps3 machine
This machine provides corstone700 platform on the MPS3 FPGA board.

For more information about the platform, please check:
https://community.arm.com/developer/tools-software/oss-platforms/w/docs/444/corstone-700

Change-Id: I7b654fcb8dc5c6efa261a1413389271df87534cb
Signed-off-by: Rui Miguel Silva <rui.silva@arm.com>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-14 09:13:33 -04:00
Abdellatif El Khlifi 88cf980c5d arm-bsp/scp-firmware: adding scp support for corstone700 platform
Extend the scp recipe to support corstone700 plaform.

The scp runs on the boot processor (Secure Enclave).

Change-Id: I24289533a72367ebd2d2150c5230d9f435b4212f
Signed-off-by: Rui Miguel Silva <rui.silva@arm.com>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-14 09:13:16 -04:00
Abdellatif El Khlifi e9b47532e5 arm-bsp/u-boot: adding corstone700 platform to u-boot
Adding support for the new Arm corstone700 platform family.

The current supported corstone700 machine is corstone700-fvp.

The changes are as follows:

  - Making some adjustments to the mmio timer and to the cortex-a5
    designstart platform to share as much as possible between this
    platforms.

  - Disabling the use of the mmio_timer driver and enabling the
    arch_timer driver.
    The mmio_timer tries a direct access to the Armv8-A CNTFRQ generic timer
    frequency register through memory mapping. This can not be done because
    this register is only accessible through memory mapping under a secure
    mode only. u-boot runs in non secure Hypervisor mode. To read the counter
    frequency u-boot should use the mrc instruction to read the CNTFRQ system
    register. The arch_timer driver reads the CNTFRQ register using the mrc
    instruction.

  - adding bootx command to start XiP images

Change-Id: I40f5e91cfb8865e2904b0f5ac9920df75705b593
Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-14 09:13:08 -04:00
Abdellatif El Khlifi 3225c78118 arm-bsp/external-system: enabling corstone700 platform support
This commit allows the external-system firmware to be used on the
corstone700 platform.

Change-Id: I746a970dcdceee60d91152e4315afa072ca843d3
Signed-off-by: Rui Miguel Silva <rui.silva@arm.com>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-14 09:13:02 -04:00
Abdellatif El Khlifi 30aa72f516 arm-bsp/trusted-firmware-a: adding support for corstone700 platform
This commit adds support for trusted-firmware-a to the corstone700
platform.

The trusted-firmware-a runs on the host processor.

Change-Id: I70ae2715e640bf50c756229a734dcb663c2d8e4d
Signed-off-by: Rui Miguel Silva <rui.silva@arm.com>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-14 09:12:53 -04:00
Abdellatif El Khlifi 98aa643ff1 arm-bsp/linux: configuring v5.6 kernel for corstone700 platforms
This commit enables kernel v5.6 for corstone700 and configures the kernel
using configuration fragments. The current available machine is
corstone700-fvp.

Change-Id: I43371f9ef0277e9bd82bc73c7911df5a99e5f59d
Signed-off-by: Rui Miguel Silva <rui.silva@arm.com>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-14 09:12:46 -04:00
Abdellatif El Khlifi 6c44a63bc8 arm-bsp/machine: adding corstone700-fvp machine
This machine provides corstone700 platform on FVP.

For more information about the platform, please check:
https://community.arm.com/developer/tools-software/oss-platforms/w/docs/444/corstone-700

Change-Id: I1197d3216f37ab8d2c792da82c4f5e7e17d5a09c
Signed-off-by: Rui Miguel Silva <rui.silva@arm.com>
Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-14 09:12:38 -04:00
Rui Miguel Silva 2996183867 arm-bsp/external-system: add external system recipe
Add recipe that allows building the external system firmware.

The external system is a Cortex-M3 platform provided by the partners
and intended to implement the sensor/realtime part of the IoT system.

Change-Id: I271eafcc90e44efb8090f8b2cc1c8acfd15eb929
Signed-off-by: Rui Miguel Silva <rui.silva@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-14 09:12:12 -04:00
Ross Burton 74ef241a4b arm/layer.conf: unify on a layer priority of 5
This layer may want to ship older versions of software than oe-core for
some BSPs (such as u-boot), but we don't want to force those downgrades
on everyone else.  Unfortunately because the meta-arm layers have
priority 6, any recipe in this layer wins over newer versions in oe-core:
for example with an older release of u-boot in meta-arm, simply adding
meta-arm to BBLAYERS will result in qemux86 downgrading u-boot.

Solve this by lowering meta-arm's priority to match oe-core, so that
recipes are treated equally and the usual version ordering applies.

Change-Id: I6de7a6b493e71b8b88862018b9fa35608342c1b2
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-12 19:55:03 +01:00
Ross Burton 484847b1a1 arm/trusted-firmware-m: use hashes not tag names
Using tag names in SRCREV means a network operation every build, and
loss of reproducible builds if the tag moves.

Change-Id: I583e723925314a4a36a9ac1b6c932dbcf99e7da4
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-12 19:54:35 +01:00
Ross Burton eb0f1db950 arm/trusted-firmware-m: don't fetch mbedtls
The trusted-firmware-m build doesn't use mbedtls (just mbed-crypto), so
don't fetch it.

Change-Id: Idc7fe211a8a667262a59d1e8106e486fb96498bd
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-12 19:54:35 +01:00
Ross Burton 1a2c728f63 arm/trusted-firmware-m: no need to run parse_manifest_list
This is part of the test instrumentation that we don't currently build.
A future recipe or patch can enable this properly and ensure it is
tested.

Change-Id: I02584920b00085dfe4efbff166684c5717f6cdf5
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-12 19:54:35 +01:00
Ross Burton cd6f152aa2 arm/trusted-firmware-m: clean up configure/compile
Move B up a level so the build tree is entirely separate from the source
tree.

Use [cleandirs] to ensure that B is present and empty when rebuilding,
and remove now redundant code.

Finally add some comments to explain why trying to use cmake.bbclass is
pointless.

Change-Id: Ic8ddc08c46b9e945023e0b0a6e4ca1a6294b726b
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-12 19:54:35 +01:00
Prabin CA 2f275411d2 arm-bsp/wic: Introduce WIC support for sgi575
- Add custom wks script for SGI575.
            - Add grub.cfg for SGI575

Change-Id: I9d371426a1bd75b49f6fbc89e2f2c255d4b8c0ac
Signed-off-by: Prabin CA <prabin.ca@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-12 19:54:08 +01:00
Prabin CA f3f3333901 arm-bsp/sgi575: Add RAM filesystem support
Add cpio.gz to IMAGE_FSTYPES for compressed RAM filesystem support

Change-Id: Ia81563976069666f762492e56b1a706a4ee0c173
Signed-off-by: Prabin CA <prabin.ca@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-12 19:54:08 +01:00
Prabin CA b0c7888fe0 arm-bsp/grub: Add grub-efi support for SGI575
grub-mkimage is used make a bootable image of GRUB,
grub-efi dependency in added to conf file.

Change-Id: I3afde13902cf396c47fd3ddea01d09cafd2a996d
Signed-off-by: Prabin CA <prabin.ca@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-12 19:54:08 +01:00
Prabin CA ee55fe42f1 arm-bsp/linux: Build Linux stable 5.7 for sgi575
- Update linux-arm inc for including sgi575
        - Add machine conf to add image dependency
          for Linux components

Change-Id: I26c539793b73a3f4a31e40daa4272904a1751b3e
Signed-off-by: Prabin CA <prabin.ca@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-12 19:54:08 +01:00
Prabin CA f36c3d79d6 arm-bsp/fip-image: Build TFA/UEFI for sgi575
- Add bbappend recipe to build ARM-TF and UEFI firmware
          for SGI575.
        - Add machine conf to add image dependency
          for ARM-TF components.

Change-Id: I1f9dcc8877aa929c50bffd0b437e8f51527f3d45
Signed-off-by: Prabin CA <prabin.ca@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-12 19:54:08 +01:00
Prabin CA c9295e1030 arm-bsp/scp-firmware: Build SCP/MCP for sgi575
- Add bbappend recipe to build SCP and MCP firmware
      for SGI575.
    - Add machine conf to add image dependency
      for SCP-firmware components

Change-Id: Ic888ee11178979e5ec068f85a5e0d7f2cabb7f5e
Signed-off-by: Prabin CA <prabin.ca@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-12 19:54:08 +01:00
Ross Burton 0d47e826a2 gem5/linux: remove redundant CONFIG_DRM_ARM
This config option was made redundant in 5.1, so remove it.

https://github.com/torvalds/linux/commit/37fc9bb022c654e261c5a7d2ce600c6ce26c022d

Change-Id: I01aabec52ae71fc5cabe8a1589766b6b4c79b677
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-12 10:38:21 +01:00
Ross Burton 2d2544d827 arm/trusted-firmware-a: add branch name for mbedtls
The mbedtls repository has had some branch/tag pruning so the tags we
were using are no longer on 'master'.  Set the right branch name so the
fetch is successful.

Change-Id: I07dc7045cd7784b7e93e14c3a24721a22b79da8a
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-11 14:47:46 +01:00
Prabin CA 4037691088 arm/trusted-firmware-a: add branch name for mbedtls
It appears that the mbedtls team have moved the SHA which
meta-arm was using from master branch. It is still present
in mbedtls-2.16 branch so this is now used.

Change-Id: If24915b1a1dc889d55b359863943439c76f6ca85
Signed-off-by: Prabin CA <prabin.ca@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-11 14:42:23 +01:00
Damodar Santhapuri 5ac42f2e5a arm-bsp/trusted-firmware-a: Add v2.3 support for juno platform
Update machine/juno.conf to support tf-a v2.3

Change-Id: Ieced15e83818687c879d927bce2c4604a72b9b1e
Signed-off-by: Damodar Santhapuri <damodar.santhapuri@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-11 11:52:37 +01:00
Damodar Santhapuri 02739e6914 arm-bsp/scp-firmware: build SCP firmware for juno
- Remove scp-firmware-juno_19.06.bb
- Enable v2.6 support for juno
- Add juno machine specific to scp-firmware
- Use romfw_bypass as scp_bl1.bin

Change-Id: Ib3f92e170a4e5701f6c6d18695541eae763de464
Signed-off-by: Damodar Santhapuri <damodar.santhapuri@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-11 11:52:37 +01:00
Damodar Santhapuri dac985058b arm-bsp/scp-firmware: Introduce FW_INSTALL variable
Use the FW_INSTALL variable to select which firmware
binaries should be installed in the target.

Change-Id: I6bffa3db9adc27a5ee43b316a12a758c48acb43f
Signed-off-by: Damodar Santhapuri <damodar.santhapuri@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-11 11:52:36 +01:00
Jon Mason fa5624af38 arm-bsp: Fix missing virtual/kernel warnings for musca
When building musca s1 and b1, the many warnings are seen.  As an
example:
NOTE: Multiple providers are available for virtual/kernel (linux-dummy, linux-linaro-arm, linux-mainline, linux-stable)
Consider defining a PREFERRED_PROVIDER entry to match virtual/kernel
NOTE: Multiple providers are available for runtime kernel-base (linux-linaro-arm, linux-mainline, linux-stable)
Consider defining a PREFERRED_RPROVIDER entry to match kernel-base
NOTE: Multiple providers are available for runtime kernel-image (linux-linaro-arm, linux-mainline, linux-stable)
Consider defining a PREFERRED_RPROVIDER entry to match kernel-image
NOTE: Multiple providers are available for runtime kernel-image-zimage (linux-linaro-arm, linux-mainline, linux-stable)
Consider defining a PREFERRED_RPROVIDER entry to match kernel-image-zimage
...

Add linux-dummy as the PREFERRED_PROVIDER to the musca inc file to
silence these.

Change-Id: I80eee816b51aa028f9f2ceb03ac137f9c5f8b461
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-08-10 17:00:17 -04:00
Ross Burton 1c125f216b arm/scp-firmware: don't set DEBUG_PREFIX_MAP
The current arm-none-eabi-gcc supports all the flags that oe-core uses,
so we can remove this.

Noticed because due to the override it wasn't actually being used.

Change-Id: I09aa8c5d427fa3877f9947a0508c36a4f060ae68
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-05 17:43:08 +01:00
Ross Burton 6b68a434a5 arm/scp-firmware: mark as machine-specific
Firmware is machine-specific, so set PACKAGE_ARCH.

Change-Id: Ib3247d04eaacd2b4240a1e11353f06ebd381a4c6
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-05 17:43:07 +01:00
Usama Arif d651ccd61c arm-bsp/recipes-kernel: Enable FRAMEBUFFER_CONSOLE for tc0
This enables extra ttys that are required by sysvinit 2.96 used
in dunfell.

Change-Id: I4ee0d1a3ec98665fd19cb8022b66c53c3d559499
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-05 17:42:20 +01:00
Khasim Syed Mohammed d080cb27c6 arm-bsp/wic: Introduce custom wks and grub.cfg for N1SDP
The standard canned WKS files like mkefidisk.wks doesn't allow
us to set custom grub.cfg hence a new wks file is created on the
lines of mkefidisk.wks to accept custom grub.cfg as config parameter
to bootloader command.

The custom grub.cfg allows user to select from different boot options
(acpi, devicetree for single and multi chip).

IMAGE_BOOT_FILES is updated to package n1sdp dtbs for single and multi chip
as part of the final image.

Change-Id: I29a64d0bd50d72d912cdcd99dbc593388be786bb
Issue-Id: PLATFORMS-3134
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-05 17:01:54 +01:00
Khasim Syed Mohammed 1ced26dcdf arm-bsp/trusted-firmware-a: generate single-chip and multi-chip dtbs for N1SDP
N1SDP supports both single-chip and multi-chip environment.
 - Updated SHA to latest TFA patchset to add support for both DTS files
 - generate dtbs for both single and multi-chip environment
 - Migrate N1SDP to use trusted-firmware-a version 2.3 as base line

Change-Id: I4b92e1680750041421fb9fbc9cef448250581f94
Issue-Id: PLATFORMS-3134
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-05 17:01:49 +01:00
Usama Arif 3ac76657bd arm-bsp/trusted-firmware: tc0: remove SHA for mbedtls
Use the default one from trusted-firmware-a_2.3

Change-Id: I496db01818b172b109e8dab04e39a66bafd35a2d
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-05 11:34:04 +01:00
Usama Arif 01d9c1ff3c arm/trusted-firmware-a: add branch name for mbedtls
It appears that the mbedtls team have moved the SHA which
meta-arm was using from master branch. It is still present
in mbedtls-2.18 branch so this is now used.

Change-Id: Ie932f446067767e85a25583b1bdc02b4739e323f
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Prabin CA <prabin.ca@rm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-08-05 11:33:39 +01:00
Anders Dellien 191f62e246 arm-bsp: Introduce 32-bit FVP-BASE platform and BSP
Also refactor fvp-common.inc to contain definitions shared
between fvp-base, fvp-base-arm32 and foundation-armv8

Change-Id: I3634c3fefa8d793d0bcf5fcfd7458e6dbd2a6622
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
2020-08-03 10:33:53 -04:00
Anders Dellien 98e3b9f6b1 arm-bsp/trusted-firmware-a: Add support for 32-bit FVP_BASE machine
Change-Id: Ia2b51de62564ed3f1489d749c0e7d78459fda993
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
2020-08-03 10:33:53 -04:00
Anders Dellien f42fc54033 arm-bsp/u-boot: Add support for 32-bit FVP BASE machine
Change-Id: I48ec5607c216b1c15d2fedc1375f3f0a914c9937
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
2020-08-03 10:33:53 -04:00
Jon Mason 921207e89d arm: add TF-A v1.5 recipes
Add trusted-firmware-a recipes for v1.5.  While old, there are platforms
that are still using this older version.

Change-Id: Id40414ad58fd274af86203bb2c8d449e18a10c7a
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-31 15:25:39 -04:00
Jon Mason f14b1b325b arm-bsp: remove redundant entry
Change-Id: I096c238ceec9244a130c1c5d7e30fc0dbc98997d
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-31 15:25:39 -04:00
Ross Burton 2c5bdd0f73 optee-os: fix build race
There's a rare build race where mk/conf.mk.tmp is written to before mk/
exists.  Add an explicit mkdir so that this directory is sure to exist.

Change-Id: I4e907f395679da9354d386301e7bf5da46afdbaf
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-31 08:10:37 -04:00
Diego Sueiro c4cf4382cd arm-autonomy: Move gem5-arm64 to dynamic-layers/meta-gem5
Since gem5-arm64 machine implementation was moved from meta-arm-bsp to
meta-gem5, we need to move the specific machine settings to
meta-arm-autonomy/dynamic-layers/meta-gem5.

Change-Id: I773189e7e1ee2ca77e569dcec2d92ecfb93d3719
Issue-Id: SCM-1133
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-31 08:10:37 -04:00
Khasim Mohammed a411cec3e0 arm-bsp/wic: fix WKS dependencies for N1SDP components
Add build-time dependencies to ensure the required components
(TFA, SCP, UEFI EDK2) are built and available before
the task to create wic image gets initiated.

Change-Id: I3789c8d1a44984a26d31ddd8ddd5d16f4d58c7d3
Issue-Id: PLATFORMS-3134
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-31 08:10:37 -04:00
Diego Sueiro 0ad8a1495c arm-autonomy/xenguest-network: Add NAT port forward support
When XENGUEST_IMAGE_NETWORK_TYPE="nat", add the option to set NAT port
forward to have access to the guest from the external network.

The port forward is applied per guest by the 00-xenguest-nat-port-forward.hook
script which is called by /etc/xen/scripts/vif-post.d/00-vif-xenguest.hook.
The ports can be customised by the XENGUEST_IMAGE_HOST_PORT and
XENGUEST_IMAGE_GUEST_PORT variables.

Change-Id: I49492f5ac881fd3cc38838ce24d1d4160a4e65df
Issue-Id: SCM-1019
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 16:15:02 -04:00
Diego Sueiro 7318d9ac3c arm-autonomy/xenguest-network: Add private network support for xenguest
Introduce the private/internal network support for xenguest by using NAT
and applying the proper iptables rules to allow the guest to have access
to the external network.

The XENGUEST_NETWORK_TYPE variable was introduced to allow the user to
setup the xenguest network type between "bridge" (default), "nat" and
"none".

Change-Id: I919e5b0fd0809093698b9dec3a9503b598b54828
Issue-Id: SCM-1019
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 16:14:58 -04:00
Diego Sueiro b37fd5b7a5 arm-autonomy/linux-arm-autonomy: Extend netfilter config for host
To properly set the iptables rules to be applied when configuring the
network between the host and guest we need to have the netfilter.scc
kernel feature and following kernel extra kernel configs:
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m

Change-Id: I6f3ff9e8db5d359efba5fb3ead04703f4f2ec88b
Issue-Id: SCM-1019
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 16:14:52 -04:00
Diego Sueiro e972ddb64b arm-autonomy/xen-tools: vif-nat script fixes
This patch introduces two fixes for the vif-nat script:
1- Setting the hostname is failing because the "$XENBUS_PATH/domain"
   doesn't exist anymore. To fix this we set it to dom$domid.
2- Copy temp files used to add/remove dhcpd configurations to avoid
   replacing potential symlinks.

Change-Id: I5f2ed917c15bbe1c6ff9ec3cc9ad2fc4e1c0fb60
Issue-Id: SCM-1019
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 16:14:44 -04:00
Khasim Mohammed 7841c775b9 arm-bsp/linux-linaro-arm: enable Realtek R8169 eth adapter driver for N1SDP
By default kernel defconfig is not enabled to support Realtek adapter driver
required to get ethernet working on N1SDP. This patch enables the CONFIG_R8169
to add the support.

Issue-Id: PLATFORMS-3134
Change-Id: I218ca8e0011db7f02329e103c1dea1350ccc3c28
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 15:58:10 -04:00
Khasim Mohammed d5f4b4680b arm-bsp/linux-linaro-arm: remove disable of CONFIG_EXTRA_FIRMWARE for N1SDP
The kernel defconfig has removed enabling of CONFIG_EXTRA_FIRMWARE,
disabling the CONFIG_EXTRA_FIRMWARE isn't required.

Change-Id: I032b1aa7dd84c63f6aece5f24dbab43d14da278c
Issue-Id: PLATFORMS-3134
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 15:58:10 -04:00
Ross Burton af341b0e2c arm-bsp/scp-firmware: bump TC0 SRCREV and fix PV
This is 2.6.0, not 2.6.

Also bump the SRCREV to match N1 SDP so that the core code is the same,
that BSP uses a newer commit.

Change-Id: I83168aa5973d83e4d93869019d91c05daf1e71e9
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 15:23:05 -04:00
Ross Burton 0803574292 arm-bsp/scp-firmware: use full version number 2.6.0, not 2.6
Change-Id: I34928c09d89eb836cfef80d824b3c5a060af7491
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 15:23:05 -04:00
Ross Burton 282cbd7029 arm/scp-firmware: move to 2.6.0 release tag
Instead of an arbitrary commit, set the base recipe to build the 2.6.0
release.

Change-Id: Iec78c6ed903edfd020cca1222770d8ec018ae78a
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 15:22:48 -04:00
Ross Burton c8c1f9e7a0 arm-bsp/scp-firmware: use wildcard bbappend
This doesn't care what specific version is being appended, so use a
wildcard.

Change-Id: I5e3a46c42616f8dfa62a20549c03b60e24fe8b20
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 15:11:12 -04:00
Ross Burton 3140f49fa9 arm-bsp/scp-firmware: remove cmsis SRCREV
This repository is no longer fetched explicitly by bitbake so remove the SRCREVs.

Change-Id: I2de11d354f1f708de941485d5cc4463d53e6018e
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 15:11:12 -04:00
Ross Burton c44a476a8a arm/scp-firmware: use gitsm fetcher
The standard git fetcher ignores submodules but as scp-firmware uses
submodules it should use the gitsm: fetcher to automatically fetch cmsis
instead of doing it manually.

Change-Id: I2f83100fa53070b6560be6fb7322383345224bb1
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 15:10:50 -04:00
Ross Burton 7bc168740b arm/scp-firmware: always compile verbosely
The only downside of verbose builds is that the compile logs are larger,
but non-verbose logs are useless for debugging mysterious build failures.

Remove the option and always do a verbose build.

Change-Id: Ibfd0414f0f6d0d69e20ec1fadcae8e86b516d3fc
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 15:09:24 -04:00
Ross Burton b3e425f594 arm/scp-firmware: oe_runmake already passes EXTRA_OEMAKE
oe_runmake adds EXTRA_OEMAKE to the arguments, so there's no need to do
it again.

Change-Id: Id8f078faecba72156a4626c960fc7113a70c8eba
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 15:09:24 -04:00
Ross Burton 2b3c39bb5a arm/scp-firmware: merge bb/inc
There's no other recipe that uses scp-firmware.inc, so merge it into the
recipe for clarity.

Change-Id: Ife1874b54c8b2be2704e1d0f5a7013ff89b8ca6e
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-30 15:09:24 -04:00
Ross Burton 5ceb140f37 gem5: recommend haveged, don't depend
Instead of explicitly adding haveged to IMAGE_INSTALL, add it to
MACHINE_EXTRA_RECOMMENDS.

This means people without haveged don't have failing builds, and tiny
images which don't need haveged are not forced to contain it.

Change-Id: I190cdd26dde38fc9039ca1017da3cd2d9ac78721
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-07-27 13:38:54 +01:00
Ross Burton d17850230d arm-bsp: recommend haveged, don't depend
Instead of explicitly adding haveged to IMAGE_INSTALL, add it to
MACHINE_EXTRA_RECOMMENDS.

This means people without haveged don't have failing builds, and tiny
images which don't need haveged are not forced to contain it.

Change-Id: Id30139f5b96fb0041eba8612776aaac07c7a3704
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-07-27 13:38:54 +01:00
Ross Burton 713a697e3d arm-bsp/linux: simplify fvp-base DTS additions
Recent changes to meta-kernel meant that we cannot be sure that do_patch
is shell or Python, so doing do_patch_append() is unwise.

Frustratingly we can't just use subdir= in the SRC_URI to drop the files
into the right place as the kernel build is unexpectedly complex.

Instead, just add the files in a patch.  In the future these will be
provided by TF-A so mark as Inappropriate and Sign-off by the developer
who added them initially.

Change-Id: I5bc3483d92c8d3abe3e7fbdde26579b602124d39
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-07-27 13:35:48 +01:00
Ross Burton d5e8453cb9 arm/trusted-firmware-a: fix TC0 build when host doesn't have openssl-dev
The TC0 bbappend needs the cert_create tool to be built, which hard-codes the
fact that openssl is installed in /usr.

Change-Id: I8a7ed54fe7d75697509f7873e7d73b3bf1b2b903
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-07-24 17:59:33 +01:00
Ross Burton 86be37565a arm/trusted-firmware-a: do verbose builds
Verbose builds are useful when looking for compile problems, and as the logs
go directly to files we can simply turn them on by default.

Change-Id: I91c6314e331a5024543138ea77a111b1d59cf371
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-07-23 14:39:56 +01:00
Jon Mason 4812a66527 arm-bsp: Fix a5ds dunfell support
Commit 65d336c807 updated the u-boot patches to work with newer
u-boots, but broke dunfell support by them not cleanly applying on
u-boot 2020.01.  To address this, take the original version of the
patches and put them in a location that will uniquely apply to the
dunfell version of u-boot.  Also, move the newer version of the
patches to a place that will only apply for it.

Fixes: 65d336c807 ("arm-bsp: u-boot: rebase a5ds patches")
Change-Id: I993ee097de709aa51ff28a6b00b7b4330bebd1ff
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-23 09:17:10 -04:00
Diego Sueiro e632cfd89f arm-autonomy: Extend compatibility to gatesgarth
Change-Id: I38c688f0b50bdfc8abc2119821977755dde33cad
Issue-Id: SCM-1065
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-21 09:13:37 -04:00
Jon Mason 815bd4a67a arm-bsp: u-boot error fixing and file clean-up
This commit fixes the errors while rebasing u-boot src to v2020.07.
Additional work necessary to preserve dunfell functionality.
Consolidate all of the files into a single inc file and single bbappend
file.

Change-Id: I442c843b1fafeb41ea283d2f11393522a48fc9d2
Signed-off-by: Damodar Santhapuri <damodar.santhapuri@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-21 09:13:37 -04:00
Jon Mason 77de189634 arm-bsp: FVP include cleanup
No real benefit to having the FVP inc file in a layer above the conf
files.  Move the file down one level and rename to make it more
consistent with the layout.

Change-Id: If32c0462352fbe2f3496957b1b2a169cfd7e7f66
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-20 08:58:58 -04:00
Ross Burton 76b639666e arm-toolchain/gcc-arm-none-eabi: support aarch64 hosts
This binary toolchain is also available for aarch64, so support fetching
that too.

Change-Id: I6206d8a9b4221d8461070d0cb7fff40c712c3df0
Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-17 09:03:04 -04:00
Ross Burton 984e0ff52e arm-toolchain/gcc-aarch64-none-elf: support aarch64 hosts
This binary toolchain is also available for aarch64, so support fetching
that too.

Change-Id: I788fcd95c30b97f095593059e85de9a99710be05
Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-17 09:02:59 -04:00
Ross Burton 35458c9665 arm-toolchain/arm-binary-toolchain: more QA skipping
When building nativesdk or target forms of these recipes more QA tests
are executed, which produce more warnings. As these recipes are quite
special, skip more tests:

- arch, as we ship ilp32 binaries in aarch64 packages
- dev-so, as the entire toolchain is put into a single package

Change-Id: Ib72b224749642c912278f0d5601fe04b30afc25f
Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-17 09:02:54 -04:00
Ross Burton f78868e169 arm-toolchain/recipes-devtools: move compatible host assignments
Some of the toolchains are available in more than just x86-64, so move
the COMPATIBLE_HOST assignment out of the include and into the recipes.

Change-Id: I10977593935bc7dc50196132d43541aed585cc18
Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-17 09:02:50 -04:00
Ross Burton b241f7b069 arm-toolchain/gcc-aarch-none-elf: don't use GFLD as license checksum
The GFDL license statement isn't a good choice for the GCC license
checksum, instead use Copying.html from the documentation.

Change-Id: I265bb0add795f3de40f49f8c31127ac9215d2566
Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-17 09:02:44 -04:00
Ross Burton b09c368798 arm-toolchain/external-arm-toolchain: rename common include
These recipes all used a common include
external-arm-toolchain-x86host.inc, but that name isn't very meaningful:
the recipes are for x86-64, there typically are more than x86-64
binaries available, and it's not for an external toolchain but
integrating a binary toolchain.

Rename the include to arm-binary-toolchain.inc, as they're all the Arm
binary toolchain.

Change-Id: I59f5faa7373686958e226db0aa68e7880d36400e
Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-17 09:02:23 -04:00
Diego Sueiro c9b6941f3d arm-autonomy/qemu: Install qemu-system-i386 instead of qemu-xen
This patch cleans the qemu_%.bbappend and uses the already provided
qemu-system-i386 package from meta-virtualization to include only the
/usr/bin/qemu-system-i386 binary.

Change-Id: I6f1fc4db458d0b09c54013c1512398521cb349e2
Issue-Id: SCM-889
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-17 09:02:03 -04:00
Kamil Dziezyk c1be31f8c5 arm-bsp/image_types_disk_img: do not force 'ext4' FS by default
In some cases user doesn't want to create any file system on a specific partition.

Change-Id: I4596d97b95034952436cfd0a267a3f6ae4c0401d
Signed-off-by: Kamil Dziezyk <kamil.dziezyk@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-17 09:01:35 -04:00
Khasim Mohammed 21c9ca3d7a arm-bsp/wic : add wic image support for N1SDP
- Update IMAGE_FSTYPES to generate a wic image
- Update MACHINE_FEATURES to include efi as supported feature on N1SDP

Change-Id: I8c75171270e3b643794af74b734825e1739999e5
Issue-Id: PLATFORMS-3134
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-17 09:01:18 -04:00
Jon Mason b0d3129ac1 arm-bsp: rename linux-yocto_5.4.bbappend for versatility
There is nothing unique about the 5.4 version of linux-yocto.  Rename
the file to allow for this to be applied against any version of
linux-yocto.

Change-Id: I15e0c4509b237d29969105ac5942dd8079eaeee9
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-17 09:01:15 -04:00
Jon Mason 2c8517e0c0 Limit legacy compatibility to dunfell
Layers are only being tested against dunfell and gatesgarth.  Limit the
layer compatibility to only those versions.

Change-Id: Ib4df617d8991b1c9096b8feaad9228174319bf11
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-17 09:00:44 -04:00
Ross Burton 8bd0cb6bab opencsd: upgrade to 0.14.2
Change-Id: Ic66533674e10b7c8cb71f9f49d907af1aac47e44
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-14 12:30:14 -04:00
Ross Burton c2916a4688 opencsd: put version into PV instead of SHA
Change-Id: I3615737fe64b26249a0405dc20843735913b3078
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-14 12:30:14 -04:00
Jon Mason b91737ec76 arm-bsp: Prepare to migrate linaro kernels to meta-kernel
Reorganize and clean-up the Linaro kernel recipes for migration to
meta-kernel.

Change-Id: I4291ae01b5679ee2c110b1deb38c963bde254177
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-14 12:28:44 -04:00
Jon Mason d43563f603 arm-bsp: Fix tc0 compile
TC0 does not compile on the latest master branch.  Clean-up the recipe
and get it compiling again.

Change-Id: I9eda0db826727ca33cac5a1f0be68024a8827900
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-14 12:27:16 -04:00
Jon Mason 5990cd6259 arm-bsp: Migrate a5ds to meta-kernel for stable kernels
a5ds is having issues building its stable kernel on master.  Migrate to
meta-kernel to fix the build break.  This has the benefit of meta-arm
not having a unique stable kernel recipe to maintain and support.

Also, change the name of linux-yocto-arm-platforms to be more
generic, as it doesn't accurately reflect where it is currently being
used and can be used by different kernels going forward.

Change-Id: I4e76c7f1ee4b84641279a389820940fac7130df1
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-14 12:25:49 -04:00
Ross Burton 20da562210 arm-bsp/trusted-firmware-a: move machine customisations to the versioned appends
By having MACHINE_TFA_REQUIRE set and required in both the wildcard
bbappend and the versioned append, the same file can get included twice
which results in a warning from bitbake:

WARNING: trusted-firmware-a_2.3.bb: Duplicate inclusion for
trusted-firmware-a-juno.inc in trusted-firmware-a_2.3.bbappend

Move the customisations from the wildcard bbappend to the specific
version of trusted-firmware-a that is used for that platform to be clear
about what platforms are supported and remove this warning.

Change-Id: Ib220aedbf94fa11d21ddc6c5f9ac2c5de5c66b7a
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-14 09:06:40 -04:00
Anders Dellien babe4b577d arm-bsp: Move to newer kernel for fvp-base and foundation-armv8
Change fvp-base and foundation-armv8 kernel from linux-linaro-arm-4.19
to linux-yocto_5.4.
Also add the necessary DTS files.

Change-Id: I6aa2e7706a2f20904d2f7a2bbfb928f0e53eb1eb
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-14 09:06:40 -04:00
Ross Burton 9c35bf8cb1 arm/edk2-firmware: mark as machine-specific
As this recipe needs per-machine configuration to be set, mark the
package archicture as the machine architecture to ensure that multiple
BSPs don't conflict in the package feed.

Change-Id: I3db0be2621987290a0c9e7b689554cd5f51cb61e
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-14 09:06:40 -04:00
Ross Burton 46d6da1519 arm/edk2-firmware: merge the .bb/.inc files
There is no reason to split this recipe between two files, so merge them.

Change-Id: I130cfb0ef78baa3117d5683d4732bc9b86798869
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-14 09:06:40 -04:00
Ross Burton 940605ac1c arm-bsp/trusted-firmware-a: consolidate FILESEXTRAPATHS
There's no need to set FILESEXTRAPATHS to "${THISDIR}/files/n1sdp:" when
n1sdp is the name of the current MACHINE as bitbake will search for
override-named directories automatically.

Instead just add ${THISDIR}/files and let bitbake do it's thing.

Change-Id: I0f58933ff9e56ee41a8fdd55f467d263c4e1b1e7
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-08 23:05:11 -04:00
Ross Burton 4ed1f47078 arm-bsp/trusted-firmware-a: move A5 DesignStart to 2.3
0001-plat-arm-a5ds-move-dtb-to-a-new-address.patch was never applied,
and has been merged upstream so drop it.

The recipe was using the _git.bb recipe and setting the SRCREV to a
commit 300+ commits past 2.2 but not quite 2.3.  Instead, just use 2.3.

Change-Id: I76aee592e7ce3ec23268872d7f202efa945e5e59
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-08 23:05:11 -04:00
Usama Arif 02813ba953 arm-bsp/u-boot: Updated platform port for TC0
This makes the platform port independent of vexpress board
so it applies cleanly on both u-boot 2019.07 (zeus) and
2020.01 (dunfell). The SRCREV that existed in u-boot-tc0.inc
for v2020.07-rc3 has been removed and the default SRCREV is
now used.

Change-Id: Ieb65cb666a1812eeeb2e3e306aec06b5e538cf06
Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2020-07-08 15:24:15 +01:00
Jon Mason 55242ed6c6 arm-bsp: yocto-check-layer fixes
Changes necessary to get yocto-check-layer to pass

Change-Id: Ie9ea5047ab1344d14a585552277fdbd6b2bc48ab
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-07 09:09:26 -04:00
Khasim Mohammed 5892e1b8f0 arm-bsp/grub: Add grub-efi support for N1SDP
grub-mkimage is used make a bootable image of GRUB,
grub-efi dependency in added to conf file.

Change-Id: Iaf08ed8b5e221003f10fceef9edffbe22b752534
Issue-Id: PLATFORMS-3134
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-07 09:09:26 -04:00
Khasim Mohammed 5d5672ee9a arm-bsp/wic: add default wks file to create EFI disk image
Creates a partitioned EFI disk image that the user
can directly dd to boot media. The selected bootloader is grub-efi.

Change-Id: I1a5e8bc953274cdcc1840b27351d8e6444b2c5ab
Issue-Id: PLATFORMS-3134
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-07 09:09:26 -04:00
Gabor Abonyi c168b6731f arm-bsp: musca_s1: Add machine
Add Musca S1 machine. Also add it to the supported targets
for Trusted Firmware M.

Change-Id: I58cee5f71d695e364b324b7c92db920b4b1a3b69
Signed-off-by: Gabor Abonyi <gabor.abonyi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-02 15:41:05 -04:00
Gabor Abonyi 29bae2a017 arm-bsp: musca_b1: Add machine
Add Musca B1 machine. Also add it to the supported targets
for Trusted Firmware M.

Change-Id: I66dcc87df9a8dcb258de701ffbdcde264b0886c5
Signed-off-by: Gabor Abonyi <gabor.abonyi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-02 15:41:05 -04:00
Gabor Abonyi 6f613362f3 arm: trusted-firmware-m: Add recipe
Adds a recipe to pull down the trusted-firmware-m repository and the
ones it depends on. The recipe can either use gcc-arm-none-eabi-native
or armcompiler-native Clang toolchain to compile the firmware.

Change-Id: I37a4ba38982b5b1d387eccbb26bb5c79bddab0f7
Signed-off-by: Gabor Abonyi <gabor.abonyi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-02 15:41:05 -04:00
Gabor Abonyi b5998ff3d0 arm: python3-cbor: Add recipe
Adds a recipe to pull cbor pypi package for python3.
This package is required to compile Trusted Firmware M.

Change-Id: I86ef64a573e3daafb1b798800c4a0c05b292078f
Signed-off-by: Gabor Abonyi <gabor.abonyi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-02 15:41:05 -04:00
Gabor Abonyi 4f1ef2b3db arm-toolchain: armcompiler: Add Arm Clang recipe
Adds Arm Clang recipe to pull down the prebuilt Armcompiler for
compiling for Cortex-A, Cortex-R, and Cortex-M processors from ARM.
This toolchain is required to build Arm trusted-firmware-m with
different optimisations than GCC can provide for M-class processors.

This recipe is based on the gcc-arm-none-eabi-native toolchain.

Change-Id: I0110f899ec6e5b355c5b7661db1f4aa0e254e7e2
Signed-off-by: Gabor Abonyi <gabor.abonyi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-02 15:40:52 -04:00
Gabor Abonyi 91025496f7 arm-toolchain: external-arm-toolchain: Rename
Rename common external-arm-toolchain file, so it can be used by non-gcc
external toolchains too.

Change-Id: I48345dc53bc3d20f33b44fc0224b511f30107036
Signed-off-by: Gabor Abonyi <gabor.abonyi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-02 11:15:48 -04:00
Ross Burton 0eb184e504 linux-linaro-arm_5.4: fix build of Perf with new BFD
Change-Id: Ice129ecddc17c3c24e177cf4f2d3445daeb6b455
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-01 10:39:20 -04:00
Jon Mason e654f319d7 gem5: Add README
README.md is needed or yocto-check-layer throws an error.  Add a simple
one which references the one present in the root directory.

Change-Id: I1e0bb52ff3679347ec72d2f6178e7807398d583a
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-01 10:39:20 -04:00
Jon Mason 72759e13dd gem5: add dunfell support
Add dunfell support to meta-gem5.  This allows for the master to work
with stable dunfell branches.

Change-Id: Ie43bd7ca0a145fd30d92d0c241431dfc0a307dd5
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-07-01 10:39:20 -04:00
Teo Couprie Diaz 435aea46a7 arm-bsp : Introduce TC0 platform and BSP
This patch introduces the Total Compute platform.
It adds support for the TC0 platform to the Android Common Kernel and
allows building all binaries needed to run Android on TC0.
It adds patches specific to TC0 for TF-A, SCP and U-Boot.

Change-Id: Ia83b79571c7381967c7449db031e3177b1990546
Signed-off-by: Teo Couprie Diaz <teo.coupriediaz@arm.com>
Signed-off-by: Usama Arif <usama.arif@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-30 11:23:03 -04:00
Teo Couprie Diaz 4991e2054d arm: Introduce 4.19 Android Common Kernel
This recipe targets machines based on arm64.
Change-Id: I9f9556c3ce3636a31fb3a6faf38494335be6b997
Signed-off-by: Teo Couprie Diaz <teo.coupriediaz@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-30 11:22:28 -04:00
Ross Burton 6147e82375 meta-gem5: extract the gem5 recipe and machine into a dedicate meta-gem5 layer
meta-arm-bsp no longer has to depend on meta-oe, and in the future
meta-gem5 could be moved out of meta-arm.

Change-Id: I49fa8f793b60af8c0cdb7e04b27fb53fc094cdad
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-29 08:46:17 -04:00
Khasim Mohammed 34224c961d arm-bsp/scp-firmware: Build SCP MCP firmware for N1SDP
- Add bbappend recipe to build SCP and MCP firmware
  for N1SDP.
- Use fiptool to package the binary images
- Update machine conf to add image dependency
  for SCP-firmware components

Issue-Id: PLATFORMS-3134

Change-Id: I24bb427179f2fdee0a8351257c9088d8024ca6b8
Signed-off-by: Patrik Berglund <patrik.berglund@arm.com>
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-24 13:44:23 -04:00
Khasim Mohammed 37a5fb3f58 arm/scp-firmware : allow setting scp log level to INFO or WARN
SCP code has been updated with new logging framework. The patch
is to allow setting of log level parameter to INFO or WARN.

Change-Id: I20ec19a9aa1bdb7f59c067d2344c299c057a088b
Issue-Id: PLATFORMS-3134
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-24 13:44:01 -04:00
Khasim Mohammed 2c08e207b6 arm/fiptool : provides fiptool for packaging
Firmware Image Package (FIP), is a packaging format used
by TF-A to package the firmware images in a single binary,
this tool is used to package the binaries in FIP format.

Change-Id: Ie4108915c5d63be340d6f53148a6dff03d6d48e7
Issue-Id: PLATFORMS-3134
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-24 13:43:08 -04:00
Jon Mason 831e317e8a arm-toolchain: Add Denys as co-maintainer
Per mailing list discussion, Denys is co-maintainer of the
meta-arm-toolchain layer.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-18 18:24:03 -04:00
Sumit Garg 3237858efa external-arm-toolchain: Add package specific licenses
Add license.inc file to state license of various packages provided by
pre-built Arm tool-set.

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-17 15:00:14 -04:00
Sumit Garg 4ccff1d27a meta-arm-toolchain: Add README
Document usage details for GNU Arm toolchains which could either be built
from source or pre-built.

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-17 15:00:14 -04:00
Sumit Garg 6eca170875 external-arm-toolchain: Align glibc packaging to OE TARGET_SYS
OE native and cross compilers (in case of SDK) uses OE TARGET_SYS to
create standard paths to search for libraries and headers during
compilation.

Currently external-arm-toolchain recipe temporarily override TARGET_SYS
with EAT_TARGET_SYS and packages libraries and headers corresponding to
EAT_TARGET_SYS which leads to failures during native and cross compilation
(in case of SDK) such as:

$ $CXX -o hello++ hello.cpp
In file included from hello.cpp:1:
/tmp/armsdk/sysroots/armv7at2hf-neon-oe-linux-gnueabi/usr/include/c++/9.2.1/iostream:38:10: fatal error: bits/c++config.h: No such file or directory
   38 | #include <bits/c++config.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.

$ $CC hello.c
real-ld: cannot find crtbeginS.o: No such file or directory

So remove temp override of TARGET_SYS and rather package libraries and
headers corresponding to OE TARGET_SYS.

This fixes changes added in commit:
https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=91ea4d017bf0598e49944e76c889e66d58c066ce

Also, update location for unwind.h gcc-arm-common.inc accordingly.

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-17 15:00:14 -04:00
Sumit Garg ceff030d5c external-arm-toolchain: Refine dev libraries/headers packaging
OE core by default package all libraies/headers installed as
"${libdir}/lib*.so", "${libdir}/*.la" and {includedir} as part of
FILES_${PN}-dev" but in case of external Arm toolchain recipe, multiple
packages are provided which needs to include specific libraries and
headers. And "${PN}-dev" is only meant to pick up remaining dev libraries
and headers that aren't picked up by other packages.

So in order to achieve above objective, re-order PACKAGES list to shift
${PN}-dev towards the end. And since some static libraries needs to be
packaged in ${PN}-dev, so we need to keep ${PN}-staticdev later in order.

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-17 15:00:14 -04:00
Sumit Garg 0f352925ed external-arm-toolchain: Remove glibc locale dependency
Currently external Arm toolchain recipe doesn't provide packages
corresponding to OE glibc locale recipe. So explicitly remove corresponding
libc dependencies until we sort out glibc locale packaging rather than
blocking OE SDK generation which is still useful without glibc locale
packaging.

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-17 15:00:14 -04:00
Diego Sueiro c4eb8e8958 arm-autonomy, xenguest-manager: Guest creation failure cleanup
When the guest creation process fails, we need to perform a proper
cleanup on the system, like removing configuration files and detaching
the disk previously attached to Xen.

This patch also adds an extra failure condition when the partition
assigned to guests is already formatted with a filesystem and it is not
a lvm partition.

Change-Id: I36087bf95fb8ff093160a6df406920fa5f293e09
Issue-Id: SCM-996
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-17 14:41:42 -04:00
Diego Sueiro f7635b43a0 arm-autonomy, xenguest: Fail if Dom0 is not properly initialized
During the xenguest initialization and when invoking the
xenguest-manager tool, abort the execution if Dom0 was not properly
initialized on top of Xen and with the proper kernel configurations.

Change-Id: I307c03e58a266a943968df1bc5ba39951912d2cb
Issue-Id: SCM-996
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-17 14:41:09 -04:00
Khasim Mohammed 150fdcc862 arm-bsp/edk2-firmware: fix destsuffix and PV for recursion error
Use relative paths in destsuffix as the paths are relative
to ${WORKDIR} and turn the existing PV ?= into PV =

Change-Id: Ib9367a15dde611e5b74c11eeff330d0b5a3de75d
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-17 14:40:30 -04:00
Khasim Mohammed 47b276bc3d arm/edk2-firmware: fix passing of linker flags
The build initially worked because host machine had
util-linux-dev installed, the build failed otherwise.
This patch will fix the passing of linker flags.

Change-Id: If2f31e8e31109b9c8fd62b32d2f80902a1dd3cfd
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-17 14:40:30 -04:00
Ross Burton 938b47f666 README: add git-config example for git-send-email
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-17 08:08:05 -04:00
Ross Burton 2e8653b6f0 README: add section on expected commit message style
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-17 08:08:05 -04:00
Ross Burton e510436c48 README: add Ross Burton as co-maintainer
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-17 08:08:05 -04:00
luca fancellu 92e8855124 arm-bsp: Move to linux-linaro-arm for fvp-base and foundation-armv8
Change fvp-base and foundation-armv8 kernel from linux-yocto_5.4
to linux-linaro-arm_4.19 because some drivers are not available.
Furthermore, for fvp-base the linaro kernel comes with the dts
file removing the needs to support it on our side.

Change-Id: I844d92f173406542c2bad8d89793513f8bc28fd1
Signed-off-by: luca fancellu <luca.fancellu@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-17 08:07:05 -04:00
Diego Sueiro ec8faf6b71 trusted-firmware-a: fiptool build using BUILD_CFLAGS and BUILD_LDFLAGS
Since the TF-A fiptool is native tool we should be using the
BUILD_CFLAGS and BUILD_LDFLAGS flags to proper build and execute it.

Change-Id: I9634604dbc42ba7da85d9b9449f1ed94ecb38df2
Issue-Id: SCM-888
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-12 08:43:36 -04:00
Diego Sueiro d4dbb2ccb0 arm-bsp, gem5-arm64: Update to v20 version
This patch updates gem5-aarch64-bootloader and gem5-aarch64-native to
the release tag v20.0.0.1.

Also apply populate the right compiler and linker flags to get
gem5-aarch64-native properly building

Change-Id: Icc2203163105373cf030975c1b12f1d4f2fcb03c
Issue-Id: SCM-1014
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-11 09:04:25 -04:00
Diego Sueiro 2fafa9ab6c arm-autonomy, xenguest-network-bridge: Set bridge members per machine
By default, XENGUEST_NETWORK_BRIDGE_MEMBERS should be empty and only be
set per machine.

Change-Id: I67c56847eb785279c28757a6052f092c838babe0
Issue-Id: SCM-995
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-11 09:03:55 -04:00
Khasim Mohammed 24cbd0e702 arm-bsp: Build UEFI EDK2 firmware for N1SDP
- Add bbappend recipe to configure N1SDP specifics
- Enable UEFI EDK2 firmware build for N1SDP.
- Update machine conf to add dependency
  for EDK2 firmware components

Change-Id: I89d41c176f31bce6f1df7f3b3a7cd624b46c05e1
Issue-Id: PLATFORMS-3134
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-11 09:02:54 -04:00
Khasim Mohammed 4f8f8eae7f meta-arm: Add UEFI EDK2 support for Arm platforms
EDK2 Project is a modern, feature-rich, cross-platform
firmware development environment for the UEFI specifications
from www.uefi.org.

This patch adds a new recipe to fetch, configure and build
UEFI EDK2 firmware for Arm platforms.

Change-Id: Icfb157e5b68d87accfd4290f522fc529fe4e849e
Issue-Id: PLATFORMS-3134
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-11 09:02:21 -04:00
Rui Miguel Silva 65d336c807 arm-bsp: u-boot: rebase a5ds patches
Rebase a5ds u-boot patches so, they apply clean in top of
latest u-boot.

Change-Id: I12e596ef8460429b540777e2a8646ed64f81fbac
Signed-off-by: Rui Miguel Silva <rui.silva@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-09 15:41:27 -04:00
Denys Dmytriyenko 22be9b620c gcc-x86host.inc: properly link triplet-prefixed binaries
Use the correct path for the binaries in ${datadir}, otherwise it results in a
single incorrect symlink like gcc-arm-none-eabi-*

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-08 09:08:06 -04:00
Denys Dmytriyenko b796672277 gcc-aarch64-none-elf: properly set ${S} that is different from default
Also use ${BINNAME} and ${PV} variables for automatic substitution.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-08 09:08:06 -04:00
Denys Dmytriyenko 7765d89009 external-arm-toolchain: un-break target compilation
Compiling on the target using runtime libs from external-arm-toolchain
requires libgcc.a, as libgcc_s.so explains:

/* GNU ld script
   Use the shared library, but some functions are only in
   the static library.  */
GROUP ( libgcc_s.so.1 -lgcc )

Otherwise it results in errors like:
| /usr/lib/gcc/arm-linux-gnueabi/9.2.1/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgcc
| /usr/lib/gcc/arm-linux-gnueabi/9.2.1/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgcc
| collect2: error: ld returned 1 exit status

This already has been fixed before in this commit:
https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=91ea4d017bf0598e49944e76c889e66d58c066ce

But then it got broken/undone here w/o due review:
https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=b43d5f0ce431ba1e242504641266a63293ded5db

Even though it's a static library, we want it to be in libgcc-dev as it's
not optional, but rather required for development.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-08 09:08:06 -04:00
Denys Dmytriyenko f2069723f2 layer.conf: remove dependency on meta-python
Corresponding Python modules pycryptodome(x) and pyelftools, needed by optee,
were moved from meta-python to oe-core.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-07 09:51:19 -04:00
Khasim Mohammed f36666eb63 meta-arm: Add SCP MCP build support
SCP-firmware provides a software reference implementation for
the System Control Processor (SCP) and Manageability Control
Processor (MCP) components found in several Arm Compute
Sub-Systems.

This patch set adds support to fetch and build SCP and MCP
firmware binaries

Issue-Id: PLATFORMS-3134

Change-Id: Ic7259bb430c9e7e9711c9c8bc3283aafaacdf707
Signed-off-by: Patrik Berglund <patrik.berglund@arm.com>
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-07 09:50:19 -04:00
Khasim Mohammed b89693b16f arm-bsp: Add trusted firmware support for N1SDP
- Add new bbappend to fetch tfa ver 2.2 required for N1SDP
- Apply additional patch required for N1SDP
- Update machine conf to add image dependency for
  trusted firmware component

Issue-Id: PLATFORMS-3134
Change-Id: Ibf593c1818c9ea08acf71c6b5b80abc4aca79723
Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-07 09:50:19 -04:00
Diego Sueiro ad8fdc96c0 arm-bsp, linux-linaro-arm: Don't perform SHA verification
Since the Linaro kernel-release repo doesn't have a master branch and
the branches are force pushed, we need to have the nobranch=1 setting
in the SRC_URI and have the SRCREV pointing to TAG commit SHA the will
not get modified.

Change-Id: Id1ad6b57a6f11ec4dadd3647043e6f2f48f498d4
Issue-ID: SCM-888
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-05 10:54:09 -04:00
Jon Mason 04eb583c4b arm-toolchain: merge binary toolchain recipes
Merge the majority of the binary toolchain recipes for building on an
x86 host into a common include file.

Also, found and fixed an error with both install commands where the name
was double nested on the copy.  For example,
/usr/share/arm-none-eabi/arm-none-eabi/ due to the way it was being
copied.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
2020-06-02 11:37:40 -04:00
Jon Mason a1918abd8d arm-bsp: a5ds: change SRC_URI to git
When building for a5ds dunfell, I am seeing the following error:
fatal: unable to access 'https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux/': server certificate verification failed. CAfile: none CRLfile: none

I do not see this error when using git instead of https to access the
tree.  So, change to that access method (and it should be faster too).

Change-Id: I8e793ece68edaaa918ed3c3a0e9b4e195775828f
Signed-off-by: Jon Mason <jon.mason@arm.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
2020-06-02 08:43:12 -04:00
Joshua Watt 422001af4d optee-os: Refresh GCC 10 patches
The original fix for compiling with GCC 10 had to be reverted because it
failed on older versions. Upstream resolved this and re-instituted the
fix, so backport that patch series

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-01 17:37:06 -04:00
Khem Raj 8c9670108d optee-test: Fix build with musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-06-01 17:37:06 -04:00
Ralph Siemsen fdc51fe01a arm-toolchain: set CVE_VERSION to fix cve-check warnings
Yocto cve-check currently produces numerous warnings like:
    WARNING: gcc-cross-arm-arm-8.3-r2019.03 do_cve_check: gcc:
    Failed to compare arm-8.3 < 10.0 for CVE-2019-15847
In turn this means that some potential CVEs are not reported.

This occurs because PV has been prefixed with "arm-", to allow for
multiple gcc implementations.

Fix this by setting CVE_VERSION to the non-prefixed version.

Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-29 10:27:14 -04:00
Denys Dmytriyenko b2f900e054 arm-toolchain: gcc-aarch64-none-elf: Add recipe
Adds a recipe to pull down the prebuilt GCC for compiling bare-metal targets
for Aarch64 processors from ARM.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-28 19:14:42 -04:00
Joshua Watt d341b6693f Add support for booting qemu with TFA and optee
Adds support for booting AArch64 Qemu machines using TF-A + optee +
u-boot. Most of the changes are applicable to any AArch64 qemu target,
and a reference machine called qemuarm64-secureboot has been added that
show how to enable support for it.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Reviewed-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-28 10:08:47 -04:00
Joshua Watt d1255ee8fe optee-client: Add sysVinit service
Adds a sysVinit service to start tee-supplicant so that the optee-client
package can be used on distros where systemd is not used. Also does some
cleanup of the recipe including:
 1) Using @path@ tokens for replacemane in the .service file instead of
    paths
 2) Replacing tokens in the .service file after it is installed instead
    of editing the source file in ${WORKDIR}

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-28 10:08:22 -04:00
Joshua Watt 12604dc9d3 optee-{os,examples,client,test}: Build out of tree
Modifies the optee recipes to all build out of tree. This is cleaner and
helps prevent build error from stale builds when dependencies change.
Also allows the elimination of the OPTEEOUTPUTMACHINE variable in
optee-os.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-28 10:07:56 -04:00
Denys Dmytriyenko 0418996eba trusted-firmware-a: re-enable generation of packages
There is no need to inherit nopackages. Even when the output binaries are being
consumed from deploy or sysroot, and the main binary package is not meant to be
installed in the rootfs, package generation is still useful for SDK use cases
and as a way to distribute sources (e.g. src.rpm/SRPM) in Distros.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-19 11:16:44 -04:00
Joshua Watt f4206ef4d4 optee-os: Fix compile with GCC 10
Adds a patch to fix compiles with GCC 10 due to the way that libgcc
detects LSE support using __getauxval().

V2: Incorporate patch changes suggested by upstream

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-19 11:14:01 -04:00
Denys Dmytriyenko c8dbf892cc trusted-firmware-a: remove stale checksums, not used for git fetches
All SRC_URIs for trusted-firmware-a now use git and checksums are not needed.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-19 11:14:01 -04:00
Jon Mason f9ece576ad arm-toolchain: gcc-arm-none-eabi-native: Add recipe
Adds a recipe to pull down the prebuilt GCC for compiling on Cortex-R
and Cortex-M processors from ARM. This toolchain is required to build
Arm Trusted Firmware for the Rockchip rk3399 SoC, since it must compile
some firmware for the M0 coprocessor.

This was originally taken from meta-rockchip, but has been modified from
mailing list feedback.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-15 09:58:19 -04:00
Denys Dmytriyenko 06b648821a optee-os: replace old pycrypto with pycryptodome - a drop-in replacement
While pycryptodome is a drop-in replacement for the old pycrypto module,
pycryptodomex uses a separate namespace to not confict with pycrypto.
Unfortunately, optee-os uses both namespaces, hence both variants of
pycryptodome and pycryptodomex are needed.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-15 09:11:43 -04:00
400 changed files with 18722 additions and 3002 deletions
-157
View File
@@ -1,157 +0,0 @@
image: ghcr.io/siemens/kas/kas:3.2
variables:
CPU_REQUEST: ""
DEFAULT_TAG: ""
# These are needed as the k8s executor doesn't respect the container entrypoint
# by default
FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY: 0
FF_KUBERNETES_HONOR_ENTRYPOINT: 1
stages:
- prep
- bootstrap
- build
# Common job fragment to get a worker ready
.setup:
tags:
- $DEFAULT_TAG
stage: build
variables:
KAS_WORK_DIR: $CI_PROJECT_DIR/work
KAS_REPO_REF_DIR: $CI_BUILDS_DIR/persist/repos
SSTATE_DIR: $CI_BUILDS_DIR/persist/sstate
DL_DIR: $CI_BUILDS_DIR/persist/downloads
BB_LOGCONFIG: $CI_PROJECT_DIR/ci/logging.yml
IMAGE_DIR: $CI_PROJECT_DIR/work/build/tmp/deploy/images
before_script:
- echo KAS_WORK_DIR = $KAS_WORK_DIR
- echo SSTATE_DIR = $SSTATE_DIR
- echo DL_DIR = $DL_DIR
- rm -rf $KAS_WORK_DIR
- mkdir --verbose --parents $KAS_WORK_DIR $KAS_REPO_REF_DIR $SSTATE_DIR $DL_DIR
# Generalised fragment to do a Kas build
.build:
extends: .setup
variables:
KUBERNETES_CPU_REQUEST: $CPU_REQUEST
interruptible: true
script:
- KASFILES=$(./ci/jobs-to-kas $CI_JOB_NAME)
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
- kas build $KASFILES
- ./ci/check-warnings $KAS_WORK_DIR/build/warnings.log
#
# Prep stage, update repositories once
#
update-repos:
extends: .setup
stage: prep
script:
- flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
#
# Bootstrap stage, bootstrap and machine coverage
#
# Build a number of native tools first to ensure the other builders don't race
# over them
n1sdp/bootstrap:
extends: .build
stage: bootstrap
# What percentage of machines in the layer do we build
machine-coverage:
stage: bootstrap
tags:
- $DEFAULT_TAG
script:
- ./ci/check-machine-coverage
coverage: '/Coverage: \d+/'
#
# Build stage, the actual build jobs
#
a5ds:
extends: .build
foundation-armv8:
extends: .build
fvp-base:
extends: .build
gem5-arm64:
extends: .build
juno:
extends: .build
juno/musl:
extends: .build
n1sdp:
extends: .build
n1sdp/armgcc:
extends: .build
qemuarm/testimage:
extends: .build
qemuarmv5/testimage:
extends: .build
tc0:
extends: .build
#
# Utility tasks, not executed automatically
#
delete-dl-dir:
extends: .setup
stage: prep
when: manual
script:
- rm -rf $DL_DIR/*
delete-repo-dir:
extends: .setup
stage: prep
when: manual
script:
- rm -rf $KAS_REPO_REF_DIR/*
# Delete all sstate
delete-sstate:
extends: .setup
stage: prep
when: manual
script:
- rm -rf $SSTATE_DIR/*
# Wipe out old sstate
prune-sstate:
extends: .setup
stage: prep
when: manual
script:
- du -h -s $SSTATE_DIR
- find $SSTATE_DIR -type f -atime +30 -delete
- du -h -s $SSTATE_DIR
# Report on disk usage
usage:
extends: .setup
stage: prep
when: manual
script:
- du -h -s $DL_DIR $SSTATE_DIR $KAS_REPO_REF_DIR
+15 -3
View File
@@ -25,14 +25,26 @@ Currently, we only accept patches from the meta-arm mailing list. For general
information on how to submit a patch, please read
https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded
E-mail meta-arm@lists.yoctoproject.org with patches created using this process
E-mail meta-arm@lists.yoctoproject.org with patches created using this process. You can configure git-send-email to automatically use this address for the meta-arm repository with the following git command:
$ git config --local --add sendemail.to meta-arm@lists.yoctoproject.org
Commits and patches added should follow the OpenEmbedded patch guidelines:
https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
The component being changed in the shortlog should be prefixed with the layer name (without the meta- prefix), for example:
arm-bsp/trusted-firmware-a: decrease frobbing level
arm-toolchain/gcc: enable foobar v2
Reporting bugs
--------------
E-mail meta-arm@lists.yoctoproject.org with the error encountered and the steps
to reproduce the issue
to reproduce the issue.
Maintainer(s)
-------------
* Jon Mason <jon.mason@arm.com>
* Ross Burton <ross.burton@arm.com>
-6
View File
@@ -1,6 +0,0 @@
header:
version: 9
includes:
- base.yml
machine: a5ds
-6
View File
@@ -1,6 +0,0 @@
header:
version: 9
local_conf_header:
libc: |
GCCVERSION = "arm-9.2"
-48
View File
@@ -1,48 +0,0 @@
header:
version: 9
distro: poky
defaults:
repos:
refspec: dunfell
repos:
meta-arm:
layers:
meta-arm:
meta-arm-bsp:
meta-arm-toolchain:
poky:
url: https://git.yoctoproject.org/git/poky
layers:
meta:
meta-poky:
meta-openembedded:
url: https://git.openembedded.org/meta-openembedded
layers:
meta-oe:
env:
BB_LOGCONFIG: ""
local_conf_header:
base: |
CONF_VERSION = "1"
PACKAGE_CLASSES = "package_ipk"
LICENSE_FLAGS_WHITELIST += "armcompiler"
PACKAGECONFIG_remove_pn-qemu-system-native = "gtk+ sdl"
EXTRA_IMAGE_FEATURES_append = " debug-tweaks"
BB_NUMBER_THREADS = "16"
PARALLEL_MAKE = "-j16"
INHERIT += "rm_work"
ptest: |
DISTRO_FEATURES_remove = "ptest"
machine: unset
target:
- core-image-base
# - perf
-9
View File
@@ -1,9 +0,0 @@
header:
version: 9
target:
- binutils-cross-aarch64
- gcc-cross-aarch64
- python3-native
- opkg-native
- rpm-native
-26
View File
@@ -1,26 +0,0 @@
#! /usr/bin/env python3
from pathlib import Path
import sys
metaarm = Path.cwd()
if metaarm.name != "meta-arm":
print("Not running inside meta-arm")
sys.exit(1)
# All machine configurations
machines = metaarm.glob("meta-*/conf/machine/*.conf")
machines = set(p.stem for p in machines)
# All ci files
ci = metaarm.glob("ci/*.yml")
ci = set(p.stem for p in ci)
missing = machines - ci
print(f"The following machines are missing: {', '.join(sorted(missing))}.")
covered = len(machines) - len(missing)
total = len(machines)
percent = int(covered / total * 100)
print(f"Coverage: {percent}%")
-18
View File
@@ -1,18 +0,0 @@
#! /bin/bash
# Expects the path to a log file as $1, and if this file has any content
# then display the contents and exit with an error code.
set -e -u
LOGFILE=$1
if test -s $LOGFILE; then
echo ==============================
echo The build had warnings/errors:
echo ==============================
cat $LOGFILE
exit 1
fi
exit 0
-10
View File
@@ -1,10 +0,0 @@
header:
version: 9
repos:
meta-clang:
url: https://github.com/kraj/meta-clang
local_conf_header:
clang: |
TOOLCHAIN = "clang"
-6
View File
@@ -1,6 +0,0 @@
header:
version: 9
includes:
- base.yml
machine: foundation-armv8
-7
View File
@@ -1,7 +0,0 @@
header:
version: 9
includes:
- base.yml
machine: fvp-base
-10
View File
@@ -1,10 +0,0 @@
header:
version: 9
includes:
- base.yml
machine: gem5-arm64
target:
- core-image-minimal
- gem5-aarch64-native
-19
View File
@@ -1,19 +0,0 @@
#! /bin/bash
# Read a GitLab CI job name on $1 and transform it to a
# list of Kas yaml files
set -e -u
# Read Job namne from $1 and split on /
IFS=/ read -r -a PARTS<<<$1
# Prefix each part with ci/
PARTS=("${PARTS[@]/#/ci/}")
# Suffix each part with .yml
PARTS=("${PARTS[@]/%/.yml}")
# Print colon-separated
IFS=":"
echo "${PARTS[*]}"
-6
View File
@@ -1,6 +0,0 @@
header:
version: 9
includes:
- base.yml
machine: juno
-13
View File
@@ -1,13 +0,0 @@
# Python logging configuration to write all warnings to a separate file
version: 1
handlers:
warnings:
class: logging.FileHandler
level: WARNING
filename: warnings.log
formatter: BitBake.logfileFormatter
loggers:
BitBake:
handlers: [warnings]
-6
View File
@@ -1,6 +0,0 @@
header:
version: 9
local_conf_header:
libc: |
TCLIBC = "musl"
-6
View File
@@ -1,6 +0,0 @@
header:
version: 9
includes:
- base.yml
machine: n1sdp
-6
View File
@@ -1,6 +0,0 @@
header:
version: 9
includes:
- base.yml
machine: qemuarm
-11
View File
@@ -1,11 +0,0 @@
header:
version: 9
includes:
- base.yml
machine: qemuarmv5
local_conf_header:
bugs: |
# Remove parselogs until errors can be resolved
TEST_SUITES_remove = "parselogs"
-6
View File
@@ -1,6 +0,0 @@
header:
version: 9
includes:
- base.yml
machine: tc0
-17
View File
@@ -1,17 +0,0 @@
header:
version: 9
local_conf_header:
testimage: |
IMAGE_CLASSES += "testimage"
TESTIMAGE_AUTO = "1"
slirp: |
TEST_RUNQEMUPARAMS = "slirp"
TEST_SERVER_IP = "127.0.0.1"
QEMU_USE_SLIRP = "1"
packages: |
IMAGE_FEATURES_append = " ssh-server-dropbear"
# Multiple targets are available, put it down to just one
target:
- core-image-base
-41
View File
@@ -1,41 +0,0 @@
#! /usr/bin/env python3
# Update clones of the repositories we need in KAS_REPO_REF_DIR to speed up fetches
import sys
import os
import subprocess
import pathlib
def repo_shortname(url):
# Taken from Kas (Repo.__getattr__) to ensure the logic is right
from urllib.parse import urlparse
url = urlparse(url)
return ('{url.netloc}{url.path}'
.format(url=url)
.replace('@', '.')
.replace(':', '.')
.replace('/', '.')
.replace('*', '.'))
repositories = (
"https://git.yoctoproject.org/git/poky",
"https://git.openembedded.org/meta-openembedded",
"https://git.yoctoproject.org/git/meta-virtualization",
"https://git.yoctoproject.org/git/meta-zephyr",
"https://github.com/kraj/meta-clang",
)
if __name__ == "__main__":
if "KAS_REPO_REF_DIR" not in os.environ:
print("KAS_REPO_REF_DIR needs to be set")
sys.exit(1)
base_repodir = pathlib.Path(os.environ["KAS_REPO_REF_DIR"])
for repo in repositories:
repodir = base_repodir / repo_shortname(repo)
if repodir.exists():
subprocess.run(["git", "-C", repodir, "fetch"], check=True)
else:
subprocess.run(["git", "clone", "--bare", repo, repodir], check=True)
+1 -1
View File
@@ -88,5 +88,5 @@ would like to contribute, please contact the maintainers
Maintainer(s)
-------------
* Diego Sueiro <diego.sueiro@arm.com>
* Bertrand Marquis <bertrand.marquis@arm.com>
* Filipe Rinaldi <filipe.rinaldi@arm.com>
@@ -12,6 +12,11 @@ inherit xenguest-image
# recipes, the last recipe setting it will prevail.
XENGUEST_EXTRA_DTB ??= ""
# Add a ramdisk file for the guest
# Only one file should be added, if this is set multiple times or in several
# recipes, the last recipe setting it will prevail.
XENGUEST_EXTRA_RAMDISK ??= ""
# Append something to the guest xen configuration
# All files here will be merged together in the final xen configuration
# This can contain several files or be used in several recipes
@@ -49,6 +54,13 @@ do_deploy_append() {
call_xenguest_mkimage partial --xen-device-tree=${XENGUEST_EXTRA_DTB}
fi
if [ -n "${XENGUEST_EXTRA_RAMDISK}" ]; then
if [ ! -f ${XENGUEST_EXTRA_RAMDISK} ]; then
die "xenguest-image: DTB file ${XENGUEST_EXTRA_RAMDISK} does not exist"
fi
call_xenguest_mkimage partial --xen-ramdisk=${XENGUEST_EXTRA_RAMDISK}
fi
if [ -n "${XENGUEST_EXTRA_XENCONFIG}" ]; then
for f in ${XENGUEST_EXTRA_XENCONFIG}; do
if [ ! -f $f ]; then
@@ -58,10 +58,14 @@ XENGUEST_IMAGE_DISK_SIZE ??= "${@ '4' if not d.getVar('INITRAMFS_IMAGE') else '0
# and containing the root filesystem produced by Yocto
XENGUEST_IMAGE_DISK_PARTITIONS ??= "1:${XENGUEST_IMAGE_DISK_SIZE}:ext4:rootfs.tar.gz"
# XENGUEST_IMAGE_NETWORK_BRIDGE can be set to 1 to have a network interface
# on the guest connected to host bridged network. This will provide the guest
# with a network interface connected directly to the external network
XENGUEST_IMAGE_NETWORK_BRIDGE ??= "1"
# XENGUEST_IMAGE_NETWORK_TYPE can be set to "bridge", "nat" or "none".
# The "bridge" type will share the physical eth interface from dom0 with the
# domU. This will allow the domU to have access to the external network.
# The "nat" type will setup a virtual network between dom0 and domU and also
# configure and run the dhcpd on dom0 to serve the domU.
# The "none" type will not affect any networking setting between on dom0 and
# domU.
XENGUEST_IMAGE_NETWORK_TYPE ??= "bridge"
# Sub-directory in wich the guest is created. This is create in deploy as a
# subdirectory and must be coherent between all components using this class so
@@ -147,10 +151,10 @@ xenguest_image_create() {
call_xenguest_mkimage update --set-param=GUEST_AUTOBOOT=0
fi
if [ "${XENGUEST_IMAGE_NETWORK_BRIDGE}" = "1" ]; then
call_xenguest_mkimage update --set-param=NETWORK_BRIDGE=1
if [ -n "${XENGUEST_IMAGE_NETWORK_TYPE}" ]; then
call_xenguest_mkimage update --set-param=XENGUEST_NETWORK_TYPE="${XENGUEST_IMAGE_NETWORK_TYPE}"
else
call_xenguest_mkimage update --set-param=NETWORK_BRIDGE=0
call_xenguest_mkimage update --set-param=XENGUEST_NETWORK_TYPE="none"
fi
}
@@ -9,3 +9,7 @@ IMAGE_FSTYPES += "xenguest"
# xenguest kernel extension to handle initramfs
KERNEL_CLASSES += "kernel-xenguest"
IMAGE_INSTALL_append = "${@bb.utils.contains('DISTRO_FEATURES', 'docker', \
' packagegroup-docker-runtime-minimal', \
'', d)}"
@@ -8,3 +8,18 @@ DISTRO_FEATURES_NATIVE_append = " arm-autonomy-host"
# If the kernel image is needed in the rootfs the following should be set from
# a bbappend: RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-image"
RDEPENDS_${KERNEL_PACKAGE_NAME}-base ?= ""
# Until we don't move to use the kea dhcp-server we build dhcp_4.4.2.bb recipe
# which depends on bind_9.11.22.bb recipe.
PREFERRED_VERSION_bind ?= "9.11%"
# Require extra machine specific settings from meta-arm-bsp dynamic-layers only
# if meta-arm-bsp is in the bblayers.conf
# Directory for meta-arm-autonomy/dynamic-layers/meta-arm-bsp machine extra settings
ARM_AUTONOMY_ARM_BSP_DYNAMIC_EXTRA_CFGDIR = "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/conf/machine"
ARM_AUTONOMY_MACHINE_EXTRA_REQUIRE ?= \
"${ARM_AUTONOMY_ARM_BSP_DYNAMIC_EXTRA_CFGDIR}/arm-autonomy-machine-extra-settings.inc"
require ${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-arm-bsp', \
'${ARM_AUTONOMY_MACHINE_EXTRA_REQUIRE}' , \
'', d)}
+6 -3
View File
@@ -14,22 +14,25 @@ LAYERDEPENDS_meta-arm-autonomy = " \
core \
yocto \
openembedded-layer \
networking-layer \
virtualization-layer \
"
LAYERSERIES_COMPAT_meta-arm-autonomy = "dunfell"
LAYERSERIES_COMPAT_meta-arm-autonomy = "gatesgarth"
# We don't activate virtualization feature from meta-virtualization as it
# brings in lots of stuff we don't need. We need to disable the sanity check
# otherwise the user will see a warning on each build.
SKIP_META_VIRT_SANITY_CHECK = "1"
ARM_AUTONOMY_LAYERDIR := "${LAYERDIR}"
# Directory of our distro config files
ARM_AUTONOMY_DISTRO_CFGDIR = "${LAYERDIR}/conf/distro/include/"
ARM_AUTONOMY_DISTRO_CFGDIR = "${ARM_AUTONOMY_LAYERDIR}/conf/distro/include/"
# Add class to handle arm-autonomy distro extensions
USER_CLASSES_append = " arm-autonomy-features"
BBFILES_DYNAMIC += " \
meta-arm-bsp:${LAYERDIR}/dynamic-layers/meta-arm-bsp/*/*/*.bbappend \
meta-gem5:${LAYERDIR}/dynamic-layers/meta-gem5/*/*/*.bbappend \
"
# Root directory for the meta-arm-autonomy/dynamic-layers/meta-arm-bsp
ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR = "${ARM_AUTONOMY_LAYERDIR}/dynamic-layers/meta-arm-bsp"
@@ -26,6 +26,7 @@ First you must download the Yocto layers needed:
- [poky](https://git.yoctoproject.org/poky)
- [meta-virtualization](https://git.yoctoproject.org/meta-virtualization)
- [meta-arm](https://git.yoctoproject.org/meta-arm)
- [meta-kernel](https://gitlab.com/openembedded/community/meta-kernel.git)
- all other layers you might want to use
For each of the downloaded layer make sure you checkout the release of Yocto
@@ -56,8 +57,9 @@ Here are the main steps to create an arm-autonomy project:
bitbake-layers add-layer $LAYERDIR_BASE/meta-poky $LAYERDIR_BASE/meta-yocto-bsp \
$LAYERDIR_BASE/meta-openembedded/meta-oe $LAYERDIR_BASE/meta-openembedded/meta-python \
$LAYERDIR_BASE/meta-openembedded/meta-filesystems $LAYERDIR_BASE/meta-openembedded/meta-networking \
$LAYERDIR_BASE/meta-virtualization $LAYERDIR_BASE/meta-arm/meta-arm-autonomy \
$LAYERDIR_BASE/meta-arm/meta-arm $LAYERDIR_BASE/meta-arm/meta-arm-bsp
$LAYERDIR_BASE/meta-virtualization $LAYERDIR_BASE/meta-kernel \
$LAYERDIR_BASE/meta-arm/meta-arm $LAYERDIR_BASE/meta-arm/meta-arm-toolchain \
$LAYERDIR_BASE/meta-arm/meta-arm-bsp $LAYERDIR_BASE/meta-arm/meta-arm-autonomy \
```
Example of a `conf/bblayers.conf`:
@@ -71,12 +73,17 @@ Here are the main steps to create an arm-autonomy project:
/home/user/arm-autonomy/meta-openembedded/meta-filesystems \
/home/user/arm-autonomy/meta-openembedded/meta-networking \
/home/user/arm-autonomy/meta-virtualization \
/home/user/arm-autonomy/meta-arm/meta-arm-autonomy \
/home/user/arm-autonomy/meta-kernel \
/home/user/arm-autonomy/meta-arm/meta-arm \
/home/user/arm-autonomy/meta-arm/meta-arm-toolchain \
/home/user/arm-autonomy/meta-arm/meta-arm-bsp \
/home/user/arm-autonomy/meta-arm/meta-arm-autonomy \
"
```
Be aware that changing the order may break some dependencies if editing the
config file manually.
Those steps will have to be done for each project you will have to create.
Host project
@@ -115,10 +122,6 @@ To boot the system using an u-boot base board you will need to:
In this example the addresses might need to be adapted depending on your board.
For arm-autonomy host on FVP-Base u-boot has been modified such that
`booti 0x84000000 - 0x83000000` is the default boot command. If FVP-Base is your
MACHINE target there should be no need to interfere with u-boot.
Guest project
-------------
The guest projects are not target specific and will use a Yocto MACHINE defined
@@ -0,0 +1,29 @@
Customizing Arm Autonomy Host image layout for N1SDP
====================================================
When buiding with `DISTRO_FEATURES += "arm-autonomy-host"` the user can
perform a couple of customizations in the generated wic image:
1. Set the guest partition size (default: 4iG) via `GUEST_PART_SIZE` and
`GUEST_PART_SIZE_UNIT` (M or G) variables to be set in any conf file. The
value of these variables should be aligned with the sum of all
XENGUEST_IMAGE_DISK_SIZE set for the guests. By default, LVM2 metadata is
1 MiB per physical volume, hence it needs to be taken into account when
setting GUEST_PART_SIZE.
2. The wic image partition layout and contents with a custom wks file via
`ARM_AUTONOMY_WKS_FILE` variable (default:
arm-autonomy-n1sdp-efidisk.wks.in which is affected by GUEST_PART_SIZE,
GUEST_PART_SIZE_UNIT and GRUB_CFG_FILE variables).
3. Custom grub.cfg file via `GRUB_CFG_FILE` (default:
arm-autonomy-n1sdp-grub.cfg) variable to be set in any conf file. The full
path or relative to `ARM_AUTONOMY_WKS_FILE` should be set.
The `arm-autonomy-n1sdp-efidisk.wks.in` and `arm-autonomy-n1sdp-grub.cfg` files
are located at `meta-arm-autonomy/dynamic-layers/meta-arm-bsp/wic`.
Other variables can also be custmized to set what files need to be included
in the wic image boot partition. Please refer to
`meta-arm-autonomy/dynamic-layers/meta-arm-bsp/conf/machine/n1sdp-extra-settings.inc`
for more details.
@@ -99,6 +99,8 @@ For a detailed help on available operations, please use:
times to add several command line options.
- --xen-device-tree=FILE: add dtb FILE as device tree. This both adding the
file to the image and modifying the xen configuration to use it.
- --xen-ramdisk=FILE: add ramdisk FILE as guest ramdisk. This both adding the
file to the image and modifying the xen configuration to use it.
- --init-script=FILE: add guest init script. The script is embedded inside the
image file. Several script can be added and the basename of FILE is used to
distinguish them (calling the option twice with the same file will update the
@@ -1,49 +0,0 @@
xenguest network bridge
=======================
Introduction
------------
xenguest-network-bridge is creating a network bridge to allow some guests to
have a direct connection to the external network.
To do this, a bridge is created on the host using brctl with the network
interfaces added to it so that the bridge is connected to the external network.
It is also adding a guest init script which will, for guests configured to use
it, create a virtual network interface for the guest and connect it to the
network bridge on the host.
Usage
-----
On the host the package xenguest-network-bridge must be included in your image.
On the xenguest image of your guest, the parameter NETWORK_BRIDGE must be set
to 1 (using xenguest-mkimage --set-param=NETWORK_BRIDGE=1).
Bitbake parameters
------------------
Several parameters are available to configure the xenguest network bridge
during Yocto project compilation (those can be set in your project local.conf,
for example).
The following parameters are available:
- XENGUEST_NETWORK_BRIDGE_NAME: This variable defines the name of the network
bridge that is created on the host during init.
This is set by default to "xenbr0".
- XENGUEST_NETWORK_BRIDGE_MEMBERS: This variable defines the list of network
interfaces that are added to the bridge when it is created on the host during
init.
This is set by default to "eth0".
- XENGUEST_NETWORK_BRIDGE_CONFIG: This variable defines the configuration file
to use to configure the bridge network. By default it points to have file
configuring the network using dhcp.
You can provide a different file using a bbappend and make this variable
point to it if you want to customize your network configuration.
- XENGUEST_IMAGE_NETWORK_BRIDGE: This variable can be set to 0 or 1 on guest
projects to enable or not the connection of the guest to the host bridge.
This is set by default to "1".
@@ -0,0 +1,76 @@
Xenguest Network
================
Introduction
------------
The xenguest-network package is primarly creating a network bridge to share
the host eth physical interfaces with the guests virtual interfaces (vif).
This way the guests can have access to the external network.
At the moment 3 types of network arrangements are provided:
- Bridge: where the guest vif is added to the created bridge interface;
- NAT: where a private subnet is created for the guest, a dhcpd is started on
the host to serve the guest and the proper iptables rules are created to
allow the guest to access the external network;
- None: the guest vif is not connected to the bridge.
Usage
-----
On the host project the package xenguest-network must be included in your
image, and on the guest project the XENGUEST_NETWORK_TYPE needs to be set to
"bridge", "nat" or "none".
Bitbake parameters
------------------
Several parameters are available to configure the xenguest network bridge
during Yocto project compilation (those can be set in your project local.conf
or xenguest-network.bbappend, for example).
The following parameters are available:
- XENGUEST_NETWORK_BRIDGE_NAME: This variable defines the name of the network
bridge that is created on the host during init.
This is set by default to "xenbr0".
- XENGUEST_NETWORK_BRIDGE_MEMBERS: This variable defines the list of the
physical network interfaces that are added to the bridge when it is created
on the host during init.
By default no physical interfaces are added.
- XENGUEST_NETWORK_BRIDGE_CONFIG: This variable defines the configuration file
to use to configure the bridge network. By default it points to have file
configuring the network using dhcp.
You can provide a different file using a bbappend and make this variable
point to it if you want to customize your network configuration.
- XENGUEST_IMAGE_NETWORK_TYPE: This variable can be set to "bridge" (default),
"nat" or "none".
The **bridge** type will add the domU vif interface to a bridge which also
contains the dom0 physical interface giving the guest direct access to the
external network.
The **nat** type will setup a private network between dom0 and domU, setup
the appropriate routing table, configure and run the dhcpd on dom0 to serve
the domU and apply the iptables rules to allow the guest to acess the
external network. The dhcpd configuration for the guest can be customised by
replacing the
"meta-arm-autonomy/recipes-extended/xenguest/files/dhcpd-params.cfg" file
in a xenguest-network.bbappend. The dhcpd-params.cfg file is installed in
the xenguest image and copied to
"/etc/xenguest/guests/${guestname}/files/dhcpd-params.cfg" when the guest
image is created. It will be consumed by the
"/etc/xen/scripts/vif-post.d/00-vif-xenguest.hook" script which is called by
"/etc/xen/scripts/vif-nat" script when starting/stopping the xenguest.
In the guest project, the NAT port forward can be customised by changing
the XENGUEST_IMAGE_HOST_PORT (default: "1000 + ${domid}") and
XENGUEST_IMAGE_GUEST_PORT (default: "22") variables in local.conf or
xenguest-base-image.bbappend. This configuration is implemented and installed
in "/etc/xenguest/guests/${guestname}/files/00-xenguest-nat-port-forward.hook"
script which is called by "/etc/xen/scripts/vif-post.d/00-vif-xenguest.hook".
The **none** type will not affect any networking setting between on dom0 and
domU.
@@ -0,0 +1,7 @@
# Require extra machine specific settings
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE ?= ""
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE_n1sdp = "n1sdp-extra-settings.inc"
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE_fvp-base = "fvp-base-extra-settings.inc"
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE_juno = "juno-extra-settings.inc"
require ${ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE}
@@ -0,0 +1,7 @@
# Extra machine settings for fvp-base
# FVP uses vda as hard drive and partition 2 is the
# default rootfs, so use vda3 for guest lvm
XENGUEST_MANAGER_VOLUME_DEVICE ?= "/dev/vda3"
XENGUEST_NETWORK_BRIDGE_MEMBERS ?= "eth0"
@@ -0,0 +1,4 @@
# Extra machine settings for juno
# Juno board has 2 network interfaces, add both of them to the bridge
XENGUEST_NETWORK_BRIDGE_MEMBERS ?= "eth0 eth1"
@@ -0,0 +1,40 @@
# Extra machine settings for n1sdp
# We need to extent the wks search path to be able to find the wks file set in
# ARM_AUTONOMY_WKS_FILE.
WKS_SEARCH_PATH_prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
ARM_AUTONOMY_WKS_FILE ?= "arm-autonomy-n1sdp-efidisk.wks.in"
WKS_FILE = "${ARM_AUTONOMY_WKS_FILE}"
# Set the wks guest partition size and unit. It must be aligned with the sum of
# all XENGUEST_IMAGE_DISK_SIZE set for the guests. By default, LVM2 metadata is
# 1 MiB per physical volume, hence it needs to be taken into account when
# setting GUEST_PART_SIZE. The XENGUEST_IMAGE_DISK_SIZE default value is 4GiB.
GUEST_PART_SIZE ?= "4097"
GUEST_PART_SIZE_UNIT ?= "M"
# The GRUB_CFG_FILE affects arm-autonomy-n1sdp-efidisk.wks.in file
GRUB_CFG_FILE ?= "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic/arm-autonomy-n1sdp-grub.cfg"
# From arm-autonomy-n1sdp-efidisk.wks.in, the /boot partition is /dev/sda1, and
# the "/" partition is /dev/sda2.
XENGUEST_MANAGER_VOLUME_DEVICE ?= "/dev/sda3"
XENGUEST_NETWORK_BRIDGE_MEMBERS ?= "eth0"
# The XEN_DEVICETREE_DEPEND and XEN_DEVICETREE_DTBS variables aftect the
# xen-devicetree.bb recipe
XEN_DEVICETREE_DEPEND = "virtual/trusted-firmware-a:do_deploy"
XEN_DEVICETREE_DTBS ?= "n1sdp-single-chip.dtb"
# XEN_MOD_DEVICETREE_DTBS are the generated devicetrees for Xen. By default the
# xen-devicetree.bb recipe adds '-xen' suffix to it
XEN_MOD_DEVICETREE_DTBS ?= "n1sdp-single-chip-xen.dtb"
# When generating the wic image we need to have the xen deployed
do_image_wic[depends] += "xen:do_deploy"
# Select the extra files to be included in the boot partition
IMAGE_EFI_BOOT_FILES += "xen-n1sdp.efi;xen.efi"
IMAGE_EFI_BOOT_FILES += "${XEN_MOD_DEVICETREE_DTBS}"
@@ -11,29 +11,31 @@
/delete-node/ pmu;
/delete-node/ spe-pmu;
/*
* disable IOMMU until we have a proper support in xen
*/
/delete-node/ iommu@4f000000;
/delete-node/ iommu@4f400000;
soc {
/*
* disable IOMMU until we have a proper support in xen
*/
/delete-node/ iommu@4f000000;
/delete-node/ iommu@4f400000;
/*
* Set extra registers required for PCI quirks to communicate with SCP
* and remove invalid properties due to removal
*/
pcie@68000000 {
reg = <0 0x68000000 0 0x1200000>,
<0 0x06000000 0 0x80000>,
<0 0x62000000 0 0x80000>;
/delete-property/ msi-map;
/delete-property/ iommu-map;
};
/*
* Set extra registers required for PCI quirks to communicate with SCP
* and remove invalid properties due to removal
*/
pcie@68000000 {
reg = <0 0x68000000 0 0x1200000>,
<0 0x06000000 0 0x80000>,
<0 0x62000000 0 0x80000>;
/delete-property/ msi-map;
/delete-property/ iommu-map;
};
pcie@70000000 {
reg = <0 0x70000000 0 0x1200000>,
<0 0x06000000 0 0x80000>,
<0 0x60000000 0 0x80000>;
/delete-property/ msi-map;
/delete-property/ iommu-map;
pcie@70000000 {
reg = <0 0x70000000 0 0x1200000>,
<0 0x06000000 0 0x80000>,
<0 0x60000000 0 0x80000>;
/delete-property/ msi-map;
/delete-property/ iommu-map;
};
};
};
@@ -9,17 +9,15 @@ XEN_DEVICETREE_DTSI_MERGE_append_juno = " xen-juno.dtsi"
# Add a dtb snippet to remove pmu and iommu in dom0 on N1SDP
SRC_URI_append_n1sdp = " file://xen-n1sdp.dtsi"
XEN_DEVICETREE_DTSI_MERGE_append_n1sdp = " xen-n1sdp.dtsi"
# For N1SDP, the XEN_DEVICETREE_DEPEND and XEN_DEVICETREE_DTBS variables are
# being set in meta-arm-autonomy/dynamic-layers/meta-arm-bsp/conf/machine/n1sdp-extra-settings.inc
# Board specific configs
XEN_DEVICETREE_DOM0_BOOTARGS_append_juno = " root=/dev/sda1 rootwait"
XEN_DEVICETREE_XEN_BOOTARGS_append_juno = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
XEN_DEVICETREE_DOM0_BOOTARGS_append_n1sdp = " root=/dev/sda1 rootwait"
XEN_DEVICETREE_DOM0_BOOTARGS_append_n1sdp = " root=/dev/sda2 rootwait"
XEN_DEVICETREE_XEN_BOOTARGS_append_n1sdp = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
XEN_DEVICETREE_DOM0_BOOTARGS_append_fvp-base = " root=/dev/vda2"
XEN_DEVICETREE_XEN_BOOTARGS_append_fvp-base = " console=dtuart dtuart=serial0 bootscrub=0"
XEN_DEVICETREE_DOM0_BOOTARGS_append_foundation-armv8 = " root=/dev/vda2"
XEN_DEVICETREE_XEN_BOOTARGS_append_foundation-armv8 = " console=dtuart dtuart=serial0 bootscrub=0"
@@ -1,44 +0,0 @@
From a41feccdb6c03f12bddb4fb650a0465f0ed6eeca Mon Sep 17 00:00:00 2001
From: Lukas Juenger <juenger@ice.rwth-aachen.de>
Date: Fri, 5 Apr 2019 15:54:04 +0200
Subject: [PATCH] xen/arm: Cap the number of interrupt lines for dom0
Dom0 vGIC will use the same number of interrupt lines as the hardware GIC.
While the hardware GIC can support up to 1020 interrupt lines,
the vGIC is only supporting up to 992 interrupt lines.
This means that Xen will not be able to boot on platforms where the hardware
GIC supports more than 992 interrupt lines.
While it would make sense to increase the limits in the vGICs, this is not
trivial because of the design choices.
At the moment, only models seem to report the maximum of interrupt lines.
They also do not have any interrupt wired above the 992 limit.
So it should be fine to cap the number of interrupt lines for dom0 to 992 lines.
Signed-off-by: Lukas Juenger <juenger@ice.rwth-aachen.de>
Acked-by: Julien Grall <julien.grall@arm.com>
---
xen/arch/arm/setup.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 444857a967..ccb0f181ea 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -888,7 +888,13 @@ void __init start_xen(unsigned long boot_phys_offset,
/* Create initial domain 0. */
/* The vGIC for DOM0 is exactly emulating the hardware GIC */
dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
- dom0_cfg.arch.nr_spis = gic_number_lines() - 32;
+ /*
+ * Xen vGIC supports a maximum of 992 interrupt lines.
+ * 32 are substracted to cover local IRQs.
+ */
+ dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) - 32;
+ if ( gic_number_lines() > 992 )
+ printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
dom0_cfg.max_vcpus = dom0_max_vcpus();
dom0 = domain_create(0, &dom0_cfg, true);
--
2.17.1
@@ -0,0 +1,2 @@
CONFIG_DEBUG=y
CONFIG_EARLY_PRINTK_FASTMODEL=y
@@ -1,73 +0,0 @@
#
# Automatically generated file; DO NOT EDIT.
# Xen/arm 4.12.0 Configuration
#
CONFIG_64BIT=y
CONFIG_ARM_64=y
CONFIG_ARM=y
CONFIG_ARCH_DEFCONFIG="arch/arm/configs/arm64_defconfig"
#
# Architecture Features
#
CONFIG_NR_CPUS=128
CONFIG_GICV3=y
CONFIG_HVM=y
# CONFIG_NEW_VGIC is not set
CONFIG_SBSA_VUART_CONSOLE=y
CONFIG_ARM_SSBD=y
CONFIG_HARDEN_BRANCH_PREDICTOR=y
#
# ARM errata workaround via the alternative framework
#
CONFIG_ARM64_ERRATUM_827319=y
CONFIG_ARM64_ERRATUM_824069=y
CONFIG_ARM64_ERRATUM_819472=y
CONFIG_ARM64_ERRATUM_832075=y
CONFIG_ARM64_ERRATUM_834220=y
CONFIG_ARM64_HARDEN_BRANCH_PREDICTOR=y
CONFIG_ALL_PLAT=y
# CONFIG_QEMU is not set
# CONFIG_RCAR3 is not set
# CONFIG_MPSOC is not set
# CONFIG_NO_PLAT is not set
CONFIG_ALL64_PLAT=y
# CONFIG_ALL32_PLAT is not set
CONFIG_MPSOC_PLATFORM=y
#
# Common Features
#
CONFIG_HAS_ALTERNATIVE=y
CONFIG_HAS_DEVICE_TREE=y
CONFIG_MEM_ACCESS=y
CONFIG_HAS_PDX=y
# CONFIG_XSM is not set
CONFIG_SCHED_CREDIT=y
CONFIG_SCHED_CREDIT2=y
CONFIG_SCHED_RTDS=y
# CONFIG_SCHED_ARINC653 is not set
CONFIG_SCHED_NULL=y
CONFIG_SCHED_DEFAULT="credit2"
# CONFIG_LIVEPATCH is not set
CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS=y
CONFIG_CMDLINE=""
CONFIG_DOM0_MEM=""
#
# Device Drivers
#
CONFIG_HAS_NS16550=y
CONFIG_HAS_CADENCE_UART=y
CONFIG_HAS_MVEBU=y
CONFIG_HAS_PL011=y
CONFIG_HAS_SCIF=y
CONFIG_HAS_PASSTHROUGH=y
CONFIG_ARM_SMMU=y
CONFIG_DEFCONFIG_LIST="arch/arm/configs/arm64_defconfig"
#
# Debugging Options
#
# CONFIG_DEBUG is not set
@@ -1,73 +0,0 @@
#
# Automatically generated file; DO NOT EDIT.
# Xen/arm 4.12.0 Configuration
#
CONFIG_64BIT=y
CONFIG_ARM_64=y
CONFIG_ARM=y
CONFIG_ARCH_DEFCONFIG="arch/arm/configs/arm64_defconfig"
#
# Architecture Features
#
CONFIG_NR_CPUS=128
CONFIG_GICV3=y
CONFIG_HVM=y
# CONFIG_NEW_VGIC is not set
CONFIG_SBSA_VUART_CONSOLE=y
CONFIG_ARM_SSBD=y
CONFIG_HARDEN_BRANCH_PREDICTOR=y
#
# ARM errata workaround via the alternative framework
#
CONFIG_ARM64_ERRATUM_827319=y
CONFIG_ARM64_ERRATUM_824069=y
CONFIG_ARM64_ERRATUM_819472=y
CONFIG_ARM64_ERRATUM_832075=y
CONFIG_ARM64_ERRATUM_834220=y
CONFIG_ARM64_HARDEN_BRANCH_PREDICTOR=y
CONFIG_ALL_PLAT=y
# CONFIG_QEMU is not set
# CONFIG_RCAR3 is not set
# CONFIG_MPSOC is not set
# CONFIG_NO_PLAT is not set
CONFIG_ALL64_PLAT=y
# CONFIG_ALL32_PLAT is not set
CONFIG_MPSOC_PLATFORM=y
#
# Common Features
#
CONFIG_HAS_ALTERNATIVE=y
CONFIG_HAS_DEVICE_TREE=y
CONFIG_MEM_ACCESS=y
CONFIG_HAS_PDX=y
# CONFIG_XSM is not set
CONFIG_SCHED_CREDIT=y
CONFIG_SCHED_CREDIT2=y
CONFIG_SCHED_RTDS=y
# CONFIG_SCHED_ARINC653 is not set
CONFIG_SCHED_NULL=y
CONFIG_SCHED_DEFAULT="credit2"
# CONFIG_LIVEPATCH is not set
CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS=y
CONFIG_CMDLINE=""
CONFIG_DOM0_MEM=""
#
# Device Drivers
#
CONFIG_HAS_NS16550=y
CONFIG_HAS_CADENCE_UART=y
CONFIG_HAS_MVEBU=y
CONFIG_HAS_PL011=y
CONFIG_HAS_SCIF=y
CONFIG_HAS_PASSTHROUGH=y
CONFIG_ARM_SMMU=y
CONFIG_DEFCONFIG_LIST="arch/arm/configs/arm64_defconfig"
#
# Debugging Options
#
# CONFIG_DEBUG is not set
@@ -0,0 +1,2 @@
CONFIG_DEBUG=y
CONFIG_EARLY_PRINTK_JUNO=y
@@ -1,100 +0,0 @@
#
# Automatically generated file; DO NOT EDIT.
# Xen/arm 4.12.2 Configuration
#
CONFIG_64BIT=y
CONFIG_ARM_64=y
CONFIG_ARM=y
CONFIG_ARCH_DEFCONFIG="arch/arm/configs/arm64_defconfig"
#
# Architecture Features
#
CONFIG_NR_CPUS=128
CONFIG_ACPI=y
CONFIG_GICV3=y
CONFIG_HAS_ITS=y
CONFIG_HVM=y
# CONFIG_NEW_VGIC is not set
CONFIG_SBSA_VUART_CONSOLE=y
CONFIG_ARM_SSBD=y
CONFIG_HARDEN_BRANCH_PREDICTOR=y
#
# ARM errata workaround via the alternative framework
#
CONFIG_ARM64_ERRATUM_827319=y
CONFIG_ARM64_ERRATUM_824069=y
CONFIG_ARM64_ERRATUM_819472=y
CONFIG_ARM64_ERRATUM_832075=y
CONFIG_ARM64_ERRATUM_834220=y
CONFIG_ARM64_HARDEN_BRANCH_PREDICTOR=y
CONFIG_ALL_PLAT=y
# CONFIG_QEMU is not set
# CONFIG_RCAR3 is not set
# CONFIG_MPSOC is not set
# CONFIG_NO_PLAT is not set
CONFIG_ALL64_PLAT=y
# CONFIG_ALL32_PLAT is not set
CONFIG_MPSOC_PLATFORM=y
#
# Common Features
#
CONFIG_HAS_ALTERNATIVE=y
CONFIG_HAS_DEVICE_TREE=y
# CONFIG_MEM_ACCESS is not set
CONFIG_HAS_PDX=y
# CONFIG_TMEM is not set
CONFIG_XSM=y
CONFIG_XSM_FLASK=y
CONFIG_XSM_FLASK_AVC_STATS=y
# CONFIG_XSM_FLASK_POLICY is not set
CONFIG_XSM_SILO=y
# CONFIG_XSM_DUMMY_DEFAULT is not set
# CONFIG_XSM_FLASK_DEFAULT is not set
CONFIG_XSM_SILO_DEFAULT=y
# CONFIG_ARGO is not set
#
# Schedulers
#
CONFIG_SCHED_CREDIT=y
CONFIG_SCHED_CREDIT2=y
CONFIG_SCHED_RTDS=y
# CONFIG_SCHED_ARINC653 is not set
CONFIG_SCHED_NULL=y
# CONFIG_SCHED_CREDIT_DEFAULT is not set
CONFIG_SCHED_CREDIT2_DEFAULT=y
# CONFIG_SCHED_RTDS_DEFAULT is not set
# CONFIG_SCHED_NULL_DEFAULT is not set
CONFIG_SCHED_DEFAULT="credit2"
# CONFIG_LIVEPATCH is not set
CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS=y
CONFIG_CMDLINE=""
CONFIG_DOM0_MEM=""
#
# Device Drivers
#
CONFIG_HAS_NS16550=y
CONFIG_HAS_CADENCE_UART=y
CONFIG_HAS_MVEBU=y
CONFIG_HAS_PL011=y
CONFIG_HAS_SCIF=y
CONFIG_HAS_PASSTHROUGH=y
CONFIG_ARM_SMMU=y
CONFIG_DEFCONFIG_LIST="arch/arm/configs/arm64_defconfig"
#
# Debugging Options
#
# CONFIG_DEBUG is not set
CONFIG_DEBUG_INFO=y
# CONFIG_FRAME_POINTER is not set
# CONFIG_COVERAGE is not set
# CONFIG_LOCK_PROFILE is not set
# CONFIG_PERF_COUNTERS is not set
CONFIG_VERBOSE_DEBUG=y
# CONFIG_DEVICE_TREE_DEBUG is not set
# CONFIG_SCRUB_DEBUG is not set
@@ -0,0 +1,3 @@
CONFIG_DEBUG=y
CONFIG_EARLY_UART_CHOICE_PL011=y
CONFIG_EARLY_UART_BASE_ADDRESS=0x2a400000
@@ -0,0 +1,5 @@
CONFIG_EXPERT=y
# Enable ACPI support
CONFIG_ACPI=y
# Enable ARM Interrupt Translation Service (ITS) emulation
CONFIG_HAS_ITS=y
@@ -1,32 +1,15 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
# Machine specific settings
XEN_CONFIG_EARLY_PRINTK_juno = "juno"
XEN_CONFIG_EARLY_PRINTK_gem5-arm64 = "vexpress"
XEN_CONFIG_EARLY_PRINTK_fvp-base = "fastmodel"
XEN_CONFIG_EARLY_PRINTK_foundation-armv8 = "fastmodel"
XEN_CONFIG_EARLY_PRINTK_n1sdp = "pl011,0x2a400000"
# Foundation-armv8 support
COMPATIBLE_MACHINE_foundation-armv8 = "foundation-armv8"
SRC_URI_append_foundation-armv8 = " file://fvp/defconfig"
# FVP Base support
COMPATIBLE_MACHINE_fvp-base = "fvp-base"
SRC_URI_append_fvp-base = " file://fvp/defconfig"
FILESEXTRAPATHS_prepend_fvp-base := "${THISDIR}/files:"
SRC_URI_append_fvp-base = " file://early-printk.cfg"
# Juno support
COMPATIBLE_MACHINE_juno = "juno"
SRC_URI_append_juno = " file://juno/defconfig"
# Gem5 support
# Fix problem with number of interrupts on gem5
SRC_URI_append_gem5-arm64 = " file://4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch"
FILESEXTRAPATHS_prepend_juno := "${THISDIR}/files:"
SRC_URI_append_juno = " file://early-printk.cfg"
# N1SDP support
COMPATIBLE_MACHINE_n1sdp = "n1sdp"
SRC_URI_append_n1sdp = " file://n1sdp/defconfig"
FILESEXTRAPATHS_prepend_n1sdp := "${THISDIR}/files:"
SRC_URI_append_n1sdp = " file://n1sdp.cfg \
file://early-printk.cfg"
@@ -1,6 +0,0 @@
# Board specific configuration for the manager
# FVP and Foundation are using vda as hard drive and partition 2 is the
# default rootfs, so use vda3 for guest lvm
XENGUEST_MANAGER_VOLUME_DEVICE_foundation-armv8 ?= "/dev/vda3"
XENGUEST_MANAGER_VOLUME_DEVICE_fvp-base ?= "/dev/vda3"
@@ -1,10 +0,0 @@
XENGUEST_NETWORK_BRIDGE_MEMBERS_n1sdp ?= "eth0"
XENGUEST_NETWORK_BRIDGE_MEMBERS_fvp-base ?= "eth0"
XENGUEST_NETWORK_BRIDGE_MEMBERS_foundation-armv8 ?= "eth0"
XENGUEST_NETWORK_BRIDGE_MEMBERS_gem5-arm64 ?= "eth0"
# Juno board has 2 network interfaces, add both of them to the bridge
XENGUEST_NETWORK_BRIDGE_MEMBERS_juno ?= "eth0 eth1"
@@ -12,6 +12,4 @@ LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE = "${@bb.utils.contains_any('DISTRO_FEATURE
'arm-autonomy-host arm-autonomy-guest', \
' features/arm-autonomy/disable-arm64-sve.scc','',d)}"
KERNEL_FEATURES_append_gem5-arm64 = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}"
KERNEL_FEATURES_append_fvp-base = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}"
KERNEL_FEATURES_append_foundation-armv8 = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}"
@@ -0,0 +1,14 @@
# short-description: Create an EFI disk image
# long-description: Creates a partitioned EFI disk image that the user
# can directly dd to boot media. Uses a custom grub.cfg file to configure the boot.
# First boot partition normally populated as /dev/sda1
part /boot --source bootimg-efi --sourceparams="loader=grub-efi" --ondisk sda --label msdos --active --align 1024
# Second rootfs partition normally populated as /dev/sda2
part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 1024
# Third partition to accomodate guests images normally populated as /dev/sda3 (used by XENGUEST_MANAGER_VOLUME_DEVICE)
part --label guests --source empty --ondisk sda --size="${GUEST_PART_SIZE}${GUEST_PART_SIZE_UNIT}" --system-id 8e --align 1024
bootloader --ptable msdos --configfile="${GRUB_CFG_FILE}"
@@ -0,0 +1,28 @@
set term="vt100"
set default="3"
set timeout="5"
set kernel_cmdline="earlycon=pl011,0x2A400000 console=ttyAMA0,115200 root=/dev/sda2 rootwait"
menuentry 'N1SDP ACPI Boot' {
linux /Image $kernel_cmdline acpi=force
}
menuentry 'N1SDP Single-Chip Boot (Device Tree)' {
devicetree /n1sdp-single-chip.dtb
linux /Image $kernel_cmdline
}
menuentry 'N1SDP Multi-Chip Boot (Device Tree)' {
devicetree /n1sdp-multi-chip.dtb
linux /Image $kernel_cmdline
}
menuentry 'N1SDP Arm Autonomy (Xen) Single-Chip Boot (Device Tree)' {
# no_argumants under here is a workaround for a bug
# also any kernel or dom0 cmdline arguments has to be passed via dtb
# because any arguments put here will be ignored by xen
xen_hypervisor /xen.efi no_arguments=use_dtb_for_xen_or_kernel_cmdline
xen_module /Image
devicetree /n1sdp-single-chip-xen.dtb
}
@@ -0,0 +1,2 @@
CONFIG_DEBUG=y
CONFIG_EARLY_PRINTK_VEXPRESS=y
@@ -0,0 +1,4 @@
# gem5-arm64 support
COMPATIBLE_MACHINE_gem5-arm64 = "gem5-arm64"
FILESEXTRAPATHS_prepend_gem5-arm64 := "${THISDIR}/files:"
SRC_URI_append_gem5-arm64 = " file://early-printk.cfg"
@@ -0,0 +1 @@
XENGUEST_NETWORK_BRIDGE_MEMBERS_gem5-arm64 ?= "eth0"
@@ -0,0 +1,4 @@
# 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
@@ -0,0 +1,3 @@
define KFEATURE_DESCRIPTION "Disable SVE support"
kconf non-hardware disable-arm64-sve.cfg
@@ -0,0 +1,15 @@
FILESEXTRAPATHS_prepend_gem5-arm64 := "${THISDIR}:"
#
# arm-autonomy kmeta extra
#
SRC_URI_append_gem5-arm64 = " file://arm-autonomy-kmeta-extra-gem5;type=kmeta;name=arm-autonomy-kmeta-extra-gem5;destsuffix=arm-autonomy-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_ARM_AUTONOMY_DISABLE_ARM64_SVE_gem5-arm64 = "${@bb.utils.contains_any('DISTRO_FEATURES', \
'arm-autonomy-host arm-autonomy-guest', \
' features/arm-autonomy/disable-arm64-sve.scc','',d)}"
KERNEL_FEATURES_append_gem5-arm64 = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}"
@@ -0,0 +1 @@
GRUB_BUILDIN += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'xen_boot', '', d)}"
@@ -1,16 +0,0 @@
Upstream Status: Inappropriate [meta-arm-autonomy specifc u-boot config]
Signed-off-by: Nathan Dunne <nathan.dunne@arm.com>
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h
index e63c335f85..9ee050a4a6 100644
--- a/include/configs/vexpress_aemv8a.h
+++ b/include/configs/vexpress_aemv8a.h
@@ -162,7 +162,7 @@
#elif CONFIG_TARGET_VEXPRESS64_BASE_FVP
#define CONFIG_EXTRA_ENV_SETTINGS \
"kernel_name=Image\0" \
- "kernel_addr=0x80080000\0" \
+ "kernel_addr=0x84000000\0" \
"initrd_name=ramdisk.img\0" \
"initrd_addr=0x88000000\0" \
"fdtfile=devtree.dtb\0" \
@@ -1,9 +0,0 @@
# Machine specific u-boot
FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:"
#
# FVP BASE
#
SRC_URI_append_fvp-base = "${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ' file://xen_u-boot_kernel_addr.patch', '', d)}"
@@ -0,0 +1,4 @@
For now, arm-autonomy-host-image-minimal installs the dhcp-server package and
the dchp-4.4.2 depends on bind 9.11 which recipe was copied from oe-core tree
https://git.openembedded.org/openembedded-core/tree/meta/recipes-connectivity/bind?id=087e4fafeef82cfd3d71402d6b200fe831f48697
since it got removed in the https://git.openembedded.org/openembedded-core/commit/meta/recipes-connectivity?id=29949cd7cf3a660fb3bcf251f5127a4cdb2804ec patch.
@@ -0,0 +1,27 @@
From 31dde3562f287429eea94b77250d184818b49063 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 15 Oct 2018 16:55:09 +0800
Subject: [PATCH] avoid start failure with bind user
Upstream-Status: Pending
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
init.d | 1 +
1 file changed, 1 insertion(+)
diff --git a/init.d b/init.d
index b2eec60..6e03936 100644
--- a/init.d
+++ b/init.d
@@ -57,6 +57,7 @@ case "$1" in
modprobe capability >/dev/null 2>&1 || true
if [ ! -f /etc/bind/rndc.key ]; then
/usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom
+ chown root:bind /etc/bind/rndc.key >/dev/null 2>&1 || true
chmod 0640 /etc/bind/rndc.key
fi
if [ -f /var/run/named/named.pid ]; then
--
2.7.4
@@ -0,0 +1,30 @@
From 2325a92f1896a2a7f586611686801b41fbc91b50 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 27 Aug 2018 15:00:51 +0800
Subject: [PATCH] configure.in: remove useless `-L$use_openssl/lib'
Since `--with-openssl=${STAGING_DIR_HOST}${prefix}' is used in bind recipe,
the `-L$use_openssl/lib' has a hardcoded suffix, removing it is harmless
and helpful for clean up host build path in isc-config.sh
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index e85a5c6..2bbfc58 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1631,7 +1631,7 @@ If you don't want OpenSSL, use --without-openssl])
fi
;;
*)
- DST_OPENSSL_LIBS="-L$use_openssl/lib -lcrypto"
+ DST_OPENSSL_LIBS="-lcrypto"
;;
esac
fi
@@ -0,0 +1,34 @@
From a3af4a405baf5ff582e82aaba392dd9667d94bdc Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 27 Aug 2018 21:24:20 +0800
Subject: [PATCH] `named/lwresd -V' and start log hide build options
The build options expose build path directories, so hide them.
[snip]
$ named -V
|built by make with *** (options are hidden)
[snip]
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
bin/named/include/named/globals.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bin/named/include/named/globals.h b/bin/named/include/named/globals.h
index ba3457e..7741da7 100644
--- a/bin/named/include/named/globals.h
+++ b/bin/named/include/named/globals.h
@@ -68,7 +68,7 @@ EXTERN const char * ns_g_version INIT(VERSION);
EXTERN const char * ns_g_product INIT(PRODUCT);
EXTERN const char * ns_g_description INIT(DESCRIPTION);
EXTERN const char * ns_g_srcid INIT(SRCID);
-EXTERN const char * ns_g_configargs INIT(CONFIGARGS);
+EXTERN const char * ns_g_configargs INIT("*** (options are hidden)");
EXTERN const char * ns_g_builder INIT(BUILDER);
EXTERN in_port_t ns_g_port INIT(0);
EXTERN isc_dscp_t ns_g_dscp INIT(-1);
--
2.7.4
@@ -0,0 +1,47 @@
From edda20fb5a6e88548f85e39d34d6c074306e15bc Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Tue, 9 Jun 2015 11:22:00 -0400
Subject: [PATCH] bind: ensure searching for json headers searches sysroot
Bind can fail configure by detecting headers w/o libs[1], or
it can fail the host contamination check as per below:
ERROR: This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities.
Rerun configure task after fixing this. The path was 'build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/build'
ERROR: Function failed: do_qa_configure
ERROR: Logfile of failure stored in: build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/temp/log.do_configure.5242
ERROR: Task 5 (meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 773 tasks of which 768 didn't need to be rerun and 1 failed.
No currently running tasks (773 of 781)
Summary: 1 task failed:
/meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure
One way to fix it would be to unconditionally disable json in bind
configure[2] but here we fix it by using the path to where we would
put the header if we had json in the sysroot, in case someone wants
to make use of the combination some day.
[1] https://trac.macports.org/ticket/45305
[2] https://trac.macports.org/changeset/126406
Upstream-Status: Inappropriate [OE Specific]
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 17392fd..e85a5c6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2449,7 +2449,7 @@ case "$use_libjson" in
libjson_libs=""
;;
auto|yes)
- for d in /usr /usr/local /opt/local
+ for d in "${STAGING_INCDIR}"
do
if test -f "${d}/include/json/json.h"
then
@@ -0,0 +1,2 @@
# startup options for the server
OPTIONS="-u bind"
@@ -0,0 +1,330 @@
Upstream-Status: Inappropriate [configuration]
the patch is imported from openembedded project
11/30/2010 - Qing He <qing.he@intel.com>
diff -urN bind-9.3.1.orig/conf/db.0 bind-9.3.1/conf/db.0
--- bind-9.3.1.orig/conf/db.0 1970-01-01 01:00:00.000000000 +0100
+++ bind-9.3.1/conf/db.0 2005-07-10 22:14:00.000000000 +0200
@@ -0,0 +1,12 @@
+;
+; BIND reverse data file for broadcast zone
+;
+$TTL 604800
+@ IN SOA localhost. root.localhost. (
+ 1 ; Serial
+ 604800 ; Refresh
+ 86400 ; Retry
+ 2419200 ; Expire
+ 604800 ) ; Negative Cache TTL
+;
+@ IN NS localhost.
diff -urN bind-9.3.1.orig/conf/db.127 bind-9.3.1/conf/db.127
--- bind-9.3.1.orig/conf/db.127 1970-01-01 01:00:00.000000000 +0100
+++ bind-9.3.1/conf/db.127 2005-07-10 22:14:00.000000000 +0200
@@ -0,0 +1,13 @@
+;
+; BIND reverse data file for local loopback interface
+;
+$TTL 604800
+@ IN SOA localhost. root.localhost. (
+ 1 ; Serial
+ 604800 ; Refresh
+ 86400 ; Retry
+ 2419200 ; Expire
+ 604800 ) ; Negative Cache TTL
+;
+@ IN NS localhost.
+1.0.0 IN PTR localhost.
diff -urN bind-9.3.1.orig/conf/db.empty bind-9.3.1/conf/db.empty
--- bind-9.3.1.orig/conf/db.empty 1970-01-01 01:00:00.000000000 +0100
+++ bind-9.3.1/conf/db.empty 2005-07-10 22:14:00.000000000 +0200
@@ -0,0 +1,14 @@
+; BIND reverse data file for empty rfc1918 zone
+;
+; DO NOT EDIT THIS FILE - it is used for multiple zones.
+; Instead, copy it, edit named.conf, and use that copy.
+;
+$TTL 86400
+@ IN SOA localhost. root.localhost. (
+ 1 ; Serial
+ 604800 ; Refresh
+ 86400 ; Retry
+ 2419200 ; Expire
+ 86400 ) ; Negative Cache TTL
+;
+@ IN NS localhost.
diff -urN bind-9.3.1.orig/conf/db.255 bind-9.3.1/conf/db.255
--- bind-9.3.1.orig/conf/db.255 1970-01-01 01:00:00.000000000 +0100
+++ bind-9.3.1/conf/db.255 2005-07-10 22:14:00.000000000 +0200
@@ -0,0 +1,12 @@
+;
+; BIND reserve data file for broadcast zone
+;
+$TTL 604800
+@ IN SOA localhost. root.localhost. (
+ 1 ; Serial
+ 604800 ; Refresh
+ 86400 ; Retry
+ 2419200 ; Expire
+ 604800 ) ; Negative Cache TTL
+;
+@ IN NS localhost.
diff -urN bind-9.3.1.orig/conf/db.local bind-9.3.1/conf/db.local
--- bind-9.3.1.orig/conf/db.local 1970-01-01 01:00:00.000000000 +0100
+++ bind-9.3.1/conf/db.local 2005-07-10 22:14:00.000000000 +0200
@@ -0,0 +1,13 @@
+;
+; BIND data file for local loopback interface
+;
+$TTL 604800
+@ IN SOA localhost. root.localhost. (
+ 1 ; Serial
+ 604800 ; Refresh
+ 86400 ; Retry
+ 2419200 ; Expire
+ 604800 ) ; Negative Cache TTL
+;
+@ IN NS localhost.
+@ IN A 127.0.0.1
diff -urN bind-9.3.1.orig/conf/db.root bind-9.3.1/conf/db.root
--- bind-9.3.1.orig/conf/db.root 1970-01-01 01:00:00.000000000 +0100
+++ bind-9.3.1/conf/db.root 2005-07-10 22:14:00.000000000 +0200
@@ -0,0 +1,45 @@
+
+; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net.
+;; global options: printcmd
+;; Got answer:
+;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18944
+;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
+
+;; QUESTION SECTION:
+;. IN NS
+
+;; ANSWER SECTION:
+. 518400 IN NS A.ROOT-SERVERS.NET.
+. 518400 IN NS B.ROOT-SERVERS.NET.
+. 518400 IN NS C.ROOT-SERVERS.NET.
+. 518400 IN NS D.ROOT-SERVERS.NET.
+. 518400 IN NS E.ROOT-SERVERS.NET.
+. 518400 IN NS F.ROOT-SERVERS.NET.
+. 518400 IN NS G.ROOT-SERVERS.NET.
+. 518400 IN NS H.ROOT-SERVERS.NET.
+. 518400 IN NS I.ROOT-SERVERS.NET.
+. 518400 IN NS J.ROOT-SERVERS.NET.
+. 518400 IN NS K.ROOT-SERVERS.NET.
+. 518400 IN NS L.ROOT-SERVERS.NET.
+. 518400 IN NS M.ROOT-SERVERS.NET.
+
+;; ADDITIONAL SECTION:
+A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4
+B.ROOT-SERVERS.NET. 3600000 IN A 192.228.79.201
+C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12
+D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90
+E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10
+F.ROOT-SERVERS.NET. 3600000 IN A 192.5.5.241
+G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4
+H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53
+I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17
+J.ROOT-SERVERS.NET. 3600000 IN A 192.58.128.30
+K.ROOT-SERVERS.NET. 3600000 IN A 193.0.14.129
+L.ROOT-SERVERS.NET. 3600000 IN A 198.32.64.12
+M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33
+
+;; Query time: 81 msec
+;; SERVER: 198.41.0.4#53(a.root-servers.net.)
+;; WHEN: Sun Feb 1 11:27:14 2004
+;; MSG SIZE rcvd: 436
+
diff -urN bind-9.3.1.orig/conf/named.conf bind-9.3.1/conf/named.conf
--- bind-9.3.1.orig/conf/named.conf 1970-01-01 01:00:00.000000000 +0100
+++ bind-9.3.1/conf/named.conf 2005-07-10 22:33:46.000000000 +0200
@@ -0,0 +1,49 @@
+// This is the primary configuration file for the BIND DNS server named.
+//
+// If you are just adding zones, please do that in /etc/bind/named.conf.local
+
+include "/etc/bind/named.conf.options";
+
+// prime the server with knowledge of the root servers
+zone "." {
+ type hint;
+ file "/etc/bind/db.root";
+};
+
+// be authoritative for the localhost forward and reverse zones, and for
+// broadcast zones as per RFC 1912
+
+zone "localhost" {
+ type master;
+ file "/etc/bind/db.local";
+};
+
+zone "127.in-addr.arpa" {
+ type master;
+ file "/etc/bind/db.127";
+};
+
+zone "0.in-addr.arpa" {
+ type master;
+ file "/etc/bind/db.0";
+};
+
+zone "255.in-addr.arpa" {
+ type master;
+ file "/etc/bind/db.255";
+};
+
+// zone "com" { type delegation-only; };
+// zone "net" { type delegation-only; };
+
+// From the release notes:
+// Because many of our users are uncomfortable receiving undelegated answers
+// from root or top level domains, other than a few for whom that behaviour
+// has been trusted and expected for quite some length of time, we have now
+// introduced the "root-delegations-only" feature which applies delegation-only
+// logic to all top level domains, and to the root domain. An exception list
+// should be specified, including "MUSEUM" and "DE", and any other top level
+// domains from whom undelegated responses are expected and trusted.
+// root-delegation-only exclude { "DE"; "MUSEUM"; };
+
+include "/etc/bind/named.conf.local";
diff -urN bind-9.3.1.orig/conf/named.conf.local bind-9.3.1/conf/named.conf.local
--- bind-9.3.1.orig/conf/named.conf.local 1970-01-01 01:00:00.000000000 +0100
+++ bind-9.3.1/conf/named.conf.local 2005-07-10 22:14:06.000000000 +0200
@@ -0,0 +1,8 @@
+//
+// Do any local configuration here
+//
+
+// Consider adding the 1918 zones here, if they are not used in your
+// organization
+//include "/etc/bind/zones.rfc1918";
+
diff -urN bind-9.3.1.orig/conf/named.conf.options bind-9.3.1/conf/named.conf.options
--- bind-9.3.1.orig/conf/named.conf.options 1970-01-01 01:00:00.000000000 +0100
+++ bind-9.3.1/conf/named.conf.options 2005-07-10 22:14:06.000000000 +0200
@@ -0,0 +1,24 @@
+options {
+ directory "/var/cache/bind";
+
+ // If there is a firewall between you and nameservers you want
+ // to talk to, you might need to uncomment the query-source
+ // directive below. Previous versions of BIND always asked
+ // questions using port 53, but BIND 8.1 and later use an unprivileged
+ // port by default.
+
+ // query-source address * port 53;
+
+ // If your ISP provided one or more IP addresses for stable
+ // nameservers, you probably want to use them as forwarders.
+ // Uncomment the following block, and insert the addresses replacing
+ // the all-0's placeholder.
+
+ // forwarders {
+ // 0.0.0.0;
+ // };
+
+ auth-nxdomain no; # conform to RFC1035
+
+};
+
diff -urN bind-9.3.1.orig/conf/zones.rfc1918 bind-9.3.1/conf/zones.rfc1918
--- bind-9.3.1.orig/conf/zones.rfc1918 1970-01-01 01:00:00.000000000 +0100
+++ bind-9.3.1/conf/zones.rfc1918 2005-07-10 22:14:10.000000000 +0200
@@ -0,0 +1,20 @@
+zone "10.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+
+zone "16.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "17.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "18.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "19.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "20.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "21.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "22.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "23.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "24.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "25.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "26.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "27.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "28.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "29.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "30.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+zone "31.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
+
+zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
diff -urN bind-9.3.1.orig/init.d bind-9.3.1/init.d
--- bind-9.3.1.orig/init.d 1970-01-01 01:00:00.000000000 +0100
+++ bind-9.3.1/init.d 2005-07-10 23:09:58.000000000 +0200
@@ -0,0 +1,70 @@
+#!/bin/sh
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# for a chrooted server: "-u bind -t /var/lib/named"
+# Don't modify this line, change or create /etc/default/bind9.
+OPTIONS=""
+
+test -f /etc/default/bind9 && . /etc/default/bind9
+
+test -x /usr/sbin/rndc || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting domain name service: named"
+
+ modprobe capability >/dev/null 2>&1 || true
+ if [ ! -f /etc/bind/rndc.key ]; then
+ /usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom
+ chmod 0640 /etc/bind/rndc.key
+ fi
+ if [ -f /var/run/named/named.pid ]; then
+ ps `cat /var/run/named/named.pid` > /dev/null && exit 1
+ fi
+
+ # dirs under /var/run can go away on reboots.
+ mkdir -p /var/run/named
+ mkdir -p /var/cache/bind
+ chmod 775 /var/run/named
+ chown root:bind /var/run/named >/dev/null 2>&1 || true
+
+ if [ ! -x /usr/sbin/named ]; then
+ echo "named binary missing - not starting"
+ exit 1
+ fi
+ if start-stop-daemon --start --quiet --exec /usr/sbin/named \
+ --pidfile /var/run/named/named.pid -- $OPTIONS; then
+ if [ -x /sbin/resolvconf ] ; then
+ echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo
+ fi
+ fi
+ echo "."
+ ;;
+
+ stop)
+ echo -n "Stopping domain name service: named"
+ if [ -x /sbin/resolvconf ]; then
+ /sbin/resolvconf -d lo
+ fi
+ /usr/sbin/rndc stop >/dev/null 2>&1
+ echo "."
+ ;;
+
+ reload)
+ /usr/sbin/rndc reload
+ ;;
+
+ restart|force-reload)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/bind {start|stop|reload|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
@@ -0,0 +1,8 @@
#!/bin/sh
if [ ! -s /etc/bind/rndc.key ]; then
echo -n "Generating /etc/bind/rndc.key:"
/usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom
chown root:bind /etc/bind/rndc.key
chmod 0640 /etc/bind/rndc.key
fi
@@ -0,0 +1,65 @@
Subject: init.d: add support for read-only rootfs
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
init.d | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/init.d b/init.d
index 0111ed4..24677c8 100644
--- a/init.d
+++ b/init.d
@@ -6,8 +6,48 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin
# Don't modify this line, change or create /etc/default/bind9.
OPTIONS=""
+test -f /etc/default/rcS && . /etc/default/rcS
test -f /etc/default/bind9 && . /etc/default/bind9
+# This function is here because it's possible that /var and / are on different partitions.
+is_on_read_only_partition () {
+ DIRECTORY=$1
+ dir=`readlink -f $DIRECTORY`
+ while true; do
+ if [ ! -d "$dir" ]; then
+ echo "ERROR: $dir is not a directory"
+ exit 1
+ else
+ for flag in `awk -v dir=$dir '{ if ($2 == dir) { print "FOUND"; split($4,FLAGS,",") } }; \
+ END { for (f in FLAGS) print FLAGS[f] }' < /proc/mounts`; do
+ [ "$flag" = "FOUND" ] && partition="read-write"
+ [ "$flag" = "ro" ] && { partition="read-only"; break; }
+ done
+ if [ "$dir" = "/" -o -n "$partition" ]; then
+ break
+ else
+ dir=`dirname $dir`
+ fi
+ fi
+ done
+ [ "$partition" = "read-only" ] && echo "yes" || echo "no"
+}
+
+bind_mount () {
+ olddir=$1
+ newdir=$2
+ mkdir -p $olddir
+ cp -a $newdir/* $olddir
+ mount --bind $olddir $newdir
+}
+
+# Deal with read-only rootfs
+if [ "$ROOTFS_READ_ONLY" = "yes" ]; then
+ [ "$VERBOSE" != "no" ] && echo "WARN: start bind service in read-only rootfs"
+ [ `is_on_read_only_partition /etc/bind` = "yes" ] && bind_mount /var/volatile/bind/etc /etc/bind
+ [ `is_on_read_only_partition /var/named` = "yes" ] && bind_mount /var/volatile/bind/named /var/named
+fi
+
test -x /usr/sbin/rndc || exit 0
case "$1" in
--
1.7.9.5
@@ -0,0 +1,42 @@
bind: make "/etc/init.d/bind stop" work
Upstream-Status: Inappropriate [configuration]
Add some configurations, make rndc command be able to controls
the named daemon.
Signed-off-by: Roy Li <rongqing.li@windriver.com>
---
conf/named.conf | 5 +++++
conf/rndc.conf | 5 +++++
2 files changed, 10 insertions(+), 0 deletions(-)
create mode 100644 conf/rndc.conf
diff --git a/conf/named.conf b/conf/named.conf
index 95829cf..c8899e7 100644
--- a/conf/named.conf
+++ b/conf/named.conf
@@ -47,3 +47,8 @@ zone "255.in-addr.arpa" {
// root-delegation-only exclude { "DE"; "MUSEUM"; };
include "/etc/bind/named.conf.local";
+include "/etc/bind/rndc.key" ;
+controls {
+ inet 127.0.0.1 allow { localhost; }
+ keys { rndc-key; };
+};
diff --git a/conf/rndc.conf b/conf/rndc.conf
new file mode 100644
index 0000000..a0b481d
--- /dev/null
+++ b/conf/rndc.conf
@@ -0,0 +1,5 @@
+include "/etc/bind/rndc.key";
+options {
+ default-server localhost;
+ default-key rndc-key;
+};
--
1.7.5.4
@@ -0,0 +1,22 @@
[Unit]
Description=Berkeley Internet Name Domain (DNS)
Wants=nss-lookup.target
Before=nss-lookup.target
After=network.target
[Service]
Type=forking
EnvironmentFile=-/etc/default/bind9
PIDFile=/run/named/named.pid
ExecStartPre=@SBINDIR@/generate-rndc-key.sh
ExecStart=@SBINDIR@/named $OPTIONS
ExecReload=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc reload > /dev/null 2>&1 || @BASE_BINDIR@/kill -HUP $MAINPID'
ExecStop=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc stop > /dev/null 2>&1 || @BASE_BINDIR@/kill -TERM $MAINPID'
PrivateTmp=true
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,140 @@
SUMMARY = "ISC Internet Domain Name Server"
HOMEPAGE = "http://www.isc.org/sw/bind/"
SECTION = "console/network"
LICENSE = "ISC & BSD"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bf39058a7f64b2a934ce14dc9ec1dd45"
DEPENDS = "openssl libcap zlib"
SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.gz \
file://conf.patch \
file://named.service \
file://bind9 \
file://generate-rndc-key.sh \
file://make-etc-initd-bind-stop-work.patch \
file://init.d-add-support-for-read-only-rootfs.patch \
file://bind-ensure-searching-for-json-headers-searches-sysr.patch \
file://0001-configure.in-remove-useless-L-use_openssl-lib.patch \
file://0001-named-lwresd-V-and-start-log-hide-build-options.patch \
file://0001-avoid-start-failure-with-bind-user.patch \
"
SRC_URI[sha256sum] = "afc6d8015006f1cabf699ff19f517bb8fd9c1811e5231f26baf51c3550262ac9"
UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
# stay at 9.11 until 9.16, from 9.16 follow the ESV versions divisible by 4
UPSTREAM_CHECK_REGEX = "(?P<pver>9.(11|16|20|24|28)(\.\d+)+(-P\d+)*)/"
# BIND >= 9.11.2 need dhcpd >= 4.4.0,
# don't report it here since dhcpd is already recent enough.
CVE_CHECK_WHITELIST += "CVE-2019-6470"
inherit autotools update-rc.d systemd useradd pkgconfig multilib_script multilib_header
MULTILIB_SCRIPTS = "${PN}:${bindir}/bind9-config ${PN}:${bindir}/isc-config.sh"
# PACKAGECONFIGs readline and libedit should NOT be set at same time
PACKAGECONFIG ?= "readline"
PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--without-libxml2,libxml2"
PACKAGECONFIG[readline] = "--with-readline=-lreadline,,readline"
PACKAGECONFIG[libedit] = "--with-readline=-ledit,,libedit"
PACKAGECONFIG[urandom] = "--with-randomdev=/dev/urandom,--with-randomdev=/dev/random,,"
PACKAGECONFIG[python3] = "--with-python=yes --with-python-install-dir=${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native,"
ENABLE_IPV6 = "--enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)}"
EXTRA_OECONF = " ${ENABLE_IPV6} --with-libtool --enable-threads \
--disable-devpoll --enable-epoll --with-gost=no \
--with-gssapi=no --with-ecdsa=yes --with-eddsa=no \
--with-lmdb=no \
--sysconfdir=${sysconfdir}/bind \
--with-openssl=${STAGING_DIR_HOST}${prefix} \
"
inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native distutils3-base', '', d)}
# dhcp needs .la so keep them
REMOVE_LIBTOOL_LA = "0"
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system --home ${localstatedir}/cache/bind --no-create-home \
--user-group bind"
INITSCRIPT_NAME = "bind"
INITSCRIPT_PARAMS = "defaults"
SYSTEMD_SERVICE_${PN} = "named.service"
do_install_prepend() {
# clean host path in isc-config.sh before the hardlink created
# by "make install":
# bind9-config -> isc-config.sh
sed -i -e "s,${STAGING_LIBDIR},${libdir}," ${B}/isc-config.sh
}
do_install_append() {
rmdir "${D}${localstatedir}/run"
rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
install -d -o bind "${D}${localstatedir}/cache/bind"
install -d "${D}${sysconfdir}/bind"
install -d "${D}${sysconfdir}/init.d"
install -m 644 ${S}/conf/* "${D}${sysconfdir}/bind/"
install -m 755 "${S}/init.d" "${D}${sysconfdir}/init.d/bind"
if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then
sed -i -e '1s,#!.*python3,#! /usr/bin/python3,' \
${D}${sbindir}/dnssec-coverage \
${D}${sbindir}/dnssec-checkds \
${D}${sbindir}/dnssec-keymgr
fi
# Install systemd related files
install -d ${D}${sbindir}
install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir}
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/named.service ${D}${systemd_unitdir}/system
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
${D}${systemd_unitdir}/system/named.service
install -d ${D}${sysconfdir}/default
install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d /run/named 0755 bind bind - -" > ${D}${sysconfdir}/tmpfiles.d/bind.conf
fi
oe_multilib_header isc/platform.h
}
CONFFILES_${PN} = " \
${sysconfdir}/bind/named.conf \
${sysconfdir}/bind/named.conf.local \
${sysconfdir}/bind/named.conf.options \
${sysconfdir}/bind/db.0 \
${sysconfdir}/bind/db.127 \
${sysconfdir}/bind/db.empty \
${sysconfdir}/bind/db.local \
${sysconfdir}/bind/db.root \
"
ALTERNATIVE_${PN}-utils = "nslookup"
ALTERNATIVE_LINK_NAME[nslookup] = "${bindir}/nslookup"
ALTERNATIVE_PRIORITY = "100"
PACKAGE_BEFORE_PN += "${PN}-utils"
FILES_${PN}-utils = "${bindir}/host ${bindir}/dig ${bindir}/mdig ${bindir}/nslookup ${bindir}/nsupdate"
FILES_${PN}-dev += "${bindir}/isc-config.h"
FILES_${PN} += "${sbindir}/generate-rndc-key.sh"
PACKAGE_BEFORE_PN += "${PN}-libs"
FILES_${PN}-libs = "${libdir}/*.so*"
FILES_${PN}-staticdev += "${libdir}/*.la"
PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-bind', '', d)}"
FILES_python3-bind = "${sbindir}/dnssec-coverage ${sbindir}/dnssec-checkds \
${sbindir}/dnssec-keymgr ${PYTHON_SITEPACKAGES_DIR}"
RDEPENDS_${PN}-dev = ""
RDEPENDS_python3-bind = "python3-core python3-ply"
@@ -0,0 +1,3 @@
For now, arm-autonomy-host-image-minimal installs the dhcp-server package and
the dchp recipe was copied from oe-core tree https://git.openembedded.org/openembedded-core/tree/meta/recipes-connectivity/dhcp?id=087e4fafeef82cfd3d71402d6b200fe831f48697
since it got removed in the https://git.openembedded.org/openembedded-core/commit/meta/recipes-connectivity?id=7e3357892f204788162747e907d68f857118cf42 patch.
@@ -0,0 +1,149 @@
SECTION = "console/network"
SUMMARY = "Internet Software Consortium DHCP package"
DESCRIPTION = "DHCP (Dynamic Host Configuration Protocol) is a protocol \
which allows individual devices on an IP network to get their own \
network configuration information from a server. DHCP helps make it \
easier to administer devices."
HOMEPAGE = "http://www.isc.org/"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;md5=004a4db50a1e20972e924a8618747c01"
DEPENDS = "openssl bind"
SRC_URI = "http://ftp.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \
file://init-relay file://default-relay \
file://init-server file://default-server \
file://dhclient.conf file://dhcpd.conf \
file://dhclient-systemd-wrapper \
file://dhclient.service \
file://dhcpd.service file://dhcrelay.service \
file://dhcpd6.service \
"
UPSTREAM_CHECK_URI = "http://ftp.isc.org/isc/dhcp/"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+\.\d+\.(\d+?))/"
inherit autotools-brokensep systemd useradd update-rc.d
USERADD_PACKAGES = "${PN}-server"
USERADD_PARAM_${PN}-server = "--system --no-create-home --home-dir /var/run/${BPN} --shell /bin/false --user-group ${BPN}"
SYSTEMD_PACKAGES = "${PN}-server ${PN}-relay ${PN}-client"
SYSTEMD_SERVICE_${PN}-server = "dhcpd.service dhcpd6.service"
SYSTEMD_AUTO_ENABLE_${PN}-server = "disable"
SYSTEMD_SERVICE_${PN}-relay = "dhcrelay.service"
SYSTEMD_AUTO_ENABLE_${PN}-relay = "disable"
SYSTEMD_SERVICE_${PN}-client = "dhclient.service"
SYSTEMD_AUTO_ENABLE_${PN}-client = "disable"
INITSCRIPT_PACKAGES = "dhcp-server"
INITSCRIPT_NAME_dhcp-server = "dhcp-server"
INITSCRIPT_PARAMS_dhcp-server = "defaults"
CFLAGS += "-D_GNU_SOURCE"
EXTRA_OECONF = "--with-srv-lease-file=${localstatedir}/lib/dhcp/dhcpd.leases \
--with-srv6-lease-file=${localstatedir}/lib/dhcp/dhcpd6.leases \
--with-cli-lease-file=${localstatedir}/lib/dhcp/dhclient.leases \
--with-cli6-lease-file=${localstatedir}/lib/dhcp/dhclient6.leases \
--enable-paranoia --disable-static \
--with-randomdev=/dev/random \
--with-libbind=${STAGING_DIR_HOST} \
--enable-libtool \
"
#Enable shared libs per dhcp README
do_configure_prepend () {
cp configure.ac+lt configure.ac
}
do_install_append () {
install -d ${D}${sysconfdir}/init.d
install -d ${D}${sysconfdir}/default
install -d ${D}${sysconfdir}/dhcp
install -m 0755 ${WORKDIR}/init-relay ${D}${sysconfdir}/init.d/dhcp-relay
install -m 0644 ${WORKDIR}/default-relay ${D}${sysconfdir}/default/dhcp-relay
install -m 0755 ${WORKDIR}/init-server ${D}${sysconfdir}/init.d/dhcp-server
install -m 0644 ${WORKDIR}/default-server ${D}${sysconfdir}/default/dhcp-server
rm -f ${D}${sysconfdir}/dhclient.conf*
rm -f ${D}${sysconfdir}/dhcpd.conf*
install -m 0644 ${WORKDIR}/dhclient.conf ${D}${sysconfdir}/dhcp/dhclient.conf
install -m 0644 ${WORKDIR}/dhcpd.conf ${D}${sysconfdir}/dhcp/dhcpd.conf
install -d ${D}${base_sbindir}/
if [ "${sbindir}" != "${base_sbindir}" ]; then
mv ${D}${sbindir}/dhclient ${D}${base_sbindir}/
fi
install -m 0755 ${S}/client/scripts/linux ${D}${base_sbindir}/dhclient-script
# Install systemd unit files
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/dhcpd.service ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/dhcpd6.service ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/dhcrelay.service ${D}${systemd_unitdir}/system
sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/dhcpd*.service ${D}${systemd_unitdir}/system/dhcrelay.service
sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcpd*.service
sed -i -e 's,@base_bindir@,${base_bindir},g' ${D}${systemd_unitdir}/system/dhcpd*.service
sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/dhcpd*.service
sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcrelay.service
install -d ${D}${base_sbindir}
install -m 0755 ${WORKDIR}/dhclient-systemd-wrapper ${D}${base_sbindir}/dhclient-systemd-wrapper
install -m 0644 ${WORKDIR}/dhclient.service ${D}${systemd_unitdir}/system
sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhclient.service
sed -i -e 's,@BASE_SBINDIR@,${base_sbindir},g' ${D}${systemd_unitdir}/system/dhclient.service
}
PACKAGES += "dhcp-libs dhcp-server dhcp-server-config dhcp-client dhcp-relay dhcp-omshell"
PACKAGES_remove = "${PN}"
RDEPENDS_${PN}-client += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'iproute2', '', d)}"
RDEPENDS_${PN}-dev = ""
RDEPENDS_${PN}-staticdev = ""
FILES_${PN}-libs = "${libdir}/libdhcpctl.so.0* ${libdir}/libomapi.so.0* ${libdir}/libdhcp.so.0*"
FILES_${PN}-server = "${sbindir}/dhcpd ${sysconfdir}/init.d/dhcp-server"
RRECOMMENDS_${PN}-server = "dhcp-server-config"
FILES_${PN}-server-config = "${sysconfdir}/default/dhcp-server ${sysconfdir}/dhcp/dhcpd.conf"
FILES_${PN}-relay = "${sbindir}/dhcrelay ${sysconfdir}/init.d/dhcp-relay ${sysconfdir}/default/dhcp-relay"
FILES_${PN}-client = "${base_sbindir}/dhclient \
${base_sbindir}/dhclient-script \
${sysconfdir}/dhcp/dhclient.conf \
${base_sbindir}/dhclient-systemd-wrapper \
"
FILES_${PN}-omshell = "${bindir}/omshell"
pkg_postinst_dhcp-server() {
mkdir -p $D/${localstatedir}/lib/dhcp
touch $D/${localstatedir}/lib/dhcp/dhcpd.leases
touch $D/${localstatedir}/lib/dhcp/dhcpd6.leases
}
pkg_postinst_dhcp-client() {
mkdir -p $D/${localstatedir}/lib/dhcp
}
pkg_postrm_dhcp-server() {
rm -f $D/${localstatedir}/lib/dhcp/dhcpd.leases
rm -f $D/${localstatedir}/lib/dhcp/dhcpd6.leases
if ! rmdir $D/${localstatedir}/lib/dhcp 2>/dev/null; then
echo "Not removing ${localstatedir}/lib/dhcp as it is non-empty."
fi
}
pkg_postrm_dhcp-client() {
rm -f $D/${localstatedir}/lib/dhcp/dhclient.leases
rm -f $D/${localstatedir}/lib/dhcp/dhclient6.leases
if ! rmdir $D/${localstatedir}/lib/dhcp 2>/dev/null; then
echo "Not removing ${localstatedir}/lib/dhcp as it is non-empty."
fi
}
@@ -0,0 +1,27 @@
From 7cc29144535a622fc671dc86eb1da65b0473a7c4 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 16:14:22 +0800
Subject: [PATCH 01/11] define macro _PATH_DHCPD_CONF and _PATH_DHCLIENT_CONF
Upstream-Status: Inappropriate [OE specific]
Rebase to 4.3.6
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
includes/site.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: dhcp-4.4.1/includes/site.h
===================================================================
--- dhcp-4.4.1.orig/includes/site.h
+++ dhcp-4.4.1/includes/site.h
@@ -148,7 +148,8 @@
/* Define this if you want the dhcpd.conf file to go somewhere other than
the default location. By default, it goes in /etc/dhcpd.conf. */
-/* #define _PATH_DHCPD_CONF "/etc/dhcpd.conf" */
+#define _PATH_DHCPD_CONF "/etc/dhcp/dhcpd.conf"
+#define _PATH_DHCLIENT_CONF "/etc/dhcp/dhclient.conf"
/* Network API definitions. You do not need to choose one of these - if
you don't choose, one will be chosen for you in your system's config
@@ -0,0 +1,65 @@
From eec0503cfc36f63d777f5cb3f2719cecedcb8468 Mon Sep 17 00:00:00 2001
From: Haris Okanovic <haris.okanovic@ni.com>
Date: Mon, 7 Jan 2019 13:22:09 -0600
Subject: [PATCH] Workaround busybox limitation in Linux dhclient-script
Busybox is a lightweight implementation of coreutils commonly used on
space-constrained embedded Linux distributions. It's implementation of
chown and chmod doesn't provide a "--reference" option added to
client/scripts/linux as of commit 9261cb14. This change works around
that limitation by using stat to read ownership and permissions flags
and simple chown/chmod calls supported in both coreutils and busybox.
modified: client/scripts/linux
Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Upstream-Status: Pending [ISC-Bugs #48771]
---
client/scripts/linux | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/client/scripts/linux b/client/scripts/linux
index 0c429697..2435a44b 100755
--- a/client/scripts/linux
+++ b/client/scripts/linux
@@ -32,6 +32,17 @@
# if your system holds ip tool in a non-standard location.
ip=/sbin/ip
+chown_chmod_by_reference() {
+ local reference_file="$1"
+ local target_file="$2"
+
+ local owner=$(stat -c "%u:%g" "$reference_file")
+ local perm=$(stat -c "%a" "$reference_file")
+
+ chown "$owner" "$target_file"
+ chmod "$perm" "$target_file"
+}
+
# update /etc/resolv.conf based on received values
# This updated version mostly follows Debian script by Andrew Pollock et al.
make_resolv_conf() {
@@ -74,8 +85,7 @@ make_resolv_conf() {
fi
if [ -f /etc/resolv.conf ]; then
- chown --reference=/etc/resolv.conf $new_resolv_conf
- chmod --reference=/etc/resolv.conf $new_resolv_conf
+ chown_chmod_by_reference /etc/resolv.conf $new_resolv_conf
fi
mv -f $new_resolv_conf /etc/resolv.conf
# DHCPv6
@@ -101,8 +111,7 @@ make_resolv_conf() {
fi
if [ -f /etc/resolv.conf ]; then
- chown --reference=/etc/resolv.conf $new_resolv_conf
- chmod --reference=/etc/resolv.conf $new_resolv_conf
+ chown_chmod_by_reference /etc/resolv.conf $new_resolv_conf
fi
mv -f $new_resolv_conf /etc/resolv.conf
fi
--
2.20.0
@@ -0,0 +1,117 @@
From be7540d31c356e80ee02e90e8bf162b7ac6e5ba5 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 14:56:56 +0800
Subject: [PATCH 02/11] dhclient dbus
Upstream-Status: Inappropriate [distribution]
Rebase to 4.3.6
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
client/scripts/bsdos | 5 +++++
client/scripts/freebsd | 5 +++++
client/scripts/linux | 5 +++++
client/scripts/netbsd | 5 +++++
client/scripts/openbsd | 5 +++++
client/scripts/solaris | 5 +++++
6 files changed, 30 insertions(+)
diff --git a/client/scripts/bsdos b/client/scripts/bsdos
index d69d0d8..095b143 100755
--- a/client/scripts/bsdos
+++ b/client/scripts/bsdos
@@ -45,6 +45,11 @@ exit_with_hooks() {
. /etc/dhclient-exit-hooks
fi
# probably should do something with exit status of the local script
+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
+ dbus-send --system --dest=com.redhat.dhcp \
+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
+ fi
exit $exit_status
}
diff --git a/client/scripts/freebsd b/client/scripts/freebsd
index 8f3e2a2..ad7fb44 100755
--- a/client/scripts/freebsd
+++ b/client/scripts/freebsd
@@ -89,6 +89,11 @@ exit_with_hooks() {
. /etc/dhclient-exit-hooks
fi
# probably should do something with exit status of the local script
+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
+ dbus-send --system --dest=com.redhat.dhcp \
+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
+ fi
exit $exit_status
}
diff --git a/client/scripts/linux b/client/scripts/linux
index 5fb1612..3d447b6 100755
--- a/client/scripts/linux
+++ b/client/scripts/linux
@@ -174,6 +174,11 @@ exit_with_hooks() {
exit_status=$?
fi
+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
+ dbus-send --system --dest=com.redhat.dhcp \
+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
+ fi
exit $exit_status
}
diff --git a/client/scripts/netbsd b/client/scripts/netbsd
index 07383b7..aaba8e8 100755
--- a/client/scripts/netbsd
+++ b/client/scripts/netbsd
@@ -45,6 +45,11 @@ exit_with_hooks() {
. /etc/dhclient-exit-hooks
fi
# probably should do something with exit status of the local script
+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
+ dbus-send --system --dest=com.redhat.dhcp \
+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
+ fi
exit $exit_status
}
diff --git a/client/scripts/openbsd b/client/scripts/openbsd
index e7f4746..56b980c 100644
--- a/client/scripts/openbsd
+++ b/client/scripts/openbsd
@@ -45,6 +45,11 @@ exit_with_hooks() {
. /etc/dhclient-exit-hooks
fi
# probably should do something with exit status of the local script
+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
+ dbus-send --system --dest=com.redhat.dhcp \
+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
+ fi
exit $exit_status
}
diff --git a/client/scripts/solaris b/client/scripts/solaris
index af553b9..4a2aa69 100755
--- a/client/scripts/solaris
+++ b/client/scripts/solaris
@@ -26,6 +26,11 @@ exit_with_hooks() {
. /etc/dhclient-exit-hooks
fi
# probably should do something with exit status of the local script
+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
+ dbus-send --system --dest=com.redhat.dhcp \
+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
+ fi
exit $exit_status
}
--
1.8.3.1
@@ -0,0 +1,35 @@
From d80bd792323dbd56269309f85b4506eb6b1b60e9 Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei@gherzan.ro>
Date: Tue, 15 Aug 2017 15:05:47 +0800
Subject: [PATCH 03/11] link with lcrypto
From 4.2.0 final release, -lcrypto check was removed and we compile
static libraries
from bind that are linked to libcrypto. This is why i added a patch in
order to add
-lcrypto to LIBS.
Upstream-Status: Pending
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Rebase to 4.3.6
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
configure.ac | 4 ++++
1 file changed, 4 insertions(+)
Index: dhcp-4.4.1/configure.ac
===================================================================
--- dhcp-4.4.1.orig/configure.ac
+++ dhcp-4.4.1/configure.ac
@@ -612,6 +612,10 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
# Look for optional headers.
AC_CHECK_HEADERS(sys/socket.h net/if_dl.h net/if6.h regex.h)
+# find an MD5 library
+AC_SEARCH_LIBS(MD5_Init, [crypto])
+AC_SEARCH_LIBS(MD5Init, [crypto])
+
# Solaris needs some libraries for functions
AC_SEARCH_LIBS(socket, [socket])
AC_SEARCH_LIBS(inet_ntoa, [nsl])
@@ -0,0 +1,95 @@
From cccec0344d68dac4100b6f260ee24e7c2da9dfda Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 15:08:22 +0800
Subject: [PATCH 04/11] Fix out of tree builds
Upstream-Status: Pending
RP 2013/03/21
Rebase to 4.3.6
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
client/Makefile.am | 4 ++--
common/Makefile.am | 3 ++-
dhcpctl/Makefile.am | 2 ++
omapip/Makefile.am | 1 +
relay/Makefile.am | 2 +-
server/Makefile.am | 2 +-
6 files changed, 9 insertions(+), 5 deletions(-)
Index: dhcp-4.4.1/common/Makefile.am
===================================================================
--- dhcp-4.4.1.orig/common/Makefile.am
+++ dhcp-4.4.1/common/Makefile.am
@@ -1,4 +1,5 @@
-AM_CPPFLAGS = -I$(top_srcdir) -DLOCALSTATEDIR='"@localstatedir@"'
+AM_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_srcdir) -DLOCALSTATEDIR='"@localstatedir@"'
+
AM_CFLAGS = $(LDAP_CFLAGS)
lib_LIBRARIES = libdhcp.a
Index: dhcp-4.4.1/dhcpctl/Makefile.am
===================================================================
--- dhcp-4.4.1.orig/dhcpctl/Makefile.am
+++ dhcp-4.4.1/dhcpctl/Makefile.am
@@ -3,6 +3,8 @@ BINDLIBDNSDIR=@BINDLIBDNSDIR@
BINDLIBISCCFGDIR=@BINDLIBISCCFGDIR@
BINDLIBISCDIR=@BINDLIBISCDIR@
+AM_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_srcdir)
+
bin_PROGRAMS = omshell
lib_LIBRARIES = libdhcpctl.a
noinst_PROGRAMS = cltest
Index: dhcp-4.4.1/server/Makefile.am
===================================================================
--- dhcp-4.4.1.orig/server/Makefile.am
+++ dhcp-4.4.1/server/Makefile.am
@@ -4,7 +4,7 @@
# production code. Sadly, we are not there yet.
SUBDIRS = . tests
-AM_CPPFLAGS = -I.. -DLOCALSTATEDIR='"@localstatedir@"'
+AM_CPPFLAGS = -I$(top_srcdir) -DLOCALSTATEDIR='"@localstatedir@"' -I$(top_srcdir)/includes
dist_sysconf_DATA = dhcpd.conf.example
sbin_PROGRAMS = dhcpd
Index: dhcp-4.4.1/client/Makefile.am
===================================================================
--- dhcp-4.4.1.orig/client/Makefile.am
+++ dhcp-4.4.1/client/Makefile.am
@@ -5,7 +5,7 @@
SUBDIRS = . tests
AM_CPPFLAGS = -DCLIENT_PATH='"PATH=$(sbindir):/sbin:/bin:/usr/sbin:/usr/bin"'
-AM_CPPFLAGS += -DLOCALSTATEDIR='"$(localstatedir)"'
+AM_CPPFLAGS += -DLOCALSTATEDIR='"$(localstatedir)"' -I$(top_srcdir)/includes
dist_sysconf_DATA = dhclient.conf.example
sbin_PROGRAMS = dhclient
Index: dhcp-4.4.1/omapip/Makefile.am
===================================================================
--- dhcp-4.4.1.orig/omapip/Makefile.am
+++ dhcp-4.4.1/omapip/Makefile.am
@@ -2,6 +2,7 @@ BINDLIBIRSDIR=@BINDLIBIRSDIR@
BINDLIBDNSDIR=@BINDLIBDNSDIR@
BINDLIBISCCFGDIR=@BINDLIBISCCFGDIR@
BINDLIBISCDIR=@BINDLIBISCDIR@
+AM_CPPFLAGS = -I$(top_srcdir)/includes
lib_LIBRARIES = libomapi.a
noinst_PROGRAMS = svtest
Index: dhcp-4.4.1/relay/Makefile.am
===================================================================
--- dhcp-4.4.1.orig/relay/Makefile.am
+++ dhcp-4.4.1/relay/Makefile.am
@@ -1,6 +1,6 @@
SUBDIRS = . tests
-AM_CPPFLAGS = -DLOCALSTATEDIR='"@localstatedir@"'
+AM_CPPFLAGS = -DLOCALSTATEDIR='"@localstatedir@"' -I$(top_srcdir)/includes
sbin_PROGRAMS = dhcrelay
dhcrelay_SOURCES = dhcrelay.c
@@ -0,0 +1,36 @@
From 2e8ff0e4f6d39e346ea86b8c514ab4ccc78fa359 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 15:24:14 +0800
Subject: [PATCH 05/11] dhcp-client: fix invoke dhclient-script failed on
Read-only file system
In read-only file system, '/etc' is on the readonly partition,
and '/etc/resolv.conf' is symlinked to a separate writable
partition.
In this situation, we create temp files 'resolv.conf.dhclient-new'
in /tmp dir.
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
client/scripts/linux | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client/scripts/linux b/client/scripts/linux
index 3d447b6..3122a75 100755
--- a/client/scripts/linux
+++ b/client/scripts/linux
@@ -40,7 +40,7 @@ make_resolv_conf() {
# DHCPv4
if [ -n "$new_domain_search" ] || [ -n "$new_domain_name" ] ||
[ -n "$new_domain_name_servers" ]; then
- new_resolv_conf=/etc/resolv.conf.dhclient-new
+ new_resolv_conf=/tmp/resolv.conf.dhclient-new
rm -f $new_resolv_conf
if [ -n "$new_domain_name" ]; then
--
1.8.3.1
@@ -0,0 +1,62 @@
From 7107511fd209f08f9a96f8938041ae48f3295895 Mon Sep 17 00:00:00 2001
From: Christopher Larson <chris_larson@mentor.com>
Date: Tue, 15 Aug 2017 16:17:49 +0800
Subject: [PATCH 07/11] Add configure argument to make the libxml2 dependency
explicit and determinisitic.
Upstream-Status: Pending
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Rebase to 4.3.6
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
configure.ac | 11 +++++++++++
1 file changed, 11 insertions(+)
Index: dhcp-4.4.1/configure.ac
===================================================================
--- dhcp-4.4.1.orig/configure.ac
+++ dhcp-4.4.1/configure.ac
@@ -642,6 +642,17 @@ if test "$have_nanosleep" = "rt"; then
LIBS="-lrt $LIBS"
fi
+AC_ARG_WITH(libxml2,
+ AS_HELP_STRING([--with-libxml2], [link against libxml2. this is needed if bind was built with xml2 support enabled]),
+ with_libxml2="$withval", with_libxml2="no")
+
+if test x$with_libxml2 != xno; then
+ AC_SEARCH_LIBS(xmlTextWriterStartElement, [xml2],
+ [if test x$with_libxml2 != xauto; then
+ AC_MSG_FAILURE([*** Cannot find xmlTextWriterStartElement with -lxml2 and libxml2 was requested])
+ fi])
+fi
+
# check for /dev/random (declares HAVE_DEV_RANDOM)
AC_MSG_CHECKING(for random device)
AC_ARG_WITH(randomdev,
Index: dhcp-4.4.1/configure.ac+lt
===================================================================
--- dhcp-4.4.1.orig/configure.ac+lt
+++ dhcp-4.4.1/configure.ac+lt
@@ -909,6 +909,18 @@ elif test "$want_libtool" = "yes" -a "$u
fi
AM_CONDITIONAL(INSTALL_BIND, test "$want_install_bind" = "yes")
+AC_ARG_WITH(libxml2,
+ AS_HELP_STRING([--with-libxml2], [link against libxml2. this is needed if bind was built with xml2 support enabled]),
+ with_libxml2="$withval", with_libxml2="no")
+
+if test x$with_libxml2 != xno; then
+ AC_SEARCH_LIBS(xmlTextWriterStartElement, [xml2],,
+ [if test x$with_libxml2 != xauto; then
+ AC_MSG_FAILURE([*** Cannot find xmlTextWriterStartElement with -lxml2 and libxml2 was requested])
+ fi])
+fi
+
+
# OpenLDAP support.
AC_ARG_WITH(ldap,
AS_HELP_STRING([--with-ldap],[enable OpenLDAP support in dhcpd (default is no)]),
@@ -0,0 +1,28 @@
From f3f8b7726e50e24ef3edf5fa5a17e31d39118d7e Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Tue, 15 Aug 2017 15:49:31 +0800
Subject: [PATCH 09/11] remove dhclient-script bash dependency
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Rebase to 4.3.6
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
client/scripts/linux | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client/scripts/linux b/client/scripts/linux
index 3122a75..1712d7d 100755
--- a/client/scripts/linux
+++ b/client/scripts/linux
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# dhclient-script for Linux. Dan Halbert, March, 1997.
# Updated for Linux 2.[12] by Brian J. Murrell, January 1999.
# No guarantees about this. I'm a novice at the details of Linux
--
1.8.3.1
@@ -0,0 +1,34 @@
From 501543b3ef715488a142e3d301ff2733aa33eec7 Mon Sep 17 00:00:00 2001
From: Awais Belal <awais_belal@mentor.com>
Date: Wed, 25 Oct 2017 21:00:05 +0500
Subject: [PATCH] dhcp: correct the intention for xml2 lib search
A missing case breaks the build when libxml2 is
required and found appropriately. The third argument
to the function AC_SEARCH_LIB is action-if-found which
was mistakenly been used for the case where the library
is not found and hence breaks the configure phase
where it shoud actually pass.
We now pass on silently when action-if-found is
executed.
Upstream-Status: Pending
Signed-off-by: Awais Belal <awais_belal@mentor.com>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: dhcp-4.4.1/configure.ac
===================================================================
--- dhcp-4.4.1.orig/configure.ac
+++ dhcp-4.4.1/configure.ac
@@ -647,7 +647,7 @@ AC_ARG_WITH(libxml2,
with_libxml2="$withval", with_libxml2="no")
if test x$with_libxml2 != xno; then
- AC_SEARCH_LIBS(xmlTextWriterStartElement, [xml2],
+ AC_SEARCH_LIBS(xmlTextWriterStartElement, [xml2],,
[if test x$with_libxml2 != xauto; then
AC_MSG_FAILURE([*** Cannot find xmlTextWriterStartElement with -lxml2 and libxml2 was requested])
fi])
@@ -0,0 +1,64 @@
lib and include path is hardcoded for use_libbind
use libdir and includedir vars
Upstream-Status: Pending
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Index: dhcp-4.4.1/configure.ac+lt
===================================================================
--- dhcp-4.4.1.orig/configure.ac+lt
+++ dhcp-4.4.1/configure.ac+lt
@@ -801,22 +801,22 @@ no)
if test ! -d "$use_libbind"; then
AC_MSG_ERROR([Cannot find bind directory at $use_libbind])
fi
- if test ! -d "$use_libbind/include" -o \
- ! -f "$use_libbind/include/isc/buffer.h"
+ if test ! -d "$use_libbind/$includedir" -o \
+ ! -f "$use_libbind/$includedir/isc/buffer.h"
then
- AC_MSG_ERROR([Cannot find bind includes at $use_libbind/include])
+ AC_MSG_ERROR([Cannot find bind includes at $use_libbind/$includedir])
fi
- if test ! -d "$use_libbind/lib" -o \
- \( ! -f "$use_libbind/lib/libisc.a" -a \
- ! -f "$use_libbind/lib/libisc.la" \)
+ if test ! -d "$use_libbind/$libdir" -o \
+ \( ! -f "$use_libbind/$libdir/libisc.a" -a \
+ ! -f "$use_libbind/$libdir/libisc.la" \)
then
- AC_MSG_ERROR([Cannot find bind libraries at $use_libbind/lib])
+ AC_MSG_ERROR([Cannot find bind libraries at $use_libbind/$libdir])
fi
BINDDIR="$use_libbind"
- BINDLIBIRSDIR="$BINDDIR/lib"
- BINDLIBDNSDIR="$BINDDIR/lib"
- BINDLIBISCCFGDIR="$BINDDIR/lib"
- BINDLIBISCDIR="$BINDDIR/lib"
+ BINDLIBIRSDIR="$BINDDIR/$libdir"
+ BINDLIBDNSDIR="$BINDDIR/$libdir"
+ BINDLIBISCCFGDIR="$BINDDIR/$libdir"
+ BINDLIBISCDIR="$BINDDIR/$libdir"
DISTCHECK_LIBBIND_CONFIGURE_FLAG="--with-libbind=$use_libbind"
;;
esac
@@ -856,14 +856,14 @@ AC_ARG_ENABLE(libtool,
if test "$use_libbind" != "no"; then
if test "$want_libtool" = "yes" -a \
- ! -f "$use_libbind/lib/libisc.la"
+ ! -f "$use_libbind/$libdir/libisc.la"
then
- AC_MSG_ERROR([Cannot find dynamic libraries at $use_libbind/lib])
+ AC_MSG_ERROR([Cannot find dynamic libraries at $use_libbind/$libdir])
fi
if test "$want_libtool" = "no" -a \
- ! -f "$use_libbind/lib/libisc.a"
+ ! -f "$use_libbind/$libdir/libisc.a"
then
- AC_MSG_ERROR([Cannot find static libraries at $use_libbind/lib])
+ AC_MSG_ERROR([Cannot find static libraries at $use_libbind/$libdir])
fi
fi
@@ -0,0 +1,23 @@
require dhcp.inc
SRC_URI += "file://0001-define-macro-_PATH_DHCPD_CONF-and-_PATH_DHCLIENT_CON.patch \
file://0002-dhclient-dbus.patch \
file://0003-link-with-lcrypto.patch \
file://0004-Fix-out-of-tree-builds.patch \
file://0005-dhcp-client-fix-invoke-dhclient-script-failed-on-Rea.patch \
file://0007-Add-configure-argument-to-make-the-libxml2-dependenc.patch \
file://0009-remove-dhclient-script-bash-dependency.patch \
file://0012-dhcp-correct-the-intention-for-xml2-lib-search.patch \
file://0013-fixup_use_libbind.patch \
file://0001-workaround-busybox-limitation-in-linux-dhclient-script.patch \
"
SRC_URI[md5sum] = "2afdaf8498dc1edaf3012efdd589b3e1"
SRC_URI[sha256sum] = "1a7ccd64a16e5e68f7b5e0f527fd07240a2892ea53fe245620f4f5f607004521"
LDFLAGS_append = " -pthread"
PACKAGECONFIG ?= ""
PACKAGECONFIG[bind-httpstats] = "--with-libxml2,--without-libxml2,libxml2"
CFLAGS += "-fcommon"
@@ -0,0 +1,12 @@
# Defaults for dhcp-relay initscript
# sourced by /etc/init.d/dhcp-relay
# What servers should the DHCP relay forward requests to?
# e.g: SERVERS="192.168.0.1"
SERVERS=""
# On what interfaces should the DHCP relay (dhrelay) serve DHCP requests?
INTERFACES=""
# Additional options that are passed to the DHCP relay daemon?
OPTIONS=""
@@ -0,0 +1,7 @@
# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp-server
# installed at /etc/default/dhcp-server by the maintainer scripts
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES=""
@@ -0,0 +1,39 @@
#!/bin/sh
# In case the interface is used for nfs, skip it.
nfsroot=0
interfaces=""
exec 9<&0 < /proc/mounts
while read dev mtpt fstype rest; do
if test $mtpt = "/" ; then
case $fstype in
nfs | nfs4)
nfsroot=1
nfs_addr=`echo $rest | sed -e 's/^.*addr=\([0-9.]*\).*$/\1/'`
break
;;
*)
;;
esac
fi
done
exec 0<&9 9<&-
if [ $nfsroot -eq 0 ]; then
interfaces="$INTERFACES"
else
if [ -x /bin/ip -o -x /sbin/ip ] ; then
nfs_iface=`ip route get $nfs_addr | grep dev | sed -e 's/^.*dev \([-a-z0-9.]*\).*$/\1/'`
fi
for i in $INTERFACES; do
if test "x$i" = "x$nfs_iface"; then
echo "dhclient skipping nfsroot interface $i"
else
interfaces="$interfaces $i"
fi
done
fi
if test "x$interfaces" != "x"; then
/sbin/dhclient -d -cf /etc/dhcp/dhclient.conf -q -lf /var/lib/dhcp/dhclient.leases $interfaces
fi
@@ -0,0 +1,50 @@
# Configuration file for /sbin/dhclient, which is included in Debian's
# dhcp3-client package.
#
# This is a sample configuration file for dhclient. See dhclient.conf's
# man page for more information about the syntax of this file
# and a more comprehensive list of the parameters understood by
# dhclient.
#
# Normally, if the DHCP server provides reasonable information and does
# not leave anything out (like the domain name, for example), then
# few changes must be made to this file, if any.
#
#send host-name "andare.fugue.com";
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
#send dhcp-lease-time 3600;
#supersede domain-name "fugue.com home.vix.com";
#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;
#require subnet-mask, domain-name-servers;
#timeout 60;
#retry 60;
#reboot 10;
#select-timeout 5;
#initial-interval 2;
#script "/etc/dhcp3/dhclient-script";
#media "-link0 -link1 -link2", "link0 link1";
#reject 192.33.137.209;
#alias {
# interface "eth0";
# fixed-address 192.5.5.213;
# option subnet-mask 255.255.255.255;
#}
#lease {
# interface "eth0";
# fixed-address 192.33.137.200;
# medium "link0 link1";
# option host-name "andare.swiftmedia.com";
# option subnet-mask 255.255.255.0;
# option broadcast-address 192.33.137.255;
# option routers 192.33.137.250;
# option domain-name-servers 127.0.0.1;
# renew 2 2000/1/12 00:00:01;
# rebind 2 2000/1/12 00:00:01;
# expire 2 2000/1/12 00:00:01;
#}
@@ -0,0 +1,13 @@
[Unit]
Description=Dynamic Host Configuration Protocol (DHCP)
Wants=network.target
Before=network.target
After=systemd-udevd.service
[Service]
EnvironmentFile=-@SYSCONFDIR@/default/dhcp-client
ExecStart=@BASE_SBINDIR@/dhclient-systemd-wrapper
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,108 @@
#
# Sample configuration file for ISC dhcpd for Debian
#
# $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $
#
# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style none;
# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.
#subnet 10.152.187.0 netmask 255.255.255.0 {
#}
# This is a very basic subnet declaration.
#subnet 10.254.239.0 netmask 255.255.255.224 {
# range 10.254.239.10 10.254.239.20;
# option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
#}
# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.
#subnet 10.254.239.32 netmask 255.255.255.224 {
# range dynamic-bootp 10.254.239.40 10.254.239.60;
# option broadcast-address 10.254.239.31;
# option routers rtr-239-32-1.example.org;
#}
# A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
# range 10.5.5.26 10.5.5.30;
# option domain-name-servers ns1.internal.example.org;
# option domain-name "internal.example.org";
# option routers 10.5.5.1;
# option broadcast-address 10.5.5.31;
# default-lease-time 600;
# max-lease-time 7200;
#}
# Hosts which require special configuration options can be listed in
# host statements. If no address is specified, the address will be
# allocated dynamically (if possible), but the host-specific information
# will still come from the host declaration.
#host passacaglia {
# hardware ethernet 0:0:c0:5d:bd:95;
# filename "vmunix.passacaglia";
# server-name "toccata.fugue.com";
#}
# Fixed IP addresses can also be specified for hosts. These addresses
# should not also be listed as being available for dynamic assignment.
# Hosts for which fixed IP addresses have been specified can boot using
# BOOTP or DHCP. Hosts for which no fixed address is specified can only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp flag
# set.
#host fantasia {
# hardware ethernet 08:00:07:26:c0:a5;
# fixed-address fantasia.fugue.com;
#}
# You can declare a class of clients and then do address allocation
# based on that. The example below shows a case where all clients
# in a certain class get addresses on the 10.17.224/24 subnet, and all
# other clients get addresses on the 10.0.29/24 subnet.
#class "foo" {
# match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
#}
#shared-network 224-29 {
# subnet 10.17.224.0 netmask 255.255.255.0 {
# option routers rtr-224.example.org;
# }
# subnet 10.0.29.0 netmask 255.255.255.0 {
# option routers rtr-29.example.org;
# }
# pool {
# allow members of "foo";
# range 10.17.224.10 10.17.224.250;
# }
# pool {
# deny members of "foo";
# range 10.0.29.10 10.0.29.230;
# }
#}
@@ -0,0 +1,15 @@
[Unit]
Description=DHCPv4 Server Daemon
Documentation=man:dhcpd(8) man:dhcpd.conf(5)
After=network.target
After=time-sync.target
[Service]
PIDFile=@localstatedir@/run/dhcpd.pid
EnvironmentFile=@SYSCONFDIR@/default/dhcp-server
EnvironmentFile=-@SYSCONFDIR@/sysconfig/dhcp-server
ExecStartPre=@base_bindir@/touch @localstatedir@/lib/dhcp/dhcpd.leases
ExecStart=@SBINDIR@/dhcpd -f -cf @SYSCONFDIR@/dhcp/dhcpd.conf -pf @localstatedir@/run/dhcpd.pid $DHCPDARGS -q $INTERFACES
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,15 @@
[Unit]
Description=DHCPv6 Server Daemon
Documentation=man:dhcpd(8) man:dhcpd.conf(5)
After=network.target
After=time-sync.target
[Service]
PIDFile=@localstatedir@/run/dhcpd6.pid
EnvironmentFile=@SYSCONFDIR@/default/dhcp-server
EnvironmentFile=-@SYSCONFDIR@/sysconfig/dhcpd6
ExecStartPre=@base_bindir@/touch @localstatedir@/lib/dhcp/dhcpd6.leases
ExecStart=@SBINDIR@/dhcpd -f -6 -cf @SYSCONFDIR@/dhcp/dhcpd6.conf -pf @localstatedir@/run/dhcpd6.pid $DHCPDARGS -q $INTERFACES
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,10 @@
[Unit]
Description=DHCP Relay Agent Daemon
After=network.target
[Service]
EnvironmentFile=@SYSCONFDIR@/default/dhcp-relay
ExecStart=@SBINDIR@/dhcrelay -d --no-pid -q $SERVERS
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,44 @@
#!/bin/sh
#
# $Id: dhcp3-relay,v 1.1 2004/04/16 15:41:08 ml Exp $
#
# It is not safe to start if we don't have a default configuration...
if [ ! -f /etc/default/dhcp-relay ]; then
echo "/etc/default/dhcp-relay does not exist! - Aborting..."
echo "create this file to fix the problem."
exit 1
fi
# Read init script configuration (interfaces the daemon should listen on
# and the DHCP server we should forward requests to.)
. /etc/default/dhcp-relay
# Build command line for interfaces (will be passed to dhrelay below.)
IFCMD=""
if test "$INTERFACES" != ""; then
for I in $INTERFACES; do
IFCMD=${IFCMD}"-i "${I}" "
done
fi
DHCRELAYPID=/var/run/dhcrelay.pid
case "$1" in
start)
start-stop-daemon -S -x /usr/sbin/dhcrelay -- -q $OPTIONS $IFCMD $SERVERS
;;
stop)
start-stop-daemon -K -x /usr/sbin/dhcrelay
;;
restart | force-reload)
$0 stop
sleep 2
$0 start
;;
*)
echo "Usage: /etc/init.d/dhcp-relay {start|stop|restart|force-reload}"
exit 1
esac
exit 0
@@ -0,0 +1,44 @@
#!/bin/sh
#
# $Id: dhcp3-server.init.d,v 1.4 2003/07/13 19:12:41 mdz Exp $
#
test -f /usr/sbin/dhcpd || exit 0
# It is not safe to start if we don't have a default configuration...
if [ ! -f /etc/default/dhcp-server ]; then
echo "/etc/default/dhcp-server does not exist! - Aborting..."
exit 0
fi
# Read init script configuration (so far only interfaces the daemon
# should listen on.)
. /etc/default/dhcp-server
case "$1" in
start)
echo -n "Starting DHCP server: "
test -d /var/lib/dhcp/ || mkdir -p /var/lib/dhcp/
test -f /var/lib/dhcp/dhcpd.leases || touch /var/lib/dhcp/dhcpd.leases
start-stop-daemon -S -x /usr/sbin/dhcpd -- -q $INTERFACES -user dhcp -group dhcp
echo "."
;;
stop)
echo -n "Stopping DHCP server: dhcpd3"
start-stop-daemon -K -x /usr/sbin/dhcpd
echo "."
;;
restart | force-reload)
$0 stop
sleep 2
$0 start
if [ "$?" != "0" ]; then
exit 1
fi
;;
*)
echo "Usage: /etc/init.d/dhcp-server {start|stop|restart|force-reload}"
exit 1
esac
exit 0

Some files were not shown because too many files have changed in this diff Show More