diff options
author | Mark Hatle <mark.hatle@xilinx.com> | 2021-12-15 13:52:16 -0800 |
---|---|---|
committer | Mark Hatle <mark.hatle@xilinx.com> | 2022-01-14 15:37:02 -0800 |
commit | f900c6a0c8908e370689235230094308ec419cf9 (patch) | |
tree | bd9ca83e452c263c7a421b826086048cf8130f34 /meta-xilinx-bsp/recipes-kernel | |
parent | aaddcc3f785404da04af9ea3d005f2f520b4ec9e (diff) | |
download | meta-xilinx-f900c6a0c8908e370689235230094308ec419cf9.tar.gz |
Initial restructure/split of meta-xilinx-bsp
Create a new meta-xilinx-core, move core functionality to the core, keeping
board specific files in the bsp layer.
zynqmp-generic changed from require <board> to include, so if meta-xilinx-bsp
is not available it will not fail.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
Diffstat (limited to 'meta-xilinx-bsp/recipes-kernel')
18 files changed, 0 insertions, 815 deletions
diff --git a/meta-xilinx-bsp/recipes-kernel/dp/kernel-module-dp_git.bb b/meta-xilinx-bsp/recipes-kernel/dp/kernel-module-dp_git.bb deleted file mode 100755 index 4d8bd265..00000000 --- a/meta-xilinx-bsp/recipes-kernel/dp/kernel-module-dp_git.bb +++ /dev/null | |||
@@ -1,24 +0,0 @@ | |||
1 | SUMMARY = "Xilinx DisplayPort Linux Kernel module" | ||
2 | DESCRIPTION = "Out-of-tree DisplayPort(DP) kernel modules provider for aarch64 devices" | ||
3 | SECTION = "kernel/modules" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" | ||
6 | |||
7 | XLNX_DP_VERSION = "5.10.0" | ||
8 | PV = "${XLNX_DP_VERSION}" | ||
9 | |||
10 | S = "${WORKDIR}/git" | ||
11 | |||
12 | BRANCH ?= "xlnx_rel_v2021.2" | ||
13 | REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https" | ||
14 | SRCREV ?= "46d4790c3d37ad4b878c5a1704df26edb56314f5" | ||
15 | |||
16 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
17 | SRC_URI = "${REPO};${BRANCHARG}" | ||
18 | |||
19 | inherit module | ||
20 | |||
21 | EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" | ||
22 | COMPATIBLE_MACHINE = "^$" | ||
23 | COMPATIBLE_MACHINE:zynqmp = "zynqmp" | ||
24 | COMPATIBLE_MACHINE:versal = "versal" | ||
diff --git a/meta-xilinx-bsp/recipes-kernel/dtc/python3-dtc_1.6.0.bb b/meta-xilinx-bsp/recipes-kernel/dtc/python3-dtc_1.6.0.bb deleted file mode 100644 index f57b2b19..00000000 --- a/meta-xilinx-bsp/recipes-kernel/dtc/python3-dtc_1.6.0.bb +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | SUMMARY = "Device Tree Compiler" | ||
2 | HOMEPAGE = "https://devicetree.org/" | ||
3 | DESCRIPTION = "The Device Tree Compiler is a tool used to manipulate the Open-Firmware-like device tree used by PowerPC kernels." | ||
4 | SECTION = "bootloader" | ||
5 | LICENSE = "GPLv2 | BSD" | ||
6 | DEPENDS = "flex-native bison-native swig-native" | ||
7 | |||
8 | SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git" | ||
9 | |||
10 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | ||
11 | |||
12 | LIC_FILES_CHKSUM = "file://libfdt.i;beginline=1;endline=6;md5=afda088c974174a29108c8d80b5dce90" | ||
13 | |||
14 | SRCREV = "2525da3dba9beceb96651dc2986581871dbeca30" | ||
15 | |||
16 | S = "${WORKDIR}/git/pylibfdt" | ||
17 | |||
18 | DEPENDS += "libyaml dtc" | ||
19 | |||
20 | inherit distutils3 | ||
21 | |||
22 | do_configure:prepend() { | ||
23 | (cd ${S}/../ ; make version_gen.h ) | ||
24 | } | ||
25 | |||
26 | BBCLASSEXTEND = "native nativesdk" | ||
27 | |||
diff --git a/meta-xilinx-bsp/recipes-kernel/hdmi/kernel-module-hdmi_git.bb b/meta-xilinx-bsp/recipes-kernel/hdmi/kernel-module-hdmi_git.bb deleted file mode 100644 index 65484fca..00000000 --- a/meta-xilinx-bsp/recipes-kernel/hdmi/kernel-module-hdmi_git.bb +++ /dev/null | |||
@@ -1,24 +0,0 @@ | |||
1 | SUMMARY = "Xilinx HDMI Linux Kernel module" | ||
2 | DESCRIPTION = "Out-of-tree HDMI kernel modules provider for MPSoC EG/EV devices" | ||
3 | SECTION = "kernel/modules" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=b34277fe156508fd5a650609dc36d1fe" | ||
6 | |||
7 | XLNX_HDMI_VERSION = "5.10.0" | ||
8 | PV = "${XLNX_HDMI_VERSION}" | ||
9 | |||
10 | S = "${WORKDIR}/git" | ||
11 | |||
12 | BRANCH ?= "xlnx_rel_v2021.2" | ||
13 | REPO ?= "git://github.com/Xilinx/hdmi-modules.git;protocol=https" | ||
14 | SRCREV = "aeb9f2c9a50c5e8dd4245454116c47f841f78825" | ||
15 | |||
16 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
17 | SRC_URI = "${REPO};${BRANCHARG}" | ||
18 | |||
19 | inherit module | ||
20 | |||
21 | EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" | ||
22 | COMPATIBLE_MACHINE = "^$" | ||
23 | COMPATIBLE_MACHINE:zynqmp = "zynqmp" | ||
24 | COMPATIBLE_MACHINE:versal = "versal" | ||
diff --git a/meta-xilinx-bsp/recipes-kernel/linux-firmware/linux-firmware-ti-bt.bb b/meta-xilinx-bsp/recipes-kernel/linux-firmware/linux-firmware-ti-bt.bb deleted file mode 100644 index 1ad8ae2e..00000000 --- a/meta-xilinx-bsp/recipes-kernel/linux-firmware/linux-firmware-ti-bt.bb +++ /dev/null | |||
@@ -1,65 +0,0 @@ | |||
1 | # TIInit_11.8.32.bts is required for bluetooth support but this particular | ||
2 | # version is not available in the linux-firmware repository. | ||
3 | # | ||
4 | SUMMARY = "TI Bluetooth firmware files for use with Linux kernel" | ||
5 | SECTION = "kernel" | ||
6 | |||
7 | LICENSE = "Firmware-ti-bt" | ||
8 | |||
9 | LIC_FILES_CHKSUM = "file://LICENSE.ti-bt;md5=f39eac9f4573be5b012e8313831e72a9" | ||
10 | |||
11 | # No common license for this, so be sure to include it | ||
12 | NO_GENERIC_LICENSE[Firmware-ti-bt] = "LICENSE.ti-bt" | ||
13 | |||
14 | SRC_URI = "git://git.ti.com/ti-bt/service-packs.git;protocol=https" | ||
15 | SRCREV = "c290f8af9e388f37e509ecb111a1b64572b7c225" | ||
16 | |||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | inherit allarch | ||
20 | |||
21 | CLEANBROKEN = "1" | ||
22 | |||
23 | do_unpack[postfuncs] += "rename_license" | ||
24 | |||
25 | rename_license() { | ||
26 | mv ${S}/LICENSE ${S}/LICENSE.ti-bt | ||
27 | } | ||
28 | |||
29 | do_compile() { | ||
30 | : | ||
31 | } | ||
32 | |||
33 | do_install() { | ||
34 | oe_runmake 'DEST_DIR=${D}' 'BASE_LIB_DIR=${nonarch_base_libdir}' | ||
35 | |||
36 | # Remove files we're not packaging... | ||
37 | rm -f ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_7.6.15.bts \ | ||
38 | ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_10.6.15.bts \ | ||
39 | ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_6.7.16_bt_spec_4.1.bts \ | ||
40 | ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_12.8.32.bts \ | ||
41 | ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_12.10.28.bts \ | ||
42 | ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_6.7.16_avpr_add-on.bts \ | ||
43 | ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_6.7.16_bt_spec_4.0.bts \ | ||
44 | ${D}${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_6.7.16_ble_add-on.bts | ||
45 | |||
46 | for each in ${D}${nonarch_base_libdir}/firmware/ti-connectivity/* ; do | ||
47 | ln -s ti-connectivity/`basename $each` ${D}${nonarch_base_libdir}/firmware/`basename $each` | ||
48 | done | ||
49 | |||
50 | cp LICENSE.ti-bt ${D}${nonarch_base_libdir}/firmware/License.ti-bt | ||
51 | } | ||
52 | |||
53 | # 11.8.32 = WL180x, WL183x, WL185x PG2.1 or PG2.2, 8.32 ROM Version | ||
54 | PACKAGES =+ "${PN}-wl180x ${PN}-license" | ||
55 | |||
56 | FILES:${PN}-license = "${nonarch_base_libdir}/firmware/License.ti-bt" | ||
57 | |||
58 | FILES:${PN}-wl180x = "${nonarch_base_libdir}/firmware/TIInit_11.8.32.bts \ | ||
59 | ${nonarch_base_libdir}/firmware/ti-connectivity/TIInit_11.8.32.bts" | ||
60 | |||
61 | RDEPENDS:${PN}-wl180x = "${PN}-license linux-firmware-wl18xx" | ||
62 | |||
63 | LICENSE:${PN}-wl180x = "Firmware-ti-bt" | ||
64 | |||
65 | INSANE_SKIP = "arch" | ||
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-microblaze.inc b/meta-xilinx-bsp/recipes-kernel/linux/linux-microblaze.inc deleted file mode 100644 index 4555bc28..00000000 --- a/meta-xilinx-bsp/recipes-kernel/linux/linux-microblaze.inc +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | SRC_URI += "file://mb-no-tree-loop-distribute-patterns.patch" | ||
2 | |||
3 | # MicroBlaze is a uImage target, but its not called 'uImage' instead it is called 'linux.bin.ub' | ||
4 | python () { | ||
5 | if d.getVar('KERNEL_IMAGETYPE', True).endswith('.ub'): | ||
6 | d.setVar('DEPENDS', "%s u-boot-mkimage-native" % d.getVar('DEPENDS', True)) | ||
7 | } | ||
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx-dev.bb b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx-dev.bb deleted file mode 100644 index acb9938f..00000000 --- a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx-dev.bb +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | # This recipe tracks the 'bleeding edge' linux-xlnx repository. | ||
2 | # Since this tree is frequently updated, AUTOREV is used to track its contents. | ||
3 | # | ||
4 | # To enable this recipe, set PREFERRED_PROVIDER_virtual/kernel = "linux-xlnx-dev" | ||
5 | |||
6 | KBRANCH ?= "master" | ||
7 | |||
8 | # Use the SRCREV for the last tagged revision of linux-xlnx. | ||
9 | SRCREV ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-xlnx-dev", "${AUTOREV}", "84fb0cc65aae5970471cbc54b0c89009b9b904af", d)}' | ||
10 | |||
11 | # skip version sanity, because the version moves with AUTOREV | ||
12 | KERNEL_VERSION_SANITY_SKIP = "1" | ||
13 | |||
14 | LINUX_VERSION ?= "4.9+" | ||
15 | LINUX_VERSION_EXTENSION ?= "-xilinx-dev" | ||
16 | |||
17 | include linux-xlnx.inc | ||
18 | |||
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc deleted file mode 100644 index 53fe83b0..00000000 --- a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc +++ /dev/null | |||
@@ -1,65 +0,0 @@ | |||
1 | # This version extension should match CONFIG_LOCALVERSION in defconfig | ||
2 | XILINX_RELEASE_VERSION ?= "" | ||
3 | LINUX_VERSION_EXTENSION ?= "-xilinx-${XILINX_RELEASE_VERSION}" | ||
4 | PV = "${LINUX_VERSION}+git${SRCPV}" | ||
5 | |||
6 | # Sources, by default allow for the use of SRCREV pointing to orphaned tags/commits | ||
7 | KBRANCH ?= "xlnx_rebase_v5.10" | ||
8 | SRCBRANCHARG = "${@['nobranch=1', 'branch=${KBRANCH}'][d.getVar('KBRANCH', True) != '']}" | ||
9 | |||
10 | FILESOVERRIDES:append = ":${XILINX_RELEASE_VERSION}" | ||
11 | KERNELURI ?= "git://github.com/Xilinx/linux-xlnx.git;protocol=https;name=machine" | ||
12 | YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=yocto-kmeta" | ||
13 | SRC_URI = "${KERNELURI};${SRCBRANCHARG} ${YOCTO_META}" | ||
14 | |||
15 | SRCREV_machine ?= "${SRCREV}" | ||
16 | SRCREV_meta ?= "20b185f6b5afbad309747a7901786e0231dc8195" | ||
17 | SRCREV_FORMAT = "machine" | ||
18 | |||
19 | require recipes-kernel/linux/linux-yocto.inc | ||
20 | require linux-microblaze.inc | ||
21 | |||
22 | DESCRIPTION = "Xilinx Kernel" | ||
23 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" | ||
24 | |||
25 | EXTKERNELSRC = "${@'1' if d.getVar('EXTERNALSRC') else ''}" | ||
26 | |||
27 | # Force the use of the KBUILD_DEFCONFIG even if some other defconfig was generated in the ${WORKDIR} | ||
28 | do_kernel_metadata:prepend () { | ||
29 | [ -n "${KBUILD_DEFCONFIG}" ] && [ -e ${WORKDIR}/defconfig ] && rm ${WORKDIR}/defconfig | ||
30 | } | ||
31 | |||
32 | do_configure:prepend () { | ||
33 | if [ -n "${KBUILD_DEFCONFIG}" ] && [ -n "${EXTKERNELSRC}" ]; then | ||
34 | cp ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${WORKDIR}/defconfig | ||
35 | fi | ||
36 | } | ||
37 | |||
38 | inherit kernel-simpleimage | ||
39 | |||
40 | # Default to be only compatible with specific machines or soc families | ||
41 | COMPATIBLE_MACHINE ?= "^$" | ||
42 | COMPATIBLE_MACHINE:zynq = ".*" | ||
43 | COMPATIBLE_MACHINE:zynqmp = ".*" | ||
44 | COMPATIBLE_MACHINE:microblaze = ".*" | ||
45 | COMPATIBLE_MACHINE:versal = ".*" | ||
46 | |||
47 | # Use DEFCONFIGs for configuring linux-xlnx kernels | ||
48 | KCONFIG_MODE ?= "alldefconfig" | ||
49 | KBUILD_DEFCONFIG:zynqmp ?= "xilinx_defconfig" | ||
50 | KBUILD_DEFCONFIG:zynq ?= "xilinx_zynq_defconfig" | ||
51 | KBUILD_DEFCONFIG:microblaze ?= "mmu_defconfig" | ||
52 | KBUILD_DEFCONFIG:versal ?= "xilinx_defconfig" | ||
53 | |||
54 | KERNEL_MODULE_AUTOLOAD:k26 += "usb5744" | ||
55 | |||
56 | # MicroBlaze BSP fragments | ||
57 | KERNEL_FEATURES:append_kc705-microblazeel = " bsp/xilinx/kc705-microblazeel-features/kc705-microblazeel-features.scc" | ||
58 | |||
59 | KERNEL_FEATURES:append:zynqmp = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)}" | ||
60 | |||
61 | KERNEL_FEATURES:append:zynqmp = "${@' features/xilinx/overlay_of/overlay_of.scc' if d.getVar('FPGA_MNGR_RECONFIG_ENABLE') == '1' else ''}" | ||
62 | |||
63 | KERNEL_FEATURES:append:versal = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)} features/xilinx/hdmi-module/hdmi-module.scc" | ||
64 | |||
65 | KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', ' features/ocicontainer/ocicontainer.scc', '', d)}" | ||
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch deleted file mode 100644 index d5b96c2d..00000000 --- a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | From e33a814e772cdc36436c8c188d8c42d019fda639 Mon Sep 17 00:00:00 2001 | ||
2 | From: Dirk Mueller <dmueller@suse.com> | ||
3 | Date: Tue, 14 Jan 2020 18:53:41 +0100 | ||
4 | Subject: [PATCH] scripts/dtc: Remove redundant YYLOC global declaration | ||
5 | |||
6 | gcc 10 will default to -fno-common, which causes this error at link | ||
7 | time: | ||
8 | |||
9 | (.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here | ||
10 | |||
11 | This is because both dtc-lexer as well as dtc-parser define the same | ||
12 | global symbol yyloc. Before with -fcommon those were merged into one | ||
13 | defintion. The proper solution would be to to mark this as "extern", | ||
14 | however that leads to: | ||
15 | |||
16 | dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls] | ||
17 | 26 | extern YYLTYPE yylloc; | ||
18 | | ^~~~~~ | ||
19 | In file included from dtc-lexer.l:24: | ||
20 | dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here | ||
21 | 127 | extern YYLTYPE yylloc; | ||
22 | | ^~~~~~ | ||
23 | cc1: all warnings being treated as errors | ||
24 | |||
25 | which means the declaration is completely redundant and can just be | ||
26 | dropped. | ||
27 | |||
28 | Signed-off-by: Dirk Mueller <dmueller@suse.com> | ||
29 | Signed-off-by: David Gibson <david@gibson.dropbear.id.au> | ||
30 | [robh: cherry-pick from upstream] | ||
31 | Cc: stable@vger.kernel.org | ||
32 | Signed-off-by: Rob Herring <robh@kernel.org> | ||
33 | --- | ||
34 | scripts/dtc/dtc-lexer.l | 1 - | ||
35 | 1 file changed, 1 deletion(-) | ||
36 | |||
37 | diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l | ||
38 | index 5c6c3fd557d7..b3b7270300de 100644 | ||
39 | --- a/scripts/dtc/dtc-lexer.l | ||
40 | +++ b/scripts/dtc/dtc-lexer.l | ||
41 | @@ -23,7 +23,6 @@ LINECOMMENT "//".*\n | ||
42 | #include "srcpos.h" | ||
43 | #include "dtc-parser.tab.h" | ||
44 | |||
45 | -YYLTYPE yylloc; | ||
46 | extern bool treesource_error; | ||
47 | |||
48 | /* CAUTION: this will stop working if we ever use yyless() or yyunput() */ | ||
49 | -- | ||
50 | 2.29.2 | ||
51 | |||
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch deleted file mode 100644 index 5a4d203d..00000000 --- a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | Disable tree-loop-distribute-patterns CFLAG | ||
2 | |||
3 | Issue: CR-1086247 | ||
4 | |||
5 | GCC 10.2.0 added -ftree-loop-distribute-patterns by default with -O2. This | ||
6 | is causing a condition where the kernel will no longer boot. | ||
7 | |||
8 | This is a temporary workaround until we can identify the true cause of | ||
9 | the boot failure. | ||
10 | |||
11 | Symtoms: | ||
12 | |||
13 | earlycon: uartlite_a0 at MMIO 0x40600000 (options '115200n8') | ||
14 | printk: bootconsole [uartlite_a0] enabled | ||
15 | cma: Reserved 16 MiB at 0xaec00000 | ||
16 | Linux version 5.10.0-xilinx-v2020.2 (oe-user@oe-host) (microblazeel-xilinx-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.0.20200730) #1 Mon Mar 1 12:58:36 UTC 2021 | ||
17 | setup_memory: max_mapnr: 0x40000 | ||
18 | setup_memory: min_low_pfn: 0x80000 | ||
19 | setup_memory: max_low_pfn: 0xb0000 | ||
20 | setup_memory: max_pfn: 0xc0000 | ||
21 | Zone ranges: | ||
22 | DMA [mem 0x0000000080000000-0x00000000afffffff] | ||
23 | Normal empty | ||
24 | HighMem [mem 0x00000000b0000000-0x00000000bfffffff] | ||
25 | Movable zone start for each node | ||
26 | Early memory node ranges | ||
27 | node 0: [mem 0x0000000080000000-0x00000000bfffffff] | ||
28 | Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff] | ||
29 | <hang> | ||
30 | |||
31 | Signed-off-by: Mark Hatle <mark.hatle@xilinx.com> | ||
32 | |||
33 | diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile | ||
34 | index bb980891816d..e368c35ad21c 100644 | ||
35 | --- a/arch/microblaze/Makefile | ||
36 | +++ b/arch/microblaze/Makefile | ||
37 | @@ -48,6 +48,10 @@ CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER)) | ||
38 | # r31 holds current when in kernel mode | ||
39 | KBUILD_CFLAGS += -ffixed-r31 $(CPUFLAGS-y) $(CPUFLAGS-1) $(CPUFLAGS-2) | ||
40 | |||
41 | +# GCC 10.x now has -ftree-loop-distribute-patterns by default in -O2 | ||
42 | +# This causes a boot failure, so disable it | ||
43 | +KBUILD_CFLAGS += -fno-tree-loop-distribute-patterns | ||
44 | + | ||
45 | head-y := arch/microblaze/kernel/head.o | ||
46 | libs-y += arch/microblaze/lib/ | ||
47 | core-y += arch/microblaze/kernel/ | ||
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2021.2.bb b/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2021.2.bb deleted file mode 100644 index 660f6037..00000000 --- a/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2021.2.bb +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | LINUX_VERSION = "5.10" | ||
2 | KBRANCH="xlnx_rebase_v5.10" | ||
3 | SRCREV = "568989d44176ae0a38ea78c16d0590c726d3b60a" | ||
4 | |||
5 | KCONF_AUDIT_LEVEL="0" | ||
6 | |||
7 | include linux-xlnx.inc | ||
8 | |||
9 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" | ||
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend b/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend deleted file mode 100644 index 05c39951..00000000 --- a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | require linux-yocto-xilinx.inc | ||
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-tiny_%.bbappend b/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-tiny_%.bbappend deleted file mode 100644 index 05c39951..00000000 --- a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-tiny_%.bbappend +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | require linux-yocto-xilinx.inc | ||
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-xilinx.inc b/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-xilinx.inc deleted file mode 100644 index 51eab948..00000000 --- a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto-xilinx.inc +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | FILESEXTRAPATHS:prepend := "${THISDIR}/linux-xlnx:" | ||
2 | |||
3 | require linux-microblaze.inc | ||
4 | |||
5 | # Zynq default generic KMACHINE | ||
6 | COMPATIBLE_MACHINE:zynq = "zynq" | ||
7 | KMACHINE:zynq = "zynq" | ||
8 | |||
9 | # ZynqMP default generic KMACHINE | ||
10 | COMPATIBLE_MACHINE:zynqmp = "zynqmp" | ||
11 | KMACHINE:zynqmp = "zynqmp" | ||
12 | |||
13 | # MicroBlaze KMACHINEs | ||
14 | KMACHINE_ml605-qemu-microblazeel = "qemumicroblazeel" | ||
15 | KMACHINE_s3adsp1800-qemu-microblazeeb = "qemumicroblazeeb" | ||
16 | |||
17 | # MicroBlaze default generic KMACHINE | ||
18 | KMACHINE:microblaze = "microblaze" | ||
19 | COMPATIBLE_MACHINE:microblaze = "microblaze" | ||
20 | |||
21 | # Default kernel config fragements for specific machines | ||
22 | KERNEL_FEATURES:append_kc705-microblazeel = " bsp/xilinx/kc705-microblazeel-features/kc705-microblazeel-features.scc" | ||
23 | |||
diff --git a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto_%.bbappend deleted file mode 100644 index 05c39951..00000000 --- a/meta-xilinx-bsp/recipes-kernel/linux/linux-yocto_%.bbappend +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | require linux-yocto-xilinx.inc | ||
diff --git a/meta-xilinx-bsp/recipes-kernel/lopper/lopper.bbappend b/meta-xilinx-bsp/recipes-kernel/lopper/lopper.bbappend deleted file mode 100644 index aa552fe5..00000000 --- a/meta-xilinx-bsp/recipes-kernel/lopper/lopper.bbappend +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | DEPENDS = " \ | ||
2 | dtc \ | ||
3 | python3-dtc \ | ||
4 | python3-flask \ | ||
5 | python3-flask-restful \ | ||
6 | python3-six \ | ||
7 | python3-pandas \ | ||
8 | python3-ruamel-yaml \ | ||
9 | python3-anytree \ | ||
10 | python3-pyyaml \ | ||
11 | python3-humanfriendly \ | ||
12 | " | ||
13 | |||
14 | RDEPENDS:${PN} += " \ | ||
15 | python3-flask \ | ||
16 | python3-flask-restful \ | ||
17 | python3-six \ | ||
18 | python3-pandas \ | ||
19 | python3-ruamel-yaml \ | ||
20 | python3-anytree \ | ||
21 | python3-pyyaml \ | ||
22 | " | ||
23 | |||
24 | SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master" | ||
25 | SRCREV = "4fc085c4be031996e7f48dcaf03d0782989c8d58" | ||
26 | |||
27 | do_install() { | ||
28 | install -d "${D}/${bindir}" | ||
29 | install -d "${D}/${datadir}/${BPN}" | ||
30 | |||
31 | install -m 0644 "${S}/README" "${D}/${datadir}/${BPN}" | ||
32 | install -m 0644 "${S}/README-architecture.txt" "${D}/${datadir}/${BPN}" | ||
33 | install -m 0644 "${S}/README.pydoc" "${D}/${datadir}/${BPN}" | ||
34 | install -m 0644 "${S}/LICENSE.md" "${D}/${datadir}/${BPN}" | ||
35 | |||
36 | install -d "${D}/${datadir}/${BPN}/assists" | ||
37 | #install -m 0644 "${S}/assists/"* "${D}/${datadir}/${BPN}/assists/" | ||
38 | cp -r "${S}/assists/"* "${D}/${datadir}/${BPN}/assists/" | ||
39 | |||
40 | install -d "${D}/${datadir}/${BPN}/lops" | ||
41 | install -m 0644 "${S}/lops/"* "${D}/${datadir}/${BPN}/lops/" | ||
42 | |||
43 | install -d "${D}/${datadir}/${BPN}/device-trees" | ||
44 | install -m 0644 "${S}/device-trees/"* "${D}/${datadir}/${BPN}/device-trees/" | ||
45 | |||
46 | install -m 0644 "${S}/"lopper.ini "${D}/${datadir}/${BPN}/" | ||
47 | |||
48 | install -m 0755 "${S}/"lopper*.py "${D}/${datadir}/${BPN}/" | ||
49 | sed -i 's,#!/usr/bin/python3,#!/usr/bin/env python3,' ${D}/${datadir}/${BPN}/lopper.py | ||
50 | sed -i 's,#!/usr/bin/python3,#!/usr/bin/env python3,' ${D}/${datadir}/${BPN}/lopper_sanity.py | ||
51 | |||
52 | datadir_relpath=${@os.path.relpath(d.getVar('datadir'), d.getVar('bindir'))} | ||
53 | ln -s "${datadir_relpath}/${BPN}/lopper.py" "${D}/${bindir}/" | ||
54 | } | ||
diff --git a/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops.bb b/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops.bb deleted file mode 100644 index 77456376..00000000 --- a/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops.bb +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | SUMMARY = "Device tree lopper - lops" | ||
2 | DESCRIPTION = "Xilinx specific lop files" | ||
3 | SECTION = "bootloader" | ||
4 | LICENSE = "BSD-3-Clause" | ||
5 | |||
6 | RDEPENDS:${PN} += "lopper" | ||
7 | |||
8 | SRC_URI = " \ | ||
9 | file://lop-microblaze-yocto.dts \ | ||
10 | file://lop-xilinx-id-cpus.dts \ | ||
11 | " | ||
12 | |||
13 | LIC_FILES_CHKSUM = "file://lop-microblaze-yocto.dts;endline=8;md5=a0e89d39fa397ec5d5320409ff701280" | ||
14 | |||
15 | S = "${WORKDIR}" | ||
16 | |||
17 | do_configure[noexec] = '1' | ||
18 | do_compile[noexec] = '1' | ||
19 | |||
20 | do_install() { | ||
21 | mkdir -p ${D}/${datadir}/lopper/lops | ||
22 | cp ${S}/lop-microblaze-yocto.dts ${D}/${datadir}/lopper/lops/. | ||
23 | cp ${S}/lop-xilinx-id-cpus.dts ${D}/${datadir}/lopper/lops/. | ||
24 | } | ||
25 | |||
26 | FILES:${PN} += "${datadir}/lopper/lops" | ||
27 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-microblaze-yocto.dts b/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-microblaze-yocto.dts deleted file mode 100644 index 72eb4665..00000000 --- a/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-microblaze-yocto.dts +++ /dev/null | |||
@@ -1,244 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2020 Xilinx Inc. All rights reserved. | ||
3 | * | ||
4 | * Author: | ||
5 | * Bruce Ashfield <bruce.ashfield@xilinx.com> | ||
6 | * | ||
7 | * SPDX-License-Identifier: BSD-3-Clause | ||
8 | */ | ||
9 | |||
10 | /dts-v1/; | ||
11 | |||
12 | / { | ||
13 | compatible = "system-device-tree-v1,lop"; | ||
14 | lops { | ||
15 | compatible = "system-device-tree-v1,lop"; | ||
16 | track_feature: track_feature { | ||
17 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
18 | noexec; | ||
19 | code = " | ||
20 | # print( 'track: lopper library routine: %s' % node ) | ||
21 | try: | ||
22 | node.tunes[prop] = prop | ||
23 | except: | ||
24 | pass | ||
25 | "; | ||
26 | }; | ||
27 | lop_0_1 { | ||
28 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
29 | select_1; | ||
30 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
31 | lop_0_2 { | ||
32 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
33 | inherit = "subsystem"; | ||
34 | code = " | ||
35 | for n in tree.__selected__: | ||
36 | val = n['compatible'].value[0] | ||
37 | if val == 'pmu-microblaze': | ||
38 | n.tunes = OrderedDict() | ||
39 | n.tunes['microblaze'] = 'microblaze' | ||
40 | n.tunes['version'] = 'v9.2' | ||
41 | |||
42 | if val == 'pmc-microblaze' or val == 'psm-microblaze': | ||
43 | n.tunes = OrderedDict() | ||
44 | n.tunes['microblaze'] = 'microblaze' | ||
45 | n.tunes['version'] = 'v10.0' | ||
46 | |||
47 | n.tune_type = val | ||
48 | "; | ||
49 | }; | ||
50 | }; | ||
51 | lop_1_1 { | ||
52 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
53 | select_1; | ||
54 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
55 | select_3 = ":xlnx,use-barrel:1"; | ||
56 | lop_1_1_1 { | ||
57 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
58 | code = " | ||
59 | if __selected__: | ||
60 | for n in __selected__: | ||
61 | n.tunes['barrel-shift'] = 'barrel-shift' | ||
62 | "; | ||
63 | }; | ||
64 | }; | ||
65 | lop_2_1 { | ||
66 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
67 | select_1; | ||
68 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
69 | select_3 = ":xlnx,endianness:!1"; | ||
70 | lop_2_1_1 { | ||
71 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
72 | code = " | ||
73 | if __selected__: | ||
74 | for n in __selected__: | ||
75 | n.tunes['bigendian'] = 'bigendian' | ||
76 | "; | ||
77 | }; | ||
78 | }; | ||
79 | lop_3_1 { | ||
80 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
81 | select_1; | ||
82 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
83 | select_3 = ":xlnx,data-size:0x40"; | ||
84 | lop_3_1_1 { | ||
85 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
86 | code = " | ||
87 | if __selected__: | ||
88 | for n in __selected__: | ||
89 | n.tunes['64-bit'] = '64-bit' | ||
90 | "; | ||
91 | }; | ||
92 | }; | ||
93 | lop_4_1 { | ||
94 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
95 | select_1; | ||
96 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
97 | select_3 = ":xlnx,use-pcmp-instr:1"; | ||
98 | lop_4_1_1 { | ||
99 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
100 | code = " | ||
101 | if __selected__: | ||
102 | for n in __selected__: | ||
103 | n.tunes['pattern-compare'] = 'pattern-compare' | ||
104 | "; | ||
105 | }; | ||
106 | }; | ||
107 | lop_5_1 { | ||
108 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
109 | select_1; | ||
110 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
111 | select_3 = ":xlnx,use-reorder-instr:!0"; | ||
112 | lop_5_1_1 { | ||
113 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
114 | code = " | ||
115 | if __selected__: | ||
116 | for n in __selected__: | ||
117 | n.tunes['reorder'] = 'reorder' | ||
118 | "; | ||
119 | }; | ||
120 | }; | ||
121 | lop_6_1 { | ||
122 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
123 | select_1; | ||
124 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
125 | select_3 = ":xlnx,area-optimized:2"; | ||
126 | lop_6_1_1 { | ||
127 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
128 | code = " | ||
129 | if __selected__: | ||
130 | for n in __selected__: | ||
131 | n.tunes['frequency-optimized'] = 'frequency-optimized' | ||
132 | "; | ||
133 | }; | ||
134 | }; | ||
135 | lop_7_1 { | ||
136 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
137 | select_1; | ||
138 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
139 | select_3 = ":xlnx,use-hw-mul:1"; | ||
140 | lop_7_1_1 { | ||
141 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
142 | code = " | ||
143 | if __selected__: | ||
144 | for n in __selected__: | ||
145 | n.tunes['multiply-low'] = 'multiply-low' | ||
146 | "; | ||
147 | }; | ||
148 | }; | ||
149 | lop_8_1 { | ||
150 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
151 | select_1; | ||
152 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
153 | select_3 = ":xlnx,use-hw-mul:2"; | ||
154 | lop_8_1_1 { | ||
155 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
156 | code = " | ||
157 | if __selected__: | ||
158 | for n in __selected__: | ||
159 | n.tunes['multiply-high'] = 'multiply-high' | ||
160 | "; | ||
161 | }; | ||
162 | }; | ||
163 | lop_9_1 { | ||
164 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
165 | select_1; | ||
166 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
167 | select_3 = ":xlnx,use-div:1"; | ||
168 | lop_9_1_1 { | ||
169 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
170 | code = " | ||
171 | if __selected__: | ||
172 | for n in __selected__: | ||
173 | n.tunes['divide-hard'] = 'divide-hard' | ||
174 | "; | ||
175 | }; | ||
176 | }; | ||
177 | lop_10_1 { | ||
178 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
179 | select_1; | ||
180 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
181 | select_3 = ":xlnx,use-fpu:!1"; | ||
182 | select_4 = ":xlnx,use-fpu:!2"; | ||
183 | lop_10_1_1 { | ||
184 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
185 | code = " | ||
186 | if __selected__: | ||
187 | for n in __selected__: | ||
188 | n.tunes['fpu-soft'] = 'fpu-soft' | ||
189 | "; | ||
190 | }; | ||
191 | }; | ||
192 | lop_11_1 { | ||
193 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
194 | select_1; | ||
195 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
196 | select_3 = ":xlnx,use-fpu:1"; | ||
197 | lop_11_1_1 { | ||
198 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
199 | code = " | ||
200 | if __selected__: | ||
201 | for n in __selected__: | ||
202 | n.tunes['fpu-hard'] = 'fpu-hard' | ||
203 | "; | ||
204 | }; | ||
205 | }; | ||
206 | lop_12_1 { | ||
207 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
208 | select_1; | ||
209 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
210 | select_3 = ":xlnx,use-fpu:2"; | ||
211 | lop_12_1_1 { | ||
212 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
213 | code = " | ||
214 | if __selected__: | ||
215 | for n in __selected__: | ||
216 | n.tunes['fpu-hard-extended'] = 'fpu-hard-extended' | ||
217 | "; | ||
218 | }; | ||
219 | }; | ||
220 | lop_output_tunes { | ||
221 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
222 | select_1; | ||
223 | select_2 = "/cpus_microblaze.*/cpu*.*:compatible:.*microblaze"; | ||
224 | lop_output_code { | ||
225 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
226 | code = " | ||
227 | cpu_addr = 0 | ||
228 | for n in __selected__: | ||
229 | tname = re.split('@', n.name) | ||
230 | tname = tname[0]+str(cpu_addr) | ||
231 | cpu_addr += 1 | ||
232 | print( 'AVAILTUNES += \"microblaze-%s\"' % tname ) | ||
233 | print( 'TUNE_FEATURES:tune-microblaze-%s = \"' % tname, end='' ) | ||
234 | for t in n.tunes.values(): | ||
235 | print( ' %s' % t, end='' ) | ||
236 | print( '\"' ) | ||
237 | print( 'PACKAGE_EXTRA_ARCHS:tune-microblaze-%s = \"${TUNE_PKGARCH}\"' % tname ) | ||
238 | print( 'TUNE_FEATURES:tune-%s = \"${TUNE_FEATURES:tune-microblaze-%s}\"\\n' % (n.tune_type,tname) ) | ||
239 | |||
240 | "; | ||
241 | }; | ||
242 | }; | ||
243 | }; | ||
244 | }; | ||
diff --git a/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-xilinx-id-cpus.dts b/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-xilinx-id-cpus.dts deleted file mode 100644 index 67d68bba..00000000 --- a/meta-xilinx-bsp/recipes-kernel/lopper/xilinx-lops/lop-xilinx-id-cpus.dts +++ /dev/null | |||
@@ -1,127 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2019,2020 Xilinx Inc. All rights reserved. | ||
3 | * | ||
4 | * Author: | ||
5 | * Bruce Ashfield <bruce.ashfield@xilinx.com> | ||
6 | * | ||
7 | * SPDX-License-Identifier: BSD-3-Clause | ||
8 | */ | ||
9 | |||
10 | /dts-v1/; | ||
11 | |||
12 | / { | ||
13 | compatible = "system-device-tree-v1,lop"; | ||
14 | lops { | ||
15 | compatible = "system-device-tree-v1,lop"; | ||
16 | lop_0_1 { | ||
17 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
18 | select_1; | ||
19 | select_2 = "/.*:os,type:.*"; | ||
20 | lop_0_2 { | ||
21 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
22 | inherit = "lopper_lib"; | ||
23 | code = " | ||
24 | for s in __selected__: | ||
25 | os_type = s['os,type'].value[0] | ||
26 | try: | ||
27 | domain_name = s.label | ||
28 | except: | ||
29 | domain_name = s.name | ||
30 | if not domain_name: | ||
31 | domain_name = s.name | ||
32 | try: | ||
33 | cpu = s['cpus'] | ||
34 | except: | ||
35 | print( '[ERROR]: os,type node, has no cpu reference' ) | ||
36 | try: | ||
37 | cpu_node = tree.pnode( cpu.value[0] ) | ||
38 | cpu_mask = cpu[1] | ||
39 | except: | ||
40 | print( '[ERROR]: os,type node, has invalid cpu reference' ) | ||
41 | |||
42 | cpu_output = {} | ||
43 | cpus_refd, cpus_unrefd = lopper_lib.cpu_refs( tree, cpu ) | ||
44 | for c in cpus_refd: | ||
45 | cpu_type = c['compatible'].value[0] | ||
46 | cpu_output[cpu_type] = '{} {} {}'.format(cpu_type,domain_name,os_type) | ||
47 | |||
48 | # print the summary lines | ||
49 | for o in cpu_output.values(): | ||
50 | print( '%s' % o ) | ||
51 | "; | ||
52 | }; | ||
53 | }; | ||
54 | lop_0_3 { | ||
55 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
56 | select_1; | ||
57 | select_2 = "/.*:compatible:openamp,domain-v1"; | ||
58 | select_3 = ":!os,type:"; | ||
59 | select_4 = ":compatible:!xilinx,subsystem-v1"; | ||
60 | lop_0_3_1 { | ||
61 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
62 | inherit = "lopper_lib"; | ||
63 | code = " | ||
64 | if __selected__: | ||
65 | print( '# global \\'all\\' domains' ) | ||
66 | # __selected__ are domains with no os,type specificiation | ||
67 | # we'll dump them to a global 'all' domain | ||
68 | for s in __selected__: | ||
69 | os_type = 'linux' | ||
70 | try: | ||
71 | domain_name = s.label | ||
72 | except: | ||
73 | domain_name = s.name | ||
74 | if not domain_name: | ||
75 | domain_name = s.name | ||
76 | try: | ||
77 | cpu = s['cpus'] | ||
78 | except: | ||
79 | print( '[ERROR]: os,type node, has no cpu reference' ) | ||
80 | try: | ||
81 | cpu_node = tree.pnode( cpu.value[0] ) | ||
82 | cpu_mask = cpu[1] | ||
83 | except: | ||
84 | print( '[ERROR]: os,type node, has invalid cpu reference' ) | ||
85 | |||
86 | cpu_output = {} | ||
87 | cpus_refd, cpus_unrefd = lopper_lib.cpu_refs( tree, cpu ) | ||
88 | for c in cpus_refd: | ||
89 | cpu_type = c['compatible'].value[0] | ||
90 | cpu_output[cpu_type] = '{} {} {}'.format(cpu_type,domain_name,os_type) | ||
91 | |||
92 | # print the summary lines | ||
93 | for o in cpu_output.values(): | ||
94 | print( '%s' % o ) | ||
95 | "; | ||
96 | }; | ||
97 | }; | ||
98 | lop_0_4 { | ||
99 | compatible = "system-device-tree-v1,lop,select-v1"; | ||
100 | select_1; | ||
101 | select_2 = "/.*:compatible:cpus,cluster"; | ||
102 | lop_0_3_1 { | ||
103 | compatible = "system-device-tree-v1,lop,code-v1"; | ||
104 | inherit = "lopper_lib"; | ||
105 | code = " | ||
106 | cpu_output = {} | ||
107 | for c in __selected__: | ||
108 | for c_node in c.subnodes( children_only = True ): | ||
109 | try: | ||
110 | cpu_node = c_node['device_type'].value[0] | ||
111 | except: | ||
112 | cpu_node = None | ||
113 | if cpu_node: | ||
114 | if c_node.ref == 0: | ||
115 | cpu_type = c_node['compatible'].value[0] | ||
116 | cpu_output[cpu_type] = '{} {} {}'.format(cpu_type,'None','None') | ||
117 | |||
118 | if cpu_output: | ||
119 | print( '# global no-domain cpus' ) | ||
120 | |||
121 | for o in cpu_output.values(): | ||
122 | print( '%s' % o ) | ||
123 | "; | ||
124 | }; | ||
125 | }; | ||
126 | }; | ||
127 | }; | ||