• L
    Implement the qemu-kvm backend of clock timer elements · 8bf6799b
    Laine Stump 提交于
    Since the timers are defined to cover all possible config cases for
    several different hypervisors, many of these possibilities generate an
    error on qemu. Here is what is currently supported:
    
    RTC: If the -rtc commandline option is available, allow setting
    "clock=host"
         or "clock=vm" based on the rtc timer clock='host|guest' value. Also
         add "driftfix=slew" if the tickpolicy is 'catchup', or add nothing
    if
         tickpolicy is 'delay'. (Other tickpolicies will raise an error).
    
         If -rtc isn't available, but -rtc-td-hack is, add that option
         if the tickpolicy is 'catchup', add -rtc-td-hack, if it is 'delay'
         add nothing, and if it's anything else, raise an error.
    
    PIT: If -no-kvm-pit-reinjection is available, and tickpolicy is
         'delay', add that option. if tickpolicy is 'catchup', do
         nothing. Anything else --> raise an error.
    
         If -no-kvm-pit-reinjection *isn't* available, but -tdf is, when
         tickpolicy is 'catchup' add -tdf. If it's 'delay', do
         nothing. Anything else --> raise an error.
    
         If neither of those commandline options is available, and
         tickpolicy is anything other than 'delay' (or unspecified), raise
         an error.
    
    HPET: If -no-hpet flag is available and present='no', add -no-hpet.
          If -no-hpet is not available, and present='yes', raise an error.
          If present is unspecified, the default is to do whatever this
          particular qemu does by default, so don't raise an error.
    
    All other timer types are unsupported by QEMU, so they will raise an
    error.
    
    * src/qemu/qemu_conf.c: extend qemuBuildClockArgStr() to generate the
      command line arguments for the new options
    8bf6799b
qemu_conf.c 190.1 KB