View | Details | Raw Unified | Return to bug 212681 | Differences between
and this patch

Collapse All | Expand All

(-)b/sys/dev/xen/timer/timer.c (-3 / +14 lines)
Lines 86-91 static devclass_t xentimer_devclass; Link Here
86
86
87
#define	XENTIMER_QUALITY	950
87
#define	XENTIMER_QUALITY	950
88
88
89
static int xen_disable_pv_et = 0;
90
static int xen_disable_pv_tc = 0;
91
static int xen_disable_pv_clk = 0;
92
TUNABLE_INT("hw.xen.disable_pv_et", &xen_disable_pv_et);
93
TUNABLE_INT("hw.xen.disable_pv_tc", &xen_disable_pv_tc);
94
TUNABLE_INT("hw.xen.disable_pv_clk", &xen_disable_pv_clk);
95
96
89
struct xentimer_pcpu_data {
97
struct xentimer_pcpu_data {
90
	uint64_t timer;
98
	uint64_t timer;
91
	uint64_t last_processed;
99
	uint64_t last_processed;
Lines 412-418 xentimer_attach(device_t dev) Link Here
412
	sc->et.et_start = xentimer_et_start;
420
	sc->et.et_start = xentimer_et_start;
413
	sc->et.et_stop = xentimer_et_stop;
421
	sc->et.et_stop = xentimer_et_stop;
414
	sc->et.et_priv = sc;
422
	sc->et.et_priv = sc;
415
	et_register(&sc->et);
423
	if (!xen_disable_pv_et)
424
		et_register(&sc->et);
416
425
417
	/* Register the timecounter. */
426
	/* Register the timecounter. */
418
	sc->tc.tc_name = "XENTIMER";
427
	sc->tc.tc_name = "XENTIMER";
Lines 427-436 xentimer_attach(device_t dev) Link Here
427
	sc->tc.tc_counter_mask = ~0u;
436
	sc->tc.tc_counter_mask = ~0u;
428
	sc->tc.tc_get_timecount = xentimer_get_timecount;
437
	sc->tc.tc_get_timecount = xentimer_get_timecount;
429
	sc->tc.tc_priv = sc;
438
	sc->tc.tc_priv = sc;
430
	tc_init(&sc->tc);
439
	if (!xen_disable_pv_tc)
440
		tc_init(&sc->tc);
431
441
432
	/* Register the Hypervisor wall clock */
442
	/* Register the Hypervisor wall clock */
433
	clock_register(dev, XENCLOCK_RESOLUTION);
443
	if (!xen_disable_pv_clk)
444
		clock_register(dev, XENCLOCK_RESOLUTION);
434
445
435
	return (0);
446
	return (0);
436
}
447
}
(-)b/sys/x86/xen/xen_apic.c (+7 lines)
Lines 55-60 __FBSDID("$FreeBSD$"); Link Here
55
55
56
#include <xen/interface/vcpu.h>
56
#include <xen/interface/vcpu.h>
57
57
58
/*------------------------------ Sysctl tunables -----------------------------*/
59
static int xen_disable_pv_ipi = 0;
60
TUNABLE_INT("hw.xen.disable_pv_ipi", &xen_disable_pv_ipi);
61
58
/*--------------------------------- Macros -----------------------------------*/
62
/*--------------------------------- Macros -----------------------------------*/
59
63
60
#define XEN_APIC_UNSUPPORTED \
64
#define XEN_APIC_UNSUPPORTED \
Lines 524-529 xen_setup_cpus(void) Link Here
524
{
528
{
525
	int i;
529
	int i;
526
530
531
	if (xen_disable_pv_ipi)
532
		return;
533
527
	if (!xen_vector_callback_enabled)
534
	if (!xen_vector_callback_enabled)
528
		return;
535
		return;
529
536

Return to bug 212681