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

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



Hi Bharat

On Thu, Sep 7, 2017 at 4:30 PM, bharat gohil <ghl.bhrt@xxxxxxxxx> wrote:
> Hello Olensandr,
>
> I able to boot xen and trying to boot dom0 but there are no console log for
> dom0.
>
> following log for xen and it stuck booting dom0.
>
> (XEN) I/O virtualisation disabled
> (XEN) build-id: 7c2a3c70fb94754801d18c4cb9e3db3ffa01d8c4
> (XEN) alternatives: Patching with alt table 00000000400d2e08 ->
> 00000000400d32dc
> (XEN) *** LOADING DOMAIN 0 ***
> (XEN) Loading kernel from boot module @ 0000000040148158
> (XEN) Allocating 1:1 mappings totalling 128MB for dom0:
> (XEN) BANK[0] 0x00000048000000-0x00000050000000 (128MB)
> (XEN) Grant table range: 0x000000bfe00000-0x000000bfe65000
> (XEN) Loading zImage from 0000000040148158 to
> 0000000048080000-0000000049480000
> (XEN) Allocating PPI 16 for event channel interrupt
> (XEN) Loading dom0 DTB to 0x000000004fe00000-0x000000004fe0f31e
> (XEN) Scrubbing Free RAM on 1 nodes using 3 CPUs
> (XEN) ......done.
> (XEN) Initial low memory virq threshold set at 0x4000 pages.
> (XEN) Std. Loglevel: All
> (XEN) Guest Loglevel: All
> (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to
> Xen)
> (XEN) Freed 272kB init memory.
>
> I have done all the xen configuration in linux kernel 4.9. This kernel
> booting fine without xen.
>
> following are the DTB changes,
>
>     chosen {
>         #address-cells = <1>;
>         #size-cells = <1>;
>         bootargs = "console=dtuart dtuart=serial0 dom0_mem=128M";
>         stdout-path = "serial0";
>         module: module@0 {
>             compatible = "xen,linux-zimage", "xen,multiboot-module";
>             reg = <0x40148158 0x1400000>;
>             bootargs = "console=hvc0,921600n8 earlyprintk=xen debug
> ignore_loglevel rw root=/dev/mmcblk0p7";
>         };
>
>     };
>
> Can you tell me how to debug dom0 booting or anything which i can check?

Don't now much about "debug dom0 booting", I leave it for competent people.

Looks weird, even with earlyprintk no logs.
Do you have DEBUG_LL and all related options enabled in your dom0 kernel config?

1. Check that following options are enabled in your kernel config file:

CONFIG_HVC_XEN=y
CONFIG_HVC_XEN_FRONTEND=y

2. Check that dom0 kernel doesn't disable clock for console.

BTW, could you post full Xen log, kernel config and device-tree you are using?
If you have some changes on top of Xen, post them too.
These may help people to identify what is wrong.

>
>
> Thanks,
> Bharat
>
> On Wed, Sep 6, 2017 at 3:49 PM, Oleksandr Tyshchenko <olekstysh@xxxxxxxxx>
> wrote:
>>
>> Hi Bharat
>>
>> On Wed, Sep 6, 2017 at 10:01 AM, bharat gohil <ghl.bhrt@xxxxxxxxx> wrote:
>> > Hello Oleksandr,
>> >
>> > Thank you very much.It resolved my issue.
>> Sounds great!
>>
>> >
>> > Thanks,
>> > Bharat
>> >
>> > On Mon, Sep 4, 2017 at 6:24 PM, Oleksandr Tyshchenko
>> > <olekstysh@xxxxxxxxx>
>> > wrote:
>> >>
>> >> 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
>> >
>> >
>> >
>> >
>> > --
>> > 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®.