search for: xxxpara

Displaying 11 results from an estimated 11 matches for "xxxpara".

2006 Mar 14
12
[RFC] VMI for Xen?
I''m sure everyone has seen the drop of VMI patches for Linux at this point, but just in case, the link is included below. I''ve read this version of the VMI spec and have made my way through most of the patches. While I wasn''t really that impressed with the first spec wrt Xen, the second version seems to be much more palatable. Specifically, the code inlining and
2007 Apr 18
3
[RFC, PATCH 4/24] i386 Vmi inline implementation
...1, 1, 0x66; \ + .endif; \ + .byte 0x90; \ + .equ vmi_pad, vmi_pad - vmi_cur_pad; \ +.endr; + +/* + * Create an annotation for a VMI call; the VMI call currently must be + * wrapped in one of the vmi_raw_call (for assembler) or one of the + * family of defined wrappers for C code. + * XXXPara - use local labels + */ +#define vmi_annotate(name) \ + .pushsection .vmi.annotation,"a"; \ + .align 4; \ + .long name; \ + .long vmi_padded_begin; \ + .long vmi_translation_begin; \ + .byte vmi_padded_len; \ + .byte vmi_translation_len; \ + .byte vmi_pad_total; \...
2007 Apr 18
3
[RFC, PATCH 4/24] i386 Vmi inline implementation
...1, 1, 0x66; \ + .endif; \ + .byte 0x90; \ + .equ vmi_pad, vmi_pad - vmi_cur_pad; \ +.endr; + +/* + * Create an annotation for a VMI call; the VMI call currently must be + * wrapped in one of the vmi_raw_call (for assembler) or one of the + * family of defined wrappers for C code. + * XXXPara - use local labels + */ +#define vmi_annotate(name) \ + .pushsection .vmi.annotation,"a"; \ + .align 4; \ + .long name; \ + .long vmi_padded_begin; \ + .long vmi_translation_begin; \ + .byte vmi_padded_len; \ + .byte vmi_translation_len; \ + .byte vmi_pad_total; \...
2007 Apr 18
1
[RFC, PATCH 24/24] i386 Vmi no idle hz
...unsigned long long cur_process_times_cycles) +{ + long long cycles_not_accounted; + unsigned long no_idle_hz_jiffies = 0; + + cycles_not_accounted = cur_process_times_cycles - + per_cpu(process_times_cycles_accounted_cpu, cpu); + + while (cycles_not_accounted >= cycles_per_jiffy) { + /* XXXPara: handle /proc/profile multiplier. */ + profile_tick(CPU_PROFILING, regs); + + no_idle_hz_jiffies++; + cycles_not_accounted -= cycles_per_jiffy; + per_cpu(process_times_cycles_accounted_cpu, cpu) += cycles_per_jiffy; + } + /* Account time to the idle process. Also checks for expired timers, et...
2007 Apr 18
1
[RFC, PATCH 24/24] i386 Vmi no idle hz
...unsigned long long cur_process_times_cycles) +{ + long long cycles_not_accounted; + unsigned long no_idle_hz_jiffies = 0; + + cycles_not_accounted = cur_process_times_cycles - + per_cpu(process_times_cycles_accounted_cpu, cpu); + + while (cycles_not_accounted >= cycles_per_jiffy) { + /* XXXPara: handle /proc/profile multiplier. */ + profile_tick(CPU_PROFILING, regs); + + no_idle_hz_jiffies++; + cycles_not_accounted -= cycles_per_jiffy; + per_cpu(process_times_cycles_accounted_cpu, cpu) += cycles_per_jiffy; + } + /* Account time to the idle process. Also checks for expired timers, et...
2007 Apr 18
1
[RFC, PATCH 19/24] i386 Vmi mmu changes
...* Send feedback to zach@vmware.com + * + */ + + +#ifndef _MACH_PGTABLE_H +#define _MACH_PGTABLE_H + +#include <vmi.h> + +#define __HAVE_SUBARCH_PTE_WRITE_FUNCTIONS + +#ifdef CONFIG_X86_PAE +# include <pgtable-3level-ops.h> +#else +# include <pgtable-2level-ops.h> +#endif + +/* + * XXXpara - perhaps this really should use set_pte(), but for now this is + * more efficient. We can't assume in general that ptes are writable even + * if the page table is about to be disconnected. + */ +static inline pte_t ptep_get_and_clear_full(struct mm_struct *mm, unsigned long addr, pte_t *ptep,...
2007 Apr 18
1
[RFC, PATCH 19/24] i386 Vmi mmu changes
...* Send feedback to zach@vmware.com + * + */ + + +#ifndef _MACH_PGTABLE_H +#define _MACH_PGTABLE_H + +#include <vmi.h> + +#define __HAVE_SUBARCH_PTE_WRITE_FUNCTIONS + +#ifdef CONFIG_X86_PAE +# include <pgtable-3level-ops.h> +#else +# include <pgtable-2level-ops.h> +#endif + +/* + * XXXpara - perhaps this really should use set_pte(), but for now this is + * more efficient. We can't assume in general that ptes are writable even + * if the page table is about to be disconnected. + */ +static inline pte_t ptep_get_and_clear_full(struct mm_struct *mm, unsigned long addr, pte_t *ptep,...
2007 Apr 18
0
[RFC, PATCH 23/24] i386 Vmi timer patch
...process_times_cycles_accounted_cpu, cpu); + + while (cycles_not_accounted >= cycles_per_jiffy) { + /* Account time to the current process. This includes + * calling into the scheduler to decrement the timeslice + * and possibly reschedule.*/ + update_process_times(user_mode(regs)); + /* XXXPara: handle /proc/profile multiplier. */ + profile_tick(CPU_PROFILING, regs); + + cycles_not_accounted -= cycles_per_jiffy; + per_cpu(process_times_cycles_accounted_cpu, cpu) += cycles_per_jiffy; + } +} + +/* Update per-cpu stolen time. */ +static inline void vmi_account_stolen_cycles(int cpu, +...
2007 Apr 18
0
[RFC, PATCH 23/24] i386 Vmi timer patch
...process_times_cycles_accounted_cpu, cpu); + + while (cycles_not_accounted >= cycles_per_jiffy) { + /* Account time to the current process. This includes + * calling into the scheduler to decrement the timeslice + * and possibly reschedule.*/ + update_process_times(user_mode(regs)); + /* XXXPara: handle /proc/profile multiplier. */ + profile_tick(CPU_PROFILING, regs); + + cycles_not_accounted -= cycles_per_jiffy; + per_cpu(process_times_cycles_accounted_cpu, cpu) += cycles_per_jiffy; + } +} + +/* Update per-cpu stolen time. */ +static inline void vmi_account_stolen_cycles(int cpu, +...
2007 Apr 18
4
[RFC, PATCH 1/24] i386 Vmi documentation
...the guest may be terminated. + + 4) When calling VMI functions, the kernel must be running on a + flat 32-bit stack and code segment. + + 5) Most VMI functions require flat data and extra segment (DS and ES) + segments as well; notable exceptions are IRET and SYSEXIT. + XXXPara - may need to add STI and CLI to this list. + + 6) Interrupts must always be enabled when running code in userspace. + + 7) IOPL semantics for userspace are changed; although userspace may be + granted port access, it can not affect the interrupt flag. + + 8) The EIPs at which fa...
2007 Apr 18
4
[RFC, PATCH 1/24] i386 Vmi documentation
...the guest may be terminated. + + 4) When calling VMI functions, the kernel must be running on a + flat 32-bit stack and code segment. + + 5) Most VMI functions require flat data and extra segment (DS and ES) + segments as well; notable exceptions are IRET and SYSEXIT. + XXXPara - may need to add STI and CLI to this list. + + 6) Interrupts must always be enabled when running code in userspace. + + 7) IOPL semantics for userspace are changed; although userspace may be + granted port access, it can not affect the interrupt flag. + + 8) The EIPs at which fa...