]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
lxc: Add HPET device into allowed devices
authorJulio Faracco <jcfaracco@gmail.com>
Mon, 2 Mar 2020 00:54:13 +0000 (21:54 -0300)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 17 Mar 2020 18:03:00 +0000 (19:03 +0100)
This commit is related to RTC timer device too. HPET is being shared
from host device through `localtime` clock. This timer is available
creating a new timer using `hpet` name.

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
docs/formatdomain.html.in
src/lxc/lxc_cgroup.c
src/lxc/lxc_controller.c

index 180afe4333c6d848b6449c7cb9f1ab4dad9618cd..0d229386eb5e09e0bb291c9002ac63ec566a2ca5 100644 (file)
             The <code>name</code> attribute selects which timer is
             being modified, and can be one of
             "platform" (currently unsupported),
-            "hpet" (libxl, xen, qemu), "kvmclock" (qemu),
+            "hpet" (libxl, xen, qemu, lxc), "kvmclock" (qemu),
             "pit" (qemu), "rtc" (qemu, lxc), "tsc" (libxl, qemu -
             <span class="since">since 3.2.0</span>), "hypervclock"
             (qemu - <span class="since">since 1.2.2</span>) or
index 06605cb9baadbab9db7e05b6ef1aa4ee319b5bbf..7df723a4daea421fe891cf7ecb4b494e5ab81508 100644 (file)
@@ -350,13 +350,15 @@ static int virLXCCgroupSetupDeviceACL(virDomainDefPtr def,
         case VIR_DOMAIN_TIMER_NAME_KVMCLOCK:
         case VIR_DOMAIN_TIMER_NAME_HYPERVCLOCK:
         case VIR_DOMAIN_TIMER_NAME_PIT:
-        case VIR_DOMAIN_TIMER_NAME_HPET:
         case VIR_DOMAIN_TIMER_NAME_ARMVTIMER:
         case VIR_DOMAIN_TIMER_NAME_LAST:
             break;
         case VIR_DOMAIN_TIMER_NAME_RTC:
             dev = "/dev/rtc0";
             break;
+        case VIR_DOMAIN_TIMER_NAME_HPET:
+            dev = "/dev/hpet";
+            break;
         }
 
         if (!dev)
index 85986babb8209d099b22959c559efdff122c9d20..453b435dd683dbebc430f5edd925ecc316366717 100644 (file)
@@ -1557,7 +1557,6 @@ virLXCControllerSetupTimers(virLXCControllerPtr ctrl)
         case VIR_DOMAIN_TIMER_NAME_KVMCLOCK:
         case VIR_DOMAIN_TIMER_NAME_HYPERVCLOCK:
         case VIR_DOMAIN_TIMER_NAME_PIT:
-        case VIR_DOMAIN_TIMER_NAME_HPET:
         case VIR_DOMAIN_TIMER_NAME_ARMVTIMER:
         case VIR_DOMAIN_TIMER_NAME_LAST:
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
@@ -1569,6 +1568,11 @@ virLXCControllerSetupTimers(virLXCControllerPtr ctrl)
             path = g_strdup_printf("/%s/%s.dev/%s", LXC_STATE_DIR,
                                    def->name, "/rtc");
             break;
+        case VIR_DOMAIN_TIMER_NAME_HPET:
+            timer_dev = "/dev/hpet";
+            path = g_strdup_printf("/%s/%s.dev/%s", LXC_STATE_DIR,
+                                   ctrl->def->name, "/hpet");
+            break;
         }
 
         if (!timer_dev)