Dynamic generation of pager size

This commit is contained in:
Amit Mahajan
2009-11-01 23:41:49 +05:30
parent 8d9f5f82d0
commit 55eb6260c3
8 changed files with 93 additions and 41 deletions

View File

@@ -33,7 +33,6 @@ CONT%(cn)d_VIRT5_END 'Container %(cn)d Virtual Region 5 End Address'
CONT%(cn)d_PAGER_LMA 'Container %(cn)d Pager LMA'
CONT%(cn)d_PAGER_VMA 'Container %(cn)d Pager VMA'
CONT%(cn)d_PAGER_MAPSIZE 'Container %(cn)d Pager Initial Map Size (Optional)'
CONT%(cn)d_PAGER_SHM_START 'Container %(cn)d Shared Mappings Region Start'
CONT%(cn)d_PAGER_SHM_END 'Container %(cn)d Shared Mappings Region End'
CONT%(cn)d_PAGER_TASK_START 'Container %(cn)d Task Address Space Region Start'
@@ -44,11 +43,9 @@ CONT%(cn)d_LINUX_ZRELADDR 'Container %(cn)d Linux ZRELADDR parameter'
CONT%(cn)d_LINUX_PAGE_OFFSET 'Container %(cn)d Linux PAGE_OFFSET Parameter'
CONT%(cn)d_LINUX_PHYS_OFFSET 'Container %(cn)d Linux PHYS_OFFSET Parameter'
CONT%(cn)d_LINUX_ROOTFS_ADDRESS 'Container %(cn)d Linux ROOTFS Address'
CONT%(cn)d_LINUX_MAPSIZE 'Container %(cn)d Linux Initial Kernel Map Size Parameter'
default CONT%(cn)d_PAGER_LMA from 0x0
default CONT%(cn)d_PAGER_VMA from 0x0
default CONT%(cn)d_PAGER_MAPSIZE from 0x0
default CONT%(cn)d_PAGER_SHM_START from 0x0
default CONT%(cn)d_PAGER_SHM_END from 0x0
default CONT%(cn)d_PAGER_TASK_START from 0x0
@@ -59,7 +56,6 @@ default CONT%(cn)d_LINUX_ZRELADDR from 0x0
default CONT%(cn)d_LINUX_PAGE_OFFSET from 0x0
default CONT%(cn)d_LINUX_PHYS_OFFSET from 0x0
default CONT%(cn)d_LINUX_ROOTFS_ADDRESS from 0x0
default CONT%(cn)d_LINUX_MAPSIZE from 0x0
default CONT%(cn)d_VIRTMEM_REGIONS from 1
default CONT%(cn)d_PHYSMEM_REGIONS from 1
@@ -138,7 +134,6 @@ cont%(cn)d_posix_pager_params 'Container %(cn)d POSIX Pager Parameters'
menu cont%(cn)d_bare_pager_params
CONT%(cn)d_PAGER_LMA@
CONT%(cn)d_PAGER_VMA@
CONT%(cn)d_PAGER_MAPSIZE@
menu cont%(cn)d_posix_pager_params
CONT%(cn)d_PAGER_SHM_START@
@@ -154,7 +149,6 @@ menu cont%(cn)d_linux_pager_params
CONT%(cn)d_LINUX_PAGE_OFFSET@
CONT%(cn)d_LINUX_PHYS_OFFSET@
CONT%(cn)d_LINUX_ROOTFS_ADDRESS@
CONT%(cn)d_LINUX_MAPSIZE@
menu cont%(cn)d_virtmem_list
CONT%(cn)d_VIRTMEM_REGIONS%

View File

@@ -12,7 +12,6 @@ class Container:
self.id = id
self.pager_lma = 0
self.pager_vma = 0
self.pager_size = 0
self.pager_task_region_start = 0
self.pager_task_region_end = 0
self.pager_shm_region_start = 0
@@ -23,7 +22,6 @@ class Container:
self.linux_page_offset = 0
self.linux_phys_offset = 0
self.linux_rootfs_address = 0
self.linux_mapsize = 0
self.physmem = {}
self.physmem["START"] = {}
self.physmem["END"] = {}
@@ -45,7 +43,6 @@ class Container:
print 'Container Pager task region end: %s' % conv_hex(self.pager_task_region_end)
print 'Container Pager utcb region start: %s' % conv_hex(self.pager_utcb_region_start)
print 'Container Pager utcb region end: %s' % conv_hex(self.pager_utcb_region_end)
print 'Container Pager size: %s' % conv_hex(self.pager_size)
print 'Container Virtual regions: %s' % self.virt_regions
print 'Container Physical regions: %s' % self.phys_regions
@@ -143,10 +140,6 @@ class configuration:
self.containers[id].pager_task_region_start = int(val, 0)
elif param[:len("PAGER_TASK_END")] == "PAGER_TASK_END":
self.containers[id].pager_task_region_end = int(val, 0)
elif param[:len("PAGER_MAPSIZE")] == "PAGER_MAPSIZE":
self.containers[id].pager_size = int(val, 0)
elif param[:len("LINUX_MAPSIZE")] == "LINUX_MAPSIZE":
self.containers[id].linux_mapsize = int(val, 0)
elif param[:len("LINUX_PAGE_OFFSET")] == "LINUX_PAGE_OFFSET":
self.containers[id].linux_page_offset = int(val, 0)
self.containers[id].pager_vma += int(val, 0)