This patch fixes build failures of the virtio_trans driver (Cortex-A9, 32-bit ARM)
when building a PREEMPT_RT-enabled kernel. The errors were caused by
unresolved 64-bit division symbols (__aeabi_uldivmod / __aeabi_ldivmod)
generated when the driver was compiled as a module.
Changes included:
* virtio_trans.c:
- Replace 64-bit modulus operations (`idx % vt->{tx,rx}_vring_size`) with
kernel-safe 64-bit division macros using `div_u64_rem()`.
This prevents implicit calls to non-exported ARM EABI helpers that are not
available to kernel modules on 32-bit ARM.
* fragment-nxp-rt.config:
- Enable the mailbox framework (`CONFIG_MAILBOX=y`) required by virtio
mailbox-based transports.
- Build the virtio transport driver into the kernel (`CONFIG_VIRTIO_TRANS=y`)
instead of as a module, ensuring proper symbol resolution
during link time. Without this a license error is shown when building
the kernel in yocto.
https://onedigi.atlassian.net/browse/DEL-9783
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
|
||
|---|---|---|
| .. | ||
| classes | ||
| conf | ||
| custom-licenses | ||
| dynamic-layers | ||
| recipes-bsp | ||
| recipes-connectivity/nxp-wlan-sdk | ||
| recipes-core | ||
| recipes-digi | ||
| recipes-kernel | ||
| wic | ||
| DIGI_EULA | ||
| DIGI_OPEN_EULA | ||
| README | ||
README
OpenEmbedded/Yocto BSP layer for Digi's ConnectCore platforms ============================================================= This layer provides support for Digi's ConnnecCore platforms for use with OpenEmbedded and/or Yocto. This layer depends on: git://git.yoctoproject.org/poky.git git://git.openembedded.org/meta-openembedded.git git://git.yoctoproject.org/meta-freescale.git Digi's license agreements ------------------------- All software is covered by Digi's general EULA and Digi's Open Source EULA. To have the right to use the software in your images you need to read and accept both EULAs at the DIGI_EULA and DIGI_OPEN_EULA files. NXP Semiconductors' software license agreement ---------------------------------------------- Some platforms depends on libraries and packages that are covered by NXP Semiconductors' EULA. To have the right to use those binaries in your images you need to read and accept the EULA file in meta-freescale Yocto layer. Support ------- This layer is provided 'as is' with no guarantee. However, some support may be available from tech.support@digi.com