Mailing List Archive

Re: Xen with Cortex-A15 - Guest data abort: Translation fault
Hi Jenny,
This is because the Fast Model example for Versatile Express supports only 4
List registers in the GIC.
You have to either increase the number of List registers to 64 by rebuilding
the GIC Lisa module or fix gic_set_guest_irq() function to use only 4 List
registers.
Thanks,
srinivas



-----Original Message-----
From: xen-arm-bounces@lists.xensource.com
[mailto:xen-arm-bounces@lists.xensource.com] On Behalf Of Jenny Smith
Sent: 13 February 2012 13:32
To: David Vrabel
Cc: xen-arm@lists.xensource.com
Subject: Re: [XenARM] Xen with Cortex-A15 - Guest data abort: Translation
fault

I have both CONFIG_ARM_APPENDED_DTB and CONFIG_ARM_ATAG_DTB_COMPAT set in my
.config.

However, you're right and my kernel build doesn't seem to build the DTBs
properly. It is not building anything when calling 'make dtbs'.

Regarding the architecture configuration, all that I need to enable is
CONFIG_ARCH_VEXPRESS=y CONFIG_ARCH_VEXPRESS_DT=y

Or is there anything I'm missing here?

Booting with your pre-built DTB still falls over when starting Dom0.
__ __ _ _ ____ _ _ _
\ \/ /___ _ __ | || | |___ \ _ _ _ __ ___| |_ __ _| |__ | | ___
\ // _ \ '_ \ | || |_ __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
/ \ __/ | | | |__ _| / __/|__| |_| | | | \__ \ || (_| | |_) | | __/
/_/\_\___|_| |_| |_|(_)_____| \__,_|_| |_|___/\__\__,_|_.__/|_|\___|

(XEN) Latest ChangeSet: unavailable
(XEN) Using generic timer at 100000000 Hz
(XEN) Domain heap initialised
(XEN) Set hyp vector base to 238160 (expected 00238160)
(XEN) GIC: 64 lines, 1 cpu, secure (IID 0000043b).
(XEN) GICH: 4 list registers available
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Allocated console ring of 16 KiB.
(XEN) Brought up 1 CPUs
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Copying 0x8 bytes from flash 00000000001c8680 to 0029fc48Populate P2M
0x80000000->0x88000000
(XEN) Map CS2 MMIO regions 1:1 in the P2M 0x18000000->0x1bffffff
(XEN) Map CS3 MMIO regions 1:1 in the P2M 0x1c000000->0x1fffffff
(XEN) Map VGIC MMIO regions 1:1 in the P2M 0x2c008000->0x2dffffff
(XEN) mapping GICC at 0x2c002000 to 0x2c006000
(XEN) Routing peripheral interrupts to guest
(XEN) VTTBR dom0 = 10080bdffe000
(XEN) Loading 00000000001c9be4 byte zImage from flash 0000000000000000 to
0000000080008000-00000000801d1be4: [..]
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to
Xen)
(XEN) Freed 48kB init memory.
(XEN) context switch 32767:0 (idle) -> 0:0
(XEN) VTTBR dom0 = 10080bdffe000
Uncompressing Linux... done, booting the kernel.
(XEN) Xen BUG at gic.c:351
(XEN) Unexpected Trap: Undefined Instruction
(XEN) ----[ Xen-4.2-unstable x86_64 debug=y Not tainted ]----
(XEN) CPU: 0
(XEN) PC: 002369d4 __bug+0x2c/0x44
(XEN) CPSR: 200001da MODE:HYP
(XEN) R0: 0024b51c R1: 0000000a R2: 00000001 R3: 00000fff
(XEN) R4: 00248880 R5: 00248f60 R6: 0000015f R7: 7ffe6000
(XEN) R8: 7ffe403c R9: 00000000 R10:7fff7e08 R11:0029fee4 R12:00000000
(XEN) SP: 0029fedc LR: 002369d4
(XEN)
(XEN) HTTBR 80ffe91000
(XEN) HDFAR c8800104
(XEN) HIFAR 0
(XEN) HPFAR 2c0010
(XEN) HCR 00000031
(XEN) HSR 0
(XEN)
(XEN) DFSR 0 DFAR 0
(XEN) IFSR 0 IFAR 0
(XEN)
(XEN) Xen stack trace from sp=0029fedc:
(XEN) 00000000 0029feec 002396f8 0029ff14 0023d58c 7fff7ea0 00269180
7fff2000
(XEN) 00269194 00000022 00268080 00000000 0029ff50 0029ff3c 00239c30
000003ff
(XEN) 00000000 c03378fc c0480260 c03432b8 80004059 412fc0f0 00000000
0029ff44
(XEN) 002399d4 0029ff4c 0023c404 0029ff50 0023835c 0000002f ffff8ad0
ffff8ad0
(XEN) c0346688 00000000 c03378fc c0480260 c03432b8 80004059 412fc0f0
00000000
(XEN) 00000000 00000933 ffffffff 00000000 c0335268 60000153 00000000
00000000
(XEN) 00000000 00000000 00000000 00000000 00000000 c033ffb0 c035eeec
c035eef8
(XEN) c035eee0 00000000 00000000 c0335260 c035eeec c035eef8 c035eee0
00000000
(XEN) 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7ffe6000
(XEN) e7f000f0
(XEN) Xen call trace:
(XEN) [<002369d4>] __bug+0x2c/0x44
(XEN) [<002396f8>] gic_set_guest_irq+0x2c/0x5c
(XEN) [<0023d58c>] vgic_vcpu_inject_irq+0x98/0x134
(XEN) [<00239c30>] do_IRQ+0xe8/0x190
(XEN) [<002399d4>] gic_interrupt+0x30/0x34
(XEN) [<0023c404>] do_trap_irq+0x10/0x14
(XEN) [<0023835c>] return_from_trap+0x0/0x10


On Mon, Feb 13, 2012 at 1:09 PM, David Vrabel <david.vrabel@citrix.com>
wrote:
> On 13/02/12 12:49, Jenny Smith wrote:
>> I also tried both device trees, e.g. vexpress-v2p-aem-v7a.dts and
>> vexpress-v2p-ca15-tc1.dts - they also both give the same error.
>
> These are the source files.  You need to build them with make dtbs and
> use the generated .dtb files.
>
> I've also uploaded a pre-built DTB to:
>
> http://xenbits.xen.org/people/dvrabel/xen-arm/vexpress-v2p-aem-v7a.dtb
>
> You also need to have CONFIG_ARM_APPENDED_DTB and
> CONFIG_ARM_ATAG_DTB_COMPAT enabled and to have appended the DTB to the
> zImage (see wiki).
>
> David

_______________________________________________
Xen-arm mailing list
Xen-arm@lists.xensource.com
http://lists.xensource.com/mailman/listinfo/xen-arm



_______________________________________________
Xen-arm mailing list
Xen-arm@lists.xensource.com
http://lists.xensource.com/mailman/listinfo/xen-arm
Re: Xen with Cortex-A15 - Guest data abort: Translation fault [ In reply to ]
Can you give me a clue where to change the List registers in the LISA model?

Cheers
Jenny

On Mon, Feb 13, 2012 at 2:19 PM, Srinivas Kalaga <s.kalaga@samsung.com> wrote:
> Hi Jenny,
> This is because the Fast Model example for Versatile Express supports only 4
> List registers in the GIC.
> You have to either increase the number of List registers to 64 by rebuilding
> the GIC Lisa module or fix gic_set_guest_irq() function to use only 4 List
> registers.
> Thanks,
> srinivas
>
>
>
> -----Original Message-----
> From: xen-arm-bounces@lists.xensource.com
> [mailto:xen-arm-bounces@lists.xensource.com] On Behalf Of Jenny Smith
> Sent: 13 February 2012 13:32
> To: David Vrabel
> Cc: xen-arm@lists.xensource.com
> Subject: Re: [XenARM] Xen with Cortex-A15 - Guest data abort: Translation
> fault
>
> I have both CONFIG_ARM_APPENDED_DTB and CONFIG_ARM_ATAG_DTB_COMPAT set in my
> .config.
>
> However, you're right and my kernel build doesn't seem to build the DTBs
> properly. It is not building anything when calling 'make dtbs'.
>
> Regarding the architecture configuration, all that I need to enable is
> CONFIG_ARCH_VEXPRESS=y CONFIG_ARCH_VEXPRESS_DT=y
>
> Or is there anything I'm missing here?
>
> Booting with your pre-built DTB still falls over when starting Dom0.
>  __  __            _  _    ____                     _        _     _
>  \ \/ /___ _ __   | || |  |___ \    _   _ _ __  ___| |_ __ _| |__ | | ___
>  \  // _ \ '_ \  | || |_   __) |__| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
>  /  \  __/ | | | |__   _| / __/|__| |_| | | | \__ \ || (_| | |_) | |  __/
>  /_/\_\___|_| |_|    |_|(_)_____|   \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
>
> (XEN) Latest ChangeSet: unavailable
> (XEN) Using generic timer at 100000000 Hz
> (XEN) Domain heap initialised
> (XEN) Set hyp vector base to 238160 (expected 00238160)
> (XEN) GIC: 64 lines, 1 cpu, secure (IID 0000043b).
> (XEN) GICH: 4 list registers available
> (XEN) Using scheduler: SMP Credit Scheduler (credit)
> (XEN) Allocated console ring of 16 KiB.
> (XEN) Brought up 1 CPUs
> (XEN) *** LOADING DOMAIN 0 ***
> (XEN) Copying 0x8 bytes from flash 00000000001c8680 to 0029fc48Populate P2M
> 0x80000000->0x88000000
> (XEN) Map CS2 MMIO regions 1:1 in the P2M 0x18000000->0x1bffffff
> (XEN) Map CS3 MMIO regions 1:1 in the P2M 0x1c000000->0x1fffffff
> (XEN) Map VGIC MMIO regions 1:1 in the P2M 0x2c008000->0x2dffffff
> (XEN) mapping GICC at 0x2c002000 to 0x2c006000
> (XEN) Routing peripheral interrupts to guest
> (XEN) VTTBR dom0 = 10080bdffe000
> (XEN) Loading 00000000001c9be4 byte zImage from flash 0000000000000000 to
> 0000000080008000-00000000801d1be4: [..]
> (XEN) Std. Loglevel: All
> (XEN) Guest Loglevel: All
> (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to
> Xen)
> (XEN) Freed 48kB init memory.
> (XEN) context switch 32767:0 (idle) -> 0:0
> (XEN) VTTBR dom0 = 10080bdffe000
> Uncompressing Linux... done, booting the kernel.
> (XEN) Xen BUG at gic.c:351
> (XEN) Unexpected Trap: Undefined Instruction
> (XEN) ----[ Xen-4.2-unstable  x86_64  debug=y  Not tainted ]----
> (XEN) CPU:    0
> (XEN) PC:     002369d4 __bug+0x2c/0x44
> (XEN) CPSR:   200001da MODE:HYP
> (XEN)      R0: 0024b51c R1: 0000000a R2: 00000001 R3: 00000fff
> (XEN)      R4: 00248880 R5: 00248f60 R6: 0000015f R7: 7ffe6000
> (XEN)      R8: 7ffe403c R9: 00000000 R10:7fff7e08 R11:0029fee4 R12:00000000
> (XEN)      SP: 0029fedc LR: 002369d4
> (XEN)
> (XEN) HTTBR 80ffe91000
> (XEN) HDFAR c8800104
> (XEN) HIFAR 0
> (XEN) HPFAR 2c0010
> (XEN) HCR 00000031
> (XEN) HSR   0
> (XEN)
> (XEN) DFSR 0 DFAR 0
> (XEN) IFSR 0 IFAR 0
> (XEN)
> (XEN) Xen stack trace from sp=0029fedc:
> (XEN)    00000000 0029feec 002396f8 0029ff14 0023d58c 7fff7ea0 00269180
> 7fff2000
> (XEN)    00269194 00000022 00268080 00000000 0029ff50 0029ff3c 00239c30
> 000003ff
> (XEN)    00000000 c03378fc c0480260 c03432b8 80004059 412fc0f0 00000000
> 0029ff44
> (XEN)    002399d4 0029ff4c 0023c404 0029ff50 0023835c 0000002f ffff8ad0
> ffff8ad0
> (XEN)    c0346688 00000000 c03378fc c0480260 c03432b8 80004059 412fc0f0
> 00000000
> (XEN)    00000000 00000933 ffffffff 00000000 c0335268 60000153 00000000
> 00000000
> (XEN)    00000000 00000000 00000000 00000000 00000000 c033ffb0 c035eeec
> c035eef8
> (XEN)    c035eee0 00000000 00000000 c0335260 c035eeec c035eef8 c035eee0
> 00000000
> (XEN)    00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 7ffe6000
> (XEN)    e7f000f0
> (XEN) Xen call trace:
> (XEN)    [<002369d4>] __bug+0x2c/0x44
> (XEN)    [<002396f8>] gic_set_guest_irq+0x2c/0x5c
> (XEN)    [<0023d58c>] vgic_vcpu_inject_irq+0x98/0x134
> (XEN)    [<00239c30>] do_IRQ+0xe8/0x190
> (XEN)    [<002399d4>] gic_interrupt+0x30/0x34
> (XEN)    [<0023c404>] do_trap_irq+0x10/0x14
> (XEN)    [<0023835c>] return_from_trap+0x0/0x10
>
>
> On Mon, Feb 13, 2012 at 1:09 PM, David Vrabel <david.vrabel@citrix.com>
> wrote:
>> On 13/02/12 12:49, Jenny Smith wrote:
>>> I also tried both device trees, e.g. vexpress-v2p-aem-v7a.dts and
>>> vexpress-v2p-ca15-tc1.dts - they also both give the same error.
>>
>> These are the source files.  You need to build them with make dtbs and
>> use the generated .dtb files.
>>
>> I've also uploaded a pre-built DTB to:
>>
>> http://xenbits.xen.org/people/dvrabel/xen-arm/vexpress-v2p-aem-v7a.dtb
>>
>> You also need to have CONFIG_ARM_APPENDED_DTB and
>> CONFIG_ARM_ATAG_DTB_COMPAT enabled and to have appended the DTB to the
>> zImage (see wiki).
>>
>> David
>
> _______________________________________________
> Xen-arm mailing list
> Xen-arm@lists.xensource.com
> http://lists.xensource.com/mailman/listinfo/xen-arm
>
>

_______________________________________________
Xen-arm mailing list
Xen-arm@lists.xensource.com
http://lists.xensource.com/mailman/listinfo/xen-arm