Hello all,

I am attempting to write PCIe drivers for my OP-TEE project against
the Cortex-A57 using the virt machine.  I am using the default
packaged qemu, 3.0.93v3.1.0-rc3-dirty and v4.0.0-rc4.  I have added
the PCIE device to the page table of the OS and when I try to write to
PIO (0xCF8) I get an unhandled fault.  Tracing this down I found the
memory access was falling into unassigned_mem_write.  Unfortunately I
don't have an example of PCIe working so I don't know what this is
supposed to look like.  Is this normal behavior and the issue lies
elsewhere?  Or is unassigned_mem_write always a problem?  The debug
text for the unassigned_mem_write does say the correct physical
address and value for the operation.

>E/TC:0 0
>E/TC:0 0 Core data-abort at address 0x107f0cf8
>E/TC:0 0 esr 0x96000050 ttbr0 0x0e29f000 ttbr1 0x00000000 cidr 0x0
>E/TC:0 0 cpu #0 cpsr 0x600003c4
>E/TC:0 0 x0 00000000107f0cf8 x1 00000000107f0000
>E/TC:0 0 x2 00000000117fffff x3 000000000e14a6a0
>E/TC:0 0 x4 0000000001200000 x5 000000000000000d
>E/TC:0 0 x6 000000003eff0000 x7 0000000000000020
>E/TC:0 0 x8 000000000e127c48 x9 000000000e146d24
>E/TC:0 0 x10 000000000e142f20 x11 00000000f1906769
>E/TC:0 0 x12 00000000113044e7 x13 000000000e2a693c
>E/TC:0 0 x14 0000000011800000 x15 0000000000000000
>E/TC:0 0 x16 0000000000000000 x17 0000000000000000
>E/TC:0 0 x18 0000000000000000 x19 0000000080000000
>E/TC:0 0 x20 0000000000000000 x21 000000000e1480b4
>E/TC:0 0 x22 000000000e1480a2 x23 0000000000000001
>E/TC:0 0 x24 0000000000000002 x25 000000000000000a
>E/TC:0 0 x26 0000000000000000 x27 0000000000000000
>E/TC:0 0 x28 0000000000000000 x29 000000000e2a6990
>E/TC:0 0 x30 000000000e125af4 elr 000000000e125af4
>E/TC:0 0 sp_el0 000000000e2a6990
>D/TC:0 0 get_fault_type:602 [abort] Unhandled fault!

Adam Parker

Reply via email to