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

[XenARM] Porting xen-arm to an OMAP3 architecture


  • To: "xen-arm@xxxxxxxxxxxxx" <xen-arm@xxxxxxxxxxxxx>
  • From: Robert VanVossen <Robert.VanVossen@xxxxxxxxxxxxxxx>
  • Date: Thu, 18 Oct 2012 15:07:57 +0000
  • Accept-language: en-US
  • Delivery-date: Thu, 18 Oct 2012 15:08:56 +0000
  • List-id: List for Xen ARM developers and users <xen-arm.lists.xen.org>
  • Thread-index: Ac2tQlrH3RZrcn2PSg61RgAiSKowTw==
  • Thread-topic: Porting xen-arm to an OMAP3 architecture

I am in the process of trying to port the xen-arm build targeted for the Tegra 250 to an OMAP3 architecture. I am running into problems at a couple of places. The first problem I ran into happened while trying to create the xenheap. I was getting the following message:

 

“Unpredicted predecessor merge : order = 10, page = 0x80000”

 

I was able to fix this by increasing the registered memory bank size from 0x0400 0000 to 0x1000 0000. Continuing on, I faced another memory problem when constructing domain 0. I get the following error:

 

“Not enough RAM for domain 0 allocation.”

 

I tried increasing the registered memory bank size even more, but I end up having the problem while initializing the xenheap again, only it happens with an order of 11 instead of 10.  It seems that my problem is with the memory mapping/allocation, but I am not entirely sure where everything needs to be and why. Can anyone tell me what I am doing incorrectly with my memory mapping?

 

Memory setup:

 

From platform.S

 

static void omap3_memory_init(void)

{

                register_memory_bank(0x80300000, 0x10000000);

}

 

From start.S

 

mem_map_table:

                MAP_ENTRY(0x80300000, 0x80300000, 1020, PDE_TYPE_HYPERVISOR)  

                MAP_ENTRY(0xFF000000, MEMMAP_HYPERVISOR_BASE, 16, PDE_TYPE_HYPERVISOR)

                MAP_ENTRY(0xE0000000, 0x48000000, 16,           PDE_TYPE_IO)                                   /* L4-Core                           */

                MAP_ENTRY(0xE1000000, 0x49000000, 1,              PDE_TYPE_IO)                                   /* L4-Per                             */

                MAP_ENTRY(0xE1100000, 0x68000000, 1,              PDE_TYPE_IO)                                                   /* L3-Control     */

                MAP_ENTRY(0xE1200000, 0x6C000000, 1,             PDE_TYPE_IO)                                                   /* L3-SMS                           */

                MAP_ENTRY(0xE1300000, 0x5C000000, 16,           PDE_TYPE_IO)

                MAP_ENTRY(0,0,0,0)

 

From memap.h

 

#define MEMMAP_HYPERVISOR_LIMIT                                (0xA0000000)

#define MEMMAP_HYPERVISOR_SIZE                                   (0x00B00000)

#define MEMMAP_HYPERVISOR_BASE                                 (0x80300000)

 

#define MEMMAP_GUEST0_PARTITION_BASE                 (MEMMAP_HYPERVISOR_BASE + MEMMAP_HYPERVISOR_SIZE)

#define MEMMAP_GUEST0_PARTITION_SIZE                   (0x10000000)

#define MEMMAP_GUEST0_PARTITION_LIMIT                (MEMMAP_GUEST0_PARTITION_BASE + MEMMAP_GUEST0_PARTITION_SIZE)

 

#define MEMMAP_GUEST0_IMAGE_SIZE                           (0x0180000)

#define MEMMAP_GUEST0_RAMDISK_SIZE                      (0x00400000)

 

#define MEMMAP_GUEST0_IMAGE_BASE                         (MEMMAP_GUEST0_PARTITION_LIMIT - MEMMAP_GUEST0_IMAGE_SIZE)

 

 

OMAP3 Memory Map:

 

0x0000 0000 – 0x3FFF FFFF                           Boot space GPMC (Seems unusable)

0x4000 0000 – 0x47FF FFFF                           On-chip Memory (Seems unusable)

0x4800 0000 – 0x6FFF FFFF                           Various peripherals, registers, and configurations

0x7000 0000 – 0x7FFF FFFF                           Virtual Address space 0

0x8000 0000 – 0xBFFF FFFF                          SDRAM

0xE000 0000 – 0xFFFF FFFF                           Virtual Address space 1

 

 

Thanks,

Robbie VanVossen

 

_______________________________________________
Xen-arm mailing list
Xen-arm@xxxxxxxxxxxxx
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-arm

 


Rackspace

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