Displaying 5 results from an estimated 5 matches for "get_tsc".
2007 Apr 18
1
[RFC, PATCH 21/24] i386 Vmi proc node
...;
+
+struct pnp_header {
+ char sig[4];
+ char rev;
+ char size;
+ short next;
+ short res;
+ long devID;
+ unsigned short manufacturer_offset;
+ unsigned short product_offset;
+} __attribute__((packed));
+
+/* XXX This hack can only be used with passthrough TSC */
+static inline unsigned long long get_tsc(void)
+{
+ unsigned long long tsc;
+ asm volatile("rdtsc" : "=&A" (tsc));
+ return tsc;
+}
+
+static unsigned long long hypercall_cycles = 0xffffffffULL;
+static void time_hypercall(void)
+{
+ unsigned long long tsc_start, tsc_end, cycles;
+ int i;
+ for...
2007 Apr 18
1
[RFC, PATCH 21/24] i386 Vmi proc node
...;
+
+struct pnp_header {
+ char sig[4];
+ char rev;
+ char size;
+ short next;
+ short res;
+ long devID;
+ unsigned short manufacturer_offset;
+ unsigned short product_offset;
+} __attribute__((packed));
+
+/* XXX This hack can only be used with passthrough TSC */
+static inline unsigned long long get_tsc(void)
+{
+ unsigned long long tsc;
+ asm volatile("rdtsc" : "=&A" (tsc));
+ return tsc;
+}
+
+static unsigned long long hypercall_cycles = 0xffffffffULL;
+static void time_hypercall(void)
+{
+ unsigned long long tsc_start, tsc_end, cycles;
+ int i;
+ for...
2013 Oct 28
5
FreeBSD PVH guest support
...re.s:
* Reserve space for the hypercall page.
sys/i386/i386/machdep.c:
* Create a generic DELAY function.
sys/i386/xen/xen_machdep.c:
* Set HYPERVISOR_start_info.
sys/x86/isa/clock.c:
* Rename the generic DELAY function to i8254_delay.
sys/x86/x86/delay.c:
* Put generic delay helpers here, get_tsc and delay_tc.
sys/x86/x86/local_apic.c:
* Prevent the local apic from attaching when running on PVH mode.
sys/x86/xen/hvm.c:
* Set the start_all_aps hook.
* Fix the setting of the hypercall page now that we are using the
same mechanism as the PV port.
* Initialize Xen CPU hooks for the PVH...
2007 Apr 18
1
[RFC, PATCH 24/24] i386 Vmi no idle hz
...t product_offset;
} __attribute__((packed));
+#ifdef CONFIG_NO_IDLE_HZ
+extern DEFINE_PER_CPU(unsigned long, vmi_idle_no_hz_irqs);
+extern DEFINE_PER_CPU(unsigned long, vmi_idle_no_hz_jiffies);
+#endif
+
/* XXX This hack can only be used with passthrough TSC */
static inline unsigned long long get_tsc(void)
{
@@ -123,6 +128,21 @@ static int proc_vmi_info_show(struct seq
time_page_fault();
seq_printf(m, "Kernel #PF cycle count: %lld\n", page_fault_cycles);
+#ifdef CONFIG_NO_IDLE_HZ
+ {
+ int i;
+ seq_printf(m, "Idle HZ:");
+ for_each_cpu(i) {
+ /* Shouldn't go idl...
2007 Apr 18
1
[RFC, PATCH 24/24] i386 Vmi no idle hz
...t product_offset;
} __attribute__((packed));
+#ifdef CONFIG_NO_IDLE_HZ
+extern DEFINE_PER_CPU(unsigned long, vmi_idle_no_hz_irqs);
+extern DEFINE_PER_CPU(unsigned long, vmi_idle_no_hz_jiffies);
+#endif
+
/* XXX This hack can only be used with passthrough TSC */
static inline unsigned long long get_tsc(void)
{
@@ -123,6 +128,21 @@ static int proc_vmi_info_show(struct seq
time_page_fault();
seq_printf(m, "Kernel #PF cycle count: %lld\n", page_fault_cycles);
+#ifdef CONFIG_NO_IDLE_HZ
+ {
+ int i;
+ seq_printf(m, "Idle HZ:");
+ for_each_cpu(i) {
+ /* Shouldn't go idl...