PYNQ: PYTHON PRODUCTIVITY

Unable to allocate more than 4KB of Contiguous Memory. ZCU111

Hi,
I’m developing an application using ZCU111 and PYNQ 2.6.0 image. I need to be able of allocate a Contiguous Memory Array in order to send data to an AXI DMA Controller Vivado IP. To achieve that I downloaded the PYNQ image from the official repository and then I followed the tutorial provided here (PS/PL Interfaces — Python productivity for Zynq (Pynq) v1.0) to send data from PS to PL and everything was fine.

When I try to allocate more than 4KB through the following command
input_buffer = xlnk.cma_array(shape(LENGTH,), dtype=np.uint32) where LENGTH is a number greater than 1000 I get an error and PYNQ crashes.

I found out that the error could be because the Linux Kernel wasn’t properly configured and I tried to rebuild the PYNQ Image using several modifications of the Device Tree without any success. In my last attempt, I found the following topic: ERROR downloading bitstream PYNQ OS for ZCU102, where Peter Ogden suggests to use the following node in the device tree:

reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		linux,cma {
			linux,cma-default;
			compatible = "shared-dma-pool";
			alloc-ranges = <0x0 0x0 0x0 0x7ff00000>;
			size = <0x0 0x20000000>;
			alignment = <0x0 0x2000>;
			reusable;
		};
	};

After a few hours, when the build process finished I wrote the image into a sd card and I got the following output from the serial terminal:

Xilinx Zynq MP First Stage Boot Loader 

Release 2020.1   Oct 20NOTICE:  ATF running on XCZU28DR/silicon v4/RTL5.1 at 0xfffea000
NOTICE:  BL31: v2.2(release):xilinx_rebase_v2.2_2020.1
NO

U-Boot 2020.01 (Oct 20 2020 - 10:32:38 +0000)

Model: Zynq4 GiB
PMUFW:	v1.1
EL Level:	EL2
Chip ID:	zu28dr
NAND:  0 MiB
MMC:   mmc@ff170000: 0
In:    serial@ff000000
Our:   serial@ff000000
Bootmode: LVL_SHFT_SD_MODE1
Reset reason:
Warning: ethernet@ff0e0000 (eth0) using random MAC address - c 1  0 
switch to partitions #0, OK
mmc0 is current device
Scanning mmFound U-Boot script /boot.scr
1636 bytes read in 12 ms (132.8 KiB/s)
## Executing script at 217547300 bytes read in 1156 ms (14.5 MiB/s)
## Loading kernel from FIT Image at 10000000 ...
   Using 'conf@1'    Compression:  uncompressed
     Data Start:   0x100000d4
 0080000
     Entry Point:  0x00080000
     Hash algo:    sha1
onf@on:  Flattened Device Tree blob
     Type:         Flat Device fe24470be4307cd3fae69d91191dcdf64dd14c42
   Verifying Ha[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410#1 SMP Tue Oct 20 10:18:59 UTC 2020
[    0.000000] Machine mode.000000] cma: Reserved 128 MiB at 0x0000000077c00000
[    0.00000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psciGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] percpu: Embedded 22 pagI-cache on CPU0
[    0.000000] CPU features: detected: ble mitigation not required
[    0.000000] Built 1 zonelists, m0] Kernel command line: root=/dev/mmcblk0p2 rw earlyprintk rootfric-uio" clk_ignore_unused
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ack:off, heap alloc:off, heap free:off
[    0.000000] software e, 700K rwdata, 3612K rodata, 768K init, 533K bss, 164068K resers=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs:rt_kernel+0x2a8/0x42c with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 99.99MHz (phys).
[    0.000every 4398046511101ns
[    0.000353] Console: colour dummy devied using timer frequency.. 199.99 BogoMIPS (lpj=399996)
[    0.731] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes192 (order: 4, 65536 bytes, linear)
[    0.001728] ASID allocator initialised with 32768 entries
[    0.001788] rcu: Hcondary CPUs ...
[    0.002514] Detected VIPT I-cache on CPU1

[    0.002919] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.003250] Detected VIPT I-cache on CPU3
[    00x410fd034]
[    0.003316] smp: Brought up 1 node, 4 CPUs
[    0.003355] SMP: Total of 4 processors activated.
[    0.003363] CPU features: detected: 32-bit EL0 Support
[    0.003372] CPU features: detected: CRC32 instructions
[    0.003407] C: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.010020] fnear)
[    0.013194] xor: measuring software checksum speed
[ mic allocations
[    0.133767] audit: initializing netlink subs] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
page size, pre-allocated 0 pages
[    0.146892] HugeTLB registe neonx8   gen()  1550 MB/s
[    1.364863] raid6: neonx8   xor()  1465 MB/s
[    1.432916] raid6: neonx4   gen()  1486 MB/s
[    1.500952] raid6: neonx4   xor()  1429 MB/s
[    1.56onx2   xor()  1189 MB/s
[    1.705063] raid6: neonx1   gen()   s
[    1.841167] raid6: int64x8  gen()  1164 MB/s
[    1.90921x4  gen()   983 MB/s
[    2.045323] raid6: int64x4  xor[    2.181396] raid6: int64x2  xor()   601 MB/s
[    2.249471]  neonx8 gen() 1550 MB/s
[    2.317521] raid6: .... xor() 1465 Mery algorithm
[    2.317903] iommu: Default domain type: Transl318344] usbcore: registered new interface driver hub
[    2.318c: Linux media interface: v0.10
[    2.318450] videodevometti@linux.it>
[    2.318497] PTP clock support registered
[.319502] Bluetooth: Core ver 2.22
[    2.319531] NET: Registered protocol family 31
[    2.319538] Bluetooth: HCI devi L2CAP socket layer initialized
[    2.319574] Bluetooth: SCO squotas dquot_6.6.0
[    2.320082] VFS: Dquot-cache hash table ehash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[able entries: 32768 (order: 7, 524288 bytes, linear)
[    2.32565536 bytes, linear)
[    2.325311] UDP-Lite hash table entries named UNIX socket transport module.
[    2.325754] RPC: Registtes, default 64
[    2.326495] hw perfevents: no interrupt-affifevents: enabled with armv8_pmuv3 PMU driver, 7 counters availaborder=0
[    2.328330] NFS: Registering the id_resolver key typ] Key type id_legacy registered
[    2.328365] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    2.3281321] Key type asymmetric registered
[    2.341329] Asymmetric 2.341420] io scheduler mq-deadline registered
[    2.341429] ioheinfo: Unable to detect cache hierarchy for CPU 0
[    2.37468 2.382210] tun: Universal TUN/TAP device driver, 1.6
[    2.382: registered new interface driver cdc_acm
[    2.383901] cdc_acdriver cdc_wdm
[    2.383983] usbcore: registered new interface: USB Serial support registered for generic
[    2.384088] usbc zio
[    2.384150] usbserial: USB Serial support registered foregistered for flashloader
[    2.384191] usbserial: USB Serialrial support registered for libtransistor
[    2.384232] usbserial: USB Serial support registered for vivopay
[    2.3for motorola_tetra
[    2.384296] usbserial: USB Serial supportl support registered for hp4x
[    2.384337] usbserial: USB Serial support registered for suunto
[    2.384358] usbser84978] i2c /dev entries driver
[    2.387498] device-mapper: io
[    2.387565] Bluetooth: HCI UART driver ver 2.3
[    2.387575] Bluetooth: HCI UART protocol H4 registered
[    2.387612] Bluetooth: HCI UART protocol ATH3K registered
[    2.3876d
[    2.387695] Bluetooth: HCI UART protocol QCA registered
[[    2.387756] usbcore: registered new interface driver bpa10x
[    2.387785] usbcore: registered new interface driver river ath3k
[    2.387986] EDAC MC: ECC not enabled
[    2.388ontroller zynqmp_ocm: DEV ff960000.memory-controller (INnterface driver
[    2.388561] sdhci: Copyright(c) Pierre Ossmaver helper
[    2.388924] ledtrig-cpu: registered to indicate a Trustzone version v1.0
[    2.392160] zynqmp-pinctrl firmware:79] alg: No test for xilinx-zynqmp-aes (zynqmp-aes)
[    2.415448] zynqmp_aes zynqmp_aes: AES Successfully Registered
384 (zynqmp-keccak-384)
[    2.415894] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
[    2.416174] usbcore: registecore driver
[    2.416380] xlnk xlnk: Major 243
[    2.416473] xlnk xlnk: xlnk driver loaded
[    2.416482] xlnk xlnke: registered new interface driver snd-usb-audio
[    2.419638] UDP)
[    2.420172] IPVS: Connection hash table configured (sistered protocol family 10
[    2.420955] Segment Routing with I17
[    2.421422] NET: Registered protocol family 15
[    2.42 if you need this.
[    2.421458] can: controller area network d protocol family 29
[    2.421501] can: raw protocol (rev 20170) max_hops=1
[    2.421595] Bluetooth: RFCOMM TTY layer initia37] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    2.421644]uetooth: HIDP (Human Interface Emulation) ver 1.2
[    2.421672: Installing 9P2000 support
[    2.421819] Key type dns31078] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 40, basttyPS0] enabled
[    3.780986] ff010000.serial: ttrtps
[    3.790310] of-fpga-region fpga-full: FPGA Region probe4c0000.dma: Xilinx DPDMA engine is probed
[    3.803920] xilinxA driver Probe success
[    3.818139] xilinx-zynqmp-dma fd52000s
[    3.832347] xilinx-zynqmp-dma fd540000.dma: ZynqMP DMA driilinx-zynqmp-dma fd560000.dma: ZynqMP DMA driver Probe success
a80000.dma: ZynqMP DMA driver Probe success
[    3.867951] xiliA driver Probe success
[    3.882154] xilinx-zynqmp-dma ffab000s
[    3.896364] xilinx-zynqmp-dma ffad0000.dma: ZynqMP DMA driver Probe success
[    3.903471] xilinx-zynqmp-dma ffae0000.dma: ZynqMP DMA driver Probe success
[    3.910591] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP DMA driver Probe success
protocol:4 pll_locked:yes
[    3.928929] xilinx-dp-snd-codec fd4a0000.zynqmp-display:zynqmp_dp_snd_codec0: Xilinx DisplayPort Sound Codec probed
[    3.9m0: Xilinx DisplayPort Sound PCM probed
[    3.947661] xilinx-dinx-dp-snd-codec-dai mapping ok
[    3.968413] xilinx-dp-snd-ca81123] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_4a0000
[    3.998278] [drm] Supports vblank timestamp caching Rort for vblank timestamp query.
[    4.010878] xlnx-drm xlnx-dr5] [drm] Initialized xlnx 1.0.0 20130509 for fd4a0000.zynqmp-dis000.zynqmp-display: ZynqMP DisplayPort Subsystem driver probed
 dummy regulator
[    5.135001] ahci-ceva fd0c0000.ahci: fd0c00] scsi host1: ahci-ceva
[    5.178179] ata1: SATA max UDMA/133 1fff] port 0x180 irq 38
[    5.194578] spi-nor spi0.0: found mtitions partitions found on MTD device spi0.0
[    5.211910] Cre40000-0x000004240000 : "kernel"
[    5.234961] macb ff0e0000.etial store and forward
[    5.242399] libphy: MACB_mii_bus: prob5.261025] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x500701071124] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
-monitor: Probed Xilinx APM
[    5.290651] xilinx-axipmon ffa10 io mem 0xfe200000
[    5.343386] usb usb1: New USB device foun   5.351658] usb usb1: New USB device strings: Mfr=3, Product=2,4.0-xilinx-v2020.1 xhci-hcd
[    5.370381] usb usb1: SerialNumb[    5.379294] hub 1-0:1.0: 1 port detected
[    .388896] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigo: Host supports USB 3.0 SuperSpeed
[    5.403311] usb usb2: NeMfr=3, Product=2, SerialNumber=1
[    5.418793] usb usb2: Produ usb2: SerialNumber: xhci-hcd.0.auto
[    5.435383] hub 2-0:1.0   5.511571] ata2: SATA link down (SStatus 0 SControl 330)
[    5.723234] i2c i2c-0: Added multiplexed i2c bus 5
[    5.72 cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 30
[    5.747multiplexed i2c bus 7
[    5.759615] i2c i2c-1: Added multiplex67125] si570 9-005d: registered, current frequency 300000000 Hz
current frequency 156250000 Hz
[    5.794452] i2c i2c-1: Added  5.799526] i2c i2c-1: Added multiplexed i2c bus 11
[    5.80460 1-0074: registered 8 multiplexed busses for I2C switch pca9548
s 15
[    5.832520] i2c i2c-1: Added multiplexed i2c bus 16
[ 2c i2c-1: Added multiplexed i2c bus 21
[    5.862940] i2c i2c-1: Added multiplexed i2c bus 22
[    5.867836] pca ff030000 irq 31
[    5.884397] usb 2-1: New USB device found, mmc] using ADMA 64-bit
[    5.971373] input: gpio-keys as /devim/gpio-keys/input/input0
[    5.978426] rtc_zynqmp ffa60000.rtc[    5.987318] of_cfs_init
[    5.989779] of_cfs_iificates for regulatory database
    6.047174] mmcblk0: mmc0:aaaa SC16G 14.8 GiB 
aef9cea7'
[    6.135910] clk: Not disabling unused clocks
[    6.140175]load for regulatory.db failed with error -2
[    6.155719] cfg8[    6.235956] [drm] Cannot find any crtc or sizes
deleted
[    6.904595] EXT4-fs (mmcblk0p2): recovery complete
[    6.923721] EXT4-fs (mmcblk0p2): mounted filesystem with orde.945675] Freeing unused kernel memory: 768K
[    6.950184] Run /sbin/init as init process
[    7.495503] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
[    7ytes read)
[    8.184187] systemd[1]: Started Forward Password Requests t[    8.208026] random: systemd: uninitialized urandom read (16 brectory Watch.
[e[0;32m  OK  e[0m] Started Dispatch Password Re[    8.239993] random: systemd: uninitialized urandom read (16 b.247159] systemd[1]: Created slice System Slice.
[e[0;32m  OK  [    8.264230] systemd[1]: Listening on udev Control Socket.
[e[    8.280118] systemd[1]: Listening on Syslog Socket.
[e[0;32m[    8.296167] systemd[1]: Listening on Journal Socket.
[e[0;32[    8.319266] systemd[1]: Created slice system-serial\x2dgetty.ached target Local Encrypted Volumes.
K  e[0m] Reached target System Time Synchronized.
         Mounting Kernel Debug File Syste         Mounting POSIX Message Queue File System...
m  OK  e[0m] Listening on udev Kernel Socket.
         Starting udev Coldplug all Devices...
[e[0;32m  OK  e[0m] Listening on Journal Audit Socket.
[e[0;32m  OK  e[0m] Listening on /dev/initctl Compatibility Name         Starting Load Kernel Modules...
[e[0;32m  OK  e[0m] Created slice User and Session Slice.
[e[0;rnal Socket (/dev/log).
[e[0;32m  OK  e[0m] Created slice syste         Starting Journal Service...
         Starting Restore / save the current clock...
          Nameserver information manager...
[e[0;32m  OK  e[0m] Reached          Starting Create Static Device Nodes in /dev...
[e[0;32m  OK  e[0m] Mounted Huge Pages File System.
[e[0;32m  Oueue File System.
[e[0;32m  OK  e[0m] Started Journal Service.
 Starte Create Static Device Nodes i         Starting Apply Kernel Variables...
         Mounting Kernel Configuration File System...
         Starting Flu[e[0;32m  OK  e[0m] Started Nameserver information manager.
[e[0;32m  OK  e[0m] Started Load/Save Random Seed.
[e[0;32m  OKel Configuration File System.
[e[0;32m  OK  e[0m] Reached target Network (Pre).
[e[0;32m  OK  e[0m] Started Apply Kernel Variables.
[e[0;32m  OK  e[0m] Activated swap /var/swap.
[e[0;32m  OK  e[0m] Reached target Swap.
[e[0;32m  OK  e[0m] Started udev Coldplug all Devices.
[e[0;32m  OK  e[0m] Started udev Kernel Device Manager.
[e[0;32m  OK  e[0m] Started Flush Journal to Persistent Storage.
[    9.242515] zocl-drm amba:zyxclmm_drm: IRQ index 0 not found
[e[0;32m  OK  e[0m] Reached target Sound Card.
[e[0;32m  OK  e[0m] Found device /dev/ttyPS0.
[e[0;32m  OK  e[0m] Found device          Mounting /boot...
[e[0;32m  OK  e[0m] Listening on Load/Save RF.
[e[0;32m  OK  e[0m] Mounted /boot.
[e[0;32m  OK  e[0m] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
[e[0terfaces...
         Starting Enable support for additional executable bi[e[0;32m  OK  e[0m] Started ifup for eth0.
[e[0;32m  OK  e[0m] Started Create Volatile Files and Directorie[e[0;32m  OK  e[0m] Started Enable support for additional execut[e[0;32m  OK  e[0m] Started Entropy daemon using the HAVEGE algorithm.
         Starting Network Name Resolution...
         Starting .
wn.
[e[0;32m  OK  e[0m] Started Network Name Resolution.
[e[0;32m  t Host and Network Name Lookups.
[e[0;32m  OK  e[0m] Started Nek Time Synchronization.
[e[0;32m  OK  e[0m] Reached target Syst[e[0;32m  OK  e[0m] Started Daily Cleanup of Temporary Directories.
[e[0;32m  OK  e[0m] Started Message of the Day.
[e[0;32m  OK  e[0m] Listening on D-Bus System Message Bus Socket.
;32m  OK  e[0m] Started Daily apt upgrade and clean activities.
[e[0;32m  OK  e[0m] Started resolvconf-pull-resolved.path.
[e[0;32m  OK  e[0m] Reached t Paths.
[e[0;32m  OK  e[0m] Started Discard unused blocks once [e[0;32m  OK  e[0m] Reached target Timers.
[e[0;32m  OK  e[0m] Listening on UUID daemon activation socket.
[e[0;32m  OK  e[0m] Reached target Sockets.
[e[0;32m  OK  e[0m] Reached target Basic System.
         Starting LSB: Load kernel modules needed to enable cpufreq scaling...
[e[0;32m  OK  e[0m] Started ntp-systemd-netif.service.
         Starting Dispatcher daemon for systemd-networkd...
[e[0;32m  OK  e[0m] Started Regular background program processing daemon.
         Starting LSB: automatic crash report generation...
         Starting resolvconf-pull-resolved.service...
         Starting PYNQ PL Server...
[e[0;32m  OK  e[0m] Started Set the CPU Frequency Scaling governor.
         Starting Jupyter Notebook Server...
[e[0;32m  OK  e[0m] Started D-Bus System Message Bus.
         Starting WPA supplicant...
         Starting Resize Filesystem on SD card...
         Starting Login Service...
         Starting System Logging Service...
[e[0;32m  OK  e[0m] Started resolvconf-pull-resolved.service.
[e[0;32m  OK  e[0m] Started PY[e[0;32m  OK  e[0m] Started Resize Filesystem on SD card.
[e[0;32m  OK  e[0m] Started Login Service.
[e[0;32m  OK  e[0m] Started LSB: automatic crash report generati[e[0;32m  OK  e[0m] Started System Logging Service.
[e[0;32m  OK  e[0m] Started LSB: Load kernel modules needed to e scaling.
         Starting LSB: set CPUFreq kernel parameters...
[e[0;32m  OK  e[0m] Started LSB: set CPUFreq kernel parameters.
[e[0;32m  OK  e[0m] Started Dispatcher daemon for systemd-networkd.
[e[0me[0;31m*     e[0m] (1 of 2) A start job is running for… n
e[K[e[0;1;31m*e[0me[0;31m*    e[0m] (1 of 2) A start job is running for… network interfaces (9s / 5min 2s)
e[K[e[0;31m*e[0;1;31m*e[0me[0;31m*   e[0m] (1 of 2) A start job
e[K[ e[0;31m*e[0;1;31m*e[0me[0;31m*  e[0m] (2 of 2) A start job is running for…r Notebook Server (11s / 1min 32s)
e[K[  e[0;31m*e[0;1;31m*e[0me[0;31m* e[0m] (2 of 2) A start job / 1min 32s)
e[K[    e[0;31m*e[0;1;31m*e[0m] (1 of 2) A start job is running
e[K[     e[0;31m*e[0m] (1 of 2) A start job is running for…network interfaces (13s / 5min 2s)
e[K         Stopping Network Name Resolution..[e[0;32m  OK  e[0m] Started Network Name Resolution.
         Starting resolvconf-pull-resolved.servic[e[0;32m  OK  e[0m] Stopped Network Name Resolution.
         S[e[0;32m  OK  e[0m] Started Permit User Sessions.
[e[0;32m  OK  e[0m] Started Getty on tty1.
[e[0;32m  OK  e[0m] Started PYNQ X11 Server.
[e[0;32m  OK  e[0m] Started Serial Getty on ttyPS0.
[B[B[B[B[B[B[B[B[B[B[B[B[B[B[B


Password: 

Login incorrect
pynq login: xilinx
Password: 
linx-v2020.1 aarch64)

xilinx@pynq:~$ poweroff
User root is logged in on ???.
Please retry operation after cloignore inhibitors and users with 'systemctl poweroff -i'.
xilinpoweroffspoweroffupoweroffdpoweroffopoweroff poweroff
^C
xilinx@pynq:~$ sdo pe[Ke[Ke[Ke[Kudo poweroff
-bash: suudo: command not found
xilinx@pynq:~$ e[4Pdo poweroffudo poweroffoff
e[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Kasuudo poweroffoffe[4Pdo poweroff^C
xilinx@pynq:~$ sudo powero[sudo] password for xilinx: 
         Stopping User Manager for UID 0...
         Stopping U00...
[e[0;32m  OK  e[0m] Closed Load/Save RF Kill Switch Statu[e[0;32m  OK  e[0m] Stopped Dispatcher daemon for systemd-networ[e[0;32m  OK  e[0m] Stopped OpenBSD Secure Shell server.
[e[0;32m  OK  e[0m] Removed slice User Slice of xilinx.
eport generation.
[e[0;32m  OK  e[0m] Stopped LSB: set CPUFreq kernel parameters.
         Stopping LSB: Load kernel modules needed to enable cpuf[e[0;32m  OK  e[0m] Stopped target Network is Online.
[e[0;32m  OK  e[0m] Unmounted /run/user/1000.
[e[0;32m  OK  e[0m] Stopped Jupyter Notebook Server.
ssion c1 of user root.
[e[0;32m  OK  e[0m] Removed slice User S[e[0;32m  OK  e[0m] Stopped target Network.
 target Remote File Systems.
[e[0;32m  OK  e[0m] Stopped WPA su[e[0;32m  OK  e[0m] Stopped Network Name Resolutio[e[0;32m  OK  e[0m] Stopped D-Bus System Message Bus.
[e[0;32m  OK  e[0m] Stopped ifup for eth0.
[e[0;32m  OK  e[0m] Stopped ifup for eth1.
[e[0;32m  OK  e[0d target Network (Pre).
[e[0;32m  OK  e[0m] Stopped PYNQ PL Server.
[e[0;32m  OK  e[0m] Stopped target Basic System[e[0;32m  OK  e[0m] Stopped target Slices.
[e[0;32m  OK  e[0m] Removed slice User and Session Slice.
[e[0;rget Paths.
[e[0;32m  OK  e[0m] Stopped resolvconf-pull-resolved.path.
[e[0;32m  OK  e[0m] Stopped target Sockets.
32m  OK  e[0m] Closed SStopped target Local Encrypted Volumes.
[e[0;32m  OK  e[0m] Stopped Fotch.
[e[0;32m  OK  e[0m] Stopped Dispatch Password Requests to tion...
[e[0;32m  OK  e[0m] Stopped Network Time Synchronization.
[e[0;32m  OK  e[0m] Stopped Load/Save Random Seed.
[e[0;32m  OKe[0m] Stopped Restore / save the current clock.
[e[0;32m  OK  e[0m] Stopped Update UTMP about System Boot/Shutdo[e[0;32m  OK  e[0m] Stopped Create Volatile Files and Directorie[e[0;32m  OK  e[0m] Stopped target Local File Systems.

Remount Root and Kernel File Systems.
[e[0;32m  OK  e[0m] Reached target Shutdown.
Xilinx Zynq MP First Stage Boot Loader 

Release 2020.1   Nov  4NOTICE:  ATF running on XCZU28DR/silicon v4/RTL5.1 at 0xfffea000
NOTICE:  BL31: v2.2(release):xilinx_rebase_v2.2_2020.1
NOTICE

U-Boot 2020.01 (Nov 04 2021 - 13:15:32 +0000)

Model: ZynqFound U-Boot script /boot.scr
ERROR: reserving fdt memory region failed (addr=70000000 size=10000000)
1636 bytes read in 15 ms (106.4 KiB/s)
## Executing script at 20000000
ERROR: reserving fdt memory region failed (addr=70000000 size=1000000)
17547036 bytes read in 1158 ms (14.5 MiB/s)
## Loading kernel f 10000000 ...
   Using 'conf@1' configuration
   Trying 'kerne= 16.7 MiB
     Architecture: AArch64
     OS:           Linux80000
     Hash algo:    sha1
     Hash value:   8f160cf48dd91er@oe-host) (gcc version 9.2.0 (GCC)) #1 SMP Thu Nov 4 13:00:28 UTC 2021
[    0.000000] Machine model: ZynqMP ZCerved memory: created CMA memory pool at 0x0000000070000000, siz PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INion v1.1
[    0.000000] percpu: Embedded 22 pages/cpu s50392 r8on CPU0
[    0.000000] CPU features: detected: ARM erratum 8457 clk_ignore_unused
[    0.000000] Dentry cache hash table entriloc:off, heap free:off
[    0.000000] software IO TLB: mapped [: 3768092K/4193280K available (11964K kernel code, 700K rwdata, 3608K rodata, 768K init, 533K bss, 163044K reserved, 262144K cmantation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[ x171015c90f, max_idle_ns: 440795203080 ns
[    0.000003] sched_Calibrating delay loop (skipped), value calculated using timer fpid_max: default: 32768 minimum: 301
[    0.000741] Mount-cacher: 4, 65536 bytes, linear)
[    0.001744] ASID allocator initiaTotal of 4 processors activated.
[    0.003375] CPU features: detected: 32-bit EL0 Support
[    0.003384] CPU featurestarted at EL2
[    0.003437] alternatives: patching kernel code
[    0.004590] devtmpfs: initialized
[    0.010028] c table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.016+0xd8/0x180
[    0.016120] Modules linked in:
[    0.016132] C
[    0.016149] pstate: 60000005 (nZCv daif -PAN -UAO)
[    0.0sp : ffffffc01003bd50
[    0.016181] x29: ffffffc01003bd50 x28:0000000000080000 
[    0.016217] x21: 0000000000000001 x20: fff0000000000000000 
[    0.016261] x11: 0000000000000004 x10: fff00007fe00 
[    0.016304] x1 : 0000000000000000 x0 : 0000000000000000 
[    0.016313] Call trace:
[    0.016322]  cma0x258
[    0.016353]  kernel_init+0x10/0xfc
[    0.016362]  re not be activated
[    0.016506] xor: measuring software checks.096046]    32regs    :  2725.000 MB/sec
[    0.136077]    arm64_neon:  2365.000 MB/sec
[    0.136085] xor: using funced protocol family 16
[    0.137081] DMA: failed to allocate 25 initializing netlink subsys (disabled)
[    0.137240] =0 res=1
[    0.137563] cpuidle: using governor menu
[    0.13registers.
[    0.150210] HugeTLB registered 1.00 GiB page size0.150242] HugeTLB registered 64.0 KiB page size, pre-allocated 0NG
[    1.300857] raid6: neonx8   gen()  1550 MB/s
[    1.3688 raid6: neonx1   gen()   739 MB/s
[    1.777201] raid6: neonx1   xor()   896 MB/s
[    1.845246] raid6: int64x8  gen(49401] raid6: int64x4  xor()   740 MB/s
[    2.117501] raid6: i/s
[    2.321628] raid6: int64x1  xor()   462 MB/s
[    2.3216  2.323031] zynqmp-ipi-mbox mailbox@ff990400: Registered ZynqMP IPI mbox with TX/RX channels.
[    2.323224] FPGA manag] clocksource: Switched to clocksource arch_sys_counter
[    2.324183] VFS: Disk quotas dquot_6.6.0
[    2.324232] VFS8596] tcp_listen_portaddr_hash hash table entries: 2048 (order:  entries: 2048 (order: 4, 65536 bytes, linear)
[    2.329436] U 2.329886] RPC: Registered named UNIX socket transport module.
9] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ g.
[    2.330802] hw perfevents: enabled with armv8_pmuv3 PMU ds=46 max_order=20 bucket_order=0
[    2.332486] NFS: Registerinregistered
[    2.332509] Key type id_legacy registered
[    2.332522] nfs4filelayout_init: NFSv4 File Layout Driver R-2006 Red Hat, Inc.
[    2.345623] NET: Registered protocol family 38
[    2.345634] Key type asymmetric registered
[ loaded (major 246)
[    2.345733] io scheduler mq-deadline regabled
[    2.374787] cacheinfo: Unable to detect cache hierarch(mtddev=name/number) must be supplied
[    2.385608] libphy: Fie
[    2.388257] usbcore: registered new interface driver cdc_a registered new interface driver cdc_wdm
[    2.388331] usbcore
[    2.388407] usbserial: USB Serial support registered for genpport registered for carelink
[    2.388477] usbserial: USB Sererial: USB Serial support registered for flashloader
[    2.388.388556] usbserial: USB Serial support registered for liered for vivopay
[    2.388599] usbserial: USB Serial support rSerial support registered for motorola_tetra
[    2.388640] usb
[    2.388682] usbserial: USB Serial support registered for suugistered as rtc0
[    2.389324] i2c /dev entries driver
[    2 UART driver ver 2.3
[    2.391904] Bluetooth: HCI UART protoco3K registered
[    2.391961] Bluetooth: HCI UART protocol ThreeT protocol Intel registered
[    2.392025] Bluetooth: HCI UART red new interface driver btusb
[    2.392201] usbcore: registered new interface driver ath3k
[    2.392316] EDAC MC: E Copyright(c) Pierre Ossman
[    2.392903] sdhci-pltfm:: registered to indicate activity on CPUs
[    2.393310] zynqmp320] zynqmp_firmware_probe Trustzone version v1.0
[    2.396496nqmp-aes (zynqmp-aes)
[    2.419826] zynqmp_aes zynqmp_aes: AES2.420290] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
[    nk xlnk: Major 243
[    2.420856] xlnk xlnk: xlnk driver loaded] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[    2.423152] usbcore: registered new interface driver snderformance testing. 



Region probed
[    3.970489] xilinx-dpdma fd4c0000.dma: Xilinx DPDMA engine is probed
[    3.977061] xilinx-zynqmp-dma fd500000.dma: ZynqMP DMA driver Probe success
[    3.984180] xilinx-zynqmp-dma fd510000.dma: ZynqMP DMA driver Probe success
[    3.991281]
[    3.998385] xilinx-zynqmp-dma fd530000.dma: ZynqMP DMA driver Probe success
[    4.005495] xilinx-zynqmp-dma fdsuccess
[    4.019715] xilinx-zynqmp-dma fd560000.dma: ZynqMP D00.dma: ZynqMP DMA driver Probe success
[    4.03 driver Probe success
[    4.048220] xilinx-zynqmp-dma ffaa0000.dma: ZynqMP DMA driver Probe success
[    4.055323]inx-zynqmp-dma ffae0000.dma: ZynqMP DMA driver Probe success
[    4.083753] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP D112713] xilinx-dp141380] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqank timestamp caching Rev 2 (21.10.2013).
[    4.17780xffffffc010cfb198)
play on minor 0
[    5.280962] zynqmpriver probed
[    5.289759] ahci-ceva fd0c0000.ahci: fd0c0000.awitch pca9548
[    6.057562] cdns-i2c ff030000.i2c: 400 kHz mmiot initialised!
[    6.111605] WARNING: CPU: 0 PID: x-v2020.1 #1
[    6.131944] Hardware name: ZynqMP ZCU111 RevA (4] pc : dma_alloc_from_pool+0x94/0xa0
[    6.150119] lr : dma_a00 
[    6.163155] x27: ffffff8879720000 x26: ffffff8879759580 8 
[    6.179065] x21: ffffffc010f39000 x20: ffffff887a078d80 
   6.189672] x17: 0000000000000001 x16: 0000000000000019 
[    6.194976] x15: ffffff887a0791a8 x14: 0720072007200720 
 6.221494] x5 : ffffffc01058b940 x4 : 0000000000000000 
[    6.226797] x3 : 0000000000000000 x2 : 00000000ffffffff 
[ ol+0x94/0xa0
[    6.243933]  arch_dma_alloc+0x50/0x180
[    6.58
[    6.259073]  xhci_alloc_container_ctx.part.0+0x7c/0xd0
[b_hcd_reset_endpoint+0x20/0x90
[    6.277508]  usb_enable_endpo.290207]  generic_probe+0x48/0x88
[    6.293775]  usb_probe_dev317263]  device_initial_probe+0x10/0x18
[    6.321438]  bus_probe_device+0x90/0x98
[    6.325266]  device_add+0x334/0rk+0x1c4/0x338
[    6.340056]  worker_thread+0x4c/0x488
[    6---
[    6.355127] ------------[ cut here ]------------
[    6
[    6.397910] pc : dma_alloc_from_pool+0x94/0xa0
[    : ffffffc01174b620
[    6.410076] x29: ffffffc01174b620 x28: f26: ffffff8879759580 
[    6.420684] x25: 0000000000000000 x24:0000000000000010 
[    6.441898] x17: 0000000000000001 x16: 000720072007200720 
[    6.457809] x11: 0720072007200720 x10: 0720 00000000000001ce 
[    6.468416] x7 : 0720072007200720 x6 : ff00000000ffffffff 
[    6.484327] x1 : b360beadf7bef500 x0 : 000.503719]  dma_alloc_attrs+0x7c/0xe8
[    6.507461]  dma_pool_alx.part.0+0x7c/0xd0
[    6.516420]  xhci_alloc_command_with_ctx+25]  usb_enable_endpoint+0xac/0xb0
[    6.533813]  usb_enable_i+0xd8/0x2f8
[    6.553387]  driver_probe_device+0x54/0xe8
[      6.573655]  bus_probe_device+0x90/0x98
[    6.577483]d+0x4c/0x488
[    6.595928]  kthread+0x120/0x128
[    6.599148------------
[    6.611951] coherent pool not initialised!
[  nked in:
[    6.627523] CPU: 0 PID: 126 Comm: kworker/0:3 Taintrkqueue: usb_hub_wq hub_event
[    6.645343] pstate: 60000005 (a0
[    6.658996] sp : ffffffc01174b620
[    6.662302] x29: ff0000000000000000 x24: 0000000000000000 
[    6.678214] x23: fff000000000000000 x18: 0000000000000010 
[    6.694124] x17: 0000arch_dma_alloc+0x50/0x180
[    6.752117]  dma_direct_all
[    6.781951]  usb_enable_endpoint+0xac/0xb0
[    6.786039]  usb_enable_interface+0x48/0x70
[    6.790215]  usb_set0
[    6.840497]  process_one_work+0x1c4/0x338
[    6.844499] /0x128
[    6.851374]  ret_from_fork+0x10/0x18
[    6.854940] 
[    6.899795] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
[    6.910239] input: gpio-keys as /devim/gpio-keys/input/input0
[    6.917255] rtc_zynqmp ffa60000.rtcit: OK
[    6.931535] cfg80211: Loading compiled-in X.509 certi
[    7.074738] clk: Not disabling unused clocks
[    7.076095]latory.db failed with error -2
[    7.099051] cfg80211: failed 5894] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[  evtmpfs: mounted
[    7.156432] Freeing unused kernel memory: 7[    7.174210] Starting init: /sbin/init exists but couldn't exerting init: /bin/init exists but couldn't execute it (error -20)as init process
[    7.204156] Starting init: /bin/sh exists buoption to kernel. See Linux Documentation/admin-guide/init.rst f33971] Hardware name: ZynqMP ZCU111 RevA (DT)
[    7.238751] Ca 7.261470] SMP: stopping secondary CPUs
[    7.265384] 02004
[    7.272863] Memory Limit: none
[    7.275905] ---[ eny passing init= option to kernel. See Linux Documentation/admin-

Why I can’t allocate more than 4kB of Contiguous Memory with the cma_array method? Is there a better way to achieve data transfers between PS and PL?

Thanks in advance for your help,
Kind regards.

1 Like

When you were first attempting to allocate memory was this on the ZCU111 2.6.0 image available for download or did you create your own? The image we’ve made should work without modification so I’m intrigued as what’s going on. Can you create a script that allocates memory and run it on the command line so we can get a more complete log of the failure?

In 2.6 we also recommend using pynq.allocate rather than Xlnk as we’re moving away from Xlnk in a future release (it’s not been maintained for 5 years).

Peter

1 Like