Shuo Liu
4c7bfa383e
x86/acrn: Remove redundant chars from ACRN signature
...
hypervisor_cpuid_base() only handles 12 chars of the hypervisor
signature string but is provided with 14 chars.
Remove the redundancy. Additionally, replace the user space uint32_t
with preferred kernel type u32.
Signed-off-by: Shuo Liu <shuo.a.liu@intel.com >
Signed-off-by: Ingo Molnar <mingo@kernel.org >
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com >
Link: https://lore.kernel.org/r/20200806114111.9448-1-shuo.a.liu@intel.com
2020-08-07 01:32:00 +02:00
Shuo Liu
86d709ce30
x86/acrn: Allow ACRN guest to use X2APIC mode
...
The ACRN Hypervisor did not support x2APIC and thus x2APIC support was
disabled by always returning false when VM checked for x2APIC support.
ACRN received full support of x2APIC and exports the capability through
CPUID feature bits.
Let VM decide if it needs to switch to x2APIC mode according to CPUID
features.
Originally-by: Yakui Zhao <yakui.zhao@intel.com >
Signed-off-by: Shuo Liu <shuo.a.liu@intel.com >
Signed-off-by: Ingo Molnar <mingo@kernel.org >
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com >
Link: https://lore.kernel.org/r/20200806113802.9325-1-shuo.a.liu@intel.com
2020-08-07 01:32:00 +02:00
Thomas Gleixner
a16be368dd
x86/entry: Convert various hypervisor vectors to IDTENTRY_SYSVEC
...
Convert various hypervisor vectors to IDTENTRY_SYSVEC:
- Implement the C entry point with DEFINE_IDTENTRY_SYSVEC
- Emit the ASM stub with DECLARE_IDTENTRY_SYSVEC
- Remove the ASM idtentries in 64-bit
- Remove the BUILD_INTERRUPT entries in 32-bit
- Remove the old prototypes
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Ingo Molnar <mingo@kernel.org >
Acked-by: Andy Lutomirski <luto@kernel.org >
Reviewed-by: Wei Liu <wei.liu@kernel.org >
Link: https://lore.kernel.org/r/20200521202119.647997594@linutronix.de
2020-06-11 15:15:15 +02:00
Zhao Yakui
498ad39368
x86/acrn: Use HYPERVISOR_CALLBACK_VECTOR for ACRN guest upcall vector
...
Use the HYPERVISOR_CALLBACK_VECTOR to notify an ACRN guest.
Co-developed-by: Jason Chen CJ <jason.cj.chen@intel.com >
Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com >
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
Reviewed-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Andy Lutomirski <luto@kernel.org >
Cc: "H. Peter Anvin" <hpa@zytor.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: x86-ml <x86@kernel.org >
Link: https://lkml.kernel.org/r/1559108037-18813-4-git-send-email-yakui.zhao@intel.com
2019-06-11 21:31:31 +02:00
Zhao Yakui
ec7972c99f
x86: Add support for Linux guests on an ACRN hypervisor
...
ACRN is an open-source hypervisor maintained by The Linux Foundation. It
is built for embedded IOT with small footprint and real-time features.
Add ACRN guest support so that it allows Linux to be booted under the
ACRN hypervisor. This adds only the barebones implementation.
[ bp: Massage commit message and help text. ]
Co-developed-by: Jason Chen CJ <jason.cj.chen@intel.com >
Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com >
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
Reviewed-by: Thomas Gleixner <tglx@linutronix.de >
Cc: "H. Peter Anvin" <hpa@zytor.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: x86-ml <x86@kernel.org >
Link: https://lkml.kernel.org/r/1559108037-18813-3-git-send-email-yakui.zhao@intel.com
2019-06-11 21:29:22 +02:00