#include <xen/cpu.h>
#include <asm/nmi.h>
#include <asm/alternative.h>
+#include <asm/mc146818rtc.h>
/* opt_nosmp: If true, secondary processors are ignored. */
static bool_t __initdata opt_nosmp;
rc = rangeset_report_ranges(d->arch.ioport_caps, 0, 0x10000,
io_bitmap_cb, d);
BUG_ON(rc);
+ /*
+ * NB: we need to trap accesses to 0xcf8 in order to intercept
+ * 4 byte accesses, that need to be handled by Xen in order to
+ * keep consistency.
+ * Access to 1 byte RTC ports also needs to be trapped in order
+ * to keep consistency with PV.
+ */
+ __set_bit(0xcf8, d->arch.hvm_domain.io_bitmap);
+ __set_bit(RTC_PORT(0), d->arch.hvm_domain.io_bitmap);
+ __set_bit(RTC_PORT(1), d->arch.hvm_domain.io_bitmap);
}
}