cli: --clock: add timer[0-9]*.{name,present,tickpolicy}

This commit is contained in:
Cole Robinson 2019-05-12 19:24:36 -04:00
parent 20e60603d8
commit 721ac4f745
3 changed files with 22 additions and 4 deletions

View File

@ -120,7 +120,9 @@
</cpu>
<clock offset="utc">
<timer name="rtc" tickpolicy="merge"/>
<timer name="hpet" present="no"/>
<timer name="hpet" present="yes"/>
<timer name="hypervclock" present="no"/>
<timer name="pit" tickpolicy="delay"/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>destroy</on_reboot>
@ -315,7 +317,9 @@
</cpu>
<clock offset="utc">
<timer name="rtc" tickpolicy="merge"/>
<timer name="hpet" present="no"/>
<timer name="hpet" present="yes"/>
<timer name="hypervclock" present="no"/>
<timer name="pit" tickpolicy="delay"/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>

View File

@ -439,7 +439,7 @@ cache.mode=emulate,cache.level=3 \
--blkiotune weight=100,device_path=/home/test/1.img,device_weight=200 \
--memorybacking size=1,unit='G',nodeset='1,2-5',nosharepages=yes,locked=yes,access_mode=shared,source_type=anonymous \
--features acpi=off,eoi=on,privnet=on,hyperv_synic=on,hyperv_reset=on,hyperv_spinlocks=on,hyperv_spinlocks_retries=1234,vmport=off,pmu=off,vmcoreinfo=on \
--clock offset=utc,hpet_present=no,rtc_tickpolicy=merge \
--clock offset=utc,hpet_present=no,rtc_tickpolicy=merge,timer2.name=hypervclock,timer3.name=pit,timer1.present=yes,timer3.tickpolicy=delay,timer2.present=no \
--sysinfo type=smbios,bios_vendor="Acme LLC",bios_version=1.2.3,bios_date=01/01/1970,bios_release=10.22 \
--sysinfo type=smbios,system_manufacturer="Acme Inc.",system_product=Computer,system_version=3.2.1,system_serial=123456789,system_uuid=00000000-1111-2222-3333-444444444444,system_sku=abc-123,system_family=Server \
--sysinfo type=smbios,baseBoard_manufacturer="Acme Corp.",baseBoard_product=Motherboard,baseBoard_version=A01,baseBoard_serial=1234-5678,baseBoard_asset=Tag,baseBoard_location=Chassis \

View File

@ -2244,11 +2244,19 @@ class ParserClock(VirtCLIParser):
util.set_prop_path(timerobj, propname, val)
def timer_find_inst_cb(self, *args, **kwargs):
cliarg = "timer" # timer[0-9]*
list_propname = "timers" # clock.timers
cb = self._make_find_inst_cb(cliarg, list_propname)
return cb(*args, **kwargs)
@classmethod
def _init_class(cls, **kwargs):
VirtCLIParser._init_class(**kwargs)
# Timer convenience helpers
# Timer convenience helpers. It's unclear if we should continue
# extending this pattern, or just push users to use finegrained
# timer* config
cls.add_arg("pit_tickpolicy", None, lookup_cb=None,
cb=cls.set_timer)
cls.add_arg("rtc_tickpolicy", None, lookup_cb=None,
@ -2270,6 +2278,12 @@ class ParserClock(VirtCLIParser):
# Standard XML options
cls.add_arg("offset", "offset")
cls.add_arg("timer[0-9]*.name", "name",
find_inst_cb=cls.timer_find_inst_cb)
cls.add_arg("timer[0-9]*.present", "present", is_onoff=True,
find_inst_cb=cls.timer_find_inst_cb)
cls.add_arg("timer[0-9]*.tickpolicy", "tickpolicy",
find_inst_cb=cls.timer_find_inst_cb)
################