search for: hypervisor_found

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; }