[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] ARM64:Porting xen to new hardware



Hi Bharat

On Mon, Sep 4, 2017 at 7:13 AM, bharat gohil <ghl.bhrt@xxxxxxxxx> wrote:
> Hello Oleksandr,
>
> I have corrected  GIC settings but no success.Following line disappear from
> log.
>>>XEN) GICv2: WARNING: The GICC size is too small: 0x1000 expected 0x2000
>
> Is anything else which can I try.
>
> I don’t know much about xen internal for ARM architecture. As you mentioned,
>>>Wrong GIC settings might lead to that IPIs won't work as expected. And
>>>boot CPU will get stuck waiting for another CPU.
>
> Can you explain it with some boot sequence and relation with IPI?

Well, we faced similar issue with R-Car Gen3 H3 SoC. Xen hung at
smp_call_function (one CPU didn't receive interrupt from another one).
Next patch helped us to fix this issue:
https://patchwork.kernel.org/patch/9163065/

I assume the SoC you are working with has "arm,gic-400" compatible GIC.
Can you take a look at the patch, maybe it is your case too.

>
> Thanks,
> Bharat
>
>
> On Thu, Aug 31, 2017 at 5:28 PM, Oleksandr Tyshchenko <olekstysh@xxxxxxxxx>
> wrote:
>>
>> On Thu, Aug 31, 2017 at 2:13 PM, bharat gohil <ghl.bhrt@xxxxxxxxx> wrote:
>> > Hello Oleksandr,
>> Hi Bharat
>>
>> >
>> > I had removed A72 cluster and tried to boot only two A35 but I got same
>> > error.
>> >
>> > Is anything added or missing in A35 compare to A53?
>> Unfortunately, I don't know.
>>
>> BTW, did you check your GIC settings in the device-tree?
>>
>> >
>> > Regards,
>> > Bharat
>> >
>> > On Wed, Aug 30, 2017 at 8:00 PM, bharat gohil <ghl.bhrt@xxxxxxxxx>
>> > wrote:
>> >>
>> >> Hello Oleksandr,
>> >> Thank you very much for your input.
>> >>
>> >> Yes. agree. I will check by removing A72 core from DT.
>> >>
>> >> Thanks,
>> >> Bharat
>> >>
>> >> On Wed, Aug 30, 2017 at 7:44 PM, Oleksandr Tyshchenko
>> >> <olekstysh@xxxxxxxxx> wrote:
>> >>>
>> >>> Hi,
>> >>>
>> >>> Not sure that I am a competent person, just my assumptions.
>> >>>
>> >>> CCed ARM guys.
>> >>>
>> >>> On Tue, Aug 29, 2017 at 5:21 PM, bharat gohil <ghl.bhrt@xxxxxxxxx>
>> >>> wrote:
>> >>> > Hello All
>> >>> >
>> >>> > I am trying to run Xen on new hardware which has two A35 and one A72
>> >>> > core.
>> >>> > Xen booted intially but it hangs at
>> >>> > smp_call_function(setup_virt_paging_one,
>> >>> > (void *)val, 1) function call.
>> >>>
>> >>> It might be a consequence of that CPU cores are different. And they
>> >>> might have different set of features, or even settings.
>> >>> And these features/settings the boot CPU has don't compatible with
>> >>> other (non-boot) CPUs.
>> >>> Can you try not to bringup A72 core (remove it from DT or another
>> >>> way), leave only two A35 and see what will happen.
>> >>>
>> >>> > Find following log of Xen booting,same set of features.
>> >>> >
>> >>> > - UART enabled -
>> >>> > - CPU 00000000 booting -
>> >>> > - Current EL 00000008 -
>> >>> > - Xen starting at EL2 -
>> >>> > - Zero BSS -
>> >>> > - Setting up control registers -
>> >>> > - Turning on paging -
>> >>> > - Ready -
>> >>> > (XEN) Checking for initrd in /chosen
>> >>> > (XEN) RAM: 0000000040000000 - 00000000bfffffff
>> >>> > (XEN)
>> >>> > (XEN) MODULE[0]: 0000000044000000 - 000000004400fd5a Device Tree
>> >>> > (XEN)
>> >>> > (XEN) Command line: <NULL>
>> >>> Why? Does your device-tree have bootargs?
>> >>>
>> >>> > (XEN) Placing Xen at 0x00000000bfe00000-0x00000000c0000000
>> >>> > (XEN) Update BOOTMOD_XEN from 0000000040080000-0000000040194e01 =>
>> >>> > 00000000bfe01
>> >>> > (XEN) Domain heap initialised
>> >>> > (XEN) Booting using Device Tree
>> >>> > (XEN) Platform: Generic System
>> >>> > (XEN) Taking dtuart configuration from /chosen/stdout-path
>> >>> > (XEN) Looking for dtuart at "serial0", options ""
>> >>> >  __  __            _  _    _  ___                     _        _
>> >>> > _
>> >>> >  \ \/ /___ _ __   | || |  / |/ _ \    _   _ _ __  ___| |_ __ _| |__
>> >>> > | |
>> >>> > ___
>> >>> >   \  // _ \ '_ \  | || |_ | | | | |__| | | | '_ \/ __| __/ _` | '_
>> >>> > \|
>> >>> > |/ _ \
>> >>> >   /  \  __/ | | | |__   _|| | |_| |__| |_| | | | \__ \ || (_| | |_)
>> >>> > | |
>> >>> > __/
>> >>> >  /_/\_\___|_| |_|    |_|(_)_|\___/    \__,_|_|
>> >>> > |_|___/\__\__,_|_.__/|_|\___|
>> >>> >
>> >>> > (XEN) Xen version 4.10-unstable (bgohil@) (aarch64-linux-gnu-gcc
>> >>> > (Ubuntu/Linaro7
>> >>> > (XEN) Latest ChangeSet: Fri Aug 11 19:02:51 2017 +0100
>> >>> > git:9053a74-dirty
>> >>> > (XEN) Processor: 410fd041: "ARM Limited", variant: 0x0, part 0xd04,
>> >>> > rev
>> >>> > 0x1
>> >>> > (XEN) 64-bit Execution:
>> >>> > (XEN)   Processor Features: 0000000000002222 0000000000000000
>> >>> > (XEN)     Exception Levels: EL3:64+32 EL2:64+32 EL1:64+32 EL0:64+32
>> >>> > (XEN)     Extensions: FloatingPoint AdvancedSIMD
>> >>> > (XEN)   Debug Features: 0000000010305106 0000000000000000
>> >>> > (XEN)   Auxiliary Features: 0000000000000000 0000000000000000
>> >>> > (XEN)   Memory Model Features: 0000000000101122 0000000000000000
>> >>> > (XEN)   ISA Features:  0000000000011120 0000000000000000
>> >>> > (XEN) 32-bit Execution:
>> >>> > (XEN)   Processor Features: 00000131:00011011
>> >>> > (XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 Jazelle
>> >>> > (XEN)     Extensions: GenericTimer Security
>> >>> > (XEN)   Debug Features: 03010066
>> >>> > (XEN)   Auxiliary Features: 00000000
>> >>> > (XEN)   Memory Model Features: 10201105 40000000 01260000 02102211
>> >>> > (XEN)  ISA Features: 02101110 13112111 21232042 01112131 00011142
>> >>> > 00011121
>> >>> > (XEN) Using PSCI-1.0 for SMP bringup
>> >>> > (XEN) SMP: Allowing 3 CPUs
>> >>> > (XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 13000 KHz
>> >>> > (XEN) GICv2: WARNING: The GICC size is too small: 0x1000 expected
>> >>> > 0x2000
>> >>> Sounds like GIC settings are not completely correct.
>> >>> Wrong GIC settings might lead to that IPIs won't work as expected. And
>> >>> boot CPU will
>> >>> get stuck waiting for another CPU.
>> >>> Just double check.
>> >>>
>> >>> > (XEN) GICv2 initialization:
>> >>> > (XEN)         gic_dist_addr=0000000010510000
>> >>> > (XEN)         gic_cpu_addr=0000000010520000
>> >>> > (XEN)         gic_hyp_addr=0000000010540000
>> >>> > (XEN)         gic_vcpu_addr=0000000010560000
>> >>> > (XEN)         gic_maintenance_irq=25
>> >>> > (XEN) GICv2: 384 lines, 6 cpus, secure (IID 0200143b).
>> >>> > (XEN) Using scheduler: SMP Credit Scheduler (credit)
>> >>> > (XEN) Allocated console ring of 32 KiB.
>> >>> > (XEN) Bringing up CPU1
>> >>> > - CPU 00000001 booting -
>> >>> > - Current EL 00000008 -
>> >>> > - Xen starting at EL2 -
>> >>> > - Setting up control registers -
>> >>> > - Turning on paging -
>> >>> > - Ready -
>> >>> > (XEN) CPU 1 booted.
>> >>> > (XEN) Bringing up CPU2
>> >>> > - CPU 00000200 booting -
>> >>> > - Current EL 00000008 -
>> >>> > - Xen starting at EL2 -
>> >>> > - Setting up control registers -
>> >>> > - Turning on paging -
>> >>> > - Ready -
>> >>> > (XEN) CPU 2 booted.
>> >>> > (XEN) Brought up 3 CPUs
>> >>> > (XEN) P2M: 40-bit IPA with 40-bit PA and 8-bit VMID
>> >>> > (XEN) P2M: 3 levels with order-1 root, VTCR 0x80023558
>> >>> >
>> >>> > Can anyone guide me how to debug this problem or what could be wrong
>> >>> > here?
>> >>> >
>> >>> > It looks, writing into VTCR_EL2 hang the system.
>> >>> >
>> >>> > --
>> >>> > Regards,
>> >>> > Bharat Gohil
>> >>> >
>> >>> >
>> >>> > _______________________________________________
>> >>> > Xen-devel mailing list
>> >>> > Xen-devel@xxxxxxxxxxxxx
>> >>> > https://lists.xen.org/xen-devel
>> >>> >
>> >>>
>> >>> --
>> >>> Regards,
>> >>>
>> >>> Oleksandr Tyshchenko
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> Regards,
>> >> Bharat Gohil
>> >> Sr.Software Engineer
>> >> bharat.gohil@xxxxxxxxxx
>> >> +919427054633
>> >
>> >
>> >
>> >
>> > --
>> > Regards,
>> > Bharat Gohil
>> > Sr.Software Engineer
>> > bharat.gohil@xxxxxxxxxx
>> > +919427054633
>>
>>
>>
>> --
>> Regards,
>>
>> Oleksandr Tyshchenko
>
>
>
>
> --
> Regards,
> Bharat Gohil
> Sr.Software Engineer
> bharat.gohil@xxxxxxxxxx
> +919427054633



-- 
Regards,

Oleksandr Tyshchenko

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.