ia64: configure VHPT size per domain: common part

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
This commit is contained in:
Keir Fraser committed 2007-10-19 09:27:55 +01:00
1 parent c5b3b0a7f0
commit 753df0d608
9 files changed
+41 -6

No files matched your search

+1 -1
View File
@@ -127,7 +127,7 @@ XENAPI_PLATFORM_CFG = [ 'acpi', 'apic', 'boot', 'device_model', 'display',
'nographic', 'pae', 'rtc_timeoffset', 'serial', 'sdl',
'soundhw','stdvga', 'usb', 'usbdevice', 'vnc',
'vncconsole', 'vncdisplay', 'vnclisten',
'vncpasswd', 'vncunused', 'xauthority', 'pci']
'vncpasswd', 'vncunused', 'xauthority', 'pci', 'vhpt']
# Xen API console 'other_config' keys.
XENAPI_CONSOLE_OTHER_CFG = ['vncunused', 'vncdisplay', 'vnclisten',
+2
View File
@@ -43,6 +43,8 @@ HVM_PARAM_STORE_EVTCHN = 2
HVM_PARAM_PAE_ENABLED = 4
HVM_PARAM_IOREQ_PFN = 5
HVM_PARAM_BUFIOREQ_PFN = 6
HVM_PARAM_NVRAM_FD = 7
HVM_PARAM_VHPT_SIZE = 8
restart_modes = [
"restart",
+21 -2
View File
@@ -197,6 +197,7 @@ class ImageHandler:
class LinuxImageHandler(ImageHandler):
ostype = "linux"
flags = 0
def buildDomain(self):
store_evtchn = self.vm.getStorePort()
@@ -213,6 +214,8 @@ class LinuxImageHandler(ImageHandler):
log.debug("ramdisk = %s", self.ramdisk)
log.debug("vcpus = %d", self.vm.getVCpuCount())
log.debug("features = %s", self.vm.getFeatures())
if arch.type == "ia64":
log.debug("vhpt = %d", self.flags)
return xc.linux_build(domid = self.vm.getDomid(),
memsize = mem_mb,
@@ -221,7 +224,8 @@ class LinuxImageHandler(ImageHandler):
console_evtchn = console_evtchn,
cmdline = self.cmdline,
ramdisk = self.ramdisk,
features = self.vm.getFeatures())
features = self.vm.getFeatures(),
flags = self.flags)
class PPC_LinuxImageHandler(LinuxImageHandler):
@@ -500,8 +504,13 @@ class HVMImageHandler(ImageHandler):
class IA64_HVM_ImageHandler(HVMImageHandler):
def configure(self, vmConfig):
HVMImageHandler.configure(self, vmConfig)
self.vhpt = int(vmConfig['platform'].get('vhpt', 0))
def buildDomain(self):
xc.nvram_init(self.vm.getName(), self.vm.getDomid())
xc.hvm_set_param(self.vm.getDomid(), HVM_PARAM_VHPT_SIZE, self.vhpt)
return HVMImageHandler.buildDomain(self)
def getRequiredAvailableMemory(self, mem_kb):
@@ -518,6 +527,16 @@ class IA64_HVM_ImageHandler(HVMImageHandler):
# Explicit shadow memory is not a concept
return 0
class IA64_Linux_ImageHandler(LinuxImageHandler):
def configure(self, vmConfig):
LinuxImageHandler.configure(self, vmConfig)
self.vhpt = int(vmConfig['platform'].get('vhpt', 0))
def buildDomain(self):
self.flags = self.vhpt
return LinuxImageHandler.buildDomain(self)
class X86_HVM_ImageHandler(HVMImageHandler):
def configure(self, vmConfig):
@@ -562,7 +581,7 @@ _handlers = {
"linux": PPC_LinuxImageHandler,
},
"ia64": {
"linux": LinuxImageHandler,
"linux": IA64_Linux_ImageHandler,
"hvm": IA64_HVM_ImageHandler,
},
"x86": {
+8 -1
View File
@@ -210,6 +210,10 @@ gopts.var('vcpu_avail', val='VCPUS',
fn=set_long, default=None,
use="Bitmask for virtual CPUs to make available immediately.")
gopts.var('vhpt', val='VHPT',
fn=set_int, default=0,
use="Log2 of domain VHPT size for IA64.")
gopts.var('cpu_cap', val='CAP',
fn=set_int, default=None,
use="""Set the maximum amount of cpu.
@@ -555,7 +559,10 @@ def configure_image(vals):
if vals.builder == 'hvm':
configure_hvm(config_image, vals)
if vals.vhpt != 0:
config_image.append(['vhpt', vals.vhpt])
return config_image
def configure_disks(config_devs, vals):
+1 -1
View File
@@ -818,7 +818,7 @@ class sxp2xml:
def extract_platform(self, image, document):
platform_keys = ['acpi', 'apic', 'pae']
platform_keys = ['acpi', 'apic', 'pae', 'vhpt']
def extract_platform_key(key):
platform = document.createElement("platform")
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.