cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
baring42read
Adventurer
Adventurer
386 Views
Registered: ‎08-28-2019

axi interrupt Kernel panic

Hello,

I am currently working on a video capture pipeline using TPG. The block diagram is as show below.

I go through all the steps of creating a petalinux project and create boot files. How ever, I get the message

[    0.192160] Kernel panic - not syncing: Attempted to kill the idle task!

[    0.192427] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---

I have tried all the suggested solutions,  but  nothing works. However when I remove the axi interrupt IP, it works. I have been trying to understand why  it doesn't work with the axi interrupt and still can't seem to figure out what the issue it. I'd really appreciate any suggestions on how to resolve this issue.

 

The complete boot log is as shown below.

 

U-Boot 2020.01 (Jun 14 2021 - 04:40:41 +0000)

 

Board: Xilinx ZynqMP

DRAM:  4 GiB

usb dr_mode not found

PMUFW:        v1.1

EL Level:        EL2

Chip ID:          unknown

NAND:  0 MiB

MMC:   mmc@ff170000: 0

In:    serial@ff000000

Out:   serial@ff000000

Err:   serial@ff000000

Bootmode: JTAG_MODE

Reset reason: 

Net:  

ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr -1, interface rgmii-id

 

Warning: ethernet@ff0e0000 using MAC address from DT

eth0: ethernet@ff0e0000

Hit any key to stop autoboot:  0

## Executing script at 20000000

## Loading init Ramdisk from Legacy Image at 04000000 ...

   Image Name:   petalinux-image-minimal-zynqmp-g

   Image Type:   AArch64 Linux RAMDisk Image (uncompressed)

   Data Size:    8727051 Bytes = 8.3 MiB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

## Flattened Device Tree blob at 00100000

   Booting using the fdt blob at 0x100000

   Loading Ramdisk to 787ad000, end 78fffa0b ... OK

   Loading Device Tree to 000000000fff3000, end 000000000ffffc1e ... OK

 

Starting kernel ...

 

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]

[    0.000000] Linux version 5.4.0-xilinx-v2020.1 (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 SMP Mon Jun 14 04:00:22 UTC 2021

[    0.000000] Machine model: xlnx,zynqmp

[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')

[    0.000000] printk: bootconsole [cdns0] enabled

[    0.000000] efi: Getting EFI parameters from FDT:

[    0.000000] efi: UEFI not found.

[    0.000000] cma: Reserved 256 MiB at 0x0000000068400000

[    0.000000] psci: probing for conduit method from DT.

[    0.000000] psci: PSCIv1.1 detected in firmware.

[    0.000000] psci: Using standard PSCI v0.2 function IDs

[    0.000000] psci: MIGRATE_INFO_TYPE not supported.

[    0.000000] psci: SMC Calling Convention v1.1

[    0.000000] percpu: Embedded 22 pages/cpu s49944 r8192 d31976 u90112

[    0.000000] Detected VIPT I-cache on CPU0

[    0.000000] CPU features: detected: ARM erratum 845719

[    0.000000] CPU features: detected: ARM erratum 843419

[    0.000000] Speculative Store Bypass Disable mitigation not required

[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1031940

[    0.000000] Kernel command line:  earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/ram0 rw

[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)

[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)

[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off

[    0.000000] software IO TLB: mapped [mem 0x7bf00000-0x7ff00000] (64MB)

[    0.000000] Memory: 3759176K/4193280K available (11644K kernel code, 672K rwdata, 3624K rodata, 704K init, 323K bss, 171960K reserved, 262144K cma-reserved)

[    0.000000] rcu: Hierarchical RCU implementation.

[    0.000000] rcu:       RCU event tracing is enabled.

[    0.000000] rcu:       RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.

[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.

[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4

[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0

[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000

[    0.000000] GIC: Using split EOI/Deactivate mode

[    0.000000] irq-xilinx: /amba_pl@0/interrupt-controller@a0030000: num_irq=3, sw_irq=0, edge=0x0

[    0.000000] random: get_random_bytes called from start_kernel+0x2a8/0x42c with crng_init=0

[    0.000000] arch_timer: cp15 timer(s) running at 65.00MHz (phys).

[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xefdb196da, max_idle_ns: 440795204367 ns

[    0.000085] sched_clock: 56 bits at 65MHz, resolution 15ns, wraps every 2199023255550ns

[    0.025745] Console: colour dummy device 80x25

[    0.028328] Calibrating delay loop (skipped), value calculated using timer frequency.. 130.00 BogoMIPS (lpj=260000)

[    0.033160] pid_max: default: 32768 minimum: 301

[    0.038053] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)

[    0.044773] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)

[    0.110893] ASID allocator initialised with 32768 entries

[    0.112412] rcu: Hierarchical SRCU implementation.

[    0.120451] EFI services will not be available.

[    0.128383] smp: Bringing up secondary CPUs ...

[    0.188681] Detected VIPT I-cache on CPU1

[    0.189963] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008

[    0.189982] Mem abort info:

[    0.189990]   ESR = 0x96000045

[    0.190035]   EC = 0x25: DABT (current EL), IL = 32 bits

[    0.190044]   SET = 0, FnV = 0

[    0.190052]   EA = 0, S1PTW = 0

[    0.190065] Data abort info:

[    0.190074]   ISV = 0, ISS = 0x00000045

[    0.190081]   CM = 0, WnR = 1

[    0.190136] [0000000000000008] user address but active_mm is swapper

[    0.190291] Internal error: Oops: 96000045 [#1] SMP

[    0.190432] Modules linked in:

[    0.190737] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.4.0-xilinx-v2020.1 #1

[    0.190752] Hardware name: xlnx,zynqmp (DT)

[    0.190886] pstate: 200001c5 (nzCv dAIF -PAN -UAO)

[    0.190922] pc : xintc_write+0x78/0x80

[    0.190937] lr : xil_intc_initial_setup+0x1c/0x110

[    0.190947] sp : ffffffc011183f20

[    0.190972] x29: ffffffc011183f20 x28: 0000000000000000

[    0.190995] x27: 0000000000000000 x26: 0000000000000000

[    0.191003] x25: 0000000000000000 x24: 0000000000000000

[    0.191009] x23: 0000000000000001 x22: 0000000000000001

[    0.191015] x21: 0000000000000089 x20: 0000000000000000

[    0.191021] x19: ffffff887f797740 x18: 0000000000010000

[    0.191027] x17: 0000000000000000 x16: 0000000000000000

[    0.191032] x15: ffffffc01104cc98 x14: ffffffc0110e14ba

[    0.191038] x13: 0000000000000000 x12: ffffffc0110e0000

[    0.191044] x11: 000000000000003c x10: 0000000000000043

[    0.191064] x9 : 0000000000000040 x8 : 0000000000000001

[    0.191071] x7 : ffffffffffffffff x6 : 00000000ffffffff

[    0.191076] x5 : ffffff887f78f7c0 x4 : 0000000000000000

[    0.191082] x3 : 0000000000000001 x2 : 0000000000000000

[    0.191087] x1 : 0000000000000008 x0 : 0000000000000000

[    0.191158] Call trace:

[    0.191271]  xintc_write+0x78/0x80

[    0.191293]  xil_intc_start+0x24/0x30

[    0.191305]  cpuhp_invoke_callback+0x84/0x200

[    0.191313]  notify_cpu_starting+0x98/0xd0

[    0.191323]  secondary_start_kernel+0xc8/0x158

[    0.191665] Code: d50332bf f9400000 5ac00842 8b010001 (b9000022)

[    0.191888] ---[ end trace abcafc6f7b349de7 ]---

[    0.192160] Kernel panic - not syncing: Attempted to kill the idle task!

[    0.192427] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---

 

baring42read_0-1623680556394.png

 

0 Kudos
6 Replies
stephenm
Xilinx Employee
Xilinx Employee
356 Views
Registered: ‎09-12-2007

Can you stop in uboot, and see if you can write (mw) to the axi intc address?

0 Kudos
watari
Teacher
Teacher
281 Views
Registered: ‎06-16-2013

Hi @baring42read 

 

I guess you might have to consider reset tree to prevent unexpected behavior.

Refer datasheet to learn proper reset tree structure for interconnect and peripheral.

 

Hope this helps.

 

Best regards,

0 Kudos
baring42read
Adventurer
Adventurer
214 Views
Registered: ‎08-28-2019

Hi @stephenm 

I can write to the  axi intc address and perform read operations too, as seen below

baring42read_0-1624367965626.png

 

0 Kudos
baring42read
Adventurer
Adventurer
212 Views
Registered: ‎08-28-2019

Hi @watari ,

The examples from xilinx use emio-gpio and slice IP to assign resets to all the IPs and that's what I used. Is there some other reset scheme I can try?

0 Kudos
sandeepg
Moderator
Moderator
78 Views
Registered: ‎04-24-2017

Hi @baring42read ,

It's hard to read your screen shot. Can you double click on AXI INTC IP and check for "Interrupt Output Connection" option if this is set to Bus or Single mode? For Linux use case this should be set to Single mode as Linux AXI INTC driver doesn't support Bus mode.

Thanks,
Sandeep
PetaLinux Yocto | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------
0 Kudos
baring42read
Adventurer
Adventurer
52 Views
Registered: ‎08-28-2019

Hi @sandeepg , I eliminated the AXI INTC from the design. I am currently using the contact IP directly. However, I will try it and see if it resolves the issue.

Thank you

0 Kudos