Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> --- CC: Jan Beulich <jbeul...@suse.com> CC: Roger Pau Monné <roger....@citrix.com> --- xen/arch/x86/include/asm/regs.h | 21 ++++++++++++++++++- xen/arch/x86/include/asm/x86_64/regs.h | 28 -------------------------- 2 files changed, 20 insertions(+), 29 deletions(-) delete mode 100644 xen/arch/x86/include/asm/x86_64/regs.h
diff --git a/xen/arch/x86/include/asm/regs.h b/xen/arch/x86/include/asm/regs.h index ddf5e14e5719..4f2f06b60161 100644 --- a/xen/arch/x86/include/asm/regs.h +++ b/xen/arch/x86/include/asm/regs.h @@ -2,7 +2,26 @@ #ifndef __X86_REGS_H__ #define __X86_REGS_H__ -#include <asm/x86_64/regs.h> +#define ring_0(r) (((r)->cs & 3) == 0) +#define ring_1(r) (((r)->cs & 3) == 1) +#define ring_2(r) (((r)->cs & 3) == 2) +#define ring_3(r) (((r)->cs & 3) == 3) + +#define guest_kernel_mode(v, r) \ + (!is_pv_32bit_vcpu(v) ? \ + (ring_3(r) && ((v)->arch.flags & TF_kernel_mode)) : \ + (ring_1(r))) + +#define permit_softint(dpl, v, r) \ + ((dpl) >= (guest_kernel_mode(v, r) ? 1 : 3)) + +/* Check for null trap callback handler: Is the EIP null? */ +#define null_trap_bounce(v, tb) \ + (!is_pv_32bit_vcpu(v) ? ((tb)->eip == 0) : (((tb)->cs & ~3) == 0)) + +/* Number of bytes of on-stack execution state to be context-switched. */ +/* NB. Segment registers and bases are not saved/restored on x86/64 stack. */ +#define CTXT_SWITCH_STACK_BYTES (offsetof(struct cpu_user_regs, es)) #define guest_mode(r) \ ({ \ diff --git a/xen/arch/x86/include/asm/x86_64/regs.h b/xen/arch/x86/include/asm/x86_64/regs.h deleted file mode 100644 index 171cf9a2e217..000000000000 --- a/xen/arch/x86/include/asm/x86_64/regs.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _X86_64_REGS_H -#define _X86_64_REGS_H - -#include <xen/types.h> -#include <public/xen.h> - -#define ring_0(r) (((r)->cs & 3) == 0) -#define ring_1(r) (((r)->cs & 3) == 1) -#define ring_2(r) (((r)->cs & 3) == 2) -#define ring_3(r) (((r)->cs & 3) == 3) - -#define guest_kernel_mode(v, r) \ - (!is_pv_32bit_vcpu(v) ? \ - (ring_3(r) && ((v)->arch.flags & TF_kernel_mode)) : \ - (ring_1(r))) - -#define permit_softint(dpl, v, r) \ - ((dpl) >= (guest_kernel_mode(v, r) ? 1 : 3)) - -/* Check for null trap callback handler: Is the EIP null? */ -#define null_trap_bounce(v, tb) \ - (!is_pv_32bit_vcpu(v) ? ((tb)->eip == 0) : (((tb)->cs & ~3) == 0)) - -/* Number of bytes of on-stack execution state to be context-switched. */ -/* NB. Segment registers and bases are not saved/restored on x86/64 stack. */ -#define CTXT_SWITCH_STACK_BYTES (offsetof(struct cpu_user_regs, es)) - -#endif -- 2.39.5