Hi Folks!
I followed another path of investigation and concluded that i have an
interrupt problem somewhere...
The MMU does receive data from the page table and encounters a page miss, so
it goes into the STATE_PAGE_FAULT state and sets signal MMU_Pgf to '1' . Then,
proc_control recognizes this and again sets PROC_Pgf_Int to '1'. Now this is
an interrupt line connected to the CPU, and via an ILA i can see in the
runtime simulation that it is '1'. However, it seems that the driver does not
handle this interrupt. The MMU never gets a MMU_retry set to '1'.
You find my device tree file attached to this email. The problem has to lie
in the hardware somewhere since a design generated with ISE/XPS works fine
with the very same software setup. I have connected PROC_Pgf_Int to the most
significant bit of IRQ_F2P of the Zynq processing system. This should make it
connect to interrupt 91. See design_1.pdf for details.
The Debug output from the reconos drivers is:
mreconos: loading out-of-tree module taints kernel.
[reconos] initializing driver ...
[reconos-proc-control-STATIC] found device reconos_proc_control
[reconos-proc-control-STATIC] found memory at 0x6fe00000 with size 0x10000
[reconos] detected 2 HWTs
[reconos-proc-control] initializing driver ...
[reconos-proc-control] found device reconos_proc_control
[reconos-proc-control] found memory at 0x6fe00000 with size 0x10000
[reconos-proc-control] found interrupt 165
[reconos-proc-control] driver initialized successfully
[reconos-osif] initializing driver ...
[reconos-osif] found device reconos_osif_intc
[reconos-osif] found memory at 0x7b400000 with size 0x10000
[reconos-osif] found interrupt 164
[reconos-osif-intc] registered interrupt controller
random: crng init done
[reconos-proc-control] set_pgd_address: 0x1e694000
[reconos-osif-intc] waiting for interrupt 0
[reconos-osif-intc] enabling interrupt 0
[reconos-proc-control] interrupted, aborting ...
[reconos-osif-intc] interrupted in waiting, aborting ...
[reconos-osif-intc] disabling interrupt 0
cat /proc/interrupts outputs:
CPU0 CPU1
16: 0 0 GIC-0 27 Edge gt
17: 0 0 GIC-0 43 Level ttc_clockevent
18: 437493 13036 GIC-0 29 Edge twd
21: 43 0 GIC-0 39 Level f8007100.adc
142: 0 0 GIC-0 35 Level f800c000.ocmc
143: 426 0 GIC-0 82 Level xuartps
144: 0 0 GIC-0 51 Level e000d000.spi
145: 23473 0 GIC-0 54 Level eth0
146: 0 0 GIC-0 56 Level mmc0
147: 0 0 GIC-0 45 Level f8003000.dmac
148: 0 0 GIC-0 46 Level f8003000.dmac
149: 0 0 GIC-0 47 Level f8003000.dmac
150: 0 0 GIC-0 48 Level f8003000.dmac
151: 0 0 GIC-0 49 Level f8003000.dmac
152: 0 0 GIC-0 72 Level f8003000.dmac
153: 0 0 GIC-0 73 Level f8003000.dmac
154: 0 0 GIC-0 74 Level f8003000.dmac
155: 0 0 GIC-0 75 Level f8003000.dmac
156: 0 0 GIC-0 40 Level f8007000.devcfg
163: 0 0 GIC-0 41 Edge f8005000.watchdog
164: 0 0 GIC-0 90 Level reconos-osif-intc
165: 0 0 GIC-0 91 Level reconos-proc-control
IPI1: 0 0 Timer broadcast interrupts
IPI2: 1624 2896 Rescheduling interrupts
IPI3: 26 24 Function call interrupts
IPI4: 0 0 CPU stop interrupts
IPI5: 0 0 IRQ work interrupts
IPI6: 0 0 completion interrupts
Err: 0
Anyone any ideas?
Kind regards
Sebastian
> --
> You received this message because you are subscribed to the Google Groups
> "ReconOS" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
reconos+u...@googlegroups.com
> <mailto:
reconos+u...@googlegroups.com>.
> For more options, visit
https://groups.google.com/d/optout.