search for: x86_feature_xenpv

Displaying 20 results from an estimated 28 matches for "x86_feature_xenpv".

2015 Nov 18
4
[PATCH 1/3] x86/xen: Avoid fast syscall path for Xen PV guests
...ntry_32.S > @@ -308,7 +308,8 @@ sysenter_past_esp: > > movl %esp, %eax > call do_fast_syscall_32 > - testl %eax, %eax > + /* XEN PV guests always use IRET path */ > + ALTERNATIVE "testl %eax, %eax", "xor %eax, %eax", X86_FEATURE_XENPV > jz .Lsyscall_32_done Could we make this a little less subtle: ALTERNATIVE "testl %eax, %eax; lz .Lsyscall_32_done", "jmp .Lsyscasll_32_done", X86_FEATURE_XENPV Borislav, what do you think? Ditto for the others. > diff --git a/arch/x86/include/asm/cpufea...
2015 Nov 18
4
[PATCH 1/3] x86/xen: Avoid fast syscall path for Xen PV guests
...ntry_32.S > @@ -308,7 +308,8 @@ sysenter_past_esp: > > movl %esp, %eax > call do_fast_syscall_32 > - testl %eax, %eax > + /* XEN PV guests always use IRET path */ > + ALTERNATIVE "testl %eax, %eax", "xor %eax, %eax", X86_FEATURE_XENPV > jz .Lsyscall_32_done Could we make this a little less subtle: ALTERNATIVE "testl %eax, %eax; lz .Lsyscall_32_done", "jmp .Lsyscasll_32_done", X86_FEATURE_XENPV Borislav, what do you think? Ditto for the others. > diff --git a/arch/x86/include/asm/cpufea...
2015 Nov 18
0
[PATCH 1/3] x86/xen: Avoid fast syscall path for Xen PV guests
.....901f186 100644 --- a/arch/x86/entry/entry_32.S +++ b/arch/x86/entry/entry_32.S @@ -308,7 +308,8 @@ sysenter_past_esp: movl %esp, %eax call do_fast_syscall_32 - testl %eax, %eax + /* XEN PV guests always use IRET path */ + ALTERNATIVE "testl %eax, %eax", "xor %eax, %eax", X86_FEATURE_XENPV jz .Lsyscall_32_done /* Opportunistic SYSEXIT */ diff --git a/arch/x86/entry/entry_64_compat.S b/arch/x86/entry/entry_64_compat.S index c320183..98893d9 100644 --- a/arch/x86/entry/entry_64_compat.S +++ b/arch/x86/entry/entry_64_compat.S @@ -121,7 +121,8 @@ sysenter_flags_fixed: movq %rsp,...
2015 Nov 18
1
[PATCH 1/3] x86/xen: Avoid fast syscall path for Xen PV guests
...+308,8 @@ sysenter_past_esp: >> >> movl %esp, %eax >> call do_fast_syscall_32 >> - testl %eax, %eax >> + /* XEN PV guests always use IRET path */ >> + ALTERNATIVE "testl %eax, %eax", "xor %eax, %eax", X86_FEATURE_XENPV >> jz .Lsyscall_32_done > > Could we make this a little less subtle: > > ALTERNATIVE "testl %eax, %eax; lz .Lsyscall_32_done", "jmp > .Lsyscasll_32_done", X86_FEATURE_XENPV > > Borislav, what do you think? > > Ditto for the others....
2017 Oct 04
0
[PATCH 09/13] x86/asm: Convert ALTERNATIVE*() assembler macros to preprocessor macros
...arch/x86/entry/entry_32.S +++ b/arch/x86/entry/entry_32.S @@ -443,8 +443,8 @@ ENTRY(entry_SYSENTER_32) movl %esp, %eax call do_fast_syscall_32 /* XEN PV guests always use IRET path */ - ALTERNATIVE "testl %eax, %eax; jz .Lsyscall_32_done", \ - "jmp .Lsyscall_32_done", X86_FEATURE_XENPV + #define JMP_IF_IRET testl %eax, %eax; jz .Lsyscall_32_done + ALTERNATIVE(JMP_IF_IRET, jmp .Lsyscall_32_done, X86_FEATURE_XENPV) /* Opportunistic SYSEXIT */ TRACE_IRQS_ON /* User mode traces as IRQs on. */ @@ -536,7 +536,7 @@ restore_all: TRACE_IRQS_IRET .Lrestore_all_notrace: #ifdef CO...
2015 Nov 18
0
[PATCH 1/3] x86/xen: Avoid fast syscall path for Xen PV guests
..._esp: >>> >>> movl %esp, %eax >>> call do_fast_syscall_32 >>> - testl %eax, %eax >>> + /* XEN PV guests always use IRET path */ >>> + ALTERNATIVE "testl %eax, %eax", "xor %eax, %eax", X86_FEATURE_XENPV >>> jz .Lsyscall_32_done >> >> Could we make this a little less subtle: >> >> ALTERNATIVE "testl %eax, %eax; lz .Lsyscall_32_done", "jmp >> .Lsyscasll_32_done", X86_FEATURE_XENPV >> >> Borislav, what do you think? &...
2016 Jan 29
3
[Xen-devel] [PATCH v5 09/10] vring: Use the DMA API on Xen
...such a configuration, virtio has never worked and will > + * not work without an even larger kludge. Instead, enable > + * the DMA API if we're a Xen guest, which at least allows > + * all of the sensible Xen configurations to work correctly. > + */ > + return static_cpu_has(X86_FEATURE_XENPV); You want: if (xen_domain()) return true; Without the #if so we use the DMA API for all types of Xen guest on all architectures. David
2016 Jan 29
3
[Xen-devel] [PATCH v5 09/10] vring: Use the DMA API on Xen
...such a configuration, virtio has never worked and will > + * not work without an even larger kludge. Instead, enable > + * the DMA API if we're a Xen guest, which at least allows > + * all of the sensible Xen configurations to work correctly. > + */ > + return static_cpu_has(X86_FEATURE_XENPV); You want: if (xen_domain()) return true; Without the #if so we use the DMA API for all types of Xen guest on all architectures. David
2015 Nov 18
8
[PATCH 0/3] Fix and cleanup for 32-bit PV sysexit
The first patch fixes Xen PV regression introduced by 32-bit rewrite. Unlike the earlier version it uses ALTERNATIVE instruction and avoids using xen_sysexit (and sysret32 in compat mode) pv ops, as suggested by Andy. (I ended up patching TEST with XOR to avoid extra NOPs, even though I said yesterday it would be wrong. It's not wrong) As result of this patch irq_enable_sysexit and
2015 Nov 18
8
[PATCH 0/3] Fix and cleanup for 32-bit PV sysexit
The first patch fixes Xen PV regression introduced by 32-bit rewrite. Unlike the earlier version it uses ALTERNATIVE instruction and avoids using xen_sysexit (and sysret32 in compat mode) pv ops, as suggested by Andy. (I ended up patching TEST with XOR to avoid extra NOPs, even though I said yesterday it would be wrong. It's not wrong) As result of this patch irq_enable_sysexit and
2015 Nov 19
7
[PATCH v2 0/3] Fix and cleanup for 32-bit PV sysexit
...nd avoids using xen_sysexit (and sysret32 in compat mode) pv ops, as suggested by Andy. As result of this patch irq_enable_sysexit and usergs_sysret32 pv ops are not used anymore by anyone and so can be removed. v2: * patch both TEST and JZ intructions with a single JMP * Add magic prefix to X86_FEATURE_XENPV comment to avoid having it printed in /proc/cpuinfo * Clarify in commit messages why irq_enable_sysexit and usergs_sysret32 are removed Boris Ostrovsky (3): x86/xen: Avoid fast syscall path for Xen PV guests x86: irq_enable_sysexit pv op is no longer needed x86: usergs_sysret32 pv...
2015 Nov 19
7
[PATCH v2 0/3] Fix and cleanup for 32-bit PV sysexit
...nd avoids using xen_sysexit (and sysret32 in compat mode) pv ops, as suggested by Andy. As result of this patch irq_enable_sysexit and usergs_sysret32 pv ops are not used anymore by anyone and so can be removed. v2: * patch both TEST and JZ intructions with a single JMP * Add magic prefix to X86_FEATURE_XENPV comment to avoid having it printed in /proc/cpuinfo * Clarify in commit messages why irq_enable_sysexit and usergs_sysret32 are removed Boris Ostrovsky (3): x86/xen: Avoid fast syscall path for Xen PV guests x86: irq_enable_sysexit pv op is no longer needed x86: usergs_sysret32 pv...
2016 Jan 31
2
[Xen-devel] [PATCH v5 09/10] vring: Use the DMA API on Xen
...>> > + * not work without an even larger kludge. Instead, enable >> > + * the DMA API if we're a Xen guest, which at least allows >> > + * all of the sensible Xen configurations to work correctly. >> > + */ >> > + return static_cpu_has(X86_FEATURE_XENPV); >> >> You want: >> >> if (xen_domain()) >> return true; >> >> Without the #if so we use the DMA API for all types of Xen guest on all >> architectures. >> >> David > > I doubt HVM domains can have virtio devices. >...
2016 Jan 31
2
[Xen-devel] [PATCH v5 09/10] vring: Use the DMA API on Xen
...>> > + * not work without an even larger kludge. Instead, enable >> > + * the DMA API if we're a Xen guest, which at least allows >> > + * all of the sensible Xen configurations to work correctly. >> > + */ >> > + return static_cpu_has(X86_FEATURE_XENPV); >> >> You want: >> >> if (xen_domain()) >> return true; >> >> Without the #if so we use the DMA API for all types of Xen guest on all >> architectures. >> >> David > > I doubt HVM domains can have virtio devices. >...
2015 Dec 15
0
[Xen-devel] [PATCH v2 0/3] Fix and cleanup for 32-bit PV sysexit
...kernel.org> > > Now I just have to sucker someone into getting rid of > PARAVIRT_ADJUST_EXCEPTION_FRAME (by using stub entries) and the > overcomplicated syscall entry stuff. :) Looking at this, it should be quite easy now. ALTERNATIVE "", "pop %rcx; %pop %11", X86_FEATURE_XENPV (Completely untested) > And whoever gets rid of > PARAVIRT_ADJUST_EXCEPTION_FRAME gets to wonder why it doesn't crash > and burn for NMIs on Xen, since I'm reasonably confident that it can't > possibly be correct. The Xen PV ABI only has a single kernel stack pointer whic...
2016 Jan 29
0
[PATCH v5 09/10] vring: Use the DMA API on Xen
...the same time. On + * such a configuration, virtio has never worked and will + * not work without an even larger kludge. Instead, enable + * the DMA API if we're a Xen guest, which at least allows + * all of the sensible Xen configurations to work correctly. + */ + return static_cpu_has(X86_FEATURE_XENPV); +#endif + return false; } -- 2.5.0
2016 Jan 31
0
[Xen-devel] [PATCH v5 09/10] vring: Use the DMA API on Xen
...tio has never worked and will > > + * not work without an even larger kludge. Instead, enable > > + * the DMA API if we're a Xen guest, which at least allows > > + * all of the sensible Xen configurations to work correctly. > > + */ > > + return static_cpu_has(X86_FEATURE_XENPV); > > You want: > > if (xen_domain()) > return true; > > Without the #if so we use the DMA API for all types of Xen guest on all > architectures. > > David I doubt HVM domains can have virtio devices. -- MST
2016 Jan 31
0
[Xen-devel] [PATCH v5 09/10] vring: Use the DMA API on Xen
...not work without an even larger kludge. Instead, enable > >> > + * the DMA API if we're a Xen guest, which at least allows > >> > + * all of the sensible Xen configurations to work correctly. > >> > + */ > >> > + return static_cpu_has(X86_FEATURE_XENPV); > >> > >> You want: > >> > >> if (xen_domain()) > >> return true; > >> > >> Without the #if so we use the DMA API for all types of Xen guest on all > >> architectures. > >> > >> David > > &...
2015 Dec 15
0
[Xen-devel] [PATCH v2 0/3] Fix and cleanup for 32-bit PV sysexit
...kernel.org> > > Now I just have to sucker someone into getting rid of > PARAVIRT_ADJUST_EXCEPTION_FRAME (by using stub entries) and the > overcomplicated syscall entry stuff. :) Looking at this, it should be quite easy now. ALTERNATIVE "", "pop %rcx; %pop %11", X86_FEATURE_XENPV (Completely untested) > And whoever gets rid of > PARAVIRT_ADJUST_EXCEPTION_FRAME gets to wonder why it doesn't crash > and burn for NMIs on Xen, since I'm reasonably confident that it can't > possibly be correct. The Xen PV ABI only has a single kernel stack pointer whic...
2017 Oct 04
31
[PATCH 00/13] x86/paravirt: Make pv ops code generation more closely match reality
This changes the pv ops code generation to more closely match reality. For example, instead of: callq *0xffffffff81e3a400 (pv_irq_ops.save_fl) vmlinux will now show: pushfq pop %rax nop nop nop nop nop which is what the runtime version of the code will show in most cases. This idea was suggested by Andy Lutomirski. The benefits are: - For the most common runtime cases