DEFINE_SPINLOCK(rtc_lock);
EXPORT_SYMBOL(rtc_lock);
+#ifndef CONFIG_XEN_UNPRIVILEGED_GUEST
/*
* In order to set the CMOS clock precisely, set_rtc_mmss has to be
* called 500 ms after the second nowtime has started, because when
return mktime(year, mon, day, hour, min, sec);
}
+#endif /* CONFIG_XEN_UNPRIVILEGED_GUEST */
/* Routines for accessing the CMOS RAM/RTC. */
unsigned char rtc_cmos_read(unsigned char addr)
EXPORT_SYMBOL(native_read_tsc);
+#ifndef CONFIG_XEN_UNPRIVILEGED_GUEST
static struct resource rtc_resources[] = {
[0] = {
.start = RTC_PORT(0),
if (mrst_identify_cpu())
return -ENODEV;
+#ifdef CONFIG_XEN
+ if (!is_initial_xendomain())
+ return -ENODEV;
+#endif
+
platform_device_register(&rtc_device);
dev_info(&rtc_device.dev,
"registered platform RTC device (no PNP device found)\n");
return 0;
}
device_initcall(add_rtc_cmos);
+#endif /* CONFIG_XEN_UNPRIVILEGED_GUEST */