[Xen-devel] Boot Xen on Jetson TX2

2017-12-20 Thread Wang, Baoqian
Hi,

I am trying to boot Xen on TX2. But I got a problem with loading domain0 
kernel. Hope somebody could help me.


I compiled the Xen 4.9.1 on Jetson TX2. The domain0 kernel version is 4.4.38. I 
made some modifications to the device tree provided by the TX2. Then I can boot 
xen hypervisor, but when it comes to boot domain0 kernel. It hangs there. No 
more output. I enabled Xen related configurations in domain0 kernel and pass 
the console=hvc0 command to the kernel.  It doesn't work.  What is the problem 
?? Any suggestion is appreciated.  Thanks!


Baoqian Wang


Here is the bootargs and log:


U-Boot 2016.07-g0ce7ca2 (Jul 20 2017 - 00:45:25 -0700)

TEGRA186
Model: NVIDIA P2771--500
DRAM:  7.8 GiB
MC:   Tegra SD/MMC: 0, Tegra SD/MMC: 1
In:serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@249
Hit any key to stop autoboot:  2 ^H^H^H 0
Tegra186 (P2771--500) # ext4load $dev $kernel_addr_r $kernel_path
20418088 bytes read in 538 ms (36.2 MiB/s)
Tegra186 (P2771--500) # setenv kernel_size 0x$filesize
Tegra186 (P2771--500) # 
Tegra186 (P2771--500) # ext4load $dev $xen_addr_r $xen_path
819536 bytes read in 100 ms (7.8 MiB/s)
Tegra186 (P2771--500) # ext4load $dev $dtb_addr_r $dtb_path
267196 bytes read in 92 ms (2.8 MiB/s)
Tegra186 (P2771--500) # fdt addr $dtb_addr_r
Tegra186 (P2771--500) # fdt resize
Tegra186 (P2771--500) # fdt set /chosen xen,xen-bootargs \"$xen_bootargs\"
Tegra186 (P2771--500) # fdt set /chosen xen,dom0-bootargs \"$dom0_bootargs\"
Tegra186 (P2771--500) # fdt set /chosen xen,dom0-bootargs \"$dom0_bootargs\"
Tegra186 (P2771--500) # fdt mknode /chosen modules
Tegra186 (P2771--500) # fdt set /chosen/modules '#address-cells' <1>
Tegra186 (P2771--500) # fdt set /chosen/modules '#size-cells' <1>
Tegra186 (P2771--500) # fdt mknode /chosen/modules module@0
Tegra186 (P2771--500) # fdt set /chosen/modules/module@0 compatible 
xen,linux-zimage xen,multiboot-module
Tegra186 (P2771--500) # fdt set /chosen/modules/module@0 reg 
<$kernel_addr_r $kernel_size>
Tegra186 (P2771--500) # fdt print /chosen
chosen {
xen,dom0-bootargs = "vmalloc=256M console=hvc0 psci=enable 
earlyprintk=xen debug clk_ignore_unused root=/dev/mmcblk0p1 rootwait rw";
xen,xen-bootargs = "sync_console console=dtuart dtuart=/serial@310 
earlyprintk=xen dom0_mem=800M";
modules {
#size-cells = <0x0001>;
#address-cells = <0x0001>;
module@0 {
reg = <0x8200 0x01378e28>;
compatible = "xen,linux-zimage", "xen,multiboot-module";
};
};
};
Tegra186 (P2771--500) # booti $xen_addr_r - $dtb_addr_r
Image lacks image_size field, assuming 16MiB
## Flattened Device Tree blob at 9200
   Booting using the fdt blob at 0x9200
   reserving fdt memory region: addr=8000 size=1
   reserving fdt memory region: addr=9200 size=42000
   Using Device Tree in place at 9200, end 92044fff

Starting kernel ...

- UART enabled -
- CPU 0100 booting -
- Current EL 0008 -
- Xen starting at EL2 -
- Zero BSS -
- Setting up control registers -
- Turning on paging -
- Ready -
(XEN) Checking for initrd in /chosen
(XEN) RAM: 8000 - efff
(XEN) RAM: f011 - 000275f0
(XEN)
(XEN) MODULE[0]: 9200 - 92042000 Device Tree
(XEN) MODULE[1]: 8200 - 83378e28 Kernel
(XEN)  RESVD[0]: 8000 - 8001
(XEN)  RESVD[1]: 9200 - 92042000
(XEN)
(XEN) Command line: sync_console console=dtuart dtuart=/serial@310 
earlyprintk=xen dom0_mem=800M
(XEN) Placing Xen at 0x000275c0-0x000275e0
(XEN) Update BOOTMOD_XEN from 8000-80112d81 => 
000275c0-000275d12d81
(XEN) Domain heap initialised
(XEN) Booting using Device Tree
(XEN) Platform: Generic System
(XEN) Looking for dtuart at "/serial@3 Xen 4.9.0
(XEN) Xen version 4.9.0 (root@) (gcc (Ubuntu/Linaro 5.3.1-14ubuntu2.1) 5.3.1 
20160413) debug=y  Mon Dec 18 21:49:04 UTC 2017
(XEN) Latest ChangeSet:
(XEN) Console output is synchronous.
(XEN) Processor: 411fd073: "ARM Limited", variant: 0x1, part 0xd07, rev 0x3
(XEN) 64-bit Execution:
(XEN)   Processor Features:  
(XEN) Exception Levels: EL3:64+32 EL2:64+32 EL1:64+32 EL0:64+32
(XEN) Extensions: FloatingPoint AdvancedSIMD
(XEN)   Debug Features: 10305106 
(XEN)   Auxiliary Features:  
(XEN)   Memory Model Features: 1124 
(XEN)   ISA Features:  00011120 
(XEN) 32-bit Execution:
(XEN)   Processor Features: 0131:00011011
(XEN) Instruction Sets: AArch32 A32 Thumb Thumb-2 Jazelle
(XEN) Extensions: GenericTimer Security
(XEN)   Debug Features: 03010066
(XEN)   Auxiliary Features: 
(XEN)   M

[Xen-devel] Fw: Boot Xen on Jetson TX2

2017-12-22 Thread Wang, Baoqian




From: Wang, Baoqian
Sent: Thursday, December 21, 2017 7:53 PM
To: Andrii Anisov
Subject: Re: [Xen-devel] Boot Xen on Jetson TX2


I also dumped domain0 info, it shows :


VCPU information and callbacks for domain 0:
(XEN) VCPU0: CPU0 [has=F] poll=0 upcall_pend=00 upcall_mask=01 dirty_cpus={}
(XEN) cpu_hard_affinity={0} cpu_soft_affinity={0}
(XEN) pause_count=0 pause_flags=0
(XEN) GICH_LRs (vcpu 0) mask=0
(XEN)VCPU_LR[0]=0
(XEN)VCPU_LR[1]=0
(XEN)VCPU_LR[2]=0
(XEN)VCPU_LR[3]=0
(XEN) No periodic timer


There is not periodic timer and the CPU0[has=F], is this the problem?



From: Wang, Baoqian
Sent: Thursday, December 21, 2017 7:24:02 PM
To: Andrii Anisov
Subject: Re: [Xen-devel] Boot Xen on Jetson TX2


Hi Andrii,


Thanks for your reply. I tried your suggestions and got the following messages. 
 The PC is a008 where the kernel image is loaded.  The X0 is a800 where 
dtb is loaded. It seems that vcpu did not even execute the zImage.  Other 
things looks normal. is it possible something wrong  with the domain0 kernel or 
the memory address where it is loaded.  Any other suggestions? Thank you!

Baoqian Wang


(XEN) *** Dumping Dom0 vcpu#0 state: ***
(XEN) [ Xen-4.9.0  arm64  debug=y   Not tainted ]
(XEN) CPU:0
(XEN) PC: a008
(XEN) LR: 
(XEN) SP_EL0: 
(XEN) SP_EL1: 
(XEN) CPSR:   01c5 MODE:64-bit EL1h (Guest Kernel, handler)
(XEN)  X0: a800  X1:   X2: 
(XEN)  X3:   X4:   X5: 
(XEN)  X6:   X7:   X8: 
(XEN)  X9:  X10:  X11: 
(XEN) X12:  X13:  X14: 
(XEN) X15:  X16:  X17: 
(XEN) X18:  X19:  X20: 
(XEN) X21:  X22:  X23: 
(XEN) X24:  X25:  X26: 
(XEN) X27:  X28:   FP: 
(XEN)
(XEN)ELR_EL1: 
(XEN)ESR_EL1: 
(XEN)FAR_EL1: 
(XEN)
(XEN)  SCTLR_EL1: 00c50838
(XEN)TCR_EL1: 
(XEN)  TTBR0_EL1: 
(XEN)  TTBR1_EL1: 
(XEN)
(XEN)   VTCR_EL2: 80043594
(XEN)  VTTBR_EL2: 0001000275d33000
(XEN)
(XEN)  SCTLR_EL2: 30cd183d
(XEN)HCR_EL2: 8038663f
(XEN)  TTBR0_EL2: 000275cfe000

(XEN)ESR_EL2: 820d
(XEN)  HPFAR_EL2: 
(XEN)FAR_EL2: a008
(XEN)
(XEN) Guest stack trace from sp=0:
(XEN)   Failed to convert stack to physical address
(XEN) '0' pressed -> dumping Dom0's registers





From: Andrii Anisov 
Sent: Thursday, December 21, 2017 3:16:01 AM
To: Wang, Baoqian; xen-devel@lists.xenproject.org
Subject: Re: [Xen-devel] Boot Xen on Jetson TX2

Hello Wang,


On 20.12.17 23:29, Wang, Baoqian wrote:
> (XEN) 3... 2... 1...
> (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch
> input to Xen)
> (XEN) Freed 288kB init memory.
Try switching to XEN console now. Hit Ctrl-a three (six with minicom)
times, then '0'.

--

*Andrii Anisov*

*
*

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel