Booting more than 2 partition in Topaz Hypervisor

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Booting more than 2 partition in Topaz Hypervisor

1,382 次查看
amittomar
NXP Employee
NXP Employee

I'm trying to boot more than two Linux partition with Topaz and for the same added following into HV.dts file

Part3 {

                      compatible = "partition";

                      label = "p3-linux";

                      cpus = <23 1>;

                      guest-image = <0 0x78020000 0 0 0  0x700000>;

                      linux-rootfs = <0 0x79300000 0  0 0x01300000 0 0x02800000>;

                      dtb-window = <0 0x01000000 0 0x20000>;

                     no-dma-disable;

                     direct-guest-tlb-miss;

                     direct-guest-tlb-management;

                  gpma0 {

                          compatible = "guest-phys-mem-area";

                          phys-mem = <&lnx1_pma>;

                          guest-addr = <0 0>;

                  };

                  gpma1 {

                          compatible = "guest-phys-mem-area";

                          phys-mem = <&pma15>;    // Interpartition between Linux1 - Linux2

                          guest-addr = <0 0x80000000>;

                          node-update {

                                  delete-prop = "device_type";

                          };

                  };

};

Following are the boot logs

bootm 0x78700000 - 0x78800000

WARNING: adjusting available memory to 30000000

## Booting kernel from Legacy Image at 78700000 ...

   Image Name:  

   Created:      2014-09-11  15:12:51 UTC

   Image Type:   PowerPC Linux Kernel Image (uncompressed)

   Data Size:    430848 Bytes = 420.8 KiB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

## Flattened Device Tree blob at 78800000

   Booting using the fdt blob at 0x78800000

   Loading Kernel Image ... OK

OK

   Loading Device Tree to 03fde000, end 03fffc40 ... OK

[0] =======================================

[0] Freescale Hypervisor 1.3-009-dirty

[0] Hypervisor command line: config-addr=0x78900000 console= ttyS0,115200

[0] malloc_init: using 14344 KiB at 0x7f131150 - 0x7ff32fff

[0] malloc_init: using 812 KiB at 0x7ff34000 - 0x7fffefff

[0] dt_read_aliases: Alias pci1 points to non-existent /pcie@ffe250000

[0] assign_callback: device buffer-pool@7 in buffer-pool@7 not found

[0] assign_callback: device buffer-pool@8 in buffer-pool@8 not found

[0] assign_callback: device buffer-pool@9 in buffer-pool@9 not found

[0] assign_callback: device buffer-pool@16 in buffer-pool@16 not found

[0] assign_callback: device buffer-pool@17 in buffer-pool@17 not found

[0] assign_callback: device /fsl,dpaa/ethernet@16 in dpa-ethernet@16 not found

[0] assign_callback: device /fsl,dpaa/dpa-fman0-oh@1 in dpa-fman0-oh@1 not found

HV>                                                                                                                                  

[23] load_image: guest p3-linux: image #1 should specify a non-zero length

[22] Loading uImage from 0x79300000 to 0x1300000

[23] Loading uImage from 0x79300000 to 0

[23] load_uimage: image size exceeds target window

[23] guest p3-linux: could not load image

[0] Loading uImage from 0x79300000 to 0x1300000

[23] Loading uImage from 0x78020000 to 0

[0] Loading uImage from 0x78020000 to 0

[22] Loading uImage from 0x78020000 to 0

[23] branching to guest p3-linux, 1 cpus

[22] branching to guest p2-linux, 1 cpus

[0] branching to guest p1-linux, 22 cpus

[0] guest p1-linux waiting for cpu 1...

HV> info

Partition   Name        State         Vcpus

-------------------------------------------

1           p1-linux    starting        22

2           p2-linux    running         1

3           p3-linux    running         1

Through info command, I can see third Partition is running but how do I make sure that third Partition is running fine as I see message from boot log.

[23] guest p3-linux: could not load image.

Please let me know is there any limitation on number of partition we can boot up using Topaz(max 24 Partition can be booted up on 24 VCPU's?)

PS: Some how I could not use mux servers to make sure that Partition are running well or not.

Thanks

Amit.

标记 (3)
0 项奖励
回复
3 回复数

1,054 次查看
yipingwang
NXP TechSupport
NXP TechSupport

Hello Amit,

You need to add more modification in hv.dts file, please refer to the following, you need to allocate a block of memory for partition3. Please refer to the memory map figure in Virtualization Solutions in Freescale Linux SDK(1)– Hypervisor(topaz), the physical memory includes hypervisor memory, shared memory and separate blocks of memory for all partitions.

   lnx1_pma: lnx1_pma {
           compatible = "phys-mem-area";
           addr = <0x0 0x00000000>;   // Linux
           size = <0x0 0x40000000>;   // 1GB
   };

   lnx2_pma: lnx2_pma {
           compatible = "phys-mem-area";
           addr = <0x0 0x40000000>;   // Linux
           size = <0x0 0x20000000>;   // 512MB
   };

The limitation for hv is core number and memory size, each partition at least contains one core and 512M memory, you also need to consider about hypervisor and shared memory.

You cannot use mux_server and socat to display each partition boot up log as I captured in the note doc?


Have a great day,
Yiping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复

1,054 次查看
daniel_ng
Contributor I

Hi Yiping,

Since the limitation for hv is core number and memory size, each partition at least contains one core and 512M memory. For a P4080ds system, would it be impossible to have 8 equal partitions created since we are limited by the 512M memory requirement?

Thanks

Daniel

0 项奖励
回复

1,054 次查看
scottwood
NXP Employee
NXP Employee

Topaz does *not* need 512 MiB in a partition.  Topaz doesn't care; you just need however much the guest OS and its workload require.  Also, Topaz and p4080 can support more than 4 GiB of RAM.

0 项奖励
回复