diff options
Diffstat (limited to 'meta-xilinx-core')
113 files changed, 2471 insertions, 241 deletions
diff --git a/meta-xilinx-core/classes/image-types-xilinx-qemu.bbclass b/meta-xilinx-core/classes/image-types-xilinx-qemu.bbclass index 1ed1cd77..b4de5ee1 100644 --- a/meta-xilinx-core/classes/image-types-xilinx-qemu.bbclass +++ b/meta-xilinx-core/classes/image-types-xilinx-qemu.bbclass | |||
@@ -7,9 +7,9 @@ | |||
7 | 7 | ||
8 | CONVERSIONTYPES:append = " qemu-sd qemu-sd-fatimg" | 8 | CONVERSIONTYPES:append = " qemu-sd qemu-sd-fatimg" |
9 | CONVERSION_CMD:qemu-sd () { | 9 | CONVERSION_CMD:qemu-sd () { |
10 | cp ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qemu-sd | 10 | cp ${IMGDEPLOYDIR}/${IMAGE_NAME}.${type} ${IMGDEPLOYDIR}/${IMAGE_NAME}.${type}.qemu-sd |
11 | # Get the wic.qemu-sd file size | 11 | # Get the wic.qemu-sd file size |
12 | file_size=`stat -c '%s' ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qemu-sd` | 12 | file_size=`stat -c '%s' ${IMGDEPLOYDIR}/${IMAGE_NAME}.${type}.qemu-sd` |
13 | powerof2=1 | 13 | powerof2=1 |
14 | file_size=${file_size%.*} | 14 | file_size=${file_size%.*} |
15 | # Get the next power of 2 value for the image size value | 15 | # Get the next power of 2 value for the image size value |
@@ -17,7 +17,7 @@ CONVERSION_CMD:qemu-sd () { | |||
17 | powerof2=$(expr $powerof2 \* 2) | 17 | powerof2=$(expr $powerof2 \* 2) |
18 | done | 18 | done |
19 | # Resize the image using qemu-img | 19 | # Resize the image using qemu-img |
20 | qemu-img resize -f raw ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qemu-sd ${powerof2} | 20 | qemu-img resize -f raw ${IMGDEPLOYDIR}/${IMAGE_NAME}.${type}.qemu-sd ${powerof2} |
21 | } | 21 | } |
22 | 22 | ||
23 | BOOT_VOLUME_ID ?= "BOOT" | 23 | BOOT_VOLUME_ID ?= "BOOT" |
diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index d38fd334..b9804261 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf | |||
@@ -25,7 +25,7 @@ xilinx-tools:${LAYERDIR}/dynamic-layers/meta-xilinx-tools/recipes-*/*/*.bbappend | |||
25 | LAYERDEPENDS_xilinx = "core" | 25 | LAYERDEPENDS_xilinx = "core" |
26 | LAYERRECOMMENDS_xilinx = "openembedded-layer" | 26 | LAYERRECOMMENDS_xilinx = "openembedded-layer" |
27 | 27 | ||
28 | LAYERSERIES_COMPAT_xilinx = "langdale" | 28 | LAYERSERIES_COMPAT_xilinx = "scarthgap" |
29 | 29 | ||
30 | SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ | 30 | SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ |
31 | *->xrt \ | 31 | *->xrt \ |
@@ -46,6 +46,8 @@ XILINX_RELEASE_VERSION ??= "v2023.2" | |||
46 | 46 | ||
47 | BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION" | 47 | BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION" |
48 | 48 | ||
49 | XILINX_QEMU_VERSION[v2022.1] = "v7.1.0-xilinx-v2022.1%" | ||
50 | XILINX_QEMU_VERSION[v2022.2] = "v7.1.0-xilinx-v2022.2%" | ||
49 | XILINX_QEMU_VERSION[v2023.1] = "v7.1.0-xilinx-v2023.1%" | 51 | XILINX_QEMU_VERSION[v2023.1] = "v7.1.0-xilinx-v2023.1%" |
50 | XILINX_QEMU_VERSION[v2023.2] = "v7.1.0-xilinx-v2023.2%" | 52 | XILINX_QEMU_VERSION[v2023.2] = "v7.1.0-xilinx-v2023.2%" |
51 | PREFERRED_VERSION_qemu-xilinx ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 53 | PREFERRED_VERSION_qemu-xilinx ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" |
@@ -53,6 +55,10 @@ PREFERRED_VERSION_qemu-xilinx-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', | |||
53 | PREFERRED_VERSION_qemu-xilinx-system-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 55 | PREFERRED_VERSION_qemu-xilinx-system-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" |
54 | PREFERRED_VERSION_qemu-devicetrees ?= "xilinx-${XILINX_RELEASE_VERSION}%" | 56 | PREFERRED_VERSION_qemu-devicetrees ?= "xilinx-${XILINX_RELEASE_VERSION}%" |
55 | 57 | ||
58 | DEFAULT_XILINX_QEMU = "qemu-xilinx" | ||
59 | DEFAULT_XILINX_QEMU:arm = "qemu" | ||
60 | PREFERRED_PROVIDER_qemu ?= "${DEFAULT_XILINX_QEMU}" | ||
61 | |||
56 | XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%" | 62 | XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%" |
57 | XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%" | 63 | XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%" |
58 | PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 64 | PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" |
@@ -63,7 +69,9 @@ XILINX_UBOOT_VERSION[v2023.2] = "v2023.01-xilinx-v2023.2%" | |||
63 | PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 69 | PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" |
64 | PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 70 | PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" |
65 | 71 | ||
66 | XILINX_LINUX_VERSION[v2023.1] = "6.1.5-xilinx-v2023.1%" | 72 | XILINX_LINUX_VERSION[v2022.1] = "5.15.19-xilinx-v2022.1%" |
73 | XILINX_LINUX_VERSION[v2022.2] = "5.15.36-xilinx-v2022.2%" | ||
74 | XILINX_LINUX_VERSION[v2023.1] = "6.1.30-xilinx-v2023.1%" | ||
67 | XILINX_LINUX_VERSION[v2023.2] = "6.1.60-xilinx-v2023.2%" | 75 | XILINX_LINUX_VERSION[v2023.2] = "6.1.60-xilinx-v2023.2%" |
68 | PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | 76 | PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" |
69 | 77 | ||
diff --git a/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc b/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc index 1c651816..c450b542 100644 --- a/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc +++ b/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc | |||
@@ -13,3 +13,13 @@ EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native:do_addto_recipe_sys | |||
13 | 13 | ||
14 | # Use the xilinx specific version for these users | 14 | # Use the xilinx specific version for these users |
15 | IMAGE_CLASSES += "qemuboot-xilinx" | 15 | IMAGE_CLASSES += "qemuboot-xilinx" |
16 | |||
17 | # As of Yocto Project nanbield, if a -serial is pass in QB_OPT_APPEND the | ||
18 | # runqemu may add additional null entries or simply skip further setup. | ||
19 | # | ||
20 | # To help us be able to adjust for this behavior add a special | ||
21 | # QB_XILINX_SERIAL that will allow us to define serial ports for qemu | ||
22 | # emulated boards that may not match the standard Linux behavior. | ||
23 | # | ||
24 | QB_XILINX_SERIAL ?= "" | ||
25 | QB_OPT_APPEND += "${QB_XILINX_SERIAL}" | ||
diff --git a/meta-xilinx-core/conf/machine/include/soc-tune-include.inc b/meta-xilinx-core/conf/machine/include/soc-tune-include.inc index f7484c48..b3216426 100644 --- a/meta-xilinx-core/conf/machine/include/soc-tune-include.inc +++ b/meta-xilinx-core/conf/machine/include/soc-tune-include.inc | |||
@@ -3,10 +3,14 @@ DEFAULTTUNE ??= "armv8a" | |||
3 | # Unfortunately various tunefiles don't include each other, so create | 3 | # Unfortunately various tunefiles don't include each other, so create |
4 | # a list of things to require based on the DEFAULTTUNE setting. | 4 | # a list of things to require based on the DEFAULTTUNE setting. |
5 | TUNEFILE[cortexr5] = "conf/machine/include/arm/armv7r/tune-cortexr5.inc" | 5 | TUNEFILE[cortexr5] = "conf/machine/include/arm/armv7r/tune-cortexr5.inc" |
6 | TUNEFILE[cortexr5hf] = "conf/machine/include/arm/armv7r/tune-cortexr5.inc" | ||
7 | TUNEFILE[cortexr52] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc" | ||
8 | TUNEFILE[cortexr52hf] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc" | ||
6 | TUNEFILE[cortexa9thf-neon] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc" | 9 | TUNEFILE[cortexa9thf-neon] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc" |
7 | TUNEFILE[armv8a] = "conf/machine/include/arm/arch-armv8a.inc" | 10 | TUNEFILE[armv8a] = "conf/machine/include/arm/arch-armv8a.inc" |
8 | TUNEFILE[cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa53.inc" | 11 | TUNEFILE[cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa53.inc" |
9 | TUNEFILE[cortexa72] = "conf/machine/include/arm/armv8a/tune-cortexa72.inc" | 12 | TUNEFILE[cortexa72] = "conf/machine/include/arm/armv8a/tune-cortexa72.inc" |
13 | TUNEFILE[cortexa78] = "conf/machine/include/arm/armv8-2a/tune-cortexa78.inc" | ||
10 | TUNEFILE[cortexa72-cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc" | 14 | TUNEFILE[cortexa72-cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc" |
11 | TUNEFILE[cortexa72-cortexa53-crypto] = "conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc" | 15 | TUNEFILE[cortexa72-cortexa53-crypto] = "conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc" |
12 | TUNEFILE[microblaze] = "conf/machine/include/xilinx-microblaze.inc" | 16 | TUNEFILE[microblaze] = "conf/machine/include/xilinx-microblaze.inc" |
diff --git a/meta-xilinx-core/conf/machine/microblaze-generic.conf b/meta-xilinx-core/conf/machine/microblaze-generic.conf index 5bf87344..8fb40070 100644 --- a/meta-xilinx-core/conf/machine/microblaze-generic.conf +++ b/meta-xilinx-core/conf/machine/microblaze-generic.conf | |||
@@ -91,9 +91,16 @@ IMAGE_FSTYPES += "cpio.gz" | |||
91 | # Microblaze QEMU Configurations | 91 | # Microblaze QEMU Configurations |
92 | QB_MEM = "-m 2G" | 92 | QB_MEM = "-m 2G" |
93 | QB_KERNEL_CMDLINE_APPEND = "console=ttyUL0,115200 root=/dev/ram0 rw" | 93 | QB_KERNEL_CMDLINE_APPEND = "console=ttyUL0,115200 root=/dev/ram0 rw" |
94 | QB_OPT_APPEND = "" | ||
95 | QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@" | 94 | QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@" |
96 | 95 | ||
96 | # This will work with the default runqemu, as the first serial port is the | ||
97 | # correct console | ||
98 | # | ||
99 | # One total serial port defined in this model (according to the generated dts) | ||
100 | # | ||
101 | # hw serial0 axi_uartlite_0 (40600000) - linux serial0 (ttyUL0) | ||
102 | QB_XILINX_SERIAL = "" | ||
103 | |||
97 | #### No additional settings should be after the Postamble | 104 | #### No additional settings should be after the Postamble |
98 | #### Postamble | 105 | #### Postamble |
99 | PACKAGE_EXTRA_ARCHS:append = "${@['', ' ${MB_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}" | 106 | PACKAGE_EXTRA_ARCHS:append = "${@['', ' ${MB_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}" |
diff --git a/meta-xilinx-core/conf/machine/versal-generic.conf b/meta-xilinx-core/conf/machine/versal-generic.conf index f87dc140..2f35ba24 100644 --- a/meta-xilinx-core/conf/machine/versal-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-generic.conf | |||
@@ -63,8 +63,8 @@ EXTRA_IMAGEDEPENDS += " \ | |||
63 | virtual/psm-firmware \ | 63 | virtual/psm-firmware \ |
64 | virtual/plm \ | 64 | virtual/plm \ |
65 | u-boot-xlnx-scr \ | 65 | u-boot-xlnx-scr \ |
66 | qemu-devicetrees \ | 66 | qemu-devicetrees:do_deploy \ |
67 | virtual/cdo \ | 67 | virtual/cdo:do_deploy \ |
68 | " | 68 | " |
69 | 69 | ||
70 | IMAGE_BOOT_FILES += " \ | 70 | IMAGE_BOOT_FILES += " \ |
@@ -86,12 +86,17 @@ QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" | |||
86 | QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vck190.dtb" | 86 | QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vck190.dtb" |
87 | QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-vc-p-a2197-00.dtb" | 87 | QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-vc-p-a2197-00.dtb" |
88 | 88 | ||
89 | QEMU_HW_DTB_PS_vp1202-versal = "${QEMU_HW_DTB_PATH}/board-versal-vp1202-ps-virt.dtb" | 89 | # Four total serial ports defined in this model (according to the dts) |
90 | QEMU_HW_DTB_PMC_vp1202-versal = "${QEMU_HW_DTB_PATH}/board-versal-vp1202-pmc-virt.dtb" | 90 | # |
91 | # hw serial0 xps-uartlite (f0110000) - | ||
92 | # hw serial1 ddrmc/xps-uartlite (f0310000) - | ||
93 | # hw serial2 pl011 (ff000000) - linux serial0 (ttyAMA0) | ||
94 | # hw serial3 pl011 (ff010000) - linux serial1 (ttyAMA1) (disabled) | ||
95 | # ? dcc ? - linux serial2 (????) | ||
96 | QB_XILINX_SERIAL = "-serial null -serial null -serial mon:stdio -serial null" | ||
91 | 97 | ||
92 | QB_OPT_APPEND = " \ | 98 | QB_OPT_APPEND += " \ |
93 | -hw-dtb ${QEMU_HW_DTB_PS} \ | 99 | -hw-dtb ${QEMU_HW_DTB_PS} \ |
94 | -serial null -serial null \ | ||
95 | ${@qemu_add_extra_args(d)} \ | 100 | ${@qemu_add_extra_args(d)} \ |
96 | " | 101 | " |
97 | 102 | ||
diff --git a/meta-xilinx-core/conf/machine/versal-net-generic.conf b/meta-xilinx-core/conf/machine/versal-net-generic.conf index e1f222e2..9945d301 100644 --- a/meta-xilinx-core/conf/machine/versal-net-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-net-generic.conf | |||
@@ -19,6 +19,10 @@ YAML_DT_BOARD_FLAGS ?= "{BOARD versal-net-ipp-rev1.9}" | |||
19 | YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" | 19 | YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" |
20 | YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" | 20 | YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "psx_wizard_0_psxl_0_psx_sbsauart_0" |
21 | 21 | ||
22 | # Versal Serial Console | ||
23 | SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1" | ||
24 | YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" | ||
25 | |||
22 | require conf/machine/versal-generic.conf | 26 | require conf/machine/versal-generic.conf |
23 | 27 | ||
24 | SOC_VARIANT = "net" | 28 | SOC_VARIANT = "net" |
@@ -31,6 +35,14 @@ HDF_MACHINE = "versal-net-generic" | |||
31 | QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-net-psx-spp-1.4.dtb" | 35 | QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-net-psx-spp-1.4.dtb" |
32 | QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb" | 36 | QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb" |
33 | 37 | ||
38 | # Four total serial ports defined in this model (according to the dts) | ||
39 | # | ||
40 | # hw serial0 xps-uartlite (0xf0110000) - | ||
41 | # hw serial1 xps-uartlite (0xf0310000) - | ||
42 | # hw serial2 pl011 (0xf1920000) - linux serial0 (ttyAMA0) | ||
43 | # hw serial3 pl011 (0xf1930000) - linux serial1 (ttyAMA1) | ||
44 | QB_XILINX_SERIAL = "-serial null -serial null -serial mon:stdio -serial null" | ||
45 | |||
34 | #### No additional settings should be after the Postamble | 46 | #### No additional settings should be after the Postamble |
35 | #### Postamble | 47 | #### Postamble |
36 | PACKAGE_EXTRA_ARCHS:append = "${@['', ' versal_net_generic']['versal-net-generic' != "${MACHINE}"]}" | 48 | PACKAGE_EXTRA_ARCHS:append = "${@['', ' versal_net_generic']['versal-net-generic' != "${MACHINE}"]}" |
diff --git a/meta-xilinx-core/conf/machine/zynq-generic.conf b/meta-xilinx-core/conf/machine/zynq-generic.conf index e97be2ff..3dea2012 100644 --- a/meta-xilinx-core/conf/machine/zynq-generic.conf +++ b/meta-xilinx-core/conf/machine/zynq-generic.conf | |||
@@ -75,10 +75,17 @@ QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@" | |||
75 | 75 | ||
76 | QB_KERNEL_ROOT = "/dev/mmcblk0p2" | 76 | QB_KERNEL_ROOT = "/dev/mmcblk0p2" |
77 | 77 | ||
78 | # Side effect of not-enabled serial port is we have to lock | ||
79 | # the second (console) to mon:stdio. | ||
80 | # | ||
81 | # Two total serial ports defined in this model (according to the generated dts) | ||
82 | # | ||
83 | # hw uart0 xuartps (e0000000) - | ||
84 | # hw uart1 xuartps (e0001000) - linux serial0 (ttyPS0) | ||
85 | QB_XILINX_SERIAL = "-serial null -serial mon:stdio" | ||
86 | |||
78 | # Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) | 87 | # Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) |
79 | QB_OPT_APPEND = " \ | 88 | QB_OPT_APPEND += " \ |
80 | -serial null \ | ||
81 | -gdb tcp::9000 \ | ||
82 | -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \ | 89 | -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \ |
83 | -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \ | 90 | -device loader,addr=0xf8000140,data=0x00500801,data-len=4 \ |
84 | -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \ | 91 | -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \ |
diff --git a/meta-xilinx-core/conf/machine/zynqmp-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-generic.conf index b60014df..055c7e5b 100644 --- a/meta-xilinx-core/conf/machine/zynqmp-generic.conf +++ b/meta-xilinx-core/conf/machine/zynqmp-generic.conf | |||
@@ -43,7 +43,7 @@ UBOOT_ENTRYPOINT ?= "0x200000" | |||
43 | UBOOT_LOADADDRESS ?= "0x200000" | 43 | UBOOT_LOADADDRESS ?= "0x200000" |
44 | 44 | ||
45 | # ZynqMP Serial Console | 45 | # ZynqMP Serial Console |
46 | SERIAL_CONSOLES ?= "115200;ttyPS0" | 46 | SERIAL_CONSOLES ?= "115200;ttyPS0 115200;ttyPS1" |
47 | YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" | 47 | YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" |
48 | 48 | ||
49 | require conf/machine/include/soc-zynqmp.inc | 49 | require conf/machine/include/soc-zynqmp.inc |
@@ -75,7 +75,7 @@ EXTRA_IMAGEDEPENDS += " \ | |||
75 | arm-trusted-firmware \ | 75 | arm-trusted-firmware \ |
76 | virtual/boot-bin \ | 76 | virtual/boot-bin \ |
77 | virtual/bootloader \ | 77 | virtual/bootloader \ |
78 | qemu-devicetrees \ | 78 | qemu-devicetrees:do_deploy \ |
79 | u-boot-xlnx-uenv \ | 79 | u-boot-xlnx-uenv \ |
80 | u-boot-xlnx-scr \ | 80 | u-boot-xlnx-scr \ |
81 | " | 81 | " |
@@ -99,6 +99,14 @@ QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" | |||
99 | QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/zcu102-arm.dtb" | 99 | QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/zcu102-arm.dtb" |
100 | QEMU_HW_DTB_PMU = "${QEMU_HW_DTB_PATH}/zynqmp-pmu.dtb" | 100 | QEMU_HW_DTB_PMU = "${QEMU_HW_DTB_PATH}/zynqmp-pmu.dtb" |
101 | 101 | ||
102 | # Two total serial ports defined in this model (according to the dts) | ||
103 | # | ||
104 | # hw ps7_uart_0 (0xFF000000) - linux serial1 (ttyPS1) | ||
105 | # hw ps7_uart_1 (0xFF010000) - linux serial0 (ttyPS0) | ||
106 | # | ||
107 | # Default configuration will evaluate to: | ||
108 | #QB_XILINX_SERIAL = "-serial mon:stdio -serial null" | ||
109 | |||
102 | # Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) | 110 | # Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) |
103 | # | 111 | # |
104 | # In an actual device the FSBL will run first, load ATF and setup the | 112 | # In an actual device the FSBL will run first, load ATF and setup the |
@@ -124,7 +132,7 @@ QEMU_HW_DTB_PMU = "${QEMU_HW_DTB_PATH}/zynqmp-pmu.dtb" | |||
124 | # 00000000fffc0000: 0x584e4c58 0x00000001 0x08000000 0x00000000 | 132 | # 00000000fffc0000: 0x584e4c58 0x00000001 0x08000000 0x00000000 |
125 | # 00000000fffc0010: 0x00000010 0x00000000 | 133 | # 00000000fffc0010: 0x00000010 0x00000000 |
126 | # | 134 | # |
127 | QB_OPT_APPEND = " \ | 135 | QB_OPT_APPEND += " \ |
128 | -hw-dtb ${QEMU_HW_DTB_PS} \ | 136 | -hw-dtb ${QEMU_HW_DTB_PS} \ |
129 | ${@qemu_zynqmp_unhalt(d, True)} \ | 137 | ${@qemu_zynqmp_unhalt(d, True)} \ |
130 | -device loader,addr=0xfffc0000,data=0x584c4e5801000000,data-be=true,data-len=8 \ | 138 | -device loader,addr=0xfffc0000,data=0x584c4e5801000000,data-be=true,data-len=8 \ |
diff --git a/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch b/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch index 5b4ffaaf..83e5b58a 100644 --- a/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch +++ b/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch | |||
@@ -19,11 +19,11 @@ Signed-off-by: Mark Hatle <mark.hatle@amd.com> | |||
19 | create mode 100644 src/native-state-fbdev.cpp | 19 | create mode 100644 src/native-state-fbdev.cpp |
20 | create mode 100644 src/native-state-fbdev.h | 20 | create mode 100644 src/native-state-fbdev.h |
21 | 21 | ||
22 | diff --git a/src/gl-state-egl.cpp b/src/gl-state-egl.cpp | 22 | Index: git/src/gl-state-egl.cpp |
23 | index 5a6843c..14c7dac 100644 | 23 | =================================================================== |
24 | --- a/src/gl-state-egl.cpp | 24 | --- git.orig/src/gl-state-egl.cpp |
25 | +++ b/src/gl-state-egl.cpp | 25 | +++ git/src/gl-state-egl.cpp |
26 | @@ -510,6 +510,7 @@ GLStateEGL::gotValidDisplay() | 26 | @@ -508,6 +508,7 @@ GLStateEGL::gotValidDisplay() |
27 | return false; | 27 | return false; |
28 | } | 28 | } |
29 | 29 | ||
@@ -31,7 +31,7 @@ index 5a6843c..14c7dac 100644 | |||
31 | char const * __restrict const supported_extensions = | 31 | char const * __restrict const supported_extensions = |
32 | egl_query_string(EGL_NO_DISPLAY, EGL_EXTENSIONS); | 32 | egl_query_string(EGL_NO_DISPLAY, EGL_EXTENSIONS); |
33 | 33 | ||
34 | @@ -543,6 +544,9 @@ GLStateEGL::gotValidDisplay() | 34 | @@ -541,6 +542,9 @@ GLStateEGL::gotValidDisplay() |
35 | Log::debug("Falling back to eglGetDisplay()\n"); | 35 | Log::debug("Falling back to eglGetDisplay()\n"); |
36 | egl_display_ = egl_get_display(native_display_); | 36 | egl_display_ = egl_get_display(native_display_); |
37 | } | 37 | } |
@@ -41,11 +41,11 @@ index 5a6843c..14c7dac 100644 | |||
41 | 41 | ||
42 | if (!egl_display_) { | 42 | if (!egl_display_) { |
43 | Log::error("eglGetDisplay() failed with error: 0x%x\n", egl_get_error()); | 43 | Log::error("eglGetDisplay() failed with error: 0x%x\n", egl_get_error()); |
44 | diff --git a/src/main.cpp b/src/main.cpp | 44 | Index: git/src/main.cpp |
45 | index ce8b094..7c9f501 100644 | 45 | =================================================================== |
46 | --- a/src/main.cpp | 46 | --- git.orig/src/main.cpp |
47 | +++ b/src/main.cpp | 47 | +++ git/src/main.cpp |
48 | @@ -36,6 +36,8 @@ | 48 | @@ -37,6 +37,8 @@ |
49 | 49 | ||
50 | #if GLMARK2_USE_X11 | 50 | #if GLMARK2_USE_X11 |
51 | #include "native-state-x11.h" | 51 | #include "native-state-x11.h" |
@@ -53,21 +53,20 @@ index ce8b094..7c9f501 100644 | |||
53 | +#include "native-state-fbdev.h" | 53 | +#include "native-state-fbdev.h" |
54 | #elif GLMARK2_USE_DRM | 54 | #elif GLMARK2_USE_DRM |
55 | #include "native-state-drm.h" | 55 | #include "native-state-drm.h" |
56 | #elif GLMARK2_USE_MIR | 56 | #elif GLMARK2_USE_GBM |
57 | @@ -172,6 +174,8 @@ main(int argc, char *argv[]) | 57 | @@ -160,6 +162,8 @@ main(int argc, char *argv[]) |
58 | // Create the canvas | 58 | { |
59 | #if GLMARK2_USE_X11 | 59 | #if GLMARK2_USE_X11 |
60 | NativeStateX11 native_state; | 60 | NativeStateX11 native_state; |
61 | +#elif GLMARK2_USE_FBDEV | 61 | +#elif GLMARK2_USE_FBDEV |
62 | + NativeStateFbdev native_state; | 62 | + NativeStateFbdev native_state; |
63 | #elif GLMARK2_USE_DRM | 63 | #elif GLMARK2_USE_DRM |
64 | NativeStateDRM native_state; | 64 | NativeStateDRM native_state; |
65 | #elif GLMARK2_USE_MIR | 65 | #elif GLMARK2_USE_GBM |
66 | diff --git a/src/native-state-fbdev.cpp b/src/native-state-fbdev.cpp | 66 | Index: git/src/native-state-fbdev.cpp |
67 | new file mode 100644 | 67 | =================================================================== |
68 | index 0000000..0c82a25 | ||
69 | --- /dev/null | 68 | --- /dev/null |
70 | +++ b/src/native-state-fbdev.cpp | 69 | +++ git/src/native-state-fbdev.cpp |
71 | @@ -0,0 +1,172 @@ | 70 | @@ -0,0 +1,172 @@ |
72 | + | 71 | + |
73 | +/* | 72 | +/* |
@@ -241,11 +240,10 @@ index 0000000..0c82a25 | |||
241 | + | 240 | + |
242 | + return fd; | 241 | + return fd; |
243 | +} | 242 | +} |
244 | diff --git a/src/native-state-fbdev.h b/src/native-state-fbdev.h | 243 | Index: git/src/native-state-fbdev.h |
245 | new file mode 100644 | 244 | =================================================================== |
246 | index 0000000..0162ee0 | ||
247 | --- /dev/null | 245 | --- /dev/null |
248 | +++ b/src/native-state-fbdev.h | 246 | +++ git/src/native-state-fbdev.h |
249 | @@ -0,0 +1,59 @@ | 247 | @@ -0,0 +1,59 @@ |
250 | +/* | 248 | +/* |
251 | + * Copyright © 2018 Xilinx Inc | 249 | + * Copyright © 2018 Xilinx Inc |
@@ -306,11 +304,11 @@ index 0000000..0162ee0 | |||
306 | +}; | 304 | +}; |
307 | + | 305 | + |
308 | +#endif /* GLMARK2_NATIVE_STATE_FBDEV_H_ */ | 306 | +#endif /* GLMARK2_NATIVE_STATE_FBDEV_H_ */ |
309 | diff --git a/src/wscript_build b/src/wscript_build | 307 | Index: git/src/wscript_build |
310 | index a01c8a8..c179342 100644 | 308 | =================================================================== |
311 | --- a/src/wscript_build | 309 | --- git.orig/src/wscript_build |
312 | +++ b/src/wscript_build | 310 | +++ git/src/wscript_build |
313 | @@ -90,6 +90,7 @@ flavor_sources = { | 311 | @@ -88,6 +88,7 @@ flavor_sources = { |
314 | 'win32-glesv2': common_flavor_sources + ['native-state-win32.cpp', 'gl-state-egl.cpp'], | 312 | 'win32-glesv2': common_flavor_sources + ['native-state-win32.cpp', 'gl-state-egl.cpp'], |
315 | 'x11-gl' : common_flavor_sources + ['native-state-x11.cpp', 'gl-state-glx.cpp'], | 313 | 'x11-gl' : common_flavor_sources + ['native-state-x11.cpp', 'gl-state-glx.cpp'], |
316 | 'x11-glesv2' : common_flavor_sources + ['native-state-x11.cpp', 'gl-state-egl.cpp'], | 314 | 'x11-glesv2' : common_flavor_sources + ['native-state-x11.cpp', 'gl-state-egl.cpp'], |
@@ -318,7 +316,7 @@ index a01c8a8..c179342 100644 | |||
318 | } | 316 | } |
319 | flavor_uselibs = { | 317 | flavor_uselibs = { |
320 | 'dispmanx-glesv2' : ['glad-egl-dispmanx', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2', 'dispmanx'], | 318 | 'dispmanx-glesv2' : ['glad-egl-dispmanx', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2', 'dispmanx'], |
321 | @@ -103,6 +104,7 @@ flavor_uselibs = { | 319 | @@ -99,6 +100,7 @@ flavor_uselibs = { |
322 | 'win32-glesv2': ['glad-egl-win32', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2'], | 320 | 'win32-glesv2': ['glad-egl-win32', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2'], |
323 | 'x11-gl' : ['x11', 'glad-gl', 'glad-glx', 'matrix-gl', 'common-gl'], | 321 | 'x11-gl' : ['x11', 'glad-gl', 'glad-glx', 'matrix-gl', 'common-gl'], |
324 | 'x11-glesv2' : ['x11', 'glad-egl-x11', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2'], | 322 | 'x11-glesv2' : ['x11', 'glad-egl-x11', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2'], |
@@ -326,7 +324,7 @@ index a01c8a8..c179342 100644 | |||
326 | } | 324 | } |
327 | 325 | ||
328 | flavor_defines = { | 326 | flavor_defines = { |
329 | @@ -117,6 +119,7 @@ flavor_defines = { | 327 | @@ -111,6 +113,7 @@ flavor_defines = { |
330 | 'win32-glesv2': ['GLMARK2_USE_WIN32', 'GLMARK2_USE_GLESv2', 'GLMARK2_USE_EGL'], | 328 | 'win32-glesv2': ['GLMARK2_USE_WIN32', 'GLMARK2_USE_GLESv2', 'GLMARK2_USE_EGL'], |
331 | 'x11-gl' : ['GLMARK2_USE_X11', 'GLMARK2_USE_GL', 'GLMARK2_USE_GLX'], | 329 | 'x11-gl' : ['GLMARK2_USE_X11', 'GLMARK2_USE_GL', 'GLMARK2_USE_GLX'], |
332 | 'x11-glesv2' : ['GLMARK2_USE_X11', 'GLMARK2_USE_GLESv2', 'GLMARK2_USE_EGL'], | 330 | 'x11-glesv2' : ['GLMARK2_USE_X11', 'GLMARK2_USE_GLESv2', 'GLMARK2_USE_EGL'], |
@@ -334,7 +332,7 @@ index a01c8a8..c179342 100644 | |||
334 | } | 332 | } |
335 | flavor_libs = { | 333 | flavor_libs = { |
336 | 'dispmanx-glesv2' : [], | 334 | 'dispmanx-glesv2' : [], |
337 | @@ -156,6 +159,7 @@ flavor_sources_gen = { | 335 | @@ -144,6 +147,7 @@ flavor_sources_gen = { |
338 | 'win32-glesv2' : [], | 336 | 'win32-glesv2' : [], |
339 | 'x11-gl' : [], | 337 | 'x11-gl' : [], |
340 | 'x11-glesv2' : [], | 338 | 'x11-glesv2' : [], |
@@ -342,7 +340,7 @@ index a01c8a8..c179342 100644 | |||
342 | } | 340 | } |
343 | egl_platform_defines = { | 341 | egl_platform_defines = { |
344 | 'dispmanx' : ['MESA_EGL_NO_X11_HEADERS'], | 342 | 'dispmanx' : ['MESA_EGL_NO_X11_HEADERS'], |
345 | @@ -164,6 +168,7 @@ egl_platform_defines = { | 343 | @@ -151,6 +155,7 @@ egl_platform_defines = { |
346 | 'wayland' : ['WL_EGL_PLATFORM'], | 344 | 'wayland' : ['WL_EGL_PLATFORM'], |
347 | 'win32' : [], | 345 | 'win32' : [], |
348 | 'x11' : [], | 346 | 'x11' : [], |
@@ -350,11 +348,11 @@ index a01c8a8..c179342 100644 | |||
350 | } | 348 | } |
351 | 349 | ||
352 | includes = ['.', 'scene-ideas', 'scene-terrain'] + platform_includes | 350 | includes = ['.', 'scene-ideas', 'scene-terrain'] + platform_includes |
353 | diff --git a/wscript b/wscript | 351 | Index: git/wscript |
354 | index cecc3d9..4ae50d8 100644 | 352 | =================================================================== |
355 | --- a/wscript | 353 | --- git.orig/wscript |
356 | +++ b/wscript | 354 | +++ git/wscript |
357 | @@ -19,6 +19,7 @@ FLAVORS = { | 355 | @@ -17,6 +17,7 @@ FLAVORS = { |
358 | 'win32-glesv2': 'glmark2-es2', | 356 | 'win32-glesv2': 'glmark2-es2', |
359 | 'x11-gl' : 'glmark2', | 357 | 'x11-gl' : 'glmark2', |
360 | 'x11-glesv2' : 'glmark2-es2', | 358 | 'x11-glesv2' : 'glmark2-es2', |
@@ -362,14 +360,11 @@ index cecc3d9..4ae50d8 100644 | |||
362 | } | 360 | } |
363 | FLAVORS_STR = ", ".join(sorted(list(FLAVORS) + ['all-linux', 'all-win32'])) | 361 | FLAVORS_STR = ", ".join(sorted(list(FLAVORS) + ['all-linux', 'all-win32'])) |
364 | 362 | ||
365 | @@ -213,6 +214,7 @@ def configure_linux(ctx): | 363 | @@ -210,6 +211,7 @@ def configure_linux(ctx): |
364 | ('libdrm','drm', None, list_contains(ctx.options.flavors, 'drm')), | ||
366 | ('gbm','gbm', None, list_contains(ctx.options.flavors, 'drm')), | 365 | ('gbm','gbm', None, list_contains(ctx.options.flavors, 'drm')), |
367 | ('libudev', 'udev', None, list_contains(ctx.options.flavors, 'drm')), | 366 | ('libudev', 'udev', None, list_contains(ctx.options.flavors, 'drm')), |
368 | ('mirclient','mirclient', '0.13', list_contains(ctx.options.flavors, 'mir')), | ||
369 | + ('libudev', 'udev', None, list_contains(ctx.options.flavors, 'fbdev')), | 367 | + ('libudev', 'udev', None, list_contains(ctx.options.flavors, 'fbdev')), |
370 | ('wayland-client','wayland-client', None, list_contains(ctx.options.flavors, 'wayland')), | 368 | ('wayland-client','wayland-client', None, list_contains(ctx.options.flavors, 'wayland')), |
371 | ('wayland-cursor','wayland-cursor', None, list_contains(ctx.options.flavors, 'wayland')), | 369 | ('wayland-cursor','wayland-cursor', None, list_contains(ctx.options.flavors, 'wayland')), |
372 | ('wayland-egl','wayland-egl', None, list_contains(ctx.options.flavors, 'wayland'))] | 370 | ('wayland-egl','wayland-egl', None, list_contains(ctx.options.flavors, 'wayland'))] |
373 | -- | ||
374 | 2.17.1 | ||
375 | |||
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb new file mode 100644 index 00000000..6a4fd880 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb | |||
@@ -0,0 +1,47 @@ | |||
1 | SUMMARY = "Xilinx AI Engine runtime" | ||
2 | DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP" | ||
3 | |||
4 | require aie-rt.inc | ||
5 | |||
6 | SECTION = "libs" | ||
7 | |||
8 | AIEDIR ?= "${S}/driver" | ||
9 | S = "${WORKDIR}/git" | ||
10 | I = "${AIEDIR}/include" | ||
11 | |||
12 | COMPATIBLE_MACHINE = "^$" | ||
13 | COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" | ||
14 | COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" | ||
15 | PV = "3.3" | ||
16 | |||
17 | IOBACKENDS ?= "Linux" | ||
18 | |||
19 | DEPENDS = "${@bb.utils.contains('IOBACKENDS', 'metal', 'libmetal', '', d)}" | ||
20 | RDEPENDS:${PN} = "${@bb.utils.contains('IOBACKENDS', 'metal', 'libmetal', '', d)}" | ||
21 | |||
22 | PROVIDES = "libxaiengine" | ||
23 | RPROVIDES:${PN} = "libxaiengine" | ||
24 | |||
25 | # The makefile isn't ready for parallel execution at the moment | ||
26 | PARALLEL_MAKE = "-j 1" | ||
27 | |||
28 | CFLAGS += "-Wall -Wextra -fno-thread-jumps -fno-tree-pre" | ||
29 | CFLAGS += "${@bb.utils.contains('IOBACKENDS', 'Linux', ' -D__AIELINUX__', '', d)}" | ||
30 | CFLAGS += "${@bb.utils.contains('IOBACKENDS', 'metal', ' -D__AIEMETAL__', '', d)}" | ||
31 | EXTRA_OEMAKE = "-C ${AIEDIR}/src -f Makefile.Linux CFLAGS='${CFLAGS}'" | ||
32 | |||
33 | |||
34 | do_compile(){ | ||
35 | oe_runmake | ||
36 | } | ||
37 | |||
38 | do_install(){ | ||
39 | install -d ${D}${includedir} | ||
40 | install ${I}/*.h ${D}${includedir}/ | ||
41 | install -d ${D}${includedir}/xaiengine | ||
42 | install ${I}/xaiengine/*.h ${D}${includedir}/xaiengine/ | ||
43 | install -d ${D}${libdir} | ||
44 | cp -dr ${AIEDIR}/src/*.so* ${D}${libdir} | ||
45 | } | ||
46 | |||
47 | PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" | ||
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb index e364462b..f86c5985 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb +++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb | |||
@@ -1,7 +1,7 @@ | |||
1 | SUMMARY = "Xilinx AI Engine runtime" | 1 | SUMMARY = "Xilinx AI Engine runtime" |
2 | DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP" | 2 | DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP" |
3 | 3 | ||
4 | require aie-rt.inc | 4 | require aie-rt-2022.inc |
5 | 5 | ||
6 | SECTION = "libs" | 6 | SECTION = "libs" |
7 | 7 | ||
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc new file mode 100644 index 00000000..85121654 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | SECTION = "libs" | ||
2 | |||
3 | REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" | ||
4 | |||
5 | BRANCH ?= "xlnx_rel_v2022.2" | ||
6 | SRCREV ?= "ae24c8ede049906323510693f37e6167a963fd0e" | ||
7 | |||
8 | LICENSE = "BSD-3-Clause" | ||
9 | LIC_FILES_CHKSUM ?= "file://license.txt;md5=b81abf1f508952331dd7d2ab36408f5b" | ||
10 | |||
11 | SRC_URI = "${REPO};branch=${BRANCH}" | ||
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb new file mode 100644 index 00000000..641c39a9 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb | |||
@@ -0,0 +1,33 @@ | |||
1 | SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)" | ||
2 | DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP" | ||
3 | |||
4 | require aie-rt.inc | ||
5 | |||
6 | SECTION = "devel" | ||
7 | |||
8 | XAIEFAL_DIR ?= "fal" | ||
9 | S = "${WORKDIR}/git" | ||
10 | |||
11 | COMPATIBLE_MACHINE = "^$" | ||
12 | COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" | ||
13 | COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" | ||
14 | |||
15 | IOBACKENDS ?= "Linux" | ||
16 | |||
17 | PROVIDES = "aiefal" | ||
18 | ALLOW_EMPTY:${PN} = "1" | ||
19 | |||
20 | inherit pkgconfig cmake | ||
21 | |||
22 | DEPENDS = "libxaiengine" | ||
23 | |||
24 | OECMAKE_SOURCEPATH = "${S}/${XAIEFAL_DIR}" | ||
25 | |||
26 | EXTRA_OECMAKE = "-DWITH_TESTS=OFF " | ||
27 | EXTRA_OECMAKE:append = "${@'-DWITH_EXAMPLES=ON' if d.getVar('WITH_EXAMPLES') == 'y' else '-DWITH_EXAMPLES=OFF'}" | ||
28 | |||
29 | FILES:${PN}-demos = " \ | ||
30 | ${bindir}/* \ | ||
31 | " | ||
32 | |||
33 | PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" | ||
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb index 6ac86a1b..2c6c9cd1 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb | |||
@@ -1,7 +1,7 @@ | |||
1 | SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)" | 1 | SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)" |
2 | DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP" | 2 | DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP" |
3 | 3 | ||
4 | require aie-rt.inc | 4 | require aie-rt-2022.inc |
5 | 5 | ||
6 | SECTION = "devel" | 6 | SECTION = "devel" |
7 | 7 | ||
diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.1.bb new file mode 100644 index 00000000..f02bb879 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.1.bb | |||
@@ -0,0 +1,8 @@ | |||
1 | ATF_VERSION = "2.6" | ||
2 | SRCREV = "67ca59c67f542322554d78820bf9ddaa736d6a84" | ||
3 | BRANCH = "xlnx_rebase_v2.6" | ||
4 | LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" | ||
5 | |||
6 | |||
7 | include arm-trusted-firmware.inc | ||
8 | |||
diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.2.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.2.bb new file mode 100644 index 00000000..5ef2e6ac --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.2.bb | |||
@@ -0,0 +1,8 @@ | |||
1 | ATF_VERSION = "2.6" | ||
2 | SRCREV = "0897efd45ccad29a3dbab610578c70e3a52b2caa" | ||
3 | BRANCH = "xlnx_rebase_v2.6" | ||
4 | LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" | ||
5 | |||
6 | |||
7 | include arm-trusted-firmware.inc | ||
8 | |||
diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb index 454fbe86..2bcbe7d4 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb | |||
@@ -1,5 +1,5 @@ | |||
1 | ATF_VERSION = "2.8" | 1 | ATF_VERSION = "2.8" |
2 | SRCREV = "6fcc6b179dc14de0f6ba19a1829e597b60f7aee5" | 2 | SRCREV = "c9b71dc96f3f18ca94cad590612aae3224c8c84d" |
3 | BRANCH = "xlnx_rebase_v2.8" | 3 | BRANCH = "xlnx_rebase_v2.8" |
4 | LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" | 4 | LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" |
5 | 5 | ||
diff --git a/meta-xilinx-core/recipes-bsp/bootgen/bootgen_1.0.bb b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_1.0.bb new file mode 100644 index 00000000..fdf28f41 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_1.0.bb | |||
@@ -0,0 +1,31 @@ | |||
1 | SUMMARY = "Building and installing bootgen" | ||
2 | DESCRIPTION = "Building and installing bootgen, a Xilinx tool that lets you stitch binary files together and generate device boot images" | ||
3 | |||
4 | LICENSE = "Apache-2.0" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=d526b6d0807bf263b97da1da876f39b1" | ||
6 | |||
7 | S = "${WORKDIR}/git" | ||
8 | |||
9 | DEPENDS += "openssl" | ||
10 | RDEPENDS:${PN} += "openssl" | ||
11 | |||
12 | REPO ?= "git://github.com/Xilinx/bootgen.git;protocol=https" | ||
13 | BRANCH ?= "xlnx_rel_v2022.2" | ||
14 | SRCREV = "cf4ba93b99644dc4429ef633471a639e1382f0e7" | ||
15 | |||
16 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
17 | SRC_URI = "${REPO};${BRANCHARG}" | ||
18 | |||
19 | EXTRA_OEMAKE += 'CROSS_COMPILER="${CXX}" -C ${S}' | ||
20 | CXXFLAGS:append = " -std=c++0x" | ||
21 | |||
22 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
23 | |||
24 | do_install() { | ||
25 | install -d ${D}${bindir} | ||
26 | install -Dm 0755 ${S}/bootgen ${D}${bindir} | ||
27 | } | ||
28 | |||
29 | FILES:${PN} = "${bindir}/bootgen" | ||
30 | |||
31 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb new file mode 100644 index 00000000..b4de4fe6 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb | |||
@@ -0,0 +1,78 @@ | |||
1 | SUMMARY = "Xilinx dfx-mgr libraries" | ||
2 | DESCRIPTION = "Xilinx Runtime User Space Libraries and Binaries" | ||
3 | |||
4 | LICENSE = "MIT" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=d67bcef754e935bf77b6d7051bd62b5e" | ||
6 | |||
7 | REPO ?= "git://github.com/Xilinx/dfx-mgr.git;protocol=https" | ||
8 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
9 | SRC_URI = "${REPO};${BRANCHARG}" | ||
10 | |||
11 | BRANCH = "xlnx_rel_v2022.2" | ||
12 | SRCREV = "bc06691eb35d7f0acb7c2508b6d050d77b0264a0" | ||
13 | SOMAJOR = "1" | ||
14 | SOMINOR = "0" | ||
15 | SOVERSION = "${SOMAJOR}.${SOMINOR}" | ||
16 | |||
17 | COMPATIBLE_MACHINE = "^$" | ||
18 | COMPATIBLE_MACHINE:zynqmp = "zynqmp" | ||
19 | COMPATIBLE_MACHINE:versal = "versal" | ||
20 | |||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | inherit cmake update-rc.d systemd | ||
24 | |||
25 | DEPENDS += " libwebsockets inotify-tools libdfx zocl libdrm" | ||
26 | RDEPENDS:${PN} += " fru-print" | ||
27 | EXTRA_OECMAKE += " \ | ||
28 | -DCMAKE_SYSROOT:PATH=${RECIPE_SYSROOT} \ | ||
29 | " | ||
30 | |||
31 | # Workaround for: the comparison will always evaluate as 'true' for the address of 'defaul_accel_name' will never be NULL [-Werror=address] | ||
32 | CFLAGS += "-Wno-address" | ||
33 | |||
34 | # Workaround for: '__builtin_strncpy' specified bound depends on the length of the source argument [-Werror=stringop-truncation] | ||
35 | CFLAGS += "-Wno-stringop-truncation" | ||
36 | |||
37 | INITSCRIPT_NAME = "dfx-mgr.sh" | ||
38 | INITSCRIPT_PARAMS = "start 99 S ." | ||
39 | |||
40 | SYSTEMD_PACKAGES="${PN}" | ||
41 | SYSTEMD_SERVICE:${PN}="dfx-mgr.service" | ||
42 | SYSTEMD_AUTO_ENABLE:${PN}="enable" | ||
43 | |||
44 | |||
45 | do_install(){ | ||
46 | install -d ${D}${bindir} | ||
47 | install -d ${D}${libdir} | ||
48 | install -d ${D}${includedir} | ||
49 | install -d ${D}${base_libdir}/firmware/xilinx | ||
50 | install -d ${D}${sysconfdir}/dfx-mgrd | ||
51 | |||
52 | cp ${B}/example/sys/linux/dfx-mgrd-static ${D}${bindir}/dfx-mgrd | ||
53 | cp ${B}/example/sys/linux/dfx-mgr-client-static ${D}${bindir}/dfx-mgr-client | ||
54 | chrpath -d ${D}${bindir}/dfx-mgrd | ||
55 | chrpath -d ${D}${bindir}/dfx-mgr-client | ||
56 | install -m 0644 ${S}/src/dfxmgr_client.h ${D}${includedir} | ||
57 | |||
58 | oe_soinstall ${B}/src/libdfx-mgr.so.${SOVERSION} ${D}${libdir} | ||
59 | |||
60 | install -m 0755 ${S}/src/daemon.conf ${D}${sysconfdir}/dfx-mgrd/ | ||
61 | |||
62 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | ||
63 | install -d ${D}${sysconfdir}/init.d/ | ||
64 | install -m 0755 ${S}/src/dfx-mgr.sh ${D}${sysconfdir}/init.d/ | ||
65 | fi | ||
66 | |||
67 | install -m 0755 ${S}/src/dfx-mgr.sh ${D}${bindir} | ||
68 | install -m 0755 ${S}/src/scripts/xlnx-firmware-detect ${D}${bindir} | ||
69 | |||
70 | install -d ${D}${systemd_system_unitdir} | ||
71 | install -m 0644 ${S}/src/dfx-mgr.service ${D}${systemd_system_unitdir} | ||
72 | } | ||
73 | |||
74 | PACKAGES =+ "libdfx-mgr" | ||
75 | |||
76 | FILES:${PN} += "${base_libdir}/firmware/xilinx" | ||
77 | FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','${sysconfdir}/init.d/dfx-mgr.sh', '', d)} ${systemd_system_unitdir}" | ||
78 | FILES:libdfx-mgr = "${libdir}/libdfx-mgr.so.${SOVERSION} ${libdir}/libdfx-mgr.so.${SOMAJOR}" | ||
diff --git a/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb b/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb index af786e7e..2114eafd 100644 --- a/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb +++ b/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb | |||
@@ -18,18 +18,18 @@ do_install[vardepsexclude] += "DEPLOY_DIR_IMAGE" | |||
18 | do_install[depends] += "${INITRAMFS_IMAGE}:do_image_complete" | 18 | do_install[depends] += "${INITRAMFS_IMAGE}:do_image_complete" |
19 | do_install[cleandirs] = "${D}" | 19 | do_install[cleandirs] = "${D}" |
20 | do_install() { | 20 | do_install() { |
21 | if [ -e ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot ]; then | 21 | if [ -e ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot ]; then |
22 | install -d ${D}/boot/ | 22 | install -d ${D}/boot/ |
23 | install -m 0644 ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot ${D}/boot/. | 23 | install -m 0644 ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot ${D}/boot/. |
24 | else | 24 | else |
25 | bbfatal "Unable to find expected initramfs: ${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot" | 25 | bbfatal "Unable to find expected initramfs: ${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot" |
26 | fi | 26 | fi |
27 | } | 27 | } |
28 | 28 | ||
29 | PACKAGES = "${PACKAGE_BEFORE_PN} ${PN}" | 29 | PACKAGES = "${PACKAGE_BEFORE_PN} ${PN}" |
30 | 30 | ||
31 | RPROVIDES:${PN} = "initramdisk" | 31 | RPROVIDES:${PN} = "initramdisk" |
32 | FILES:${PN} = "/boot/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot" | 32 | FILES:${PN} = "/boot/${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot" |
33 | 33 | ||
34 | python() { | 34 | python() { |
35 | if not d.getVar('INITRAMFS_IMAGE'): | 35 | if not d.getVar('INITRAMFS_IMAGE'): |
diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb new file mode 100644 index 00000000..2c180561 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | SUMMARY = "Xilinx libdfx library" | ||
2 | DESCRIPTION = "Xilinx libdfx Library and headers" | ||
3 | |||
4 | LICENSE = "MIT & GPL-2.0-or-later" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=94aba86aec117f003b958a52f019f1a7" | ||
6 | |||
7 | BRANCH ?= "xlnx_rel_v2022.2" | ||
8 | REPO ?= "git://github.com/Xilinx/libdfx.git;protocol=https" | ||
9 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
10 | SRC_URI = "${REPO};${BRANCHARG}" | ||
11 | SRCREV = "f2b7bbca9d6936141024becfb92266600eeefc2b" | ||
12 | |||
13 | COMPATIBLE_MACHINE = "^$" | ||
14 | COMPATIBLE_MACHINE:zynqmp = "zynqmp" | ||
15 | COMPATIBLE_MACHINE:versal = "versal" | ||
16 | |||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | inherit cmake | ||
20 | |||
21 | # Due to an update where the soname/version was defined, we need to use an RREPLACES | ||
22 | # so updates will work properly. | ||
23 | RREPLACES:${PN} = "libdfx" | ||
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb new file mode 100644 index 00000000..eaf8d4ce --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | require u-boot-tools-xlnx.inc | ||
2 | require u-boot-xlnx-2022.1.inc | ||
3 | |||
4 | # MUST clear CONFIG_VIDEO to avoid a compilation failure trying to construct | ||
5 | # bmp_logo.h | ||
6 | SED_CONFIG_EFI:append = ' -e "s/CONFIG_VIDEO=.*/# CONFIG_VIDEO is not set/"' | ||
7 | |||
8 | # Default do_compile fails with: | ||
9 | # | error: object directory ../downloads/git2/github.com.Xilinx.u-boot-xlnx.git/objects does not exist; check .git/objects/info/alternates. | ||
10 | # The regular workaround of calling 'git diff' seems to be problematic. | ||
11 | do_compile () { | ||
12 | oe_runmake -C ${S} tools-only_defconfig O=${B} | ||
13 | |||
14 | # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and | ||
15 | # generating it requires bin2header tool, which for target build | ||
16 | # is built with target tools and thus cannot be executed on host. | ||
17 | sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} ${B}/.config | ||
18 | |||
19 | oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B} | ||
20 | } | ||
21 | |||
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb new file mode 100644 index 00000000..44636872 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | require u-boot-tools-xlnx.inc | ||
2 | require u-boot-xlnx-2022.2.inc | ||
3 | |||
4 | # MUST clear CONFIG_VIDEO to avoid a compilation failure trying to construct | ||
5 | # bmp_logo.h | ||
6 | SED_CONFIG_EFI:append = ' -e "s/CONFIG_VIDEO=.*/# CONFIG_VIDEO is not set/"' | ||
7 | |||
8 | # Default do_compile fails with: | ||
9 | # | error: object directory ../downloads/git2/github.com.Xilinx.u-boot-xlnx.git/objects does not exist; check .git/objects/info/alternates. | ||
10 | # The regular workaround of calling 'git diff' seems to be problematic. | ||
11 | do_compile () { | ||
12 | oe_runmake -C ${S} tools-only_defconfig O=${B} | ||
13 | |||
14 | # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and | ||
15 | # generating it requires bin2header tool, which for target build | ||
16 | # is built with target tools and thus cannot be executed on host. | ||
17 | sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} ${B}/.config | ||
18 | |||
19 | oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B} | ||
20 | } | ||
21 | |||
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.1.inc new file mode 100644 index 00000000..a0c0b50d --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.1.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | UBOOT_VERSION = "v2021.01" | ||
2 | |||
3 | UBRANCH ?= "xlnx_rebase_v2022.01_2022.1_update" | ||
4 | |||
5 | SRCREV = "91ad7924e7f59584d597353e1bb86794341e0a7e" | ||
6 | |||
7 | LICENSE = "GPL-2.0-or-later" | ||
8 | LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" | ||
9 | |||
10 | # u-boot-xlnx has support for these | ||
11 | HAS_PLATFORM_INIT ?= " \ | ||
12 | xilinx_zynqmp_virt_config \ | ||
13 | xilinx_zynq_virt_defconfig \ | ||
14 | xilinx_versal_vc_p_a2197_revA_x_prc_01_revA \ | ||
15 | " | ||
16 | |||
17 | DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native" | ||
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc new file mode 100644 index 00000000..6415861d --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | UBOOT_VERSION = "v2021.01" | ||
2 | |||
3 | UBRANCH ?= "xlnx_rebase_v2022.01" | ||
4 | |||
5 | SRCREV = "b31476685debf5512ed0d4e8000fa5167a22f530" | ||
6 | |||
7 | LICENSE = "GPL-2.0-or-later" | ||
8 | LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" | ||
9 | |||
10 | # u-boot-xlnx has support for these | ||
11 | HAS_PLATFORM_INIT ?= " \ | ||
12 | xilinx_zynqmp_virt_config \ | ||
13 | xilinx_zynq_virt_defconfig \ | ||
14 | xilinx_versal_vc_p_a2197_revA_x_prc_01_revA \ | ||
15 | " | ||
16 | |||
17 | DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native" | ||
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc index fd51561a..72f43f71 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc | |||
@@ -1,8 +1,8 @@ | |||
1 | UBOOT_VERSION = "v2023.01" | 1 | UBOOT_VERSION = "v2023.01" |
2 | 2 | ||
3 | UBRANCH = "xlnx_rebase_v2023.01" | 3 | UBRANCH = "xlnx_rebase_v2023.01_update" |
4 | 4 | ||
5 | SRCREV = "8624651f9ae49d326e29d9ec9a80a881a769640a" | 5 | SRCREV = "1689570b68dd3827e527a520805aa0bb7f58ee09" |
6 | 6 | ||
7 | LICENSE = "GPL-2.0-or-later" | 7 | LICENSE = "GPL-2.0-or-later" |
8 | LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" | 8 | LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" |
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.1.bb new file mode 100644 index 00000000..c1c45e56 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.1.bb | |||
@@ -0,0 +1,4 @@ | |||
1 | |||
2 | require u-boot-xlnx.inc | ||
3 | require u-boot-spl-zynq-init.inc | ||
4 | require u-boot-xlnx-2022.1.inc | ||
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.2.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.2.bb new file mode 100644 index 00000000..b10f321b --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.2.bb | |||
@@ -0,0 +1,4 @@ | |||
1 | |||
2 | require u-boot-xlnx.inc | ||
3 | require u-boot-spl-zynq-init.inc | ||
4 | require u-boot-xlnx-2022.2.inc | ||
diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend b/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend new file mode 100644 index 00000000..fd3a3c11 --- /dev/null +++ b/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend | |||
@@ -0,0 +1,5 @@ | |||
1 | # Minimum board memory required for each type | ||
2 | QB_MEM:microblaze = "-m 2G" | ||
3 | QB_MEM:zynq = "-m 1G" | ||
4 | QB_MEM:zynqmp = "-m 4G" | ||
5 | QB_MEM:versal = "-m 16G" | ||
diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest-fast.bbappend b/meta-xilinx-core/recipes-core/images/core-image-ptest-fast.bbappend index 423663fa..e748c9e4 100644 --- a/meta-xilinx-core/recipes-core/images/core-image-ptest-fast.bbappend +++ b/meta-xilinx-core/recipes-core/images/core-image-ptest-fast.bbappend | |||
@@ -10,6 +10,6 @@ PTESTS_PROBLEMS:append:zynq = " qemu-ptest" | |||
10 | 10 | ||
11 | # Microblaze has some limitations | 11 | # Microblaze has some limitations |
12 | # graphics is the primary one, bluez5 requires graphics support by default | 12 | # graphics is the primary one, bluez5 requires graphics support by default |
13 | PTESTS_FAST:remove:microblaze = "pango-ptest wayland-ptest qemu-ptest bluez5-ptest" | 13 | PTESTS_FAST:remove:microblaze = "pango-ptest wayland-ptest qemu-ptest bluez5-ptest python3-bcrypt qemu" |
14 | PTESTS_PROBLEMS:append:microblaze = " pango-ptest wayland-ptest qemu-ptest bluez5-ptest" | 14 | PTESTS_PROBLEMS:append:microblaze = " pango-ptest wayland-ptest qemu-ptest bluez5-ptest python3-bcrypt qemu" |
15 | 15 | ||
diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend b/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend new file mode 100644 index 00000000..fd3a3c11 --- /dev/null +++ b/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend | |||
@@ -0,0 +1,5 @@ | |||
1 | # Minimum board memory required for each type | ||
2 | QB_MEM:microblaze = "-m 2G" | ||
3 | QB_MEM:zynq = "-m 1G" | ||
4 | QB_MEM:zynqmp = "-m 4G" | ||
5 | QB_MEM:versal = "-m 16G" | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc index 7e88713c..c18a5326 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc | |||
@@ -17,4 +17,37 @@ python () { | |||
17 | if (d.getVar('BPN') != 'qemu'): | 17 | if (d.getVar('BPN') != 'qemu'): |
18 | for pkg in d.getVar('PACKAGES').split(): | 18 | for pkg in d.getVar('PACKAGES').split(): |
19 | d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu')) | 19 | d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu')) |
20 | |||
21 | for pkg in d.getVar('PACKAGES_DYNAMIC').split(): | ||
22 | d.appendVar('PACKAGES_DYNAMIC', ' ' + pkg.replace(d.getVar('PN'), 'qemu')) | ||
20 | } | 23 | } |
24 | |||
25 | # From Poky qemu.inc | ||
26 | # Modified to add compatibility RPROVIDES | ||
27 | python split_qemu_packages () { | ||
28 | archdir = d.expand('${bindir}/') | ||
29 | syspackages = do_split_packages(d, archdir, r'^qemu-system-(.*)$', '${PN}-system-%s', 'QEMU full system emulation binaries(%s)' , prepend=True) | ||
30 | if syspackages: | ||
31 | d.setVar('RDEPENDS:' + d.getVar('PN') + '-system-all', ' '.join(syspackages)) | ||
32 | |||
33 | if (d.getVar('BPN') != 'qemu'): | ||
34 | for pkg in syspackages: | ||
35 | d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu')) | ||
36 | |||
37 | userpackages = do_split_packages(d, archdir, r'^qemu-((?!system|edid|ga|img|io|nbd|pr-helper|storage-daemon).*)$', '${PN}-user-%s', 'QEMU full user emulation binaries(%s)' , prepend=True) | ||
38 | if userpackages: | ||
39 | d.setVar('RDEPENDS:' + d.getVar('PN') + '-user-all', ' '.join(userpackages)) | ||
40 | |||
41 | if (d.getVar('BPN') != 'qemu'): | ||
42 | for pkg in userpackages: | ||
43 | d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu')) | ||
44 | |||
45 | mipspackage = d.getVar('PN') + "-user-mips" | ||
46 | if mipspackage in ' '.join(userpackages): | ||
47 | d.appendVar('RDEPENDS:' + mipspackage, ' ' + d.getVar("MLPREFIX") + 'bash') | ||
48 | |||
49 | if (d.getVar('BPN') != 'qemu'): | ||
50 | for pkg in mipspackage: | ||
51 | d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu')) | ||
52 | } | ||
53 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.1.bb new file mode 100644 index 00000000..7c734cd6 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.1.bb | |||
@@ -0,0 +1,8 @@ | |||
1 | |||
2 | require qemu-devicetrees.inc | ||
3 | |||
4 | BRANCH ?= "xlnx_rel_v2022.1" | ||
5 | SRCREV ?= "0499324af1178057c3730b0989c8fb5c5bbc4cf8" | ||
6 | |||
7 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" | ||
8 | SRC_URI:append = " file://0001-Makefile-Use-python3-instead-of-python.patch" | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.2.bb new file mode 100644 index 00000000..6675ba3e --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.2.bb | |||
@@ -0,0 +1,6 @@ | |||
1 | |||
2 | require qemu-devicetrees.inc | ||
3 | |||
4 | BRANCH ?= "xlnx_rel_v2022.2" | ||
5 | SRCREV ?= "cf5d357e16c13ac447861f908e83951ffb7b4301" | ||
6 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb index 91e787bd..dc1feda4 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb | |||
@@ -2,5 +2,5 @@ | |||
2 | require qemu-devicetrees.inc | 2 | require qemu-devicetrees.inc |
3 | 3 | ||
4 | BRANCH ?= "xlnx_rel_v2023.1" | 4 | BRANCH ?= "xlnx_rel_v2023.1" |
5 | SRCREV ?= "1c45adcde1fc06432c01be250bf668c6477d8459" | 5 | SRCREV ?= "56538937584f527fb408347c3b430142e74723e8" |
6 | 6 | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.1.inc new file mode 100644 index 00000000..bb8fac70 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.1.inc | |||
@@ -0,0 +1,8 @@ | |||
1 | # Note this isn't really the 2022.1 or 2022.2 version of qemu-xilinx | ||
2 | # Instead it's the current master version, as qemu 6.1.0 doesn't | ||
3 | # work reliabily anymore. | ||
4 | |||
5 | XILINX_QEMU_VERSION = "v7.1.0" | ||
6 | BRANCH = "master" | ||
7 | SRCREV = "21adc9f99e813fb24fb65421259b5b0614938376" | ||
8 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.2.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.2.inc new file mode 100644 index 00000000..bb8fac70 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.2.inc | |||
@@ -0,0 +1,8 @@ | |||
1 | # Note this isn't really the 2022.1 or 2022.2 version of qemu-xilinx | ||
2 | # Instead it's the current master version, as qemu 6.1.0 doesn't | ||
3 | # work reliabily anymore. | ||
4 | |||
5 | XILINX_QEMU_VERSION = "v7.1.0" | ||
6 | BRANCH = "master" | ||
7 | SRCREV = "21adc9f99e813fb24fb65421259b5b0614938376" | ||
8 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/cross.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/cross.patch deleted file mode 100644 index bdb77ec7..00000000 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/cross.patch +++ /dev/null | |||
@@ -1,40 +0,0 @@ | |||
1 | From f51ece86f84c877f255746cba22a6745f37d2b7f Mon Sep 17 00:00:00 2001 | ||
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
3 | Date: Tue, 5 Jan 2021 23:00:14 +0000 | ||
4 | Subject: [PATCH] qemu: Upgrade 5.1.0->5.2.0 | ||
5 | |||
6 | We need to be able to trigger configure's cross code but we don't want | ||
7 | to set cross_prefix as it does other things we don't want. Patch things | ||
8 | so we can do what we need in the target config case. | ||
9 | |||
10 | Upstream-Status: Inappropriate [may be rewritten in a way upstream may accept?] | ||
11 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
12 | --- | ||
13 | configure | 4 ---- | ||
14 | 1 file changed, 4 deletions(-) | ||
15 | |||
16 | diff --git a/configure b/configure | ||
17 | index 9a79a004d..563b7827f 100755 | ||
18 | --- a/configure | ||
19 | +++ b/configure | ||
20 | @@ -5128,7 +5128,6 @@ if test "$skip_meson" = no; then | ||
21 | fi | ||
22 | echo "strip = [$(meson_quote $strip)]" >> $cross | ||
23 | echo "windres = [$(meson_quote $windres)]" >> $cross | ||
24 | - if test "$cross_compile" = "yes"; then | ||
25 | cross_arg="--cross-file config-meson.cross" | ||
26 | echo "[host_machine]" >> $cross | ||
27 | if test "$mingw32" = "yes" ; then | ||
28 | @@ -5160,9 +5159,6 @@ if test "$skip_meson" = no; then | ||
29 | else | ||
30 | echo "endian = 'little'" >> $cross | ||
31 | fi | ||
32 | - else | ||
33 | - cross_arg="--native-file config-meson.cross" | ||
34 | - fi | ||
35 | mv $cross config-meson.cross | ||
36 | |||
37 | rm -rf meson-private meson-info meson-logs | ||
38 | -- | ||
39 | 2.17.1 | ||
40 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-net-tulip-Restrict-DMA-engine-to-memories.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-net-tulip-Restrict-DMA-engine-to-memories.patch new file mode 100644 index 00000000..6c85a77b --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-net-tulip-Restrict-DMA-engine-to-memories.patch | |||
@@ -0,0 +1,64 @@ | |||
1 | CVE: CVE-2022-2962 | ||
2 | Upstream-Status: Backport | ||
3 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
4 | |||
5 | From 5c5c50b0a73d78ffe18336c9996fef5eae9bbbb0 Mon Sep 17 00:00:00 2001 | ||
6 | From: Zheyu Ma <zheyuma97@gmail.com> | ||
7 | Date: Sun, 21 Aug 2022 20:43:43 +0800 | ||
8 | Subject: [PATCH] net: tulip: Restrict DMA engine to memories | ||
9 | |||
10 | The DMA engine is started by I/O access and then itself accesses the | ||
11 | I/O registers, triggering a reentrancy bug. | ||
12 | |||
13 | The following log can reveal it: | ||
14 | ==5637==ERROR: AddressSanitizer: stack-overflow | ||
15 | #0 0x5595435f6078 in tulip_xmit_list_update qemu/hw/net/tulip.c:673 | ||
16 | #1 0x5595435f204a in tulip_write qemu/hw/net/tulip.c:805:13 | ||
17 | #2 0x559544637f86 in memory_region_write_accessor qemu/softmmu/memory.c:492:5 | ||
18 | #3 0x5595446379fa in access_with_adjusted_size qemu/softmmu/memory.c:554:18 | ||
19 | #4 0x5595446372fa in memory_region_dispatch_write qemu/softmmu/memory.c | ||
20 | #5 0x55954468b74c in flatview_write_continue qemu/softmmu/physmem.c:2825:23 | ||
21 | #6 0x559544683662 in flatview_write qemu/softmmu/physmem.c:2867:12 | ||
22 | #7 0x5595446833f3 in address_space_write qemu/softmmu/physmem.c:2963:18 | ||
23 | #8 0x5595435fb082 in dma_memory_rw_relaxed qemu/include/sysemu/dma.h:87:12 | ||
24 | #9 0x5595435fb082 in dma_memory_rw qemu/include/sysemu/dma.h:130:12 | ||
25 | #10 0x5595435fb082 in dma_memory_write qemu/include/sysemu/dma.h:171:12 | ||
26 | #11 0x5595435fb082 in stl_le_dma qemu/include/sysemu/dma.h:272:1 | ||
27 | #12 0x5595435fb082 in stl_le_pci_dma qemu/include/hw/pci/pci.h:910:1 | ||
28 | #13 0x5595435fb082 in tulip_desc_write qemu/hw/net/tulip.c:101:9 | ||
29 | #14 0x5595435f7e3d in tulip_xmit_list_update qemu/hw/net/tulip.c:706:9 | ||
30 | #15 0x5595435f204a in tulip_write qemu/hw/net/tulip.c:805:13 | ||
31 | |||
32 | Fix this bug by restricting the DMA engine to memories regions. | ||
33 | |||
34 | Signed-off-by: Zheyu Ma <zheyuma97@gmail.com> | ||
35 | Signed-off-by: Jason Wang <jasowang@redhat.com> | ||
36 | --- | ||
37 | hw/net/tulip.c | 4 ++-- | ||
38 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
39 | |||
40 | diff --git a/hw/net/tulip.c b/hw/net/tulip.c | ||
41 | index 097e905bec..b9e42c322a 100644 | ||
42 | --- a/hw/net/tulip.c | ||
43 | +++ b/hw/net/tulip.c | ||
44 | @@ -70,7 +70,7 @@ static const VMStateDescription vmstate_pci_tulip = { | ||
45 | static void tulip_desc_read(TULIPState *s, hwaddr p, | ||
46 | struct tulip_descriptor *desc) | ||
47 | { | ||
48 | - const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED; | ||
49 | + const MemTxAttrs attrs = { .memory = true }; | ||
50 | |||
51 | if (s->csr[0] & CSR0_DBO) { | ||
52 | ldl_be_pci_dma(&s->dev, p, &desc->status, attrs); | ||
53 | @@ -88,7 +88,7 @@ static void tulip_desc_read(TULIPState *s, hwaddr p, | ||
54 | static void tulip_desc_write(TULIPState *s, hwaddr p, | ||
55 | struct tulip_descriptor *desc) | ||
56 | { | ||
57 | - const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED; | ||
58 | + const MemTxAttrs attrs = { .memory = true }; | ||
59 | |||
60 | if (s->csr[0] & CSR0_DBO) { | ||
61 | stl_be_pci_dma(&s->dev, p, desc->status, attrs); | ||
62 | -- | ||
63 | 2.34.1 | ||
64 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch new file mode 100644 index 00000000..6fb160e6 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From de64af82950a6908f9407dfc92b83c17e2af3eab Mon Sep 17 00:00:00 2001 | ||
2 | From: Jason Wessel <jason.wessel@windriver.com> | ||
3 | Date: Fri, 28 Mar 2014 17:42:43 +0800 | ||
4 | Subject: [PATCH 01/12] qemu: Add addition environment space to boot loader | ||
5 | qemu-system-mips | ||
6 | |||
7 | Upstream-Status: Inappropriate - OE uses deep paths | ||
8 | |||
9 | If you create a project with very long directory names like 128 characters | ||
10 | deep and use NFS, the kernel arguments will be truncated. The kernel will | ||
11 | accept longer strings such as 1024 bytes, but the qemu boot loader defaulted | ||
12 | to only 256 bytes. This patch expands the limit. | ||
13 | |||
14 | Signed-off-by: Jason Wessel <jason.wessel@windriver.com> | ||
15 | Signed-off-by: Roy Li <rongqing.li@windriver.com> | ||
16 | |||
17 | --- | ||
18 | hw/mips/malta.c | 2 +- | ||
19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/hw/mips/malta.c b/hw/mips/malta.c | ||
22 | index 628851172..12d37f35d 100644 | ||
23 | --- a/hw/mips/malta.c | ||
24 | +++ b/hw/mips/malta.c | ||
25 | @@ -61,7 +61,7 @@ | ||
26 | #define ENVP_PADDR 0x2000 | ||
27 | #define ENVP_VADDR cpu_mips_phys_to_kseg0(NULL, ENVP_PADDR) | ||
28 | #define ENVP_NB_ENTRIES 16 | ||
29 | -#define ENVP_ENTRY_SIZE 256 | ||
30 | +#define ENVP_ENTRY_SIZE 1024 | ||
31 | |||
32 | /* Hardware addresses */ | ||
33 | #define FLASH_ADDRESS 0x1e000000ULL | ||
34 | -- | ||
35 | 2.30.2 | ||
36 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0002-chardev-connect-socket-to-a-spawned-command.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0002-chardev-connect-socket-to-a-spawned-command.patch new file mode 100644 index 00000000..63a99c96 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0002-chardev-connect-socket-to-a-spawned-command.patch | |||
@@ -0,0 +1,246 @@ | |||
1 | From 14cd62607c9de232edf0a9b8503bd02783e03411 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alistair Francis <alistair.francis@xilinx.com> | ||
3 | Date: Thu, 21 Dec 2017 11:35:16 -0800 | ||
4 | Subject: [PATCH 02/12] chardev: connect socket to a spawned command | ||
5 | |||
6 | The command is started in a shell (sh -c) with stdin connect to QEMU | ||
7 | via a Unix domain stream socket. QEMU then exchanges data via its own | ||
8 | end of the socket, just like it normally does. | ||
9 | |||
10 | "-chardev socket" supports some ways of connecting via protocols like | ||
11 | telnet, but that is only a subset of the functionality supported by | ||
12 | tools socat. To use socat instead, for example to connect via a socks | ||
13 | proxy, use: | ||
14 | |||
15 | -chardev 'socket,id=socat,cmd=exec socat FD:0 SOCKS4A:socks-proxy.localdomain:example.com:9999,,socksuser=nobody' \ | ||
16 | -device usb-serial,chardev=socat | ||
17 | |||
18 | Beware that commas in the command must be escaped as double commas. | ||
19 | |||
20 | Or interactively in the console: | ||
21 | (qemu) chardev-add socket,id=cat,cmd=cat | ||
22 | (qemu) device_add usb-serial,chardev=cat | ||
23 | ^ac | ||
24 | # cat >/dev/ttyUSB0 | ||
25 | hello | ||
26 | hello | ||
27 | |||
28 | Another usage is starting swtpm from inside QEMU. swtpm will | ||
29 | automatically shut down once it looses the connection to the parent | ||
30 | QEMU, so there is no risk of lingering processes: | ||
31 | |||
32 | -chardev 'socket,id=chrtpm0,cmd=exec swtpm socket --terminate --ctrl type=unixio,,clientfd=0 --tpmstate dir=... --log file=swtpm.log' \ | ||
33 | -tpmdev emulator,id=tpm0,chardev=chrtpm0 \ | ||
34 | -device tpm-tis,tpmdev=tpm0 | ||
35 | |||
36 | The patch was discussed upstream, but QEMU developers believe that the | ||
37 | code calling QEMU should be responsible for managing additional | ||
38 | processes. In OE-core, that would imply enhancing runqemu and | ||
39 | oeqa. This patch is a simpler solution. | ||
40 | |||
41 | Because it is not going upstream, the patch was written so that it is | ||
42 | as simple as possible. | ||
43 | |||
44 | Upstream-Status: Inappropriate [embedded specific] | ||
45 | |||
46 | Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> | ||
47 | |||
48 | --- | ||
49 | chardev/char-socket.c | 100 ++++++++++++++++++++++++++++++++++++++++++ | ||
50 | chardev/char.c | 3 ++ | ||
51 | qapi/char.json | 5 +++ | ||
52 | 3 files changed, 108 insertions(+) | ||
53 | |||
54 | diff --git a/chardev/char-socket.c b/chardev/char-socket.c | ||
55 | index fab2d791d..c79641f24 100644 | ||
56 | --- a/chardev/char-socket.c | ||
57 | +++ b/chardev/char-socket.c | ||
58 | @@ -1315,6 +1315,67 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock, | ||
59 | return true; | ||
60 | } | ||
61 | |||
62 | +#ifndef _WIN32 | ||
63 | +static void chardev_open_socket_cmd(Chardev *chr, | ||
64 | + const char *cmd, | ||
65 | + Error **errp) | ||
66 | +{ | ||
67 | + int fds[2] = { -1, -1 }; | ||
68 | + QIOChannelSocket *sioc = NULL; | ||
69 | + pid_t pid = -1; | ||
70 | + const char *argv[] = { "/bin/sh", "-c", cmd, NULL }; | ||
71 | + | ||
72 | + /* | ||
73 | + * We need a Unix domain socket for commands like swtpm and a single | ||
74 | + * connection, therefore we cannot use qio_channel_command_new_spawn() | ||
75 | + * without patching it first. Duplicating the functionality is easier. | ||
76 | + */ | ||
77 | + if (socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0, fds)) { | ||
78 | + error_setg_errno(errp, errno, "Error creating socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC)"); | ||
79 | + goto error; | ||
80 | + } | ||
81 | + | ||
82 | + pid = qemu_fork(errp); | ||
83 | + if (pid < 0) { | ||
84 | + goto error; | ||
85 | + } | ||
86 | + | ||
87 | + if (!pid) { | ||
88 | + /* child */ | ||
89 | + dup2(fds[1], STDIN_FILENO); | ||
90 | + execv(argv[0], (char * const *)argv); | ||
91 | + _exit(1); | ||
92 | + } | ||
93 | + | ||
94 | + /* | ||
95 | + * Hand over our end of the socket pair to the qio channel. | ||
96 | + * | ||
97 | + * We don't reap the child because it is expected to keep | ||
98 | + * running. We also don't support the "reconnect" option for the | ||
99 | + * same reason. | ||
100 | + */ | ||
101 | + sioc = qio_channel_socket_new_fd(fds[0], errp); | ||
102 | + if (!sioc) { | ||
103 | + goto error; | ||
104 | + } | ||
105 | + fds[0] = -1; | ||
106 | + | ||
107 | + g_free(chr->filename); | ||
108 | + chr->filename = g_strdup_printf("cmd:%s", cmd); | ||
109 | + tcp_chr_new_client(chr, sioc); | ||
110 | + | ||
111 | + error: | ||
112 | + if (fds[0] >= 0) { | ||
113 | + close(fds[0]); | ||
114 | + } | ||
115 | + if (fds[1] >= 0) { | ||
116 | + close(fds[1]); | ||
117 | + } | ||
118 | + if (sioc) { | ||
119 | + object_unref(OBJECT(sioc)); | ||
120 | + } | ||
121 | +} | ||
122 | +#endif | ||
123 | |||
124 | static void qmp_chardev_open_socket(Chardev *chr, | ||
125 | ChardevBackend *backend, | ||
126 | @@ -1323,6 +1384,9 @@ static void qmp_chardev_open_socket(Chardev *chr, | ||
127 | { | ||
128 | SocketChardev *s = SOCKET_CHARDEV(chr); | ||
129 | ChardevSocket *sock = backend->u.socket.data; | ||
130 | +#ifndef _WIN32 | ||
131 | + const char *cmd = sock->cmd; | ||
132 | +#endif | ||
133 | bool do_nodelay = sock->has_nodelay ? sock->nodelay : false; | ||
134 | bool is_listen = sock->has_server ? sock->server : true; | ||
135 | bool is_telnet = sock->has_telnet ? sock->telnet : false; | ||
136 | @@ -1393,6 +1457,14 @@ static void qmp_chardev_open_socket(Chardev *chr, | ||
137 | |||
138 | update_disconnected_filename(s); | ||
139 | |||
140 | +#ifndef _WIN32 | ||
141 | + if (cmd) { | ||
142 | + chardev_open_socket_cmd(chr, cmd, errp); | ||
143 | + | ||
144 | + /* everything ready (or failed permanently) before we return */ | ||
145 | + *be_opened = true; | ||
146 | + } else | ||
147 | +#endif | ||
148 | if (s->is_listen) { | ||
149 | if (qmp_chardev_open_socket_server(chr, is_telnet || is_tn3270, | ||
150 | is_waitconnect, errp) < 0) { | ||
151 | @@ -1412,6 +1484,9 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend, | ||
152 | const char *host = qemu_opt_get(opts, "host"); | ||
153 | const char *port = qemu_opt_get(opts, "port"); | ||
154 | const char *fd = qemu_opt_get(opts, "fd"); | ||
155 | +#ifndef _WIN32 | ||
156 | + const char *cmd = qemu_opt_get(opts, "cmd"); | ||
157 | +#endif | ||
158 | #ifdef CONFIG_LINUX | ||
159 | bool tight = qemu_opt_get_bool(opts, "tight", true); | ||
160 | bool abstract = qemu_opt_get_bool(opts, "abstract", false); | ||
161 | @@ -1419,6 +1494,20 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend, | ||
162 | SocketAddressLegacy *addr; | ||
163 | ChardevSocket *sock; | ||
164 | |||
165 | +#ifndef _WIN32 | ||
166 | + if (cmd) { | ||
167 | + /* | ||
168 | + * Here we have to ensure that no options are set which are incompatible with | ||
169 | + * spawning a command, otherwise unmodified code that doesn't know about | ||
170 | + * command spawning (like socket_reconnect_timeout()) might get called. | ||
171 | + */ | ||
172 | + if (path || sock->server || sock->has_telnet || sock->has_tn3270 || sock->reconnect || host || port || sock->tls_creds) { | ||
173 | + error_setg(errp, "chardev: socket: cmd does not support any additional options"); | ||
174 | + return; | ||
175 | + } | ||
176 | + } else | ||
177 | +#endif | ||
178 | + | ||
179 | if ((!!path + !!fd + !!host) > 1) { | ||
180 | error_setg(errp, | ||
181 | "None or one of 'path', 'fd' or 'host' option required."); | ||
182 | @@ -1469,13 +1558,24 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend, | ||
183 | sock->tls_creds = g_strdup(qemu_opt_get(opts, "tls-creds")); | ||
184 | sock->has_tls_authz = qemu_opt_get(opts, "tls-authz"); | ||
185 | sock->tls_authz = g_strdup(qemu_opt_get(opts, "tls-authz")); | ||
186 | +#ifndef _WIN32 | ||
187 | + sock->cmd = g_strdup(cmd); | ||
188 | +#endif | ||
189 | |||
190 | addr = g_new0(SocketAddressLegacy, 1); | ||
191 | +#ifndef _WIN32 | ||
192 | + if (path || cmd) { | ||
193 | +#else | ||
194 | if (path) { | ||
195 | +#endif | ||
196 | UnixSocketAddress *q_unix; | ||
197 | addr->type = SOCKET_ADDRESS_TYPE_UNIX; | ||
198 | q_unix = addr->u.q_unix.data = g_new0(UnixSocketAddress, 1); | ||
199 | +#ifndef _WIN32 | ||
200 | + q_unix->path = cmd ? g_strdup_printf("cmd:%s", cmd) : g_strdup(path); | ||
201 | +#else | ||
202 | q_unix->path = g_strdup(path); | ||
203 | +#endif | ||
204 | #ifdef CONFIG_LINUX | ||
205 | q_unix->has_tight = true; | ||
206 | q_unix->tight = tight; | ||
207 | diff --git a/chardev/char.c b/chardev/char.c | ||
208 | index 0169d8dde..ce9a21f41 100644 | ||
209 | --- a/chardev/char.c | ||
210 | +++ b/chardev/char.c | ||
211 | @@ -835,6 +835,9 @@ QemuOptsList qemu_chardev_opts = { | ||
212 | },{ | ||
213 | .name = "path", | ||
214 | .type = QEMU_OPT_STRING, | ||
215 | + },{ | ||
216 | + .name = "cmd", | ||
217 | + .type = QEMU_OPT_STRING, | ||
218 | },{ | ||
219 | .name = "host", | ||
220 | .type = QEMU_OPT_STRING, | ||
221 | diff --git a/qapi/char.json b/qapi/char.json | ||
222 | index 7b4215157..37feabdac 100644 | ||
223 | --- a/qapi/char.json | ||
224 | +++ b/qapi/char.json | ||
225 | @@ -250,6 +250,10 @@ | ||
226 | # | ||
227 | # @addr: socket address to listen on (server=true) | ||
228 | # or connect to (server=false) | ||
229 | +# @cmd: command to run via "sh -c" with stdin as one end of | ||
230 | +# a AF_UNIX SOCK_DSTREAM socket pair. The other end | ||
231 | +# is used by the chardev. Either an addr or a cmd can | ||
232 | +# be specified, but not both. | ||
233 | # @tls-creds: the ID of the TLS credentials object (since 2.6) | ||
234 | # @tls-authz: the ID of the QAuthZ authorization object against which | ||
235 | # the client's x509 distinguished name will be validated. This | ||
236 | @@ -276,6 +280,7 @@ | ||
237 | ## | ||
238 | { 'struct': 'ChardevSocket', | ||
239 | 'data': { 'addr': 'SocketAddressLegacy', | ||
240 | + '*cmd': 'str', | ||
241 | '*tls-creds': 'str', | ||
242 | '*tls-authz' : 'str', | ||
243 | '*server': 'bool', | ||
244 | -- | ||
245 | 2.30.2 | ||
246 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0003-apic-fixup-fallthrough-to-PIC.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0003-apic-fixup-fallthrough-to-PIC.patch new file mode 100644 index 00000000..f350ffce --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0003-apic-fixup-fallthrough-to-PIC.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | From dc2a8ccd440ee3741b61606eafed3f7e092f4312 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mark Asselstine <mark.asselstine@windriver.com> | ||
3 | Date: Tue, 26 Feb 2013 11:43:28 -0500 | ||
4 | Subject: [PATCH 03/12] apic: fixup fallthrough to PIC | ||
5 | |||
6 | Commit 0e21e12bb311c4c1095d0269dc2ef81196ccb60a [Don't route PIC | ||
7 | interrupts through the local APIC if the local APIC config says so.] | ||
8 | missed a check to ensure the local APIC is enabled. Since if the local | ||
9 | APIC is disabled it doesn't matter what the local APIC config says. | ||
10 | |||
11 | If this check isn't done and the guest has disabled the local APIC the | ||
12 | guest will receive a general protection fault, similar to what is seen | ||
13 | here: | ||
14 | |||
15 | https://lists.gnu.org/archive/html/qemu-devel/2012-12/msg02304.html | ||
16 | |||
17 | The GPF is caused by an attempt to service interrupt 0xffffffff. This | ||
18 | comes about since cpu_get_pic_interrupt() calls apic_accept_pic_intr() | ||
19 | (with the local APIC disabled apic_get_interrupt() returns -1). | ||
20 | apic_accept_pic_intr() returns 0 and thus the interrupt number which | ||
21 | is returned from cpu_get_pic_interrupt(), and which is attempted to be | ||
22 | serviced, is -1. | ||
23 | |||
24 | Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> | ||
25 | Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg00878.html] | ||
26 | Signed-off-by: He Zhe <zhe.he@windriver.com> | ||
27 | |||
28 | --- | ||
29 | hw/intc/apic.c | 2 +- | ||
30 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
31 | |||
32 | diff --git a/hw/intc/apic.c b/hw/intc/apic.c | ||
33 | index 3df11c34d..9506c88ce 100644 | ||
34 | --- a/hw/intc/apic.c | ||
35 | +++ b/hw/intc/apic.c | ||
36 | @@ -605,7 +605,7 @@ int apic_accept_pic_intr(DeviceState *dev) | ||
37 | APICCommonState *s = APIC(dev); | ||
38 | uint32_t lvt0; | ||
39 | |||
40 | - if (!s) | ||
41 | + if (!s || !(s->spurious_vec & APIC_SV_ENABLE)) | ||
42 | return -1; | ||
43 | |||
44 | lvt0 = s->lvt[APIC_LVT_LINT0]; | ||
45 | -- | ||
46 | 2.30.2 | ||
47 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch index 4298964d..6faebd4e 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From b51e6dd833172954c718bd600d846540eeb07220 Mon Sep 17 00:00:00 2001 | 1 | From d8265abdce5dc2bf74b3fccdf2b7257b4f3894f0 Mon Sep 17 00:00:00 2001 |
2 | From: He Zhe <zhe.he@windriver.com> | 2 | From: He Zhe <zhe.he@windriver.com> |
3 | Date: Wed, 28 Aug 2019 19:56:28 +0800 | 3 | Date: Wed, 28 Aug 2019 19:56:28 +0800 |
4 | Subject: [PATCH] configure: Add pkg-config handling for libgcrypt | 4 | Subject: [PATCH 04/12] configure: Add pkg-config handling for libgcrypt |
5 | 5 | ||
6 | libgcrypt may also be controlled by pkg-config, this patch adds pkg-config | 6 | libgcrypt may also be controlled by pkg-config, this patch adds pkg-config |
7 | handling for libgcrypt. | 7 | handling for libgcrypt. |
@@ -15,10 +15,10 @@ Signed-off-by: He Zhe <zhe.he@windriver.com> | |||
15 | 1 file changed, 1 insertion(+), 1 deletion(-) | 15 | 1 file changed, 1 insertion(+), 1 deletion(-) |
16 | 16 | ||
17 | diff --git a/meson.build b/meson.build | 17 | diff --git a/meson.build b/meson.build |
18 | index b3e7ec0e9..4cbe715b7 100644 | 18 | index 861de93c4..d45ff2d7c 100644 |
19 | --- a/meson.build | 19 | --- a/meson.build |
20 | +++ b/meson.build | 20 | +++ b/meson.build |
21 | @@ -874,7 +874,7 @@ endif | 21 | @@ -1063,7 +1063,7 @@ endif |
22 | if not gnutls_crypto.found() | 22 | if not gnutls_crypto.found() |
23 | if (not get_option('gcrypt').auto() or have_system) and not get_option('nettle').enabled() | 23 | if (not get_option('gcrypt').auto() or have_system) and not get_option('nettle').enabled() |
24 | gcrypt = dependency('libgcrypt', version: '>=1.8', | 24 | gcrypt = dependency('libgcrypt', version: '>=1.8', |
@@ -27,3 +27,6 @@ index b3e7ec0e9..4cbe715b7 100644 | |||
27 | required: get_option('gcrypt'), | 27 | required: get_option('gcrypt'), |
28 | kwargs: static_kwargs) | 28 | kwargs: static_kwargs) |
29 | # Debian has removed -lgpg-error from libgcrypt-config | 29 | # Debian has removed -lgpg-error from libgcrypt-config |
30 | -- | ||
31 | 2.30.2 | ||
32 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0005-qemu-Do-not-include-file-if-not-exists.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0005-qemu-Do-not-include-file-if-not-exists.patch new file mode 100644 index 00000000..3f3c39f9 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0005-qemu-Do-not-include-file-if-not-exists.patch | |||
@@ -0,0 +1,35 @@ | |||
1 | From f39e7bfc5ed07b5ecaeb705c4eae4855ca120d47 Mon Sep 17 00:00:00 2001 | ||
2 | From: Oleksiy Obitotskyy <oobitots@cisco.com> | ||
3 | Date: Wed, 25 Mar 2020 21:21:35 +0200 | ||
4 | Subject: [PATCH 05/12] qemu: Do not include file if not exists | ||
5 | |||
6 | Script configure checks for if_alg.h and check failed but | ||
7 | if_alg.h still included. | ||
8 | |||
9 | Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2020-03/msg07188.html] | ||
10 | Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com> | ||
11 | |||
12 | [update patch context] | ||
13 | Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> | ||
14 | |||
15 | --- | ||
16 | linux-user/syscall.c | 2 ++ | ||
17 | 1 file changed, 2 insertions(+) | ||
18 | |||
19 | diff --git a/linux-user/syscall.c b/linux-user/syscall.c | ||
20 | index f65045efe..340e0c6f0 100644 | ||
21 | --- a/linux-user/syscall.c | ||
22 | +++ b/linux-user/syscall.c | ||
23 | @@ -113,7 +113,9 @@ | ||
24 | #include <linux/blkpg.h> | ||
25 | #include <netpacket/packet.h> | ||
26 | #include <linux/netlink.h> | ||
27 | +#if defined(CONFIG_AF_ALG) | ||
28 | #include <linux/if_alg.h> | ||
29 | +#endif | ||
30 | #include <linux/rtc.h> | ||
31 | #include <sound/asound.h> | ||
32 | #ifdef HAVE_BTRFS_H | ||
33 | -- | ||
34 | 2.30.2 | ||
35 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch new file mode 100644 index 00000000..75c03693 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch | |||
@@ -0,0 +1,52 @@ | |||
1 | From 375cae3dd6151ef33cae8f243f6a2c2da6c0c356 Mon Sep 17 00:00:00 2001 | ||
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
3 | Date: Fri, 8 Jan 2021 17:27:06 +0000 | ||
4 | Subject: [PATCH 06/12] qemu: Add some user space mmap tweaks to address musl | ||
5 | 32 bit | ||
6 | |||
7 | When using qemu-i386 to build qemux86 webkitgtk on musl, it sits in an | ||
8 | infinite loop of mremap calls of ever decreasing/increasing addresses. | ||
9 | |||
10 | I suspect something in the musl memory allocation code loops indefinitely | ||
11 | if it only sees ENOMEM and only exits when it hits EFAULT. | ||
12 | |||
13 | According to the docs, trying to mremap outside the address space | ||
14 | can/should return EFAULT and changing this allows the build to succeed. | ||
15 | |||
16 | A better return value for the other cases of invalid addresses is EINVAL | ||
17 | rather than ENOMEM so adjust the other part of the test to this. | ||
18 | |||
19 | Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg01355.html] | ||
20 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org | ||
21 | |||
22 | --- | ||
23 | linux-user/mmap.c | 10 +++++++--- | ||
24 | 1 file changed, 7 insertions(+), 3 deletions(-) | ||
25 | |||
26 | diff --git a/linux-user/mmap.c b/linux-user/mmap.c | ||
27 | index c125031b9..e651834a5 100644 | ||
28 | --- a/linux-user/mmap.c | ||
29 | +++ b/linux-user/mmap.c | ||
30 | @@ -749,12 +749,16 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size, | ||
31 | int prot; | ||
32 | void *host_addr; | ||
33 | |||
34 | - if (!guest_range_valid_untagged(old_addr, old_size) || | ||
35 | - ((flags & MREMAP_FIXED) && | ||
36 | + if (!guest_range_valid_untagged(old_addr, old_size)) { | ||
37 | + errno = EFAULT; | ||
38 | + return -1; | ||
39 | + } | ||
40 | + | ||
41 | + if (((flags & MREMAP_FIXED) && | ||
42 | !guest_range_valid_untagged(new_addr, new_size)) || | ||
43 | ((flags & MREMAP_MAYMOVE) == 0 && | ||
44 | !guest_range_valid_untagged(old_addr, new_size))) { | ||
45 | - errno = ENOMEM; | ||
46 | + errno = EINVAL; | ||
47 | return -1; | ||
48 | } | ||
49 | |||
50 | -- | ||
51 | 2.30.2 | ||
52 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0007-qemu-Determinism-fixes.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0007-qemu-Determinism-fixes.patch new file mode 100644 index 00000000..0d7dae36 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0007-qemu-Determinism-fixes.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From 50bab5c2605b609ea7ea154f57a9be96d656725a Mon Sep 17 00:00:00 2001 | ||
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
3 | Date: Mon, 1 Mar 2021 13:00:47 +0000 | ||
4 | Subject: [PATCH 07/12] qemu: Determinism fixes | ||
5 | |||
6 | When sources are included within debug information, a couple of areas of the | ||
7 | qemu build are not reproducible due to either full buildpaths or timestamps. | ||
8 | |||
9 | Replace the full paths with relative ones. I couldn't figure out how to get | ||
10 | meson to pass relative paths but we can fix that in the script. | ||
11 | |||
12 | Upstream-Status: Pending [some version of all/part of this may be accepted] | ||
13 | RP 2021/3/1 | ||
14 | |||
15 | --- | ||
16 | scripts/decodetree.py | 2 +- | ||
17 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
18 | |||
19 | diff --git a/scripts/decodetree.py b/scripts/decodetree.py | ||
20 | index a03dc6b5e..4ea24c1f3 100644 | ||
21 | --- a/scripts/decodetree.py | ||
22 | +++ b/scripts/decodetree.py | ||
23 | @@ -1328,7 +1328,7 @@ def main(): | ||
24 | toppat = ExcMultiPattern(0) | ||
25 | |||
26 | for filename in args: | ||
27 | - input_file = filename | ||
28 | + input_file = os.path.relpath(filename) | ||
29 | f = open(filename, 'rt', encoding='utf-8') | ||
30 | parse_file(f, toppat) | ||
31 | f.close() | ||
32 | -- | ||
33 | 2.30.2 | ||
34 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0008-tests-meson.build-use-relative-path-to-refer-to-file.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0008-tests-meson.build-use-relative-path-to-refer-to-file.patch new file mode 100644 index 00000000..43d3c7cf --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0008-tests-meson.build-use-relative-path-to-refer-to-file.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | From 2bf9388b801d4389e2d57e95a7897bfc1c42786e Mon Sep 17 00:00:00 2001 | ||
2 | From: Changqing Li <changqing.li@windriver.com> | ||
3 | Date: Thu, 14 Jan 2021 06:33:04 +0000 | ||
4 | Subject: [PATCH 08/12] tests/meson.build: use relative path to refer to files | ||
5 | |||
6 | Fix error like: | ||
7 | Fatal error: can't create tests/ptimer-test.p/..._qemu-5.2.0_hw_core_ptimer.c.o: File name too long | ||
8 | |||
9 | when build path is too long, use meson.source_root() will make this | ||
10 | filename too long. Fixed by using relative path to refer to files | ||
11 | |||
12 | Upstream-Status: Submitted [send to qemu-devel] | ||
13 | |||
14 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
15 | |||
16 | --- | ||
17 | tests/unit/meson.build | 4 ++-- | ||
18 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
19 | |||
20 | diff --git a/tests/unit/meson.build b/tests/unit/meson.build | ||
21 | index 96b295263..e4c3246dc 100644 | ||
22 | --- a/tests/unit/meson.build | ||
23 | +++ b/tests/unit/meson.build | ||
24 | @@ -44,9 +44,9 @@ tests = { | ||
25 | 'test-keyval': [testqapi], | ||
26 | 'test-logging': [], | ||
27 | 'test-uuid': [], | ||
28 | - 'ptimer-test': ['ptimer-test-stubs.c', meson.project_source_root() / 'hw/core/ptimer.c'], | ||
29 | + 'ptimer-test': ['ptimer-test-stubs.c', '../../hw/core/ptimer.c'], | ||
30 | 'test-qapi-util': [], | ||
31 | - 'test-smp-parse': [qom, meson.project_source_root() / 'hw/core/machine-smp.c'], | ||
32 | + 'test-smp-parse': [qom, '../../hw/core/machine-smp.c'], | ||
33 | } | ||
34 | |||
35 | if have_system or have_tools | ||
36 | -- | ||
37 | 2.30.2 | ||
38 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch new file mode 100644 index 00000000..23d0a698 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch | |||
@@ -0,0 +1,49 @@ | |||
1 | From ebf4bb2f51da83af0c61480414cfa156f7308b34 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 21 Mar 2022 10:09:38 -0700 | ||
4 | Subject: [PATCH 09/12] Define MAP_SYNC and MAP_SHARED_VALIDATE on needed linux | ||
5 | systems | ||
6 | |||
7 | linux only wires MAP_SYNC and MAP_SHARED_VALIDATE for architectures | ||
8 | which include asm-generic/mman.h and mips/powerpc are not including this | ||
9 | file in linux/mman.h, therefore these should be defined for such | ||
10 | architectures on Linux as well. This fixes build on mips/musl/linux | ||
11 | |||
12 | Upstream-Status: Submitted [https://lists.nongnu.org/archive/html/qemu-devel/2022-03/msg05298.html] | ||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | Cc: Zhang Yi <yi.z.zhang@linux.intel.com> | ||
15 | Cc: Michael S. Tsirkin <mst@redhat.com> | ||
16 | |||
17 | --- | ||
18 | util/mmap-alloc.c | 10 +++++++--- | ||
19 | 1 file changed, 7 insertions(+), 3 deletions(-) | ||
20 | |||
21 | diff --git a/util/mmap-alloc.c b/util/mmap-alloc.c | ||
22 | index 893d86435..86d3cda24 100644 | ||
23 | --- a/util/mmap-alloc.c | ||
24 | +++ b/util/mmap-alloc.c | ||
25 | @@ -10,14 +10,18 @@ | ||
26 | * later. See the COPYING file in the top-level directory. | ||
27 | */ | ||
28 | |||
29 | +#include "qemu/osdep.h" | ||
30 | #ifdef CONFIG_LINUX | ||
31 | #include <linux/mman.h> | ||
32 | -#else /* !CONFIG_LINUX */ | ||
33 | +#endif /* CONFIG_LINUX */ | ||
34 | + | ||
35 | +#ifndef MAP_SYNC | ||
36 | #define MAP_SYNC 0x0 | ||
37 | +#endif /* MAP_SYNC */ | ||
38 | +#ifndef MAP_SHARED_VALIDATE | ||
39 | #define MAP_SHARED_VALIDATE 0x0 | ||
40 | -#endif /* CONFIG_LINUX */ | ||
41 | +#endif /* MAP_SHARED_VALIDATE */ | ||
42 | |||
43 | -#include "qemu/osdep.h" | ||
44 | #include "qemu/mmap-alloc.h" | ||
45 | #include "qemu/host-utils.h" | ||
46 | #include "qemu/cutils.h" | ||
47 | -- | ||
48 | 2.30.2 | ||
49 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch new file mode 100644 index 00000000..810c74fa --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | CVE: CVE-2022-1050 | ||
2 | Upstream-Status: Submitted [https://lore.kernel.org/qemu-devel/20220403095234.2210-1-yuval.shaia.ml@gmail.com/] | ||
3 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
4 | |||
5 | From dbdef95c272e8f3ec037c3db4197c66002e30995 Mon Sep 17 00:00:00 2001 | ||
6 | From: Yuval Shaia <yuval.shaia.ml@gmail.com> | ||
7 | Date: Sun, 3 Apr 2022 12:52:34 +0300 | ||
8 | Subject: [PATCH] hw/pvrdma: Protect against buggy or malicious guest driver | ||
9 | |||
10 | Guest driver might execute HW commands when shared buffers are not yet | ||
11 | allocated. | ||
12 | This could happen on purpose (malicious guest) or because of some other | ||
13 | guest/host address mapping error. | ||
14 | We need to protect againts such case. | ||
15 | |||
16 | Fixes: CVE-2022-1050 | ||
17 | |||
18 | Reported-by: Raven <wxhusst@gmail.com> | ||
19 | Signed-off-by: Yuval Shaia <yuval.shaia.ml@gmail.com> | ||
20 | --- | ||
21 | hw/rdma/vmw/pvrdma_cmd.c | 6 ++++++ | ||
22 | 1 file changed, 6 insertions(+) | ||
23 | |||
24 | diff --git a/hw/rdma/vmw/pvrdma_cmd.c b/hw/rdma/vmw/pvrdma_cmd.c | ||
25 | index da7ddfa548..89db963c46 100644 | ||
26 | --- a/hw/rdma/vmw/pvrdma_cmd.c | ||
27 | +++ b/hw/rdma/vmw/pvrdma_cmd.c | ||
28 | @@ -796,6 +796,12 @@ int pvrdma_exec_cmd(PVRDMADev *dev) | ||
29 | |||
30 | dsr_info = &dev->dsr_info; | ||
31 | |||
32 | + if (!dsr_info->dsr) { | ||
33 | + /* Buggy or malicious guest driver */ | ||
34 | + rdma_error_report("Exec command without dsr, req or rsp buffers"); | ||
35 | + goto out; | ||
36 | + } | ||
37 | + | ||
38 | if (dsr_info->req->hdr.cmd >= sizeof(cmd_handlers) / | ||
39 | sizeof(struct cmd_handler)) { | ||
40 | rdma_error_report("Unsupported command"); | ||
41 | -- | ||
42 | 2.34.1 | ||
43 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/CVE-2022-3165.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/CVE-2022-3165.patch new file mode 100644 index 00000000..3b4a6694 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/CVE-2022-3165.patch | |||
@@ -0,0 +1,59 @@ | |||
1 | CVE: CVE-2022-3165 | ||
2 | Upstream-Status: Backport | ||
3 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
4 | |||
5 | From d307040b18bfcb1393b910f1bae753d5c12a4dc7 Mon Sep 17 00:00:00 2001 | ||
6 | From: Mauro Matteo Cascella <mcascell@redhat.com> | ||
7 | Date: Sun, 25 Sep 2022 22:45:11 +0200 | ||
8 | Subject: [PATCH] ui/vnc-clipboard: fix integer underflow in | ||
9 | vnc_client_cut_text_ext | ||
10 | |||
11 | Extended ClientCutText messages start with a 4-byte header. If len < 4, | ||
12 | an integer underflow occurs in vnc_client_cut_text_ext. The result is | ||
13 | used to decompress data in a while loop in inflate_buffer, leading to | ||
14 | CPU consumption and denial of service. Prevent this by checking dlen in | ||
15 | protocol_client_msg. | ||
16 | |||
17 | Fixes: CVE-2022-3165 | ||
18 | Fixes: 0bf41cab93e5 ("ui/vnc: clipboard support") | ||
19 | Reported-by: TangPeng <tangpeng@qianxin.com> | ||
20 | Signed-off-by: Mauro Matteo Cascella <mcascell@redhat.com> | ||
21 | Message-Id: <20220925204511.1103214-1-mcascell@redhat.com> | ||
22 | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> | ||
23 | --- | ||
24 | ui/vnc.c | 11 ++++++++--- | ||
25 | 1 file changed, 8 insertions(+), 3 deletions(-) | ||
26 | |||
27 | diff --git a/ui/vnc.c b/ui/vnc.c | ||
28 | index 6a05d06147..acb3629cd8 100644 | ||
29 | --- a/ui/vnc.c | ||
30 | +++ b/ui/vnc.c | ||
31 | @@ -2442,8 +2442,8 @@ static int protocol_client_msg(VncState *vs, uint8_t *data, size_t len) | ||
32 | if (len == 1) { | ||
33 | return 8; | ||
34 | } | ||
35 | + uint32_t dlen = abs(read_s32(data, 4)); | ||
36 | if (len == 8) { | ||
37 | - uint32_t dlen = abs(read_s32(data, 4)); | ||
38 | if (dlen > (1 << 20)) { | ||
39 | error_report("vnc: client_cut_text msg payload has %u bytes" | ||
40 | " which exceeds our limit of 1MB.", dlen); | ||
41 | @@ -2456,8 +2456,13 @@ static int protocol_client_msg(VncState *vs, uint8_t *data, size_t len) | ||
42 | } | ||
43 | |||
44 | if (read_s32(data, 4) < 0) { | ||
45 | - vnc_client_cut_text_ext(vs, abs(read_s32(data, 4)), | ||
46 | - read_u32(data, 8), data + 12); | ||
47 | + if (dlen < 4) { | ||
48 | + error_report("vnc: malformed payload (header less than 4 bytes)" | ||
49 | + " in extended clipboard pseudo-encoding."); | ||
50 | + vnc_client_error(vs); | ||
51 | + break; | ||
52 | + } | ||
53 | + vnc_client_cut_text_ext(vs, dlen, read_u32(data, 8), data + 12); | ||
54 | break; | ||
55 | } | ||
56 | vnc_client_cut_text(vs, read_u32(data, 4), data + 8); | ||
57 | -- | ||
58 | GitLab | ||
59 | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/arm-cpreg-fix.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/arm-cpreg-fix.patch new file mode 100644 index 00000000..071691f8 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/arm-cpreg-fix.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | target/arm: mark SP_EL1 with ARM_CP_EL3_NO_EL2_KEEP | ||
2 | |||
3 | SP_EL1 must be kept when EL3 is present but EL2 is not. Therefore mark | ||
4 | it with ARM_CP_EL3_NO_EL2_KEEP. | ||
5 | |||
6 | Fixes: 696ba3771894 ("target/arm: Handle cpreg registration for missing EL") | ||
7 | Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> | ||
8 | |||
9 | Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2022-09/msg04515.html] | ||
10 | |||
11 | --- | ||
12 | target/arm/helper.c | 2 +- | ||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
14 | |||
15 | Index: qemu-7.1.0/target/arm/helper.c | ||
16 | =================================================================== | ||
17 | --- qemu-7.1.0.orig/target/arm/helper.c | ||
18 | +++ qemu-7.1.0/target/arm/helper.c | ||
19 | @@ -4971,7 +4971,7 @@ static const ARMCPRegInfo v8_cp_reginfo[ | ||
20 | .fieldoffset = offsetof(CPUARMState, sp_el[0]) }, | ||
21 | { .name = "SP_EL1", .state = ARM_CP_STATE_AA64, | ||
22 | .opc0 = 3, .opc1 = 4, .crn = 4, .crm = 1, .opc2 = 0, | ||
23 | - .access = PL2_RW, .type = ARM_CP_ALIAS, | ||
24 | + .access = PL2_RW, .type = ARM_CP_ALIAS | ARM_CP_EL3_NO_EL2_KEEP, | ||
25 | .fieldoffset = offsetof(CPUARMState, sp_el[1]) }, | ||
26 | { .name = "SPSel", .state = ARM_CP_STATE_AA64, | ||
27 | .opc0 = 3, .opc1 = 0, .crn = 4, .crm = 2, .opc2 = 0, | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/powerpc_rom.bin b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/powerpc_rom.bin new file mode 100644 index 00000000..c4044296 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/powerpc_rom.bin | |||
Binary files differ | |||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/qemu-7.0.0-glibc-2.36.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/qemu-7.0.0-glibc-2.36.patch new file mode 100644 index 00000000..abad1cfe --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/qemu-7.0.0-glibc-2.36.patch | |||
@@ -0,0 +1,46 @@ | |||
1 | Avoid conflicts between sys/mount.h and linux/mount.h that are seen | ||
2 | with glibc 2.36 | ||
3 | |||
4 | Source: https://github.com/archlinux/svntogit-packages/blob/packages/qemu/trunk/qemu-7.0.0-glibc-2.36.patch | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
8 | --- a/linux-user/syscall.c | ||
9 | +++ b/linux-user/syscall.c | ||
10 | @@ -95,7 +95,25 @@ | ||
11 | #include <linux/soundcard.h> | ||
12 | #include <linux/kd.h> | ||
13 | #include <linux/mtio.h> | ||
14 | + | ||
15 | +#ifdef HAVE_SYS_MOUNT_FSCONFIG | ||
16 | +/* | ||
17 | + * glibc >= 2.36 linux/mount.h conflicts with sys/mount.h, | ||
18 | + * which in turn prevents use of linux/fs.h. So we have to | ||
19 | + * define the constants ourselves for now. | ||
20 | + */ | ||
21 | +#define FS_IOC_GETFLAGS _IOR('f', 1, long) | ||
22 | +#define FS_IOC_SETFLAGS _IOW('f', 2, long) | ||
23 | +#define FS_IOC_GETVERSION _IOR('v', 1, long) | ||
24 | +#define FS_IOC_SETVERSION _IOW('v', 2, long) | ||
25 | +#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap) | ||
26 | +#define FS_IOC32_GETFLAGS _IOR('f', 1, int) | ||
27 | +#define FS_IOC32_SETFLAGS _IOW('f', 2, int) | ||
28 | +#define FS_IOC32_GETVERSION _IOR('v', 1, int) | ||
29 | +#define FS_IOC32_SETVERSION _IOW('v', 2, int) | ||
30 | +#else | ||
31 | #include <linux/fs.h> | ||
32 | +#endif | ||
33 | #include <linux/fd.h> | ||
34 | #if defined(CONFIG_FIEMAP) | ||
35 | #include <linux/fiemap.h> | ||
36 | --- a/meson.build | ||
37 | +++ b/meson.build | ||
38 | @@ -1686,6 +1686,8 @@ config_host_data.set('HAVE_OPTRESET', | ||
39 | cc.has_header_symbol('getopt.h', 'optreset')) | ||
40 | config_host_data.set('HAVE_IPPROTO_MPTCP', | ||
41 | cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP')) | ||
42 | +config_host_data.set('HAVE_SYS_MOUNT_FSCONFIG', | ||
43 | + cc.has_header_symbol('sys/mount.h', 'FSCONFIG_SET_FLAG')) | ||
44 | |||
45 | # has_member | ||
46 | config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID', | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/run-ptest b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/run-ptest new file mode 100644 index 00000000..f9a4e8fb --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/run-ptest | |||
@@ -0,0 +1,13 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | #This script is used to run qemu test suites | ||
4 | # | ||
5 | |||
6 | ptestdir=$(dirname "$(readlink -f "$0")") | ||
7 | export SRC_PATH=$ptestdir | ||
8 | |||
9 | cd $ptestdir/tests | ||
10 | tests=$(find . -name "test-*" ! -name "*.p") | ||
11 | for f in $tests; do | ||
12 | $f | sed '/^ok/ s/ok/PASS:/g' | ||
13 | done | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc index b65a1682..4b0aceb8 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc | |||
@@ -1,6 +1,10 @@ | |||
1 | SUMMARY = "Xilinx's fork of a fast open source processor emulator" | 1 | SUMMARY = "Xilinx's fork of a fast open source processor emulator" |
2 | HOMEPAGE = "https://github.com/xilinx/qemu/" | 2 | HOMEPAGE = "https://github.com/xilinx/qemu/" |
3 | 3 | ||
4 | # This qemu fork is NOT compatible with running on a 32-bit system | ||
5 | # See: https://github.com/Xilinx/qemu/issues/35 | ||
6 | COMPATIBLE_HOST:arm = "null" | ||
7 | |||
4 | # x86_64 is needed to build nativesdks | 8 | # x86_64 is needed to build nativesdks |
5 | QEMU_TARGETS = "aarch64 arm microblaze microblazeel x86_64" | 9 | QEMU_TARGETS = "aarch64 arm microblaze microblazeel x86_64" |
6 | 10 | ||
@@ -36,8 +40,14 @@ SRC_URI += "\ | |||
36 | file://0001-net-tulip-Restrict-DMA-engine-to-memories.patch \ | 40 | file://0001-net-tulip-Restrict-DMA-engine-to-memories.patch \ |
37 | file://arm-cpreg-fix.patch \ | 41 | file://arm-cpreg-fix.patch \ |
38 | file://CVE-2022-3165.patch \ | 42 | file://CVE-2022-3165.patch \ |
43 | file://qemu-guest-agent.init \ | ||
44 | file://qemu-guest-agent.udev \ | ||
39 | " | 45 | " |
40 | 46 | ||
47 | # Workaround for 8.2 patch that doesn't apply | ||
48 | SRC_URI:remove = "file://0011-linux-user-workaround-for-missing-MAP_FIXED_NOREPLAC.patch" | ||
49 | SRC_URI:remove = "file://0012-linux-user-workaround-for-missing-MAP_SHARED_VALIDAT.patch" | ||
50 | |||
41 | S = "${WORKDIR}/git" | 51 | S = "${WORKDIR}/git" |
42 | 52 | ||
43 | PACKAGECONFIG ??= " \ | 53 | PACKAGECONFIG ??= " \ |
@@ -47,4 +57,9 @@ PACKAGECONFIG ??= " \ | |||
47 | " | 57 | " |
48 | PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm gcrypt pie slirp" | 58 | PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm gcrypt pie slirp" |
49 | 59 | ||
60 | # Disable this | ||
61 | PACKAGECONFIG[debuginfo] = "" | ||
62 | PACKAGECONFIG[pipewire] = "" | ||
63 | PACKAGECONFIG[sndio] = "" | ||
64 | |||
50 | DISABLE_STATIC:pn-${PN} = "" | 65 | DISABLE_STATIC:pn-${PN} = "" |
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc deleted file mode 100644 index b22ab432..00000000 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | require recipes-devtools/qemu/qemu-native.inc | ||
2 | require qemu-xilinx.inc | ||
3 | |||
4 | DEPENDS = "glib-2.0-native zlib-native ninja-native meson-native" | ||
5 | |||
6 | SRC_URI:remove = "file://0012-fix-libcap-header-issue-on-some-distro.patch" | ||
7 | SRC_URI:remove = "file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch" | ||
8 | |||
9 | do_install:append(){ | ||
10 | rm -rf ${D}${datadir}/icons | ||
11 | } | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb new file mode 100644 index 00000000..bfdb916d --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | require qemu-xilinx-2022.1.inc | ||
2 | require qemu-xilinx-native-7.1.inc | ||
3 | require qemu-native-alt.inc | ||
4 | |||
5 | BPN = "qemu-xilinx" | ||
6 | |||
7 | # Latest poky has changed the defaults, restore them to something compatible | ||
8 | # with this QEMU. When we update to QEMU 8.x this won't be necessary. | ||
9 | EXTRA_OECONF:remove = "--disable-download" | ||
10 | EXTRA_OECONF:remove = "--disable-docs" | ||
11 | EXTRA_OECONF:remove = "--disable-af-xdp" | ||
12 | |||
13 | EXTRA_OECONF:append = "\ | ||
14 | --with-git=/bin/false \ | ||
15 | --with-git-submodules=ignore \ | ||
16 | --meson=meson \ | ||
17 | " | ||
18 | |||
19 | EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" | ||
20 | |||
21 | PACKAGECONFIG ??= "pie" | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb new file mode 100644 index 00000000..f91eb891 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | require qemu-xilinx-2022.2.inc | ||
2 | require qemu-xilinx-native-7.1.inc | ||
3 | require qemu-native-alt.inc | ||
4 | |||
5 | BPN = "qemu-xilinx" | ||
6 | |||
7 | # Latest poky has changed the defaults, restore them to something compatible | ||
8 | # with this QEMU. When we update to QEMU 8.x this won't be necessary. | ||
9 | EXTRA_OECONF:remove = "--disable-download" | ||
10 | EXTRA_OECONF:remove = "--disable-docs" | ||
11 | EXTRA_OECONF:remove = "--disable-af-xdp" | ||
12 | |||
13 | EXTRA_OECONF:append = "\ | ||
14 | --with-git=/bin/false \ | ||
15 | --with-git-submodules=ignore \ | ||
16 | --meson=meson \ | ||
17 | " | ||
18 | |||
19 | EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" | ||
20 | |||
21 | PACKAGECONFIG ??= "pie" | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb index 06711fd9..a19b2cc3 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb | |||
@@ -4,6 +4,18 @@ require qemu-native-alt.inc | |||
4 | 4 | ||
5 | BPN = "qemu-xilinx" | 5 | BPN = "qemu-xilinx" |
6 | 6 | ||
7 | # Latest poky has changed the defaults, restore them to something compatible | ||
8 | # with this QEMU. When we update to QEMU 8.x this won't be necessary. | ||
9 | EXTRA_OECONF:remove = "--disable-download" | ||
10 | EXTRA_OECONF:remove = "--disable-docs" | ||
11 | EXTRA_OECONF:remove = "--disable-af-xdp" | ||
12 | |||
13 | EXTRA_OECONF:append = "\ | ||
14 | --with-git=/bin/false \ | ||
15 | --with-git-submodules=ignore \ | ||
16 | --meson=meson \ | ||
17 | " | ||
18 | |||
7 | EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" | 19 | EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" |
8 | 20 | ||
9 | PACKAGECONFIG ??= "pie" | 21 | PACKAGECONFIG ??= "pie" |
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.2.bb index ccfa9956..78ffedca 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.2.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.2.bb | |||
@@ -4,6 +4,18 @@ require qemu-native-alt.inc | |||
4 | 4 | ||
5 | BPN = "qemu-xilinx" | 5 | BPN = "qemu-xilinx" |
6 | 6 | ||
7 | # Latest poky has changed the defaults, restore them to something compatible | ||
8 | # with this QEMU. When we update to QEMU 8.x this won't be necessary. | ||
9 | EXTRA_OECONF:remove = "--disable-download" | ||
10 | EXTRA_OECONF:remove = "--disable-docs" | ||
11 | EXTRA_OECONF:remove = "--disable-af-xdp" | ||
12 | |||
13 | EXTRA_OECONF:append = "\ | ||
14 | --with-git=/bin/false \ | ||
15 | --with-git-submodules=ignore \ | ||
16 | --meson=meson \ | ||
17 | " | ||
18 | |||
7 | EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" | 19 | EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" |
8 | 20 | ||
9 | PACKAGECONFIG ??= "pie" | 21 | PACKAGECONFIG ??= "pie" |
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb new file mode 100644 index 00000000..ba733ede --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb | |||
@@ -0,0 +1,38 @@ | |||
1 | require qemu-system-native-alt.inc | ||
2 | require qemu-xilinx-2022.1.inc | ||
3 | require qemu-xilinx-native-7.1.inc | ||
4 | |||
5 | PROVIDES = "qemu-system-native" | ||
6 | |||
7 | # Latest poky has changed the defaults, restore them to something compatible | ||
8 | # with this QEMU. When we update to QEMU 8.x this won't be necessary. | ||
9 | EXTRA_OECONF:remove = "--disable-download" | ||
10 | EXTRA_OECONF:remove = "--disable-docs" | ||
11 | EXTRA_OECONF:remove = "--disable-af-xdp" | ||
12 | |||
13 | EXTRA_OECONF:append = "\ | ||
14 | --with-git=/bin/false \ | ||
15 | --with-git-submodules=ignore \ | ||
16 | --meson=meson \ | ||
17 | " | ||
18 | |||
19 | EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}" | ||
20 | |||
21 | PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp" | ||
22 | |||
23 | PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}" | ||
24 | |||
25 | DEPENDS += "pixman-native qemu-xilinx-native bison-native ninja-native meson-native" | ||
26 | DEPENDS += "qemu-xilinx-multiarch-helper-native" | ||
27 | |||
28 | do_install:append() { | ||
29 | # The following is also installed by qemu-native | ||
30 | rm -f ${D}${datadir}/qemu/trace-events-all | ||
31 | rm -rf ${D}${datadir}/qemu/keymaps | ||
32 | rm -rf ${D}${datadir}/icons | ||
33 | rm -rf ${D}${includedir}/qemu-plugin.h | ||
34 | |||
35 | # Install qmp.py to be used with testimage | ||
36 | install -d ${D}${libdir}/qemu-python/qmp/ | ||
37 | install -D ${S}/python/qemu/qmp/* ${D}${libdir}/qemu-python/qmp/ | ||
38 | } | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb new file mode 100644 index 00000000..17386afe --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb | |||
@@ -0,0 +1,38 @@ | |||
1 | require qemu-system-native-alt.inc | ||
2 | require qemu-xilinx-2022.2.inc | ||
3 | require qemu-xilinx-native-7.1.inc | ||
4 | |||
5 | PROVIDES = "qemu-system-native" | ||
6 | |||
7 | # Latest poky has changed the defaults, restore them to something compatible | ||
8 | # with this QEMU. When we update to QEMU 8.x this won't be necessary. | ||
9 | EXTRA_OECONF:remove = "--disable-download" | ||
10 | EXTRA_OECONF:remove = "--disable-docs" | ||
11 | EXTRA_OECONF:remove = "--disable-af-xdp" | ||
12 | |||
13 | EXTRA_OECONF:append = "\ | ||
14 | --with-git=/bin/false \ | ||
15 | --with-git-submodules=ignore \ | ||
16 | --meson=meson \ | ||
17 | " | ||
18 | |||
19 | EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}" | ||
20 | |||
21 | PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp" | ||
22 | |||
23 | PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}" | ||
24 | |||
25 | DEPENDS += "pixman-native qemu-xilinx-native bison-native ninja-native meson-native" | ||
26 | DEPENDS += "qemu-xilinx-multiarch-helper-native" | ||
27 | |||
28 | do_install:append() { | ||
29 | # The following is also installed by qemu-native | ||
30 | rm -f ${D}${datadir}/qemu/trace-events-all | ||
31 | rm -rf ${D}${datadir}/qemu/keymaps | ||
32 | rm -rf ${D}${datadir}/icons | ||
33 | rm -rf ${D}${includedir}/qemu-plugin.h | ||
34 | |||
35 | # Install qmp.py to be used with testimage | ||
36 | install -d ${D}${libdir}/qemu-python/qmp/ | ||
37 | install -D ${S}/python/qemu/qmp/* ${D}${libdir}/qemu-python/qmp/ | ||
38 | } | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb index 1e738530..3264c260 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb | |||
@@ -4,6 +4,18 @@ require qemu-xilinx-native-7.1.inc | |||
4 | 4 | ||
5 | PROVIDES = "qemu-system-native" | 5 | PROVIDES = "qemu-system-native" |
6 | 6 | ||
7 | # Latest poky has changed the defaults, restore them to something compatible | ||
8 | # with this QEMU. When we update to QEMU 8.x this won't be necessary. | ||
9 | EXTRA_OECONF:remove = "--disable-download" | ||
10 | EXTRA_OECONF:remove = "--disable-docs" | ||
11 | EXTRA_OECONF:remove = "--disable-af-xdp" | ||
12 | |||
13 | EXTRA_OECONF:append = "\ | ||
14 | --with-git=/bin/false \ | ||
15 | --with-git-submodules=ignore \ | ||
16 | --meson=meson \ | ||
17 | " | ||
18 | |||
7 | EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}" | 19 | EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}" |
8 | 20 | ||
9 | PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp" | 21 | PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp" |
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.2.bb index 21208f72..fdf3be2e 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.2.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.2.bb | |||
@@ -4,6 +4,18 @@ require qemu-xilinx-native-7.1.inc | |||
4 | 4 | ||
5 | PROVIDES = "qemu-system-native" | 5 | PROVIDES = "qemu-system-native" |
6 | 6 | ||
7 | # Latest poky has changed the defaults, restore them to something compatible | ||
8 | # with this QEMU. When we update to QEMU 8.x this won't be necessary. | ||
9 | EXTRA_OECONF:remove = "--disable-download" | ||
10 | EXTRA_OECONF:remove = "--disable-docs" | ||
11 | EXTRA_OECONF:remove = "--disable-af-xdp" | ||
12 | |||
13 | EXTRA_OECONF:append = "\ | ||
14 | --with-git=/bin/false \ | ||
15 | --with-git-submodules=ignore \ | ||
16 | --meson=meson \ | ||
17 | " | ||
18 | |||
7 | EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}" | 19 | EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}" |
8 | 20 | ||
9 | PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp" | 21 | PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp" |
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc deleted file mode 100644 index 788a3fe0..00000000 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | SUMMARY = "Xilinx's fork of a fast open source processor emulator" | ||
2 | HOMEPAGE = "https://github.com/xilinx/qemu/" | ||
3 | |||
4 | # x86_64 is needed to build nativesdks | ||
5 | QEMU_TARGETS = "aarch64 arm microblaze microblazeel x86_64" | ||
6 | |||
7 | LIC_FILES_CHKSUM = " \ | ||
8 | file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ | ||
9 | file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f \ | ||
10 | " | ||
11 | DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native" | ||
12 | |||
13 | FILESEXTRAPATHS:prepend := "${THISDIR}/qemu-xilinx-6.1.0:" | ||
14 | |||
15 | PV = "${XILINX_QEMU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
16 | REPO ?= "gitsm://github.com/Xilinx/qemu.git;protocol=https" | ||
17 | |||
18 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
19 | SRC_URI = "${REPO};${BRANCHARG}" | ||
20 | |||
21 | SRC_URI:append = " file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch" | ||
22 | |||
23 | S = "${WORKDIR}/git" | ||
24 | |||
25 | # Disable KVM completely | ||
26 | PACKAGECONFIG:remove = "kvm" | ||
27 | PACKAGECONFIG:append = " fdt sdl gcrypt pie slirp" | ||
28 | |||
29 | |||
30 | # Remove when version is in sync with core oe-core | ||
31 | PACKAGECONFIG:remove:class-nativesdk= "pulsedio" | ||
32 | PACKAGECONFIG:remove:class-native = "pulsedio" | ||
33 | PACKAGECONFIG[alsa] = "--audio-drv-list=alsa,,alsa-lib" | ||
34 | PACKAGECONFIG[pulsedio] = "--audio-drv-list=pa,,pulseaudio" | ||
35 | PACKAGECONFIG[selinux] = "" | ||
36 | PACKAGECONFIG[slirp] = "--enable-slirp=git,--disable-slirp,," | ||
37 | PACKAGECONFIG[jack] = "" | ||
38 | |||
39 | DISABLE_STATIC:pn-${PN} = "" | ||
40 | |||
41 | do_install:append() { | ||
42 | # Prevent QA warnings about installed ${localstatedir}/run | ||
43 | if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi | ||
44 | } | ||
45 | |||
46 | FILES:${PN} += "${datadir}/qemu/" | ||
47 | FILES:${PN}:append:class-nativesdk:mingw32 = " ${SDKPATHNATIVE}" | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb new file mode 100644 index 00000000..96b26101 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb | |||
@@ -0,0 +1,38 @@ | |||
1 | require qemu-xilinx-2022.1.inc | ||
2 | require recipes-devtools/qemu/qemu.inc | ||
3 | require qemu-xilinx-7.1.inc | ||
4 | require qemu-alt.inc | ||
5 | |||
6 | # Links to libmali-xlnx, so it becomes MACHINE_ARCH specific | ||
7 | DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" | ||
8 | MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" | ||
9 | MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" | ||
10 | PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" | ||
11 | PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" | ||
12 | |||
13 | BBCLASSEXTEND = "nativesdk" | ||
14 | |||
15 | RDEPENDS:${PN}:class-target += "bash" | ||
16 | |||
17 | PROVIDES:class-nativesdk = "nativesdk-qemu" | ||
18 | RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu" | ||
19 | |||
20 | # Latest poky has changed the defaults, restore them to something compatible | ||
21 | # with this QEMU. When we update to QEMU 8.x this won't be necessary. | ||
22 | EXTRA_OECONF:remove = "--disable-download" | ||
23 | EXTRA_OECONF:remove = "--disable-docs" | ||
24 | EXTRA_OECONF:remove = "--disable-af-xdp" | ||
25 | |||
26 | EXTRA_OECONF:append = "\ | ||
27 | --with-git=/bin/false \ | ||
28 | --with-git-submodules=ignore \ | ||
29 | --meson=meson \ | ||
30 | " | ||
31 | |||
32 | EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}" | ||
33 | EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}" | ||
34 | EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" | ||
35 | |||
36 | do_install:append:class-nativesdk() { | ||
37 | ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)} | ||
38 | } | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb new file mode 100644 index 00000000..c6e91fdd --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb | |||
@@ -0,0 +1,36 @@ | |||
1 | require qemu-xilinx-2022.2.inc | ||
2 | require recipes-devtools/qemu/qemu.inc | ||
3 | require qemu-xilinx-7.1.inc | ||
4 | require qemu-alt.inc | ||
5 | |||
6 | # Links to libmali-xlnx, so it becomes MACHINE_ARCH specific | ||
7 | DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" | ||
8 | MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" | ||
9 | PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" | ||
10 | |||
11 | BBCLASSEXTEND = "nativesdk" | ||
12 | |||
13 | RDEPENDS:${PN}:class-target += "bash" | ||
14 | |||
15 | PROVIDES:class-nativesdk = "nativesdk-qemu" | ||
16 | RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu" | ||
17 | |||
18 | # Latest poky has changed the defaults, restore them to something compatible | ||
19 | # with this QEMU. When we update to QEMU 8.x this won't be necessary. | ||
20 | EXTRA_OECONF:remove = "--disable-download" | ||
21 | EXTRA_OECONF:remove = "--disable-docs" | ||
22 | EXTRA_OECONF:remove = "--disable-af-xdp" | ||
23 | |||
24 | EXTRA_OECONF:append = "\ | ||
25 | --with-git=/bin/false \ | ||
26 | --with-git-submodules=ignore \ | ||
27 | --meson=meson \ | ||
28 | " | ||
29 | |||
30 | EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}" | ||
31 | EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}" | ||
32 | EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" | ||
33 | |||
34 | do_install:append:class-nativesdk() { | ||
35 | ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)} | ||
36 | } | ||
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb index 3b12d161..fca09883 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb | |||
@@ -17,6 +17,18 @@ RDEPENDS:${PN}:class-target += "bash" | |||
17 | PROVIDES:class-nativesdk = "nativesdk-qemu" | 17 | PROVIDES:class-nativesdk = "nativesdk-qemu" |
18 | RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu" | 18 | RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu" |
19 | 19 | ||
20 | # Latest poky has changed the defaults, restore them to something compatible | ||
21 | # with this QEMU. When we update to QEMU 8.x this won't be necessary. | ||
22 | EXTRA_OECONF:remove = "--disable-download" | ||
23 | EXTRA_OECONF:remove = "--disable-docs" | ||
24 | EXTRA_OECONF:remove = "--disable-af-xdp" | ||
25 | |||
26 | EXTRA_OECONF:append = "\ | ||
27 | --with-git=/bin/false \ | ||
28 | --with-git-submodules=ignore \ | ||
29 | --meson=meson \ | ||
30 | " | ||
31 | |||
20 | EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}" | 32 | EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}" |
21 | EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}" | 33 | EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}" |
22 | EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" | 34 | EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" |
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.2.bb index e79df9d7..070ae65f 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.2.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.2.bb | |||
@@ -17,6 +17,18 @@ RDEPENDS:${PN}:class-target += "bash" | |||
17 | PROVIDES:class-nativesdk = "nativesdk-qemu" | 17 | PROVIDES:class-nativesdk = "nativesdk-qemu" |
18 | RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu" | 18 | RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu" |
19 | 19 | ||
20 | # Latest poky has changed the defaults, restore them to something compatible | ||
21 | # with this QEMU. When we update to QEMU 8.x this won't be necessary. | ||
22 | EXTRA_OECONF:remove = "--disable-download" | ||
23 | EXTRA_OECONF:remove = "--disable-docs" | ||
24 | EXTRA_OECONF:remove = "--disable-af-xdp" | ||
25 | |||
26 | EXTRA_OECONF:append = "\ | ||
27 | --with-git=/bin/false \ | ||
28 | --with-git-submodules=ignore \ | ||
29 | --meson=meson \ | ||
30 | " | ||
31 | |||
20 | EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}" | 32 | EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}" |
21 | EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}" | 33 | EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}" |
22 | EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" | 34 | EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" |
diff --git a/meta-xilinx-core/recipes-graphics/cairo/cairo_%.bbappend b/meta-xilinx-core/recipes-graphics/cairo/cairo_%.bbappend deleted file mode 100644 index 61b4d1da..00000000 --- a/meta-xilinx-core/recipes-graphics/cairo/cairo_%.bbappend +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | # OpenGL comes from libmali on ev/eg, when egl is enabled | ||
2 | # Adjust the configuration if we're using libmali for this distro | ||
3 | DEFAULT_PACKAGECONFIG := "${PACKAGECONFIG}" | ||
4 | |||
5 | PACKAGECONFIG_LIBMALI = " \ | ||
6 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)} \ | ||
7 | egl glesv2 \ | ||
8 | trace \ | ||
9 | " | ||
10 | |||
11 | PACKAGECONFIG = "${@'${PACKAGECONFIG_LIBMALI}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGECONFIG}'}" | ||
12 | |||
13 | # Links to libmali-xlnx, so it becomes MACHINE_ARCH specific | ||
14 | DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" | ||
15 | MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" | ||
16 | MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" | ||
17 | PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" | ||
18 | PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" | ||
19 | |||
diff --git a/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch b/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch index 97f51f03..f77f1939 100644 --- a/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch +++ b/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch | |||
@@ -2,26 +2,30 @@ DRI: Add xlnx dri | |||
2 | 2 | ||
3 | Add the Xilinx dri target | 3 | Add the Xilinx dri target |
4 | 4 | ||
5 | Upstream-Status: Pending | ||
6 | |||
5 | Signed-off-by: Mark Hatle <mark.hatle@amd.com> | 7 | Signed-off-by: Mark Hatle <mark.hatle@amd.com> |
6 | 8 | ||
7 | diff -ur mesa-22.2.0.orig/src/gallium/targets/dri/meson.build mesa-22.2.0/src/gallium/targets/dri/meson.build | 9 | Index: mesa-24.0.1/src/gallium/targets/dri/meson.build |
8 | --- mesa-22.2.0.orig/src/gallium/targets/dri/meson.build 2022-10-24 20:17:33.977241901 -0700 | 10 | =================================================================== |
9 | +++ mesa-22.2.0/src/gallium/targets/dri/meson.build 2022-10-24 20:19:03.217237410 -0700 | 11 | --- mesa-24.0.1.orig/src/gallium/targets/dri/meson.build |
10 | @@ -92,6 +92,7 @@ | 12 | +++ mesa-24.0.1/src/gallium/targets/dri/meson.build |
11 | 'st7735r_dri.so', | 13 | @@ -101,6 +101,7 @@ foreach d : [[with_gallium_kmsro, [ |
12 | 'stm_dri.so', | 14 | 'stm_dri.so', |
13 | 'sun4i-drm_dri.so', | 15 | 'sun4i-drm_dri.so', |
14 | + 'xlnx_dri.so', | 16 | 'udl_dri.so', |
17 | + 'xlnx_dri.so', | ||
15 | ]], | 18 | ]], |
16 | [with_gallium_radeonsi, 'radeonsi_dri.so'], | 19 | [with_gallium_radeonsi, 'radeonsi_dri.so'], |
17 | [with_gallium_nouveau, 'nouveau_dri.so'], | 20 | [with_gallium_nouveau, 'nouveau_dri.so'], |
18 | diff -ur mesa-22.2.0.orig/src/gallium/targets/dri/target.c mesa-22.2.0/src/gallium/targets/dri/target.c | 21 | Index: mesa-24.0.1/src/gallium/targets/dri/target.c |
19 | --- mesa-22.2.0.orig/src/gallium/targets/dri/target.c 2022-10-24 20:17:33.977241901 -0700 | 22 | =================================================================== |
20 | +++ mesa-22.2.0/src/gallium/targets/dri/target.c 2022-10-24 20:19:59.833234561 -0700 | 23 | --- mesa-24.0.1.orig/src/gallium/targets/dri/target.c |
21 | @@ -118,6 +118,7 @@ | 24 | +++ mesa-24.0.1/src/gallium/targets/dri/target.c |
22 | DEFINE_LOADER_DRM_ENTRYPOINT(st7735r) | 25 | @@ -129,6 +129,7 @@ DEFINE_LOADER_DRM_ENTRYPOINT(sti) |
23 | DEFINE_LOADER_DRM_ENTRYPOINT(stm) | 26 | DEFINE_LOADER_DRM_ENTRYPOINT(stm) |
24 | DEFINE_LOADER_DRM_ENTRYPOINT(sun4i_drm) | 27 | DEFINE_LOADER_DRM_ENTRYPOINT(sun4i_drm) |
28 | DEFINE_LOADER_DRM_ENTRYPOINT(udl) | ||
25 | +DEFINE_LOADER_DRM_ENTRYPOINT(xlnx) | 29 | +DEFINE_LOADER_DRM_ENTRYPOINT(xlnx) |
26 | #endif | 30 | #endif |
27 | 31 | ||
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch index fc2108e1..fdb30564 100644 --- a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch +++ b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch | |||
@@ -8,7 +8,7 @@ Although the macro definitions are consistent, using the macros name | |||
8 | defined under khronos makes it backward compatible with older eglext.h | 8 | defined under khronos makes it backward compatible with older eglext.h |
9 | 9 | ||
10 | Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> | 10 | Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> |
11 | upstream-status: Inappropriate [Xilinx specific] | 11 | Upstream-Status: Inappropriate [Xilinx specific] |
12 | Signed-off-by: Mark Hatle <mark.hatle@amd.com> | 12 | Signed-off-by: Mark Hatle <mark.hatle@amd.com> |
13 | --- | 13 | --- |
14 | src/egl/opengl/eglinfo.c | 6 +++--- | 14 | src/egl/opengl/eglinfo.c | 6 +++--- |
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch index 4453b63e..7212ef27 100644 --- a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch +++ b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch | |||
@@ -8,7 +8,7 @@ Compiling against the other EGL provider like mali fails, as they dont | |||
8 | support this macro as one of thier supported platforms | 8 | support this macro as one of thier supported platforms |
9 | 9 | ||
10 | Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> | 10 | Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> |
11 | upstream-status: Inappropritate [Xilinx specific] | 11 | Upstream-Status: Inappropriate [Xilinx specific] |
12 | Signed-off-by: Mark Hatle <mark.hatle@amd.com> | 12 | Signed-off-by: Mark Hatle <mark.hatle@amd.com> |
13 | --- | 13 | --- |
14 | src/egl/opengl/eglinfo.c | 4 ++++ | 14 | src/egl/opengl/eglinfo.c | 4 ++++ |
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch index 19248bb3..6cfecb38 100644 --- a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch +++ b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch | |||
@@ -1,3 +1,5 @@ | |||
1 | Upstream-Status: Inappropriate [libmali specific] | ||
2 | |||
1 | Index: mesa-demos-8.5.0/src/egl/opengl/eglinfo.c | 3 | Index: mesa-demos-8.5.0/src/egl/opengl/eglinfo.c |
2 | =================================================================== | 4 | =================================================================== |
3 | --- mesa-demos-8.5.0.orig/src/egl/opengl/eglinfo.c | 5 | --- mesa-demos-8.5.0.orig/src/egl/opengl/eglinfo.c |
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend b/meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend index d148e679..86183f54 100644 --- a/meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend +++ b/meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend | |||
@@ -1,5 +1,5 @@ | |||
1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" | 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" |
2 | SRC_URI += "file://0001-DRI_Add_xlnx_dri.patch" | 2 | SRC_URI:append:class-target = " file://0001-DRI_Add_xlnx_dri.patch" |
3 | 3 | ||
4 | # This is not compatible with the mali400 driver, use mesa-gl instead | 4 | # This is not compatible with the mali400 driver, use mesa-gl instead |
5 | CONFLICT_DISTRO_FEATURES:class-target = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', bb.utils.contains('DISTRO_FEATURES', 'libmali', 'libmali', '', d), '', d)}" | 5 | CONFLICT_DISTRO_FEATURES:class-target = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', bb.utils.contains('DISTRO_FEATURES', 'libmali', 'libmali', '', d), '', d)}" |
diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch b/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch index 33d33b0f..de1f3719 100644 --- a/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch +++ b/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch | |||
@@ -7,23 +7,24 @@ Xilinx DP gfx layer does not support XRGB8888. Hence, remove the same | |||
7 | as opaque substitute. | 7 | as opaque substitute. |
8 | 8 | ||
9 | Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> | 9 | Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> |
10 | Upstream-Status : Inappropriate [Xilinx specific] | 10 | Upstream-Status: Inappropriate [Xilinx specific] |
11 | |||
12 | Reworked the patch for the newer weston | ||
13 | |||
14 | Signed-off-by: Mark Hatle <mark.hatle@amd.com> | ||
11 | --- | 15 | --- |
12 | libweston/pixel-formats.c | 1 - | 16 | libweston/pixel-formats.c | 1 - |
13 | 1 file changed, 1 deletion(-) | 17 | 1 file changed, 1 deletion(-) |
14 | 18 | ||
15 | diff --git a/libweston/pixel-formats.c b/libweston/pixel-formats.c | 19 | Index: weston-13.0.0/libweston/pixel-formats.c |
16 | index 79dc709..ec2d3b7 100644 | 20 | =================================================================== |
17 | --- a/libweston/pixel-formats.c | 21 | --- weston-13.0.0.orig/libweston/pixel-formats.c |
18 | +++ b/libweston/pixel-formats.c | 22 | +++ weston-13.0.0/libweston/pixel-formats.c |
19 | @@ -193,7 +193,6 @@ static const struct pixel_format_info pixel_format_table[] = { | 23 | @@ -251,7 +251,6 @@ static const struct pixel_format_info pi |
20 | { | 24 | { |
21 | DRM_FORMAT(ARGB8888), | 25 | DRM_FORMAT(ARGB8888), |
22 | BITS_RGBA_FIXED(8, 8, 8, 8), | 26 | BITS_RGBA_FIXED(8, 8, 8, 8), |
23 | - .opaque_substitute = DRM_FORMAT_XRGB8888, | 27 | - .opaque_substitute = DRM_FORMAT_XRGB8888, |
24 | .depth = 32, | 28 | .addfb_legacy_depth = 32, |
25 | .bpp = 32, | 29 | .bpp = 32, |
26 | GL_FORMAT(GL_BGRA_EXT), | 30 | GL_INTERNALFORMAT(GL_RGBA8), |
27 | -- | ||
28 | 2.17.1 | ||
29 | |||
diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch b/meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch new file mode 100644 index 00000000..6b5f53b0 --- /dev/null +++ b/meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | From 3fbb596e53524e78703b76c4fdc33cd6ac62f777 Mon Sep 17 00:00:00 2001 | ||
2 | From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> | ||
3 | Date: Fri, 11 Dec 2020 16:21:38 -0800 | ||
4 | Subject: [PATCH] libweston: Remove substitute format for ARGB8888 | ||
5 | |||
6 | Xilinx DP gfx layer does not support XRGB8888. Hence, remove the same | ||
7 | as opaque substitute. | ||
8 | |||
9 | Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> | ||
10 | Upstream-Status: Inappropriate [Xilinx specific] | ||
11 | --- | ||
12 | libweston/pixel-formats.c | 1 - | ||
13 | 1 file changed, 1 deletion(-) | ||
14 | |||
15 | diff --git a/libweston/pixel-formats.c b/libweston/pixel-formats.c | ||
16 | index 79dc709..ec2d3b7 100644 | ||
17 | --- a/libweston/pixel-formats.c | ||
18 | +++ b/libweston/pixel-formats.c | ||
19 | @@ -193,7 +193,6 @@ static const struct pixel_format_info pixel_format_table[] = { | ||
20 | { | ||
21 | DRM_FORMAT(ARGB8888), | ||
22 | BITS_RGBA_FIXED(8, 8, 8, 8), | ||
23 | - .opaque_substitute = DRM_FORMAT_XRGB8888, | ||
24 | .depth = 32, | ||
25 | .bpp = 32, | ||
26 | GL_FORMAT(GL_BGRA_EXT), | ||
27 | -- | ||
28 | 2.17.1 | ||
29 | |||
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_%.bbappend b/meta-xilinx-core/recipes-graphics/wayland/weston.inc index ca77f0d3..fadc9486 100644 --- a/meta-xilinx-core/recipes-graphics/wayland/weston_%.bbappend +++ b/meta-xilinx-core/recipes-graphics/wayland/weston.inc | |||
@@ -1,5 +1,3 @@ | |||
1 | FILESEXTRAPATHS:prepend:zynqmp := "${THISDIR}/files:" | ||
2 | |||
3 | SRC_URI:append:zynqmp = " file://0001-libweston-Remove-substitute-format-for-ARGB8888.patch" | 1 | SRC_URI:append:zynqmp = " file://0001-libweston-Remove-substitute-format-for-ARGB8888.patch" |
4 | 2 | ||
5 | # Due to the SRC_URI zynqmp specific change, this needs to be SOC_FAMILY_ARCH specific | 3 | # Due to the SRC_URI zynqmp specific change, this needs to be SOC_FAMILY_ARCH specific |
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_10.0.2.bbappend b/meta-xilinx-core/recipes-graphics/wayland/weston_13.%.bbappend index 18396c5e..3ee9cafa 100644 --- a/meta-xilinx-core/recipes-graphics/wayland/weston_10.0.2.bbappend +++ b/meta-xilinx-core/recipes-graphics/wayland/weston_13.%.bbappend | |||
@@ -1,8 +1,12 @@ | |||
1 | FILESEXTRAPATHS:prepend:zynqmp := "${THISDIR}/files:" | ||
2 | |||
3 | require weston.inc | ||
4 | |||
1 | ZYNQMP_WARN_DEFAULT = "0" | 5 | ZYNQMP_WARN_DEFAULT = "0" |
2 | ZYNQMP_WARN_DEFAULT:zynqmp = "${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '1', '0', d)}" | 6 | ZYNQMP_WARN_DEFAULT:zynqmp = "${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '1', '0', d)}" |
3 | ZYNQMP_WARN = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', '${ZYNQMP_WARN_DEFAULT}', '0', d)}" | 7 | ZYNQMP_WARN = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', '${ZYNQMP_WARN_DEFAULT}', '0', d)}" |
4 | 8 | ||
5 | python() { | 9 | python() { |
6 | if d.getVar('ZYNQMP_WARN') == "1": | 10 | if d.getVar('ZYNQMP_WARN') == "1": |
7 | raise bb.parse.SkipRecipe("Weston 10.0.0.2 requires GLES 3 interfaces which are not available when libmali enabled. Use Weston 9.0.0.0 instead.") | 11 | raise bb.parse.SkipRecipe("Weston %s requires GLES 3 interfaces which are not available when libmali enabled. Use Weston 9.0.0.0 instead." % (d.getVar('PV'))) |
8 | } | 12 | } |
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend b/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend new file mode 100644 index 00000000..80512ac3 --- /dev/null +++ b/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend | |||
@@ -0,0 +1,3 @@ | |||
1 | FILESEXTRAPATHS:prepend:zynqmp := "${THISDIR}/files/9.0.0:${THISDIR}/files:" | ||
2 | |||
3 | require weston.inc | ||
diff --git a/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend index 7486200d..460ff581 100644 --- a/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend +++ b/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend | |||
@@ -17,7 +17,7 @@ do_install:append() { | |||
17 | install -m 0755 ${WORKDIR}/monitor-hotplug.sh ${D}${bindir} | 17 | install -m 0755 ${WORKDIR}/monitor-hotplug.sh ${D}${bindir} |
18 | 18 | ||
19 | install -d ${D}${sysconfdir}/udev/rules.d | 19 | install -d ${D}${sysconfdir}/udev/rules.d |
20 | install -m 0644 ${WORKDIR}/99-monitor-hotplug.rules ${D}${sysconfdir}/udev/rules.d/local.rules | 20 | install -m 0644 ${WORKDIR}/99-monitor-hotplug.rules ${D}${sysconfdir}/udev/rules.d/99-monitor-hotplug.rules |
21 | } | 21 | } |
22 | 22 | ||
23 | FILES:${PN} += "${sysconfdir}/udev/rules.d/*" | 23 | FILES:${PN} += "${sysconfdir}/udev/rules.d/*" |
diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb new file mode 100644 index 00000000..dda6ec31 --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb | |||
@@ -0,0 +1,24 @@ | |||
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 = "GPL-2.0-only" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" | ||
6 | |||
7 | XLNX_DP_VERSION = "5.10.0" | ||
8 | PV = "${XLNX_DP_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
9 | |||
10 | S = "${WORKDIR}/git" | ||
11 | |||
12 | BRANCH ?= "xlnx_rel_v2022.2" | ||
13 | REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https" | ||
14 | SRCREV ?= "c57b2ce95ee6c86f35caecbc7007644ff8f6d337" | ||
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-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.2.bb b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.2.bb new file mode 100644 index 00000000..c1f66013 --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.2.bb | |||
@@ -0,0 +1,24 @@ | |||
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 = "GPL-2.0-only" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=b34277fe156508fd5a650609dc36d1fe" | ||
6 | |||
7 | XLNX_HDMI_VERSION = "5.15.19" | ||
8 | PV = "${XLNX_HDMI_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
9 | |||
10 | S = "${WORKDIR}/git" | ||
11 | |||
12 | BRANCH ?= "xlnx_rel_v2022.2" | ||
13 | REPO ?= "git://github.com/Xilinx/hdmi-modules.git;protocol=https" | ||
14 | SRCREV = "25b6fe7a26a975be15c002b48cfd4c291486491e" | ||
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-core/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch new file mode 100644 index 00000000..5a4d203d --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch | |||
@@ -0,0 +1,47 @@ | |||
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-core/recipes-kernel/linux/linux-xlnx_2022.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.1.bb new file mode 100644 index 00000000..41c1ffe2 --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.1.bb | |||
@@ -0,0 +1,9 @@ | |||
1 | LINUX_VERSION = "5.15.19" | ||
2 | KBRANCH="xlnx_rebase_v5.15_LTS_2022.1_update" | ||
3 | SRCREV = "75872fda9ad270b611ee6ae2433492da1e22b688" | ||
4 | |||
5 | KCONF_AUDIT_LEVEL="0" | ||
6 | |||
7 | include linux-xlnx.inc | ||
8 | |||
9 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" | ||
diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb new file mode 100644 index 00000000..260224b8 --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb | |||
@@ -0,0 +1,9 @@ | |||
1 | LINUX_VERSION = "5.15.36" | ||
2 | KBRANCH="xlnx_rebase_v5.15_LTS" | ||
3 | SRCREV = "19984dd147fa7fbb7cb14b17400263ad0925c189" | ||
4 | |||
5 | KCONF_AUDIT_LEVEL="0" | ||
6 | |||
7 | include linux-xlnx.inc | ||
8 | |||
9 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Current-gcc-requires-cstdint-for-C-types.patch b/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Current-gcc-requires-cstdint-for-C-types.patch new file mode 100644 index 00000000..defe14dc --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Current-gcc-requires-cstdint-for-C-types.patch | |||
@@ -0,0 +1,55 @@ | |||
1 | From 2316632e8f3eefc21bc4f9cb97be4603b4c14719 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mark Hatle <mark.hatle@amd.com> | ||
3 | Date: Thu, 28 Sep 2023 12:24:04 -0600 | ||
4 | Subject: [PATCH] Current gcc requires cstdint for C types | ||
5 | |||
6 | Add #include <cstdint> to resolve the issues similar to the following: | ||
7 | |||
8 | module/module_structs.h:259:3: note: 'uint16_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'? | ||
9 | module/module_structs.h:260:3: error: 'uint16_t' does not name a type | ||
10 | |||
11 | Signed-off-by: Mark Hatle <mark.hatle@amd.com> | ||
12 | --- | ||
13 | exe_omx/encoder/EncCmdMngr.h | 1 + | ||
14 | module/module_structs.h | 1 + | ||
15 | utility/processor_fifo.h | 1 + | ||
16 | 3 files changed, 3 insertions(+) | ||
17 | |||
18 | diff --git a/exe_omx/encoder/EncCmdMngr.h b/exe_omx/encoder/EncCmdMngr.h | ||
19 | index 6dacd68..cd3d0a6 100644 | ||
20 | --- a/exe_omx/encoder/EncCmdMngr.h | ||
21 | +++ b/exe_omx/encoder/EncCmdMngr.h | ||
22 | @@ -7,6 +7,7 @@ | ||
23 | #include <iostream> | ||
24 | #include <string> | ||
25 | #include <vector> | ||
26 | +#include <cstdint> | ||
27 | |||
28 | #include "ICommandsSender.h" | ||
29 | |||
30 | diff --git a/module/module_structs.h b/module/module_structs.h | ||
31 | index 7151b86..37ff8ac 100644 | ||
32 | --- a/module/module_structs.h | ||
33 | +++ b/module/module_structs.h | ||
34 | @@ -6,6 +6,7 @@ | ||
35 | #include "module_enums.h" | ||
36 | #include <string> | ||
37 | #include <vector> | ||
38 | +#include <cstdint> | ||
39 | |||
40 | template<typename T> | ||
41 | struct InputOutput | ||
42 | diff --git a/utility/processor_fifo.h b/utility/processor_fifo.h | ||
43 | index 1c62ba4..3c9cd86 100644 | ||
44 | --- a/utility/processor_fifo.h | ||
45 | +++ b/utility/processor_fifo.h | ||
46 | @@ -6,6 +6,7 @@ | ||
47 | #include <utility/locked_queue.h> | ||
48 | #include <thread> | ||
49 | #include <functional> | ||
50 | +#include <string> | ||
51 | |||
52 | #if defined __linux__ | ||
53 | #include <sys/prctl.h> | ||
54 | -- | ||
55 | 2.34.1 | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Support-updated-gcc-add-cstdint-where-necessary.patch b/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Support-updated-gcc-add-cstdint-where-necessary.patch new file mode 100644 index 00000000..788edd03 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Support-updated-gcc-add-cstdint-where-necessary.patch | |||
@@ -0,0 +1,52 @@ | |||
1 | From b58c0a7dd0eeb16b2251edfad3b4763ce5653ea2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mark Hatle <mark.hatle@amd.com> | ||
3 | Date: Thu, 28 Sep 2023 12:04:34 -0600 | ||
4 | Subject: [PATCH] Support updated gcc, add cstdint where necessary | ||
5 | |||
6 | With the latest gcc, cstdint is now needs to be explicitly included, otherwise | ||
7 | errors similar to the following will occur: | ||
8 | |||
9 | include/lib_app/Parser.h:413:36: error: 'uint32_t' has not been declared | ||
10 | 413 | static void resetFlag(T* bitfield, uint32_t uFlag) | ||
11 | | ^~~~~~~~ | ||
12 | include/lib_app/Parser.h: In function 'void resetFlag(T*, int)': | ||
13 | include/lib_app/Parser.h:415:20: error: 'uint32_t' was not declared in this scope | ||
14 | 415 | *bitfield = (T)((uint32_t)*bitfield & ~uFlag); | ||
15 | | ^~~~~~~~ | ||
16 | include/lib_app/Parser.h:18:1: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'? | ||
17 | 17 | #include <iomanip> | ||
18 | +++ |+#include <cstdint> | ||
19 | 18 | | ||
20 | |||
21 | Signed-off-by: Mark Hatle <mark.hatle@amd.com> | ||
22 | --- | ||
23 | exe_encoder/EncCmdMngr.h | 1 + | ||
24 | include/lib_app/Parser.h | 1 + | ||
25 | 2 files changed, 2 insertions(+) | ||
26 | |||
27 | diff --git a/exe_encoder/EncCmdMngr.h b/exe_encoder/EncCmdMngr.h | ||
28 | index 6dacd68..cd3d0a6 100644 | ||
29 | --- a/exe_encoder/EncCmdMngr.h | ||
30 | +++ b/exe_encoder/EncCmdMngr.h | ||
31 | @@ -7,6 +7,7 @@ | ||
32 | #include <iostream> | ||
33 | #include <string> | ||
34 | #include <vector> | ||
35 | +#include <cstdint> | ||
36 | |||
37 | #include "ICommandsSender.h" | ||
38 | |||
39 | diff --git a/include/lib_app/Parser.h b/include/lib_app/Parser.h | ||
40 | index efb7f94..66d5164 100644 | ||
41 | --- a/include/lib_app/Parser.h | ||
42 | +++ b/include/lib_app/Parser.h | ||
43 | @@ -15,6 +15,7 @@ | ||
44 | #include <sstream> | ||
45 | #include <vector> | ||
46 | #include <iomanip> | ||
47 | +#include <cstdint> | ||
48 | |||
49 | std::deque<Token> toReversePolish(std::deque<Token>& tokens); | ||
50 | std::string parseString(std::deque<Token>& tokens); | ||
51 | -- | ||
52 | 2.34.1 | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.1.bb new file mode 100644 index 00000000..7ef1d5fd --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.1.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | SUMMARY = "Linux kernel module for Video Code Unit" | ||
2 | DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices" | ||
3 | SECTION = "kernel/modules" | ||
4 | LICENSE = "GPL-2.0-only" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" | ||
6 | |||
7 | XILINX_VCU_VERSION = "1.0.0" | ||
8 | PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
9 | |||
10 | S = "${WORKDIR}/git" | ||
11 | |||
12 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" | ||
13 | |||
14 | BRANCH = "xlnx_rel_v2022.1" | ||
15 | REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https" | ||
16 | SRCREV = "9d2657550eccebccce08cacfcdd369367b9f6be4" | ||
17 | |||
18 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
19 | SRC_URI = " \ | ||
20 | ${REPO};${BRANCHARG} \ | ||
21 | file://99-vcu-enc-dec.rules \ | ||
22 | " | ||
23 | |||
24 | inherit module features_check | ||
25 | |||
26 | REQUIRED_MACHINE_FEATURES = "vcu" | ||
27 | |||
28 | EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" | ||
29 | |||
30 | RDEPENDS:${PN} = "vcu-firmware" | ||
31 | |||
32 | KERNEL_MODULE_AUTOLOAD += "dmaproxy" | ||
33 | |||
34 | do_install:append() { | ||
35 | install -d ${D}${sysconfdir}/udev/rules.d | ||
36 | install -m 0644 ${WORKDIR}/99-vcu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/ | ||
37 | } | ||
38 | |||
39 | FILES:${PN} = "${sysconfdir}/udev/rules.d/*" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.2.bb new file mode 100644 index 00000000..b1c96d3c --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.2.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | SUMMARY = "Linux kernel module for Video Code Unit" | ||
2 | DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices" | ||
3 | SECTION = "kernel/modules" | ||
4 | LICENSE = "GPL-2.0-only" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" | ||
6 | |||
7 | XILINX_VCU_VERSION = "1.0.0" | ||
8 | PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
9 | |||
10 | S = "${WORKDIR}/git" | ||
11 | |||
12 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" | ||
13 | |||
14 | BRANCH = "xlnx_rel_v2022.2" | ||
15 | REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https" | ||
16 | SRCREV = "b131e220285e06658b6ab27f9e19b1c592a55f3a" | ||
17 | |||
18 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
19 | SRC_URI = " \ | ||
20 | ${REPO};${BRANCHARG} \ | ||
21 | file://99-vcu-enc-dec.rules \ | ||
22 | " | ||
23 | |||
24 | inherit module features_check | ||
25 | |||
26 | REQUIRED_MACHINE_FEATURES = "vcu" | ||
27 | |||
28 | EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" | ||
29 | |||
30 | RDEPENDS:${PN} = "vcu-firmware" | ||
31 | |||
32 | KERNEL_MODULE_AUTOLOAD += "dmaproxy" | ||
33 | |||
34 | do_install:append() { | ||
35 | install -d ${D}${sysconfdir}/udev/rules.d | ||
36 | install -m 0644 ${WORKDIR}/99-vcu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/ | ||
37 | } | ||
38 | |||
39 | FILES:${PN} = "${sysconfdir}/udev/rules.d/*" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.1.bb new file mode 100644 index 00000000..47c521c4 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.1.bb | |||
@@ -0,0 +1,51 @@ | |||
1 | SUMMARY = "OpenMAX Integration layer for VCU" | ||
2 | DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU" | ||
3 | LICENSE = "Proprietary" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493" | ||
5 | |||
6 | XILINX_VCU_VERSION = "1.0.0" | ||
7 | PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
8 | |||
9 | BRANCH ?= "xlnx_rel_v2022.1" | ||
10 | REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" | ||
11 | SRCREV = "b3308c608be7ed9250b9c6732f6e0a02b1a2e985" | ||
12 | |||
13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
14 | SRC_URI = "${REPO};${BRANCHARG}" | ||
15 | |||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit features_check | ||
19 | |||
20 | REQUIRED_MACHINE_FEATURES = "vcu" | ||
21 | |||
22 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
23 | |||
24 | DEPENDS = "libvcu-xlnx" | ||
25 | RDEPENDS:${PN} = "kernel-module-vcu libvcu-xlnx" | ||
26 | |||
27 | EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include" | ||
28 | |||
29 | EXTRA_OEMAKE = " \ | ||
30 | CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \ | ||
31 | EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \ | ||
32 | " | ||
33 | |||
34 | do_install() { | ||
35 | install -d ${D}${libdir} | ||
36 | install -d ${D}${includedir}/vcu-omx-il | ||
37 | |||
38 | install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il | ||
39 | |||
40 | install -Dm 0755 ${S}/bin/omx_decoder ${D}/${bindir}/omx_decoder | ||
41 | install -Dm 0755 ${S}/bin/omx_encoder ${D}/${bindir}/omx_encoder | ||
42 | |||
43 | oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/ | ||
44 | oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/ | ||
45 | oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/ | ||
46 | } | ||
47 | |||
48 | # These libraries shouldn't get installed in world builds unless something | ||
49 | # explicitly depends upon them. | ||
50 | |||
51 | EXCLUDE_FROM_WORLD = "1" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.2.bb new file mode 100644 index 00000000..c5b956bc --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.2.bb | |||
@@ -0,0 +1,50 @@ | |||
1 | SUMMARY = "OpenMAX Integration layer for VCU" | ||
2 | DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU" | ||
3 | LICENSE = "Proprietary" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493" | ||
5 | |||
6 | XILINX_VCU_VERSION = "1.0.0" | ||
7 | PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
8 | |||
9 | BRANCH ?= "xlnx_rel_v2022.2" | ||
10 | REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" | ||
11 | SRCREV = "6752f5da88a8783f689ae762065295b89902d6d4" | ||
12 | |||
13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
14 | SRC_URI = "${REPO};${BRANCHARG}" | ||
15 | |||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | COMPATIBLE_MACHINE = "^$" | ||
19 | COMPATIBLE_MACHINE:zynqmp = "zynqmp" | ||
20 | |||
21 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
22 | |||
23 | DEPENDS = "libvcu-xlnx" | ||
24 | RDEPENDS:${PN} = "kernel-module-vcu libvcu-xlnx" | ||
25 | |||
26 | EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include" | ||
27 | |||
28 | EXTRA_OEMAKE = " \ | ||
29 | CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \ | ||
30 | EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \ | ||
31 | " | ||
32 | |||
33 | do_install() { | ||
34 | install -d ${D}${libdir} | ||
35 | install -d ${D}${includedir}/vcu-omx-il | ||
36 | |||
37 | install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il | ||
38 | |||
39 | install -Dm 0755 ${S}/bin/omx_decoder ${D}/${bindir}/omx_decoder | ||
40 | install -Dm 0755 ${S}/bin/omx_encoder ${D}/${bindir}/omx_encoder | ||
41 | |||
42 | oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/ | ||
43 | oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/ | ||
44 | oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/ | ||
45 | } | ||
46 | |||
47 | # These libraries shouldn't get installed in world builds unless something | ||
48 | # explicitly depends upon them. | ||
49 | |||
50 | EXCLUDE_FROM_WORLD = "1" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb index 3c258008..75a05fed 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb | |||
@@ -13,6 +13,8 @@ SRCREV = "4773b372b72b88ccbabc122b023f042fb22a019e" | |||
13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | 13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" |
14 | SRC_URI = "${REPO};${BRANCHARG}" | 14 | SRC_URI = "${REPO};${BRANCHARG}" |
15 | 15 | ||
16 | SRC_URI += "file://0001-Current-gcc-requires-cstdint-for-C-types.patch" | ||
17 | |||
16 | S = "${WORKDIR}/git" | 18 | S = "${WORKDIR}/git" |
17 | 19 | ||
18 | inherit features_check | 20 | inherit features_check |
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb index 2c77e2b4..0c215605 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb | |||
@@ -13,6 +13,8 @@ SRCREV = "3a04b5adc661a0eced626c1373dbbfe699ae6fe0" | |||
13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | 13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" |
14 | SRC_URI = "${REPO};${BRANCHARG}" | 14 | SRC_URI = "${REPO};${BRANCHARG}" |
15 | 15 | ||
16 | SRC_URI += "file://0001-Current-gcc-requires-cstdint-for-C-types.patch" | ||
17 | |||
16 | S = "${WORKDIR}/git" | 18 | S = "${WORKDIR}/git" |
17 | 19 | ||
18 | inherit features_check | 20 | inherit features_check |
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.1.bb new file mode 100644 index 00000000..71e6e572 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.1.bb | |||
@@ -0,0 +1,46 @@ | |||
1 | SUMMARY = "Control Software for VCU" | ||
2 | DESCRIPTION = "Control software libraries, test applications and headers provider for VCU" | ||
3 | LICENSE = "Proprietary" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493" | ||
5 | |||
6 | XILINX_VCU_VERSION = "1.0.0" | ||
7 | PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
8 | |||
9 | BRANCH ?= "xlnx_rel_v2022.1" | ||
10 | REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" | ||
11 | SRCREV = "5bf158af204b181f00ac009c8745557642ecfe5f" | ||
12 | |||
13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
14 | SRC_URI = "${REPO};${BRANCHARG}" | ||
15 | |||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit features_check | ||
19 | |||
20 | REQUIRED_MACHINE_FEATURES = "vcu" | ||
21 | |||
22 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
23 | |||
24 | RDEPENDS:${PN} = "kernel-module-vcu" | ||
25 | |||
26 | EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" | ||
27 | |||
28 | do_install() { | ||
29 | install -d ${D}${libdir} | ||
30 | install -d ${D}${includedir}/vcu-ctrl-sw/include | ||
31 | |||
32 | install -Dm 0755 ${S}/bin/ctrlsw_encoder ${D}/${bindir}/ctrlsw_encoder | ||
33 | install -Dm 0755 ${S}/bin/ctrlsw_decoder ${D}/${bindir}/ctrlsw_decoder | ||
34 | |||
35 | oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include | ||
36 | oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/ | ||
37 | oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/ | ||
38 | } | ||
39 | |||
40 | # These libraries shouldn't get installed in world builds unless something | ||
41 | # explicitly depends upon them. | ||
42 | |||
43 | EXCLUDE_FROM_WORLD = "1" | ||
44 | |||
45 | # Disable buildpaths QA check warnings. | ||
46 | INSANE_SKIP:${PN} += "buildpaths" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.2.bb new file mode 100644 index 00000000..130d79bc --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.2.bb | |||
@@ -0,0 +1,46 @@ | |||
1 | SUMMARY = "Control Software for VCU" | ||
2 | DESCRIPTION = "Control software libraries, test applications and headers provider for VCU" | ||
3 | LICENSE = "Proprietary" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493" | ||
5 | |||
6 | XILINX_VCU_VERSION = "1.0.0" | ||
7 | PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
8 | |||
9 | BRANCH ?= "xlnx_rel_v2022.2" | ||
10 | REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" | ||
11 | SRCREV = "3c59dede1923a159a8db736ce0b4ab55633a2114" | ||
12 | |||
13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
14 | SRC_URI = "${REPO};${BRANCHARG}" | ||
15 | |||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit features_check | ||
19 | |||
20 | REQUIRED_MACHINE_FEATURES = "vcu" | ||
21 | |||
22 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
23 | |||
24 | RDEPENDS:${PN} = "kernel-module-vcu" | ||
25 | |||
26 | EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" | ||
27 | |||
28 | do_install() { | ||
29 | install -d ${D}${libdir} | ||
30 | install -d ${D}${includedir}/vcu-ctrl-sw/include | ||
31 | |||
32 | install -Dm 0755 ${S}/bin/ctrlsw_encoder ${D}/${bindir}/ctrlsw_encoder | ||
33 | install -Dm 0755 ${S}/bin/ctrlsw_decoder ${D}/${bindir}/ctrlsw_decoder | ||
34 | |||
35 | oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include | ||
36 | oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/ | ||
37 | oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/ | ||
38 | } | ||
39 | |||
40 | # These libraries shouldn't get installed in world builds unless something | ||
41 | # explicitly depends upon them. | ||
42 | |||
43 | EXCLUDE_FROM_WORLD = "1" | ||
44 | |||
45 | # Disable buildpaths QA check warnings. | ||
46 | INSANE_SKIP:${PN} += "buildpaths" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb index 7dc97d72..53a03f45 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb | |||
@@ -13,6 +13,8 @@ SRCREV = "83aabb84c26667f7d6aee632654c63e504838061" | |||
13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | 13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" |
14 | SRC_URI = "${REPO};${BRANCHARG}" | 14 | SRC_URI = "${REPO};${BRANCHARG}" |
15 | 15 | ||
16 | SRC_URI += "file://0001-Support-updated-gcc-add-cstdint-where-necessary.patch" | ||
17 | |||
16 | S = "${WORKDIR}/git" | 18 | S = "${WORKDIR}/git" |
17 | 19 | ||
18 | inherit features_check | 20 | inherit features_check |
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb index e6d38a4a..a2c7d98c 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb | |||
@@ -13,6 +13,8 @@ SRCREV = "84b0856cad7844d69f57ac4d9447c20930875475" | |||
13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | 13 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" |
14 | SRC_URI = "${REPO};${BRANCHARG}" | 14 | SRC_URI = "${REPO};${BRANCHARG}" |
15 | 15 | ||
16 | SRC_URI += "file://0001-Support-updated-gcc-add-cstdint-where-necessary.patch" | ||
17 | |||
16 | S = "${WORKDIR}/git" | 18 | S = "${WORKDIR}/git" |
17 | 19 | ||
18 | inherit features_check | 20 | inherit features_check |
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.1.bb new file mode 100644 index 00000000..c5c2b045 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.1.bb | |||
@@ -0,0 +1,40 @@ | |||
1 | SUMMARY = "Firmware for VCU" | ||
2 | DESCRIPTION = "Firmware binaries provider for VCU" | ||
3 | LICENSE = "Proprietary" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=63b45903a9a50120df488435f03cf498" | ||
5 | |||
6 | XILINX_VCU_VERSION = "1.0.0" | ||
7 | PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
8 | |||
9 | S = "${WORKDIR}/git" | ||
10 | |||
11 | BRANCH ?= "xlnx_rel_v2022.1" | ||
12 | REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" | ||
13 | SRCREV = "569f980527fd58f43baf16bd0b294bf8c7cdf963" | ||
14 | |||
15 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
16 | SRC_URI = "${REPO};${BRANCHARG}" | ||
17 | |||
18 | inherit features_check | ||
19 | |||
20 | REQUIRED_MACHINE_FEATURES = "vcu" | ||
21 | |||
22 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
23 | |||
24 | do_install() { | ||
25 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw | ||
26 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw | ||
27 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw | ||
28 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw | ||
29 | } | ||
30 | |||
31 | # Inhibit warnings about files being stripped | ||
32 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
33 | INHIBIT_PACKAGE_STRIP = "1" | ||
34 | FILES:${PN} = "/lib/firmware/*" | ||
35 | |||
36 | # These libraries shouldn't get installed in world builds unless something | ||
37 | # explicitly depends upon them. | ||
38 | EXCLUDE_FROM_WORLD = "1" | ||
39 | |||
40 | INSANE_SKIP:${PN} = "ldflags" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.2.bb new file mode 100644 index 00000000..594a94c3 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.2.bb | |||
@@ -0,0 +1,40 @@ | |||
1 | SUMMARY = "Firmware for VCU" | ||
2 | DESCRIPTION = "Firmware binaries provider for VCU" | ||
3 | LICENSE = "Proprietary" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=63b45903a9a50120df488435f03cf498" | ||
5 | |||
6 | XILINX_VCU_VERSION = "1.0.0" | ||
7 | PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" | ||
8 | |||
9 | S = "${WORKDIR}/git" | ||
10 | |||
11 | BRANCH ?= "xlnx_rel_v2022.2" | ||
12 | REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" | ||
13 | SRCREV = "3980c778d71fa51a15e89bf70fd8fb28d5cb12e0" | ||
14 | |||
15 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
16 | SRC_URI = "${REPO};${BRANCHARG}" | ||
17 | |||
18 | inherit features_check | ||
19 | |||
20 | REQUIRED_MACHINE_FEATURES = "vcu" | ||
21 | |||
22 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
23 | |||
24 | do_install() { | ||
25 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw | ||
26 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw | ||
27 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw | ||
28 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw | ||
29 | } | ||
30 | |||
31 | # Inhibit warnings about files being stripped | ||
32 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
33 | INHIBIT_PACKAGE_STRIP = "1" | ||
34 | FILES:${PN} = "/lib/firmware/*" | ||
35 | |||
36 | # These libraries shouldn't get installed in world builds unless something | ||
37 | # explicitly depends upon them. | ||
38 | EXCLUDE_FROM_WORLD = "1" | ||
39 | |||
40 | INSANE_SKIP:${PN} = "ldflags" | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb index 50e7926d..a90d307f 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb | |||
@@ -20,16 +20,16 @@ inherit features_check | |||
20 | REQUIRED_MACHINE_FEATURES = "vcu" | 20 | REQUIRED_MACHINE_FEATURES = "vcu" |
21 | 21 | ||
22 | do_install() { | 22 | do_install() { |
23 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw | 23 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}${nonarch_base_libdir}/firmware/al5d_b.fw |
24 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw | 24 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}${nonarch_base_libdir}/firmware/al5d.fw |
25 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw | 25 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}${nonarch_base_libdir}/firmware/al5e_b.fw |
26 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw | 26 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}${nonarch_base_libdir}/firmware/al5e.fw |
27 | } | 27 | } |
28 | 28 | ||
29 | # Inhibit warnings about files being stripped | 29 | # Inhibit warnings about files being stripped |
30 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | 30 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" |
31 | INHIBIT_PACKAGE_STRIP = "1" | 31 | INHIBIT_PACKAGE_STRIP = "1" |
32 | FILES:${PN} = "/lib/firmware/*" | 32 | FILES:${PN} = "${nonarch_base_libdir}/firmware/*" |
33 | 33 | ||
34 | # These libraries shouldn't get installed in world builds unless something | 34 | # These libraries shouldn't get installed in world builds unless something |
35 | # explicitly depends upon them. | 35 | # explicitly depends upon them. |
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb index b4cb66df..73fc2201 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb | |||
@@ -20,16 +20,16 @@ inherit features_check | |||
20 | REQUIRED_MACHINE_FEATURES = "vcu" | 20 | REQUIRED_MACHINE_FEATURES = "vcu" |
21 | 21 | ||
22 | do_install() { | 22 | do_install() { |
23 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw | 23 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}${nonarch_base_libdir}/firmware/al5d_b.fw |
24 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw | 24 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}${nonarch_base_libdir}/firmware/al5d.fw |
25 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw | 25 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}${nonarch_base_libdir}/firmware/al5e_b.fw |
26 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw | 26 | install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}${nonarch_base_libdir}/firmware/al5e.fw |
27 | } | 27 | } |
28 | 28 | ||
29 | # Inhibit warnings about files being stripped | 29 | # Inhibit warnings about files being stripped |
30 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | 30 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" |
31 | INHIBIT_PACKAGE_STRIP = "1" | 31 | INHIBIT_PACKAGE_STRIP = "1" |
32 | FILES:${PN} = "/lib/firmware/*" | 32 | FILES:${PN} = "${nonarch_base_libdir}/firmware/*" |
33 | 33 | ||
34 | # These libraries shouldn't get installed in world builds unless something | 34 | # These libraries shouldn't get installed in world builds unless something |
35 | # explicitly depends upon them. | 35 | # explicitly depends upon them. |
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/files/0001-include-libapp-Parser.h-Add-cstdint.patch b/meta-xilinx-core/recipes-multimedia/vdu/files/0001-include-libapp-Parser.h-Add-cstdint.patch new file mode 100644 index 00000000..04d59c60 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vdu/files/0001-include-libapp-Parser.h-Add-cstdint.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | From 79eddc5c5474c9b61bf6b2e648eba8bca61469b9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mark Hatle <mark.hatle@amd.com> | ||
3 | Date: Thu, 25 Jan 2024 12:30:24 -0700 | ||
4 | Subject: [PATCH] include/libapp/Parser.h: Add cstdint | ||
5 | |||
6 | Resolves usages of unit32_t being undefined | ||
7 | |||
8 | Signed-off-by: Mark Hatle <mark.hatle@amd.com> | ||
9 | --- | ||
10 | include/lib_app/Parser.h | 1 + | ||
11 | 1 file changed, 1 insertion(+) | ||
12 | |||
13 | diff --git a/include/lib_app/Parser.h b/include/lib_app/Parser.h | ||
14 | index 976a835..6fa63ce 100644 | ||
15 | --- a/include/lib_app/Parser.h | ||
16 | +++ b/include/lib_app/Parser.h | ||
17 | @@ -35,6 +35,7 @@ | ||
18 | #include <sstream> | ||
19 | #include <vector> | ||
20 | #include <iomanip> | ||
21 | +#include <cstdint> | ||
22 | |||
23 | std::deque<Token> toReversePolish(std::deque<Token>& tokens); | ||
24 | std::string parseString(std::deque<Token>& tokens); | ||
25 | -- | ||
26 | 2.34.1 | ||
27 | |||
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/files/0001-libvdu-omxil-Fix-missing-definitions.patch b/meta-xilinx-core/recipes-multimedia/vdu/files/0001-libvdu-omxil-Fix-missing-definitions.patch new file mode 100644 index 00000000..db23ed00 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vdu/files/0001-libvdu-omxil-Fix-missing-definitions.patch | |||
@@ -0,0 +1,54 @@ | |||
1 | From 7fc63cdd6642ea84b78db62fccafc460af0ff23e Mon Sep 17 00:00:00 2001 | ||
2 | From: Mark Hatle <mark.hatle@amd.com> | ||
3 | Date: Thu, 25 Jan 2024 12:50:18 -0700 | ||
4 | Subject: [PATCH] Fix missing definitions | ||
5 | |||
6 | Fix issues such as: | ||
7 | | module/module_structs.h:370:3: error: 'uint8_t' does not name a type | ||
8 | | 370 | uint8_t distributionMaxrgbPercentages[MAX_MAXRGB_PERCENTILES_ST2094_40]; | ||
9 | | | ^~~~~~~ | ||
10 | | module/module_structs.h:370:3: note: 'uint8_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'? | ||
11 | | module/module_structs.h:371:3: error: 'uint32_t' does not name a type | ||
12 | | 371 | uint32_t distributionMaxrgbPercentiles[MAX_MAXRGB_PERCENTILES_ST2094_40]; | ||
13 | | | ^~~~~~~~ | ||
14 | | module/module_structs.h:371:3: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'? | ||
15 | |||
16 | and | ||
17 | |||
18 | | ./utility/processor_fifo.h:80:15: error: field 'name_' has incomplete type 'std::string' {aka 'std::__cxx11::basic_string<char>'} | ||
19 | | 80 | std::string name_; | ||
20 | | | ^~~~~ | ||
21 | |||
22 | Signed-off-by: Mark Hatle <mark.hatle@amd.com> | ||
23 | --- | ||
24 | module/module_structs.h | 1 + | ||
25 | utility/processor_fifo.h | 1 + | ||
26 | 2 files changed, 2 insertions(+) | ||
27 | |||
28 | diff --git a/module/module_structs.h b/module/module_structs.h | ||
29 | index 75bdff6..594076f 100644 | ||
30 | --- a/module/module_structs.h | ||
31 | +++ b/module/module_structs.h | ||
32 | @@ -27,6 +27,7 @@ | ||
33 | #include "module_enums.h" | ||
34 | #include <string> | ||
35 | #include <vector> | ||
36 | +#include <cstdint> | ||
37 | |||
38 | template<typename T> | ||
39 | struct InputOutput | ||
40 | diff --git a/utility/processor_fifo.h b/utility/processor_fifo.h | ||
41 | index e0dd47c..f047267 100644 | ||
42 | --- a/utility/processor_fifo.h | ||
43 | +++ b/utility/processor_fifo.h | ||
44 | @@ -27,6 +27,7 @@ | ||
45 | #include <utility/locked_queue.h> | ||
46 | #include <thread> | ||
47 | #include <functional> | ||
48 | +#include <string> | ||
49 | |||
50 | #if defined __linux__ | ||
51 | #include <sys/prctl.h> | ||
52 | -- | ||
53 | 2.34.1 | ||
54 | |||
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb index 602dc2fc..f9228678 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb | |||
@@ -16,7 +16,9 @@ REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" | |||
16 | SRCREV ?= "06fc18b303b40d4fee7549ad162c22ee1bc31582" | 16 | SRCREV ?= "06fc18b303b40d4fee7549ad162c22ee1bc31582" |
17 | 17 | ||
18 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | 18 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" |
19 | SRC_URI = "${REPO};${BRANCHARG}" | 19 | SRC_URI = "${REPO};${BRANCHARG} \ |
20 | file://0001-include-libapp-Parser.h-Add-cstdint.patch \ | ||
21 | " | ||
20 | 22 | ||
21 | S = "${WORKDIR}/git" | 23 | S = "${WORKDIR}/git" |
22 | 24 | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb index 2b9af94f..f8b36a93 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb | |||
@@ -16,7 +16,9 @@ REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" | |||
16 | SRCREV ?= "1beb8f247d01b1a728faea36ce8f7847c895482f" | 16 | SRCREV ?= "1beb8f247d01b1a728faea36ce8f7847c895482f" |
17 | 17 | ||
18 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | 18 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" |
19 | SRC_URI = "${REPO};${BRANCHARG}" | 19 | SRC_URI = "${REPO};${BRANCHARG} \ |
20 | file://0001-include-libapp-Parser.h-Add-cstdint.patch \ | ||
21 | " | ||
20 | 22 | ||
21 | S = "${WORKDIR}/git" | 23 | S = "${WORKDIR}/git" |
22 | 24 | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb index b4fc482e..b3c02ca2 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb | |||
@@ -13,6 +13,7 @@ SRCREV ?= "811eefac953fd5e098c69cada97a0dd35f5e9015" | |||
13 | 13 | ||
14 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | 14 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" |
15 | SRC_URI = "${REPO};${BRANCHARG} \ | 15 | SRC_URI = "${REPO};${BRANCHARG} \ |
16 | file://0001-libvdu-omxil-Fix-missing-definitions.patch \ | ||
16 | " | 17 | " |
17 | S = "${WORKDIR}/git" | 18 | S = "${WORKDIR}/git" |
18 | 19 | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb index f6f159d2..04860b79 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb | |||
@@ -13,6 +13,7 @@ SRCREV ?= "811eefac953fd5e098c69cada97a0dd35f5e9015" | |||
13 | 13 | ||
14 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | 14 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" |
15 | SRC_URI = "${REPO};${BRANCHARG} \ | 15 | SRC_URI = "${REPO};${BRANCHARG} \ |
16 | file://0001-libvdu-omxil-Fix-missing-definitions.patch \ | ||
16 | " | 17 | " |
17 | S = "${WORKDIR}/git" | 18 | S = "${WORKDIR}/git" |
18 | 19 | ||
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb index 8cc2cce1..419dd681 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb | |||
@@ -25,7 +25,7 @@ COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" | |||
25 | COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" | 25 | COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" |
26 | 26 | ||
27 | PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" | 27 | PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" |
28 | EXTRA_OEMAKE +="INSTALL_PATH=${D}/lib/firmware" | 28 | EXTRA_OEMAKE +="INSTALL_PATH=${D}/${nonarch_base_libdir}/firmware" |
29 | 29 | ||
30 | do_compile[noexec] = "1" | 30 | do_compile[noexec] = "1" |
31 | do_install[dirs] = "${S}" | 31 | do_install[dirs] = "${S}" |
@@ -33,8 +33,7 @@ do_install[dirs] = "${S}" | |||
33 | # Inhibit warnings about files being stripped | 33 | # Inhibit warnings about files being stripped |
34 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | 34 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" |
35 | INHIBIT_PACKAGE_STRIP = "1" | 35 | INHIBIT_PACKAGE_STRIP = "1" |
36 | FILES:${PN} = "/lib/firmware/*" | 36 | FILES:${PN} = "${nonarch_base_libdir}/firmware/*" |
37 | |||
38 | 37 | ||
39 | # These libraries shouldn't get installed in world builds unless something | 38 | # These libraries shouldn't get installed in world builds unless something |
40 | # explicitly depends upon them. | 39 | # explicitly depends upon them. |
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb index e9ef222b..ade73a4e 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb | |||
@@ -25,7 +25,7 @@ COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" | |||
25 | COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" | 25 | COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" |
26 | 26 | ||
27 | PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" | 27 | PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" |
28 | EXTRA_OEMAKE +="INSTALL_PATH=${D}/lib/firmware" | 28 | EXTRA_OEMAKE +="INSTALL_PATH=${D}/${nonarch_base_libdir}/firmware" |
29 | 29 | ||
30 | do_compile[noexec] = "1" | 30 | do_compile[noexec] = "1" |
31 | do_install[dirs] = "${S}" | 31 | do_install[dirs] = "${S}" |
@@ -33,8 +33,7 @@ do_install[dirs] = "${S}" | |||
33 | # Inhibit warnings about files being stripped | 33 | # Inhibit warnings about files being stripped |
34 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | 34 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" |
35 | INHIBIT_PACKAGE_STRIP = "1" | 35 | INHIBIT_PACKAGE_STRIP = "1" |
36 | FILES:${PN} = "/lib/firmware/*" | 36 | FILES:${PN} = "${nonarch_base_libdir}/firmware/*" |
37 | |||
38 | 37 | ||
39 | # These libraries shouldn't get installed in world builds unless something | 38 | # These libraries shouldn't get installed in world builds unless something |
40 | # explicitly depends upon them. | 39 | # explicitly depends upon them. |
diff --git a/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch b/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch new file mode 100644 index 00000000..67ca68c6 --- /dev/null +++ b/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch | |||
@@ -0,0 +1,117 @@ | |||
1 | Add cstdint as necessary | ||
2 | |||
3 | In GCC 13.1 usage of uint64 and similar will result in an error without | ||
4 | #include <cstdint> | ||
5 | |||
6 | Signed-off-by: Mark Hatle <mark.hatle@amd.com> | ||
7 | |||
8 | diff --git a/src/runtime_src/core/common/time.h b/src/runtime_src/core/common/time.h | ||
9 | index a4a96b11d..585d38756 100644 | ||
10 | --- a/src/runtime_src/core/common/time.h | ||
11 | +++ b/src/runtime_src/core/common/time.h | ||
12 | @@ -19,6 +19,7 @@ | ||
13 | |||
14 | #include "core/common/config.h" | ||
15 | #include <string> | ||
16 | +#include <cstdint> | ||
17 | |||
18 | namespace xrt_core { | ||
19 | |||
20 | diff --git a/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h b/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h | ||
21 | index 196304765..36ce35e80 | ||
22 | --- a/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h | ||
23 | +++ b/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h | ||
24 | @@ -18,6 +18,7 @@ | ||
25 | |||
26 | #include <string> | ||
27 | #include <vector> | ||
28 | +#include <cstdint> | ||
29 | |||
30 | namespace adf | ||
31 | { | ||
32 | diff --git a/src/runtime_src/core/edge/user/zynq_dev.h b/src/runtime_src/core/edge/user/zynq_dev.h | ||
33 | index 6fe36c615..2abd7473b 100644 | ||
34 | --- a/src/runtime_src/core/edge/user/zynq_dev.h | ||
35 | +++ b/src/runtime_src/core/edge/user/zynq_dev.h | ||
36 | @@ -19,6 +19,7 @@ | ||
37 | #include <fstream> | ||
38 | #include <string> | ||
39 | #include <vector> | ||
40 | +#include <cstdint> | ||
41 | |||
42 | class zynq_device { | ||
43 | public: | ||
44 | diff --git a/src/runtime_src/tools/xclbinutil/CBOR.h b/src/runtime_src/tools/xclbinutil/CBOR.h | ||
45 | index 368459f59..acbf6ebae 100644 | ||
46 | --- a/src/runtime_src/tools/xclbinutil/CBOR.h | ||
47 | +++ b/src/runtime_src/tools/xclbinutil/CBOR.h | ||
48 | @@ -22,6 +22,7 @@ | ||
49 | // #includes here - please keep these to a bare minimum! | ||
50 | #include <string> | ||
51 | #include <sstream> | ||
52 | +#include <cstdint> | ||
53 | |||
54 | // ------------ F O R W A R D - D E C L A R A T I O N S ---------------------- | ||
55 | // Forward declarations - use these instead whenever possible... | ||
56 | diff --git a/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h b/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h | ||
57 | index 361015962..1c3bca18d 100644 | ||
58 | --- a/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h | ||
59 | +++ b/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h | ||
60 | @@ -19,6 +19,7 @@ | ||
61 | |||
62 | // ----------------------- I N C L U D E S ----------------------------------- | ||
63 | #include <sstream> | ||
64 | +#include <cstdint> | ||
65 | #include <string> | ||
66 | |||
67 | // ----------- C L A S S : D T C S t r i n g s B l o c k ------------------- | ||
68 | diff --git a/src/runtime_src/tools/xclbinutil/XclBinSignature.h b/src/runtime_src/tools/xclbinutil/XclBinSignature.h | ||
69 | index b19ab56a4..f1b72d4d2 100644 | ||
70 | --- a/src/runtime_src/tools/xclbinutil/XclBinSignature.h | ||
71 | +++ b/src/runtime_src/tools/xclbinutil/XclBinSignature.h | ||
72 | @@ -18,6 +18,7 @@ | ||
73 | #define __XclBinSignature_h_ | ||
74 | |||
75 | #include <string> | ||
76 | +#include <cstdint> | ||
77 | |||
78 | // ----------------------- I N C L U D E S ----------------------------------- | ||
79 | |||
80 | diff --git a/src/runtime_src/xdp/profile/database/events/vtf_event.h b/src/runtime_src/xdp/profile/database/events/vtf_event.h | ||
81 | index f8d0121db..b5f36554c 100644 | ||
82 | --- a/src/runtime_src/xdp/profile/database/events/vtf_event.h | ||
83 | +++ b/src/runtime_src/xdp/profile/database/events/vtf_event.h | ||
84 | @@ -19,6 +19,7 @@ | ||
85 | #define VTF_EVENT_DOT_H | ||
86 | |||
87 | #include <fstream> | ||
88 | +#include <cstdint> | ||
89 | |||
90 | #include "xdp/config.h" | ||
91 | |||
92 | diff --git a/src/runtime_src/xdp/profile/device/aie_trace/aie_trace_logger.h b/src/runtime_src/xdp/profile/device/aie_trace/aie_trace_logger.h | ||
93 | index 98c57de2e..6077bd247 100644 | ||
94 | --- a/src/runtime_src/xdp/profile/device/aie_trace/aie_trace_logger.h | ||
95 | +++ b/src/runtime_src/xdp/profile/device/aie_trace/aie_trace_logger.h | ||
96 | @@ -17,7 +17,8 @@ | ||
97 | #ifndef XDP_PROFILE_AIE_TRACE_LOGGER_H | ||
98 | #define XDP_PROFILE_AIE_TRACE_LOGGER_H | ||
99 | |||
100 | -#include<iostream> | ||
101 | +#include <iostream> | ||
102 | +#include <cstdint> | ||
103 | |||
104 | namespace xdp { | ||
105 | |||
106 | diff --git a/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h b/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h | ||
107 | index a88597464..f392ec0e6 100644 | ||
108 | --- a/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h | ||
109 | +++ b/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h | ||
110 | @@ -19,6 +19,7 @@ | ||
111 | |||
112 | #include <fstream> | ||
113 | #include <string> | ||
114 | +#include <cstdint> | ||
115 | |||
116 | #include "xdp/config.h" | ||
117 | |||
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb index f4e7b5de..ef3c7172 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb | |||
@@ -3,6 +3,8 @@ DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" | |||
3 | 3 | ||
4 | require xrt.inc | 4 | require xrt.inc |
5 | 5 | ||
6 | SRC_URI += "file://xrt-cstdint.patch;striplevel=2" | ||
7 | |||
6 | LICENSE = "GPL-2.0-or-later & Apache-2.0 & MIT" | 8 | LICENSE = "GPL-2.0-or-later & Apache-2.0 & MIT" |
7 | LIC_FILES_CHKSUM = "file://../LICENSE;md5=de2c993ac479f02575bcbfb14ef9b485 \ | 9 | LIC_FILES_CHKSUM = "file://../LICENSE;md5=de2c993ac479f02575bcbfb14ef9b485 \ |
8 | file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \ | 10 | file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \ |