search for: vmi_rom

Displaying 20 results from an estimated 33 matches for "vmi_rom".

2007 Apr 18
1
[RFC, PATCH 21/24] i386 Vmi proc node
...;linux/kernel.h> +#include <linux/errno.h> +#include <linux/spinlock.h> +#include <linux/string.h> +#include <linux/seq_file.h> +#include <linux/proc_fs.h> +#include <linux/init.h> +#include <asm/processor.h> +#include <vmi.h> + +extern VROMHeader *vmi_rom; +static struct proc_dir_entry *proc_vmi_root; + +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 passthr...
2007 Apr 18
1
[RFC, PATCH 21/24] i386 Vmi proc node
...;linux/kernel.h> +#include <linux/errno.h> +#include <linux/spinlock.h> +#include <linux/string.h> +#include <linux/seq_file.h> +#include <linux/proc_fs.h> +#include <linux/init.h> +#include <asm/processor.h> +#include <vmi.h> + +extern VROMHeader *vmi_rom; +static struct proc_dir_entry *proc_vmi_root; + +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 passthr...
2007 Apr 18
0
[PATCH 8/9] Vmi apic ops.diff
...tsc; static int disable_tsc; static int disable_mtrr; static int disable_noidle; +static int disable_vmi_timer; /* Cached VMI operations */ struct { @@ -662,12 +663,12 @@ void vmi_bringup(void) void vmi_bringup(void) { /* We must establish the lowmem mapping for MMU ops to work */ - if (vmi_rom) + if (vmi_ops.set_linear_mapping) vmi_ops.set_linear_mapping(0, __PAGE_OFFSET, max_low_pfn, 0); } /* - * Return a pointer to the VMI function or a NOP stub + * Return a pointer to a VMI function or NULL if unimplemented */ static void *vmi_get_function(int vmicall) { @@ -678,12 +679,13...
2007 Apr 18
0
[PATCH 8/9] Vmi apic ops.diff
...tsc; static int disable_tsc; static int disable_mtrr; static int disable_noidle; +static int disable_vmi_timer; /* Cached VMI operations */ struct { @@ -662,12 +663,12 @@ void vmi_bringup(void) void vmi_bringup(void) { /* We must establish the lowmem mapping for MMU ops to work */ - if (vmi_rom) + if (vmi_ops.set_linear_mapping) vmi_ops.set_linear_mapping(0, __PAGE_OFFSET, max_low_pfn, 0); } /* - * Return a pointer to the VMI function or a NOP stub + * Return a pointer to a VMI function or NULL if unimplemented */ static void *vmi_get_function(int vmicall) { @@ -678,12 +679,13...
2007 Apr 18
0
[PATCH 4/5] Vmi.patch
...ribute__((regparm(1))) (VROMFUNC)(void); +typedef u64 __attribute__((regparm(2))) (VROMLONGFUNC)(int); + +#define call_vrom_func(rom,func) \ + (((VROMFUNC *)(rom->func))()) + +#define call_vrom_long_func(rom,func,arg) \ + (((VROMLONGFUNC *)(rom->func)) (arg)) + +static struct vrom_header *vmi_rom; +static int license_gplok; +static int disable_nodelay; +static int disable_pge; +static int disable_pse; +static int disable_sep; +static int disable_tsc; +static int disable_mtrr; + +/* Cached VMI operations */ +struct { + void (fastcall *cpuid)(void /* non-c */); + void (fastcall *_set_ldt)(u32...
2007 Apr 18
0
[PATCH 4/5] Vmi.patch
...ribute__((regparm(1))) (VROMFUNC)(void); +typedef u64 __attribute__((regparm(2))) (VROMLONGFUNC)(int); + +#define call_vrom_func(rom,func) \ + (((VROMFUNC *)(rom->func))()) + +#define call_vrom_long_func(rom,func,arg) \ + (((VROMLONGFUNC *)(rom->func)) (arg)) + +static struct vrom_header *vmi_rom; +static int license_gplok; +static int disable_nodelay; +static int disable_pge; +static int disable_pse; +static int disable_sep; +static int disable_tsc; +static int disable_mtrr; + +/* Cached VMI operations */ +struct { + void (fastcall *cpuid)(void /* non-c */); + void (fastcall *_set_ldt)(u32...
2007 Apr 18
0
[PATCH 5/6] VMI backend for paravirt-ops
...ribute__((regparm(1))) (VROMFUNC)(void); +typedef u64 __attribute__((regparm(2))) (VROMLONGFUNC)(int); + +#define call_vrom_func(rom,func) \ + (((VROMFUNC *)(rom->func))()) + +#define call_vrom_long_func(rom,func,arg) \ + (((VROMLONGFUNC *)(rom->func)) (arg)) + +static struct vrom_header *vmi_rom; +static int license_gplok; +static int disable_nodelay; +static int disable_pge; +static int disable_pse; +static int disable_sep; +static int disable_tsc; +static int disable_mtrr; + +/* Cached VMI operations */ +struct { + void (fastcall *cpuid)(void /* non-c */); + void (fastcall *_set_ldt)(u32...
2007 Apr 18
0
[PATCH 5/6] VMI backend for paravirt-ops
...ribute__((regparm(1))) (VROMFUNC)(void); +typedef u64 __attribute__((regparm(2))) (VROMLONGFUNC)(int); + +#define call_vrom_func(rom,func) \ + (((VROMFUNC *)(rom->func))()) + +#define call_vrom_long_func(rom,func,arg) \ + (((VROMLONGFUNC *)(rom->func)) (arg)) + +static struct vrom_header *vmi_rom; +static int license_gplok; +static int disable_nodelay; +static int disable_pge; +static int disable_pse; +static int disable_sep; +static int disable_tsc; +static int disable_mtrr; + +/* Cached VMI operations */ +struct { + void (fastcall *cpuid)(void /* non-c */); + void (fastcall *_set_ldt)(u32...
2007 Apr 18
7
[RFC, PATCH 5/24] i386 Vmi code patching
...lude <asm/arch_hooks.h> +#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)) \ +...
2007 Apr 18
7
[RFC, PATCH 5/24] i386 Vmi code patching
...lude <asm/arch_hooks.h> +#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)) \ +...
2010 Aug 23
1
Removing VMI kernel support from 2.6.37
...ribute__((regparm(1))) (VROMFUNC)(void); -typedef u64 __attribute__((regparm(2))) (VROMLONGFUNC)(int); - -#define call_vrom_func(rom,func) \ - (((VROMFUNC *)(rom->func))()) - -#define call_vrom_long_func(rom,func,arg) \ - (((VROMLONGFUNC *)(rom->func)) (arg)) - -static struct vrom_header *vmi_rom; -static int disable_pge; -static int disable_pse; -static int disable_sep; -static int disable_tsc; -static int disable_mtrr; -static int disable_noidle; -static int disable_vmi_timer; - -/* Cached VMI operations */ -static struct { - void (*cpuid)(void /* non-c */); - void (*_set_ldt)(u32 selecto...
2010 Aug 23
1
Removing VMI kernel support from 2.6.37
...ribute__((regparm(1))) (VROMFUNC)(void); -typedef u64 __attribute__((regparm(2))) (VROMLONGFUNC)(int); - -#define call_vrom_func(rom,func) \ - (((VROMFUNC *)(rom->func))()) - -#define call_vrom_long_func(rom,func,arg) \ - (((VROMLONGFUNC *)(rom->func)) (arg)) - -static struct vrom_header *vmi_rom; -static int disable_pge; -static int disable_pse; -static int disable_sep; -static int disable_tsc; -static int disable_mtrr; -static int disable_noidle; -static int disable_vmi_timer; - -/* Cached VMI operations */ -static struct { - void (*cpuid)(void /* non-c */); - void (*_set_ldt)(u32 selecto...
2007 Apr 18
1
[PATCH] 2.6.21 - VMI logic error
...gned-off-by: Zachary Amsden <zach@vmware.com> diff -r 99800d11a3ec arch/i386/kernel/vmi.c --- a/arch/i386/kernel/vmi.c Thu Apr 12 16:37:29 2007 -0700 +++ b/arch/i386/kernel/vmi.c Thu Apr 12 19:00:46 2007 -0700 @@ -685,11 +685,14 @@ do { \ do { \ reloc =3D call_vrom_long_func(vmi_rom, get_reloc, \ VMI_CALL_##vmicall); \ - if (rel->type !=3D VMI_RELOCATION_NONE) { \ - BUG_ON(rel->type !=3D VMI_RELOCATION_CALL_REL); \ + if (rel->type =3D=3D VMI_RELOCATION_CALL_REL) \ paravirt_ops.opname =3D (void *)rel->eip; \ - } else if (rel->type =3D=3D VMI_RE...
2007 Apr 18
0
[PATCH 3/3] Vmi native fix
....c Thu Jan 04 15:56:40 2007 -0800 +++ b/arch/i386/kernel/vmi.c Thu Jan 04 15:57:38 2007 -0800 @@ -645,7 +645,8 @@ void vmi_bringup(void) void vmi_bringup(void) { /* We must establish the lowmem mapping for MMU ops to work */ - vmi_ops.set_linear_mapping(0, __PAGE_OFFSET, max_low_pfn, 0); + if (vmi_rom) + vmi_ops.set_linear_mapping(0, __PAGE_OFFSET, max_low_pfn, 0); } /*
2007 Apr 18
0
[PATCH 3/3] Vmi native fix
....c Thu Jan 04 15:56:40 2007 -0800 +++ b/arch/i386/kernel/vmi.c Thu Jan 04 15:57:38 2007 -0800 @@ -645,7 +645,8 @@ void vmi_bringup(void) void vmi_bringup(void) { /* We must establish the lowmem mapping for MMU ops to work */ - vmi_ops.set_linear_mapping(0, __PAGE_OFFSET, max_low_pfn, 0); + if (vmi_rom) + vmi_ops.set_linear_mapping(0, __PAGE_OFFSET, max_low_pfn, 0); } /*
2007 Apr 18
1
[PATCH] 2.6.21 - VMI logic error
...gned-off-by: Zachary Amsden <zach@vmware.com> diff -r 99800d11a3ec arch/i386/kernel/vmi.c --- a/arch/i386/kernel/vmi.c Thu Apr 12 16:37:29 2007 -0700 +++ b/arch/i386/kernel/vmi.c Thu Apr 12 19:00:46 2007 -0700 @@ -685,11 +685,14 @@ do { \ do { \ reloc =3D call_vrom_long_func(vmi_rom, get_reloc, \ VMI_CALL_##vmicall); \ - if (rel->type !=3D VMI_RELOCATION_NONE) { \ - BUG_ON(rel->type !=3D VMI_RELOCATION_CALL_REL); \ + if (rel->type =3D=3D VMI_RELOCATION_CALL_REL) \ paravirt_ops.opname =3D (void *)rel->eip; \ - } else if (rel->type =3D=3D VMI_RE...
2007 Apr 18
0
[PATCH 5/9] Paravirt drop udelay op
...ux/init.h> #include <linux/kernel.h> diff -r 135d1b73c878 arch/i386/kernel/vmi.c --- a/arch/i386/kernel/vmi.c Tue Feb 27 16:23:56 2007 -0800 +++ b/arch/i386/kernel/vmi.c Tue Feb 27 16:28:00 2007 -0800 @@ -48,7 +48,6 @@ typedef u64 __attribute__((regparm(2))) static struct vrom_header *vmi_rom; static int license_gplok; -static int disable_nodelay; static int disable_pge; static int disable_pse; static int disable_sep; @@ -801,9 +800,6 @@ static inline int __init activate_vmi(vo para_fill(set_iopl_mask, SetIOPLMask); paravirt_ops.io_delay = (void *)vmi_nop; - if (!disable_nodel...
2007 Apr 18
0
[PATCH 5/9] Paravirt drop udelay op
...ux/init.h> #include <linux/kernel.h> diff -r 135d1b73c878 arch/i386/kernel/vmi.c --- a/arch/i386/kernel/vmi.c Tue Feb 27 16:23:56 2007 -0800 +++ b/arch/i386/kernel/vmi.c Tue Feb 27 16:28:00 2007 -0800 @@ -48,7 +48,6 @@ typedef u64 __attribute__((regparm(2))) static struct vrom_header *vmi_rom; static int license_gplok; -static int disable_nodelay; static int disable_pge; static int disable_pse; static int disable_sep; @@ -801,9 +800,6 @@ static inline int __init activate_vmi(vo para_fill(set_iopl_mask, SetIOPLMask); paravirt_ops.io_delay = (void *)vmi_nop; - if (!disable_nodel...
2007 Apr 18
0
[PATCH 6/6] VMI timer patches
...ine int __init activate_vmi(vo paravirt_ops.apic_write = vmi_get_function(VMI_CALL_APICWrite); paravirt_ops.apic_write_atomic = vmi_get_function(VMI_CALL_APICWrite); #endif + + /* + * Check for VMI timer functionality by probing for a cycle frequency method + */ + reloc = call_vrom_long_func(vmi_rom, get_reloc, VMI_CALL_GetCycleFrequency); + if (rel->type != VMI_RELOCATION_NONE) { + vmi_timer_ops.get_cycle_frequency = (void *)rel->eip; + vmi_timer_ops.get_cycle_counter = + vmi_get_function(VMI_CALL_GetCycleCounter); + vmi_timer_ops.get_wallclock = + vmi_get_function(VMI_CALL_GetW...
2007 Apr 18
0
[PATCH 6/6] VMI timer patches
...ine int __init activate_vmi(vo paravirt_ops.apic_write = vmi_get_function(VMI_CALL_APICWrite); paravirt_ops.apic_write_atomic = vmi_get_function(VMI_CALL_APICWrite); #endif + + /* + * Check for VMI timer functionality by probing for a cycle frequency method + */ + reloc = call_vrom_long_func(vmi_rom, get_reloc, VMI_CALL_GetCycleFrequency); + if (rel->type != VMI_RELOCATION_NONE) { + vmi_timer_ops.get_cycle_frequency = (void *)rel->eip; + vmi_timer_ops.get_cycle_counter = + vmi_get_function(VMI_CALL_GetCycleCounter); + vmi_timer_ops.get_wallclock = + vmi_get_function(VMI_CALL_GetW...