search for: vmi_cal

Displaying 10 results from an estimated 10 matches for "vmi_cal".

Did you mean: vmi_call
2007 Apr 18
3
[RFC, PATCH 4/24] i386 Vmi inline implementation
...nslation_end - vmi_translation_begin) + +/* Finally, emit the padded native sequence */ +#define vmi_padded_start \ + 791:; +#define vmi_padded_finish \ + 792:; +#define vmi_padded_begin 791b +#define vmi_padded_end 792b +#define vmi_padded_len (vmi_padded_end - vmi_padded_begin) + +#define vmi_call(name) \ + call .+5+name + +/* + * Pad out the current native instruction sequence with a series of nops; + * the nop used is 0x66* 0x90 which is data16 nop or xchg %ax, %ax. We + * pad out with up to 11 bytes of prefix at a time because beyond that + * both AMD and Intel processors start to...
2007 Apr 18
3
[RFC, PATCH 4/24] i386 Vmi inline implementation
...nslation_end - vmi_translation_begin) + +/* Finally, emit the padded native sequence */ +#define vmi_padded_start \ + 791:; +#define vmi_padded_finish \ + 792:; +#define vmi_padded_begin 791b +#define vmi_padded_end 792b +#define vmi_padded_len (vmi_padded_end - vmi_padded_begin) + +#define vmi_call(name) \ + call .+5+name + +/* + * Pad out the current native instruction sequence with a series of nops; + * the nop used is 0x66* 0x90 which is data16 nop or xchg %ax, %ax. We + * pad out with up to 11 bytes of prefix at a time because beyond that + * both AMD and Intel processors start to...
2007 Apr 18
4
[RFC, PATCH 3/24] i386 Vmi interface definition
...VIRTUAL_INTERFACE_H_ +#define _PARAVIRTUAL_INTERFACE_H_ + +#include "vmiCalls.h" + +/* + *--------------------------------------------------------------------- + * + * VMI Option ROM API + * + *--------------------------------------------------------------------- + */ +#define VDEF(call) VMI_CALL_##call, +typedef enum VMICall { + VMI_CALLS + NUM_VMI_CALLS +} VMICall; +#undef VDEF + +#define VMI_SIGNATURE 0x696d5663 /* "cVmi" */ + +#define VMI_API_REV_MAJOR 13 +#define VMI_API_REV_MINOR 0 + +/* Flags used by VMI_Reboot call */ +#define VMI_REBOOT_SOFT...
2007 Apr 18
4
[RFC, PATCH 3/24] i386 Vmi interface definition
...VIRTUAL_INTERFACE_H_ +#define _PARAVIRTUAL_INTERFACE_H_ + +#include "vmiCalls.h" + +/* + *--------------------------------------------------------------------- + * + * VMI Option ROM API + * + *--------------------------------------------------------------------- + */ +#define VDEF(call) VMI_CALL_##call, +typedef enum VMICall { + VMI_CALLS + NUM_VMI_CALLS +} VMICall; +#undef VDEF + +#define VMI_SIGNATURE 0x696d5663 /* "cVmi" */ + +#define VMI_API_REV_MAJOR 13 +#define VMI_API_REV_MINOR 0 + +/* Flags used by VMI_Reboot call */ +#define VMI_REBOOT_SOFT...
2007 Apr 18
1
[RFC, PATCH 21/24] i386 Vmi proc node
...node, struct file *file) +{ + return single_open(file, proc_vmi_info_show, NULL); +} + +static struct file_operations proc_vmi_info_operations = { + .open = proc_vmi_info_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; + +#define VDEF(call) #call , +static char *vmi_call_name[] = { + VMI_CALLS +}; +#undef VDEF + +static void print_annotation(struct seq_file *m, struct vmi_annotation *a) +{ + seq_printf(m, "%s %p %d %p %d %d\n", + vmi_call_name[a->vmi_call], a->nativeEIP, a->native_size, + a->translationEIP, a->translation_size,...
2007 Apr 18
1
[RFC, PATCH 21/24] i386 Vmi proc node
...node, struct file *file) +{ + return single_open(file, proc_vmi_info_show, NULL); +} + +static struct file_operations proc_vmi_info_operations = { + .open = proc_vmi_info_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; + +#define VDEF(call) #call , +static char *vmi_call_name[] = { + VMI_CALLS +}; +#undef VDEF + +static void print_annotation(struct seq_file *m, struct vmi_annotation *a) +{ + seq_printf(m, "%s %p %d %p %d %d\n", + vmi_call_name[a->vmi_call], a->nativeEIP, a->native_size, + a->translationEIP, a->translation_size,...
2007 Apr 18
7
[RFC, PATCH 5/24] i386 Vmi code patching
...#define MNEM_PUSH_EBP 0x55 +#define MNEM_PUSH_ESI 0x56 +#define MNEM_PUSH_EDI 0x57 +#define MNEM_OPSIZE 0x66 +#define MNEM_LEA 0x8d +#define MNEM_NOP 0x90 +#define MNEM_CALL_NEAR 0xe8 + +static inline void patch_call_site(struct vmi_annotation *a, unsigned char *eip) +{ + unsigned long call = a->vmi_call; + unsigned char *dest = (unsigned char *)(&((VROMCallTable *)vmi_rom)->vromCall[call]); + *(unsigned long *)(eip+1) = dest-eip-5; +} + +static void fixup_translation(struct vmi_annotation *a) +{ + unsigned char *c, *start, *end; + int left; + + memcpy(a->nativeEIP, a->translationEIP,...
2007 Apr 18
7
[RFC, PATCH 5/24] i386 Vmi code patching
...#define MNEM_PUSH_EBP 0x55 +#define MNEM_PUSH_ESI 0x56 +#define MNEM_PUSH_EDI 0x57 +#define MNEM_OPSIZE 0x66 +#define MNEM_LEA 0x8d +#define MNEM_NOP 0x90 +#define MNEM_CALL_NEAR 0xe8 + +static inline void patch_call_site(struct vmi_annotation *a, unsigned char *eip) +{ + unsigned long call = a->vmi_call; + unsigned char *dest = (unsigned char *)(&((VROMCallTable *)vmi_rom)->vromCall[call]); + *(unsigned long *)(eip+1) = dest-eip-5; +} + +static void fixup_translation(struct vmi_annotation *a) +{ + unsigned char *c, *start, *end; + int left; + + memcpy(a->nativeEIP, a->translationEIP,...
2007 Apr 18
0
[RFC, PATCH 6/24] i386 Vmi magic fixes
...02139, USA. + * + * Send feedback to zach@vmware.com + * + */ + +#include <vmiCalls.h> + +#define VDEF(name) \ + . = __VMI_NEXT; \ + __VMI_NEXT = . + 32; \ + *(.text.VMI_##name); + +#define MACH_TEXT \ +. = ALIGN(4096); \ +__VMI_START = .; \ +__VMI_NEXT = .; \ +__VMI_END = . + 16384; \ +VMI_CALLS \ +. = __VMI_END; \ +. = ALIGN(4096); Index: linux-2.6.16-rc3/include/asm-i386/mach-default/mach-vmlinux.lds.h =================================================================== --- linux-2.6.16-rc3.orig/include/asm-i386/mach-default/mach-vmlinux.lds.h 2006-02-24 13:49:20.000000000 -0800 +++ li...
2007 Apr 18
0
[RFC, PATCH 6/24] i386 Vmi magic fixes
...02139, USA. + * + * Send feedback to zach@vmware.com + * + */ + +#include <vmiCalls.h> + +#define VDEF(name) \ + . = __VMI_NEXT; \ + __VMI_NEXT = . + 32; \ + *(.text.VMI_##name); + +#define MACH_TEXT \ +. = ALIGN(4096); \ +__VMI_START = .; \ +__VMI_NEXT = .; \ +__VMI_END = . + 16384; \ +VMI_CALLS \ +. = __VMI_END; \ +. = ALIGN(4096); Index: linux-2.6.16-rc3/include/asm-i386/mach-default/mach-vmlinux.lds.h =================================================================== --- linux-2.6.16-rc3.orig/include/asm-i386/mach-default/mach-vmlinux.lds.h 2006-02-24 13:49:20.000000000 -0800 +++ li...