HAS_PDX := y
xenoprof := y
-#
-# If you change any of these configuration options then you must
-# 'make clean' before rebuilding.
-#
-supervisor_mode_kernel ?= n
-
CFLAGS += -I$(BASEDIR)/include
CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-generic
CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default
$(call as-insn-check,CFLAGS,CC,"invept (%rax)$$(comma)%rax",-DHAVE_GAS_EPT)
$(call as-insn-check,CFLAGS,CC,"rdfsbase %rax",-DHAVE_GAS_FSGSBASE)
-ifeq ($(supervisor_mode_kernel),y)
-CFLAGS += -DCONFIG_X86_SUPERVISOR_MODE_KERNEL=1
-endif
-
x86 := y
x86_32 := n
x86_64 := y
}
else
{
- if ( supervisor_mode_kernel )
- regs->eip &= ~31; /* re-execute entire hypercall entry stub */
-
for ( i = 0; *p != '\0'; i++ )
{
arg = next_arg(p, args);
paging_update_paging_modes(v);
}
- if ( supervisor_mode_kernel )
- {
- v->arch.pv_vcpu.kernel_ss &= ~3;
- v->arch.user_regs.ss &= ~3;
- v->arch.user_regs.es &= ~3;
- v->arch.user_regs.ds &= ~3;
- v->arch.user_regs.fs &= ~3;
- v->arch.user_regs.gs &= ~3;
- printk("Dom0 runs in ring 0 (supervisor mode)\n");
- if ( !test_bit(XENFEAT_supervisor_mode_kernel,
- parms.f_supported) )
- panic("Dom0 does not support supervisor-mode execution");
- }
- else
- {
- if ( test_bit(XENFEAT_supervisor_mode_kernel, parms.f_required) )
- panic("Dom0 requires supervisor-mode execution");
- }
+ /*
+ * PVH Fixme: XENFEAT_supervisor_mode_kernel has been reused in PVH with a
+ * different meaning.
+ */
+ if ( test_bit(XENFEAT_supervisor_mode_kernel, parms.f_required) )
+ panic("Dom0 requires supervisor-mode execution");
rc = 0;
unsigned int domcr_flags;
ret = -EINVAL;
- if ( supervisor_mode_kernel ||
- (op->u.createdomain.flags &
+ if ( (op->u.createdomain.flags &
~(XEN_DOMCTL_CDF_hvm_guest
| XEN_DOMCTL_CDF_pvh_guest
| XEN_DOMCTL_CDF_hap
fi.submap |=
(1U << XENFEAT_writable_page_tables) |
(1U << XENFEAT_auto_translated_physmap);
- if ( supervisor_mode_kernel )
- fi.submap |= 1U << XENFEAT_supervisor_mode_kernel;
if ( is_hardware_domain(current->domain) )
fi.submap |= 1U << XENFEAT_dom0;
#ifdef CONFIG_X86
extern unsigned long frametable_virt_end;
#endif
-#define supervisor_mode_kernel (0)
-
#define watchdog_disable() ((void)0)
#define watchdog_enable() ((void)0)
/* Maximum we can support with current vLAPIC ID mapping. */
#define MAX_HVM_VCPUS 128
-#ifdef CONFIG_X86_SUPERVISOR_MODE_KERNEL
-# define supervisor_mode_kernel (1)
-#else
-# define supervisor_mode_kernel (0)
-#endif
-
/* Linkage for x86 */
#define __ALIGN .align 16,0x90
#define __ALIGN_STR ".align 16,0x90"
(sel) = (((sel) & 3) >= _rpl) ? (sel) : (((sel) & ~3) | _rpl); \
})
-/* Stack selectors don't need fixing up if the kernel runs in ring 0. */
-#ifdef CONFIG_X86_SUPERVISOR_MODE_KERNEL
-#define fixup_guest_stack_selector(d, ss) ((void)0)
-#else
#define fixup_guest_stack_selector(d, ss) __fixup_guest_selector(d, ss)
-#endif
-
-/*
- * Code selectors are always fixed up. It allows the Xen exit stub to detect
- * return to guest context, even when the guest kernel runs in ring 0.
- */
#define fixup_guest_code_selector(d, cs) __fixup_guest_selector(d, cs)
/*