Commit Graph

71 Commits

Author SHA1 Message Date
Mingqiang Chi
bf8714b7e0 add create secure world ept API
This patch is prepared for enabling secure world feature.
this api will create new eptp for secure world, whose PDPT
entries are copied form normal world,the PML4/PDPT for secure
world are separated from Normal World, PD/PT are shared in the
Secure World's EPT and Normal World's EPT.Secure world can
access Normal World's memory, but Normal World can not access
Secure World's memory
This function implemented:
-- Unmap specific memory from guest ept mapping
-- Copy PDPT from Normal world to Secure world
-- Map specific memory for Secure world
-- Unmap specific memory from SOS ept mapping

Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
2018-03-16 21:52:15 +08:00
Li, Fei1
4f65dd477a Simple get_vmx_cap()
Don't check MSR Control Features in get_vmx_cap

Signed-off-by: Li, Fei1 <fei1.li@intel.com>
2018-03-15 16:33:08 +08:00
Yan, Like
05b8f366f6 Remove ASSERT in lib functions
Replace ASSERT in lib functions with error message print and return a
value indicating error to allow the caller of lib functions to handle
the error.

Change-Id: If166484238dc0734041adfdbb19a5b374c044e33
Signed-off-by: Yan, Like <like.yan@intel.com>
2018-03-15 16:29:51 +08:00
Li, Fei1
b0f8781500 Call monitor_cap_detect in bsp_boot_init
On the APL NUC board (CPU family: 0x6 model: 92), the monitor is buggy.
We can't use it to wake up CPU core from mwait by memory monitor.

Signed-off-by: Li, Fei1 <fei1.li@intel.com>
2018-03-15 16:28:02 +08:00
Mingqiang Chi
78649c4a52 add data structure in vm for enable trusty feature
add key info structure
add sworld_eptp in vm structure, and rename ept->nworld_eptp
add secure world control structure

Change-Id:
Tracked-On:220921
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
2018-03-15 16:26:55 +08:00
Jason Chen CJ
b4580d69b8 retpoline: replace indirect jmp in switch_to function
Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
2018-03-15 16:25:53 +08:00
Jason Chen CJ
f61d7ed41f retpoline: add indirect thunk support
for gcc version > 7.3, enable CONFIG_RETPOLINE

Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
2018-03-15 16:25:53 +08:00
Jason Chen CJ
aaeb52577f vpic: use calloc to init vpic instead of malloc
vpic struct should be init as 0

Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
2018-03-15 16:25:53 +08:00
Jason Chen CJ
4b750331b1 uefi: restore cr registers according to efi context
Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
2018-03-15 16:25:53 +08:00
Yin Fengwei
9848000879 apicv: cancel event injection if vcpu is scheduled out
And re-inject the event after vcpu is scheduled in.

Signed-off-by: Yin Fengwei <fengwei.yin@intel.com>
2018-03-15 16:24:13 +08:00
wenshelx
5e1b371b24 security: fortify source and format string check
"-O2 -D_FORTIFY_SOURCE=2":
GCC C-Compiler can analyze the source code to be compiled and detect
certain insecure sections, that might create a security problem. The
compiler will replace the insecure function calls with special hardened
code that will perform extra runtime checks while the process is
executed.
"-Wformat -Wformat-security":
It warns about calls to "printf" and "scanf" functions where the format
string is not a string literal and there are no format arguments, as in
"printf (foo);". This may be a security hole if the format string came
from untrusted input and contains %n.

Tracked-On: 224003
Signed-off-by: wenshelx <wenshengx.wang@intel.com>
2018-03-13 19:30:05 -07:00
Jack Ren
7ace7f2558 version: v0.1-rc2
Signed-off-by: Jack Ren <jack.ren@intel.com>
2018-03-09 20:50:45 +08:00
Jack Ren
b9c08c9faa minor fix on acrn.conf
Signed-off-by: Jack Ren <jack.ren@intel.com>
2018-03-09 20:48:44 +08:00
Miguel Bernal Marin
5efd3481fe use efi instead of linux in acrn.conf
acrn.efi is an EFI executable image and not a linux kernel image.
This commit changes linux to efi in the boot-loader configuration.

For more reference please review:
https://www.freedesktop.org/wiki/Software/systemd/systemd-boot/

Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
2018-03-09 15:29:37 +08:00
Jason Chen CJ
c865e427ad decouple hv sw version and api version
Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
2018-03-09 13:43:20 +08:00
Miguel Bernal Marin
92bbdf38ca efi: makefile: install the EFI configuration file
The EFI configuration example file is not installed.
This patch adds a rule to install the configuration example file
at /usr/share/acrn

Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
2018-03-08 14:00:36 +08:00
Miguel Bernal Marin
d302679562 efi: makefile: install to acrn directory
Currently the acrn EFI hypervisor file is installing directly to
/usr/share. This patch adds a "acrn" directory to store in
/usr/share/acrn

Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
2018-03-08 14:00:36 +08:00
David Kinder
1ceca92253
Merge pull request #2 from dbkinder/master
doc: update param spelling from VM to vm
2018-03-07 17:24:35 -08:00
David B. Kinder
ff66f65869 doc: update param spelling from VM to vm
doxygen comments for @param VM must match the actual parameter name vm
(lowercase)

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-03-07 17:14:33 -08:00
Jack Ren
d269e437a0 update Maintainer list
Signed-off-by: Jack Ren <jack.ren@intel.com>
2018-03-08 09:07:55 +08:00
Eddie Dong
f4cd4338fd initial import
internal commit: 14ac2bc2299032fa6714d1fefa7cf0987b3e3085

Signed-off-by: Eddie Dong <eddie.dong@intel.com>
2018-03-07 21:05:38 +08:00