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

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



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?


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
+919427054633
_______________________________________________
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®.