Displaying 12 results from an estimated 12 matches for "hypervisor_found".
2007 Apr 18
7
[RFC, PATCH 5/24] i386 Vmi code patching
...+#include <asm/processor.h>
+#include <asm/desc.h>
+#include <asm/io.h>
+#include <asm/highmem.h>
+#include <asm/pgtable.h>
+#include <vmi.h>
+
+extern char __VMI_END;
+extern char __VMI_START;
+extern char __VMI_SHARED;
+VROMHeader *vmi_rom = NULL;
+
+VMI_UINT8 hypervisor_found;
+
+/* Convenient macro for calling VMI functions indirectly in the ROM */
+typedef VMI_UINT32 __attribute__((regparm(1))) (VROMFUNC)(void);
+
+#define VROMFunc(table,func) \
+ (((VROMFUNC *)&(((VROMCallTable *)(table))->vromCall[(func)].f)) \
+ ())
+
+#define MNEM_PUSH_I 0x68
+#defi...
2007 Apr 18
7
[RFC, PATCH 5/24] i386 Vmi code patching
...+#include <asm/processor.h>
+#include <asm/desc.h>
+#include <asm/io.h>
+#include <asm/highmem.h>
+#include <asm/pgtable.h>
+#include <vmi.h>
+
+extern char __VMI_END;
+extern char __VMI_START;
+extern char __VMI_SHARED;
+VROMHeader *vmi_rom = NULL;
+
+VMI_UINT8 hypervisor_found;
+
+/* Convenient macro for calling VMI functions indirectly in the ROM */
+typedef VMI_UINT32 __attribute__((regparm(1))) (VROMFUNC)(void);
+
+#define VROMFunc(table,func) \
+ (((VROMFUNC *)&(((VROMCallTable *)(table))->vromCall[(func)].f)) \
+ ())
+
+#define MNEM_PUSH_I 0x68
+#defi...
2007 Apr 18
2
[RFC, PATCH 9/24] i386 Vmi smp support
...define DEFAULT_SEND_IPI (0)
+#endif
+
+int no_broadcast=DEFAULT_SEND_IPI;
+
+APState ap;
+
+void __init
+smpboot_startup_ipi_hook(int phys_apicid, unsigned long start_eip,
+ unsigned long start_esp)
+{
+ /* We require phys_acpicid to be the cpu number. */
+ if (hypervisor_found) {
+ /* Default everything to zero. This is fine for most GPRs. */
+ memset(&ap, 0, sizeof(APState));
+
+ /* Set up AP's per-cpu GDT. */
+ memcpy(get_cpu_gdt_table(phys_apicid), cpu_gdt_table,
+ GDT_SIZE);
+...
2007 Apr 18
2
[RFC, PATCH 9/24] i386 Vmi smp support
...define DEFAULT_SEND_IPI (0)
+#endif
+
+int no_broadcast=DEFAULT_SEND_IPI;
+
+APState ap;
+
+void __init
+smpboot_startup_ipi_hook(int phys_apicid, unsigned long start_eip,
+ unsigned long start_esp)
+{
+ /* We require phys_acpicid to be the cpu number. */
+ if (hypervisor_found) {
+ /* Default everything to zero. This is fine for most GPRs. */
+ memset(&ap, 0, sizeof(APState));
+
+ /* Set up AP's per-cpu GDT. */
+ memcpy(get_cpu_gdt_table(phys_apicid), cpu_gdt_table,
+ GDT_SIZE);
+...
2007 Apr 18
3
[RFC, PATCH 4/24] i386 Vmi inline implementation
...} while (0)
+
+#define VMI_NO_INPUT
+#define VMI_NO_OUTPUT
+
+struct vmi_annotation {
+ unsigned long vmi_call;
+ unsigned char *nativeEIP;
+ unsigned char *translationEIP;
+ unsigned char native_size;
+ unsigned char translation_size;
+ char nop_size;
+ unsigned char pad;
+};
+
+extern VMI_UINT8 hypervisor_found;
+extern VMI_UINT8 hypervisor_timer_found;
+extern struct vmi_annotation __vmi_annotation[], __vmi_annotation_end[];
+
+/* VMI function prototypes */
+#define VMICALL extern __attribute__((regparm(3)))
+
+VMICALL void VMI_SetPxE(VMI_UINT32 *ptep, VMI_UINT32 pte);
+VMICALL void VMI_SetPxELong(VMI...
2007 Apr 18
3
[RFC, PATCH 4/24] i386 Vmi inline implementation
...} while (0)
+
+#define VMI_NO_INPUT
+#define VMI_NO_OUTPUT
+
+struct vmi_annotation {
+ unsigned long vmi_call;
+ unsigned char *nativeEIP;
+ unsigned char *translationEIP;
+ unsigned char native_size;
+ unsigned char translation_size;
+ char nop_size;
+ unsigned char pad;
+};
+
+extern VMI_UINT8 hypervisor_found;
+extern VMI_UINT8 hypervisor_timer_found;
+extern struct vmi_annotation __vmi_annotation[], __vmi_annotation_end[];
+
+/* VMI function prototypes */
+#define VMICALL extern __attribute__((regparm(3)))
+
+VMICALL void VMI_SetPxE(VMI_UINT32 *ptep, VMI_UINT32 pte);
+VMICALL void VMI_SetPxELong(VMI...
2007 Apr 18
1
[RFC, PATCH 21/24] i386 Vmi proc node
...t;
+ " .long 1b,2b \n"
+ ".previous \n"
+ ::: "memory");
+ tsc_end = get_tsc();
+ cycles = tsc_end - tsc_start;
+ if (cycles < page_fault_cycles)
+ page_fault_cycles = cycles;
+ }
+}
+
+static int proc_vmi_info_show(struct seq_file *m, void *v)
+{
+ if (!hypervisor_found)
+ seq_puts(m, "No VMI active\n");
+ else
+ seq_puts(m, "Hypervisor VMI active\n");
+ seq_printf(m, "Kernel VMI API version %d.%d\n",
+ VMI_API_REV_MAJOR, MIN_VMI_API_REV_MINOR);
+ if (vmi_rom) {
+ seq_printf(m, "VMI ROM API version: %d.%d\n",
+...
2007 Apr 18
1
[RFC, PATCH 21/24] i386 Vmi proc node
...t;
+ " .long 1b,2b \n"
+ ".previous \n"
+ ::: "memory");
+ tsc_end = get_tsc();
+ cycles = tsc_end - tsc_start;
+ if (cycles < page_fault_cycles)
+ page_fault_cycles = cycles;
+ }
+}
+
+static int proc_vmi_info_show(struct seq_file *m, void *v)
+{
+ if (!hypervisor_found)
+ seq_puts(m, "No VMI active\n");
+ else
+ seq_puts(m, "Hypervisor VMI active\n");
+ seq_printf(m, "Kernel VMI API version %d.%d\n",
+ VMI_API_REV_MAJOR, MIN_VMI_API_REV_MINOR);
+ if (vmi_rom) {
+ seq_printf(m, "VMI ROM API version: %d.%d\n",
+...
2007 Apr 18
0
[RFC, PATCH 23/24] i386 Vmi timer patch
...gtable.h>
#include <vmi.h>
+extern irqreturn_t vmi_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+extern fastcall void apic_vmi_timer_interrupt(void);
+
extern char __VMI_END;
extern char __VMI_START;
extern char __VMI_SHARED;
VROMHeader *vmi_rom = NULL;
VMI_UINT8 hypervisor_found;
+VMI_UINT8 hypervisor_timer_found;
/* Convenient macro for calling VMI functions indirectly in the ROM */
typedef VMI_UINT32 __attribute__((regparm(1))) (VROMFUNC)(void);
@@ -201,6 +205,11 @@ void __init intr_init_hook(void)
{
#ifdef CONFIG_X86_LOCAL_APIC
apic_intr_init();
+
+ /* if the VM...
2007 Apr 18
0
[RFC, PATCH 23/24] i386 Vmi timer patch
...gtable.h>
#include <vmi.h>
+extern irqreturn_t vmi_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+extern fastcall void apic_vmi_timer_interrupt(void);
+
extern char __VMI_END;
extern char __VMI_START;
extern char __VMI_SHARED;
VROMHeader *vmi_rom = NULL;
VMI_UINT8 hypervisor_found;
+VMI_UINT8 hypervisor_timer_found;
/* Convenient macro for calling VMI functions indirectly in the ROM */
typedef VMI_UINT32 __attribute__((regparm(1))) (VROMFUNC)(void);
@@ -201,6 +205,11 @@ void __init intr_init_hook(void)
{
#ifdef CONFIG_X86_LOCAL_APIC
apic_intr_init();
+
+ /* if the VM...
2007 Apr 18
2
[RFC, PATCH 14/24] i386 Vmi reboot fixes
...off the CPU */
+ shutdown_halt();
+}
/*
* Activate the VMI interfaces
@@ -267,6 +274,9 @@ void __init vmi_init(void)
"(kernel requires version >= %d.%d) "
" - falling back to native mode\n",
VMI_API_REV_MAJOR, MIN_VMI_API_REV_MINOR);
+
+ if (hypervisor_found)
+ pm_power_off = vmi_power_off;
}
2007 Apr 18
2
[RFC, PATCH 14/24] i386 Vmi reboot fixes
...off the CPU */
+ shutdown_halt();
+}
/*
* Activate the VMI interfaces
@@ -267,6 +274,9 @@ void __init vmi_init(void)
"(kernel requires version >= %d.%d) "
" - falling back to native mode\n",
VMI_API_REV_MAJOR, MIN_VMI_API_REV_MINOR);
+
+ if (hypervisor_found)
+ pm_power_off = vmi_power_off;
}