[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 5/7] x86/traps: Lift all non-entrypoint logic in entry_int82() up into C



On 04/05/17 11:01, Andrew Cooper wrote:
> This is more readable, maintainable, and livepatchable.
>
> This involves declaring check_for_unexpected_msi(), untrusted_msi and
> pv_hypercall() suitably for use by C.  While making these changes,
> untrusted_msi is switched over to being a C99 bool.
>
> No behavioural change.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

Actually, in addition, I think the following change should be folded in.

andrewcoop@andrewcoop:/local/xen.git/xen$ git diff
diff --git a/xen/arch/x86/x86_64/compat/entry.S
b/xen/arch/x86/x86_64/compat/entry.S
index 90bda09..51b1c257 100644
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -21,6 +21,7 @@ ENTRY(entry_int82)
 
         mov   %rsp, %rdi
         call  do_entry_int82
+        jmp   compat_test_all_events
 
 /* %rbx: struct vcpu */
 ENTRY(compat_test_all_events)


This only currently works because the ALIGN hidden in ENTRY() happens to
be safe to execute through, but we shouldn't rely on this, and a single
predicted jump is probably faster to execute than a line of single-byte
nops.

Thoughts?

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.