ACRN v0.1 (July 2018)¶
We are pleased to announce the release of Project ACRN version 0.1.
ACRN is a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind, optimized to streamline embedded development through an open source platform. Check out the What Is ACRN for more information.
The project ACRN reference code can be found on GitHub in https://github.com/projectacrn. It includes the ACRN hypervisor, the ACRN device model, and documentation.
Version 0.1 New Features¶
Hardware Support¶
In addition to the Apollo Lake NUC, the Apollo Lake UP Squared (UP2) board is supported. (See Supported Hardware for supported platform details.)
GVT-g for ACRN¶
Virtual Graphics support added:
GVT-g for ACRN (a.k.a ACRNGT): GPU sharing feature enabled. Service OS and User OS can run GPU workload simultaneously.
Direct display supported by ACRNGT. Service OS and User OS are each assigned to different display. The display ports supports eDP and HDMI.
See the HLD GVT-g documentation for more information.
Virtio Standard Is Supported¶
Virtio is a virtualization standard for network and disk device drivers where just the guest’s device driver “knows” it is running in a virtual environment, and cooperates with the hypervisor. The SOS and UOS can share physical LAN network and physical eMMC storage device. (See Virtio Devices High-Level Design for more information.)
Device Pass-Through Support¶
Device pass-through to UOS support for:
USB controller (including USB2.0 and 3.0 disk, keyboard, mouse)
SD card (mount, read, and write directly in the UOS)
Converged Security Engine (CSE)
Hypervisor Configuration¶
Developers can configure hypervisor via Kconfig parameters. (See documentation for configuration options.)
New ACRN Tools¶
We’ve added a collection of support tools including acrnctl, acrntrace, acrnlog, acrn-crashlog, acrnprobe.
Known Issues¶
- 663 - Black screen displayed after booting SOS/UOS
The
weston
display server, window manager, and compositor used by ACRN (from Clear Linux OS) may not have been properly installed and started. Workaround is described in ACRN GitHub issue 663.- 677 - SSD Disk ID not consistent between SOS/UOS
The SSD disk ID in the UOS is not the same as in the SOS when the SSD device is pass-through to the UOS. The ID is also changing after a reboot. This shouldn’t be the case. Workaround: None. There is no impact to functionality. The issue will be fixed in the next release.
- 676 - Hypervisor and DM version numbers incorrect
The command
/usr/bin/acrn-dm --version
does not show the correct build number. Workaround: None. The issue will be fixed in the next release.
Change Log¶
These commits have been added to the acrn-hypervisor repo since our initial release in March 2018 (click on the CommitID link to see details):
a23549a HV: build: make relocation-related code configurable
057a384 HV: bug fix update RTE if trigger mode or polarity is updated
a9d04cc [REVERT-ME]:handle discontinuous hpa for trusty
5603afb HV: remove execute access attribute in trusty EPT table
4446864 hv: fix ‘Pointer arithmetic is not on array’
5cb9972 hv: cleanup cpu.c and cpu.h
6c9e451 hv: EFI can load Hypervisor to address other than COMNFIG_RAM_START
84d9da1 hv: build hypervisor as PIE (position-independent executable)
92cd261 hv: fixup addresses in the c code for relocation
bc8b3a4 hv: fixup addresses in the assembly code for relocation
ca728fb hv: add code to fixup ELF relocation sections
b52be90 tools: acrntrace: Fix wrong event id in vmexit_analyze.py
636515a tools: acrntrace: Remove use of binary “mkdir”
e699462 tools: acrntrace: Remove use of binary “ls”
a2a4122 tools: acrntrace: Remove unused function get_cpu_freq
f81fcf2 HV:MM:add ‘U/UL’ suffix for unsigned constant value
b25caad doc: add API-GVT-g high level design doc
2c706b2 doc: add ACPI virtualization HLD
1707fc3 doc: add memory management HLD
b369098 [REVERT-ME]: disable turbo mode
3fed57b hv:fix return value violation in prepare_vm0
f01e6ef hv:fix return value violation in vmexit handler
2686fe7 hv: no need to return error when inject GP
809eb9f vioapic.c: Using suffix rather than casting
cb064b1 HV: Do not return expression contains subexpression
eb7cf14 HV: code format for memory.c
d3e8c29 DM USB: xHCI: Update the native DRD interfaces.
c638010 DM USB: xHCI: Set correct PCI VID/PID for APL DRD cap.
1185884 HV:treewide:Clean up field names of struct cpuinfo_x86
abe5cb4 HV: include: integral type cleanup
3956ce1 HV: io: spell out explicit narrowing of integers
0f777d3 HV: assert: use signed int for __LINE__
d0c61ce HV: trace: integral type cleanup
e263d8e HV: No assignment inside while loop condition
c7f26ba tools: acrntrace: Add support for TRACE_6C/16STR
3195bc4 tools: acrnlog: Deprecate binary “rm” and “mkdir” with GPLv3+
8869c86 tools: acrnlog: Deprecate binary “ls” with GPLv3+
0ccd74b HV:modified vm_description and vm_hw_info members’ type
39159eb HV: Assignment should not mix with operator
7ed292e DM: extend i6300esb device to support watchdog timeout query
1f54b92 lpc: resolve UOS boot-up issue caused by lpc.
2e31350 HV: Rename ‘CPU_BOOT_ID’ to ‘BOOT_CPU_ID’
e7aa00b HV: Avoiding the chained assignment
cfca49d Changing the mem_read* from macro to inline
0419816 HV: Avoiding assignment operation inside macro
688b0cd HV: instr_emul: Return -EINVAL if inst_len equals 0
a0fbb2d DM: Add boot option of “i915.enable_guc_submission=0” to disable guc submission on UOS
018aac6 DM: Add UOS boot option of “i915.enable_guc_loading=0” to fix incorrect memory allocation on APL-NUC
0985934 samples: add cma reservation into sos cmdline
b79f350 HV:CPU: Add ‘U/UL’ for constant value in CPU module
90d8e28 HV:CPU: Narrow integer conversion
e649967 HV: ioapic: clean up remaining integral-related violations
c477138 HV: ioapic: convert pins to uint8_t
49d1dc1 HV:treewide: Clean up -1U or -1UL
de5bb50 doc: handle new VERSION file and format
7a7fc5b doc: fix a formatting issue in the virtio-hld
d924482 hv: update versioning scheme
dc135bd Documentation: tutorial on how to use Ubuntu as the SOS
bf5088e doc: add v0.1 release notes
0bed257 HV: Using one assignment in for loop statement
dd695f3 HV: Moving operators out from conditions
078178b DM: Fixes issue #592 NHLT is not detected on audio passthru. When XSDT is created by DM, if audio passthru is enabled for audio device (0:e:0), an entry is added in XSDT that references the NHLT table. With this fix, NHLT appears in the kernel boot log for ACPI and entry can be seen in /sys/firmware/acpi/tables/NHLT.
3e2d1fb HV: trusty: Get rpmb_key from OSloader when init trusty
260e847 HV: trusty: use copy_from_gpa() instead of gpa2hpa()
f96c2b8 doc: add virtio HLD document
1bed8b2 add release notes for v0.1 release
1d24a04 acrn-bridge: improve systemd network units
eff7353 acrn-bridge: Do not overwrite system files
474e9af HV:CPU: Add ‘U/UL’ for unsigned const value
21f0bdd HV: instr_emul: Rename emul_cnx to emul_ctxt
211fcd4 HV: ioapic: number of interrupt pins should be max_rte + 1
3b6c885 launch_uos: remove enable_initial_modeset for UOS
6494708 tools: acrn-crashlog: fix potential buffer overflow issues
0f6ff87 HV:CPU:Constant values replace with CPU MACRO
54bd55d hv: fix ‘Recursion in procedure calls found’
deb4440 hv:fix “missing for discarded return value” for memcpy_s and strcpy_s
8d3847d doc: fix acrntrace parameter documentation
0cb7b04 Documentation: update script highlights in Getting Started Guide
d7f0712 tools: acrntrace: Add option -t for max capture time
5042ba6 tools: acrntrace: Change option -t to -i
b04e799 tools :acrntrace: Reserved configurable space on the disk
8779e4f HV: uart16550: check the denominator before use
b5b83ca HV:CPU:Clean up variable type for CPU module
1bf511c doc: small tweaks to new trusty doc
db62c23 HV: vioapic: use uint8_t for pins
f7d7828 Documentation: add pictures to Trusty documentation
d241795 Documentation: move Trusty documentation to doc/
666430a hv:fix “missing for discarded return value” for memset
91ef6ed HV: instr_emul: enforce unsignedness when possible
62865d0 HV: instr_emul: make SEG_DESC_* macros having type bool
ecce1e6 HV: instr_emul: make integer conversion explicit
158242d HV: instr_emul: enforce unsignedness of VIE_OP constants
479dacc HV: instr_emul: convert cpl to uint8_t
ab156c9 HV: instr_emul: convert return value of get_vmcs_field to unsigned
d457874 treewide: instr_emul: rename vm_reg to cpu_reg
8454376 HV: instr_emul: keep using enum vm_reg_name for registers
edc7931 HV: instr_emul: convert sizes to uint8_t
bbb6920 HV: instr_emul: replace u_long with uint64_t
3f9b0d5 HV: rename functions in cpu.c
0621b24 DM: Add write sync in fwrite
96372ed HV:misc:add suffix U to the numeric constant
d3ad411 HV:lib:add suffix U to the numeric constant
d3bd514 HV:common:add suffix U to the numeric constant
98c49c7 HV:guest:add suffix U to the numeric constant
b74358d HV:treewide:string assigned to const object
6ca9971 Revert “hv: More changes to enable GPU passthru”
cfb2828 hv: Avoid inject the same int to target vcpu multiple times
fdd785d hv: Add 32bit bitmap bit ops API
9d8893e hv:rename several APIs in vlapic.c
cc71670 HV: cleanup coding style violation
b0deb1b doc: add support for kerneldoc API tools
85a5668 tools: acrntrace: Update README.rst
fa98b57 HV:CPU:Update logical_id type as uint_16 and rename logical_id
b332410 HV: Fix coding style violation of MISRA in string.c
b76c92b HV:treewide:Update cpu_id type as uint_16
188210a HV:Treewide:Update the type of vcpu id as uint16_t
b3fa2ef public:fix “signed/unsigned conversion without cast”
ac7ba6c HV:lib:fix “signed/unsigned conversion without cast”
2ffa69c HV:misc:fix “signed/unsigned conversion without cast”
95736e6 HV:interrupt:fix “signed/unsigned conversion without cast”
102d2f1 HV:common:fix “signed/unsigned conversion without cast”
91fdffb HV:debug:fix “signed/unsigned conversion without cast”
8b94957 HV:guest:fix “signed/unsigned conversion without cast”
a27f33f HV: debug: make log severity constants unsigned
4cd27a5 HV: Don’t pass retval to vmm_emulate_instruction()
05d2558 doc: move graphviz material to developer-guides
5d94e9b Documentation: fix set up a static IP tutorial
50f06ca HV:treewide: Rename bit operation function fls as fls32
8afbe66 HV: Fix wrong log message in init_host_state
31ebd98 tools: acrn-crashlog: replace ldconfig with pkg-config in Makefile
4eae78c cbc: fix the install issue when do make misc-install only
5907400 tools: acrntrace: Remove unused pre_process.sh
ad89a22 tools: acrntrace: Make all python scripts python3 module
e75cca6 HV: timer: keep TSC frequency in KHz
ffc0b27 HV: lib: make the argument to udelay unsigned
228f4df HV: coding style cleanup in string.c
2a81936 hv: add ioapic reset function
8b9fb37 hv: avoid memory leak in init_msr_emulation
57c217b hv: extend the vlapic_reset
21b9ba8 misc: disable cbc_lifecycle service always restart by systemd
a97593e HV:treewide:Update return type of function ffs64 and ffz64
db01efa HV:treewide:Update return type for function fls64 and clz64
13d354e HV:treewide:Update return type for bit operations fls and clz
4110f3a HV: Remove unnecessary vm0 check in vm0 specific func
cfc3811 HV: treewide: drop debug-only helpers in release build
8b1c5a7 HV: bug fix on emulating guest IPI
61cd694 DM: Remove ‘strictio’ from UOS bootargs’ options
9f4404d hv: add context->vmx_ia32_pat to save and restore VMCS
d0df39c hv: emulate CR0.CD and CR0.NW
6801d82 hv: intercept IA32_PAT MSR
873e90c HV: Fix compiler warnings in string.c
b068959 HV:change the cpu state to enum type
eaa5418 hv:merge struct lapic and lapic_regs to lapic_regs
7a66c31 HV: Remove vm->attr.name
31cdf8c HV:transfer page_table_type type
b67836f HV: Minor refactor to get_guest_paging_info
83587b7 HV: Make all trace event prefix consist with TRACE
cc50165 HV:treewide:Cleanup the type for parameters of bitmap operations
25eae47 Documentation: add tutorial to set up a static IP address
92d0f3c Documentation: fix minor rendering issue in GSG
7791934 misc: fix cbc_attach blocks APL NUC boot for 20 seconds
4de8696 HV:treewide:transfer the struct member types to non-basic types
bbdb204 HV:- Refine strtol() & strtoul()
41b39c5 tools: acrn-crashlog: Defer the vm events processing when failed
ccc222d HV: vpic: add suffix ‘U’ to constants in unsigned contexts
aadd819 HV: vpic: spell out conversions to narrower integers
3e4317b HV: vpic: use uint8_t to represent pins
3965593 doc: reorganize documentation
5c75f29 modified the lapic_id type to uint8_t
6f097b1 dm: remove set vm memory by cma
652e37e dm: use hugetlb by default
136d5c3 tools: acrntrace: Add irq related analyzer
8a233ee tools: acrntrace: Refactor vmexit_analyzer based on new trace format
2bdd811 tools: acrntrace: Using array for saving all analyzer
2aa0d40 tools: acrntrace: Make TSC frequency configurable
0d9b163 tools: acrntrace: Add new tool acrntrace_format
a35a650 tools: acrntrace: output trace data as raw data
bfe47a7 HV: trace: Add nr of data and cpuid to trace_entry
1c605a4 build: Using id tool to get builder username
1b97c6e HV: vpic: cleanup uses of boolean variables
be90e42 HV: vpic: take unsigned port and width in i/o handlers
255786b HV: vpic: convert icw_num and rd_cmd_reg to uint8_t
81b113c DM: add ‘reset’ option for ptdev
15f651e DM: change passthrough parameter
b4aa981 DM: make removing vGSI capability option as local
dafca17 DM: reset each ptdev before assignment
b8384ea HV:common:transfer local variable type
4ec690f DM/samples: remove clocksource assignment
5b43521 hv: trap vm0 write/read pm1a/pm1b registers
baacfdb hv: Make bsp could start from real mode
0f9d964 hv: add function to return to VM0
02d8191 hv: add enter_s3
d34700a hv: prepare for Sx(S3/S5) support in ACRN.
a06a2f2 hv: implement lowlevel S3 enter/wakeup
4434910 hv: rename the pm.h to guest_pm.h
a27bfce HV: Remove ‘register’ prefix for data type
f74675c hv: pirq: add a header for common data struct and APIs
d5912a4 hv: pirq: rename related source files
fcbc564 DM: virtio_rnd: fix rnd->fd and vbs_k->fd leak
789899d dm: deal with physical GSI sharing
9600dfa fix “function return type inconsistent”
1a607b6 HV: Fix wrong comment of trace_entry size
6192773 DM: Update the vcpu id type as uint16_t for vm_create_vcpu
3925423 HV: treewide: convert suffix ULL to UL
9beb1b9 HV: add MTRR capability check when CPU boot
f67951b enable audio mediator device model
c825519 audio mediator device model
359e5cf dm: Disable stolen memory for passthru graphics
8d50d40 hv: More changes to enable GPU passthru
9d4cc5c dm: Change the PCI_EMUL_MEMBASE64 to workable address.
a69a369 guest.h: Condition operator fix of foreach_vcpu loop
5b14df3 hv: irq: fix type for vector in ioapic setup
bab8fad hv: Makefile flags initialization
b2fa8c5 Dockerfiles: add Python3 and kconfiglib build dependency
ad59375 hv: cpu_context is not only used by guest.
1d66aaa init: separate init function based on different stack
79fc246 HV: treewide: fix C-style unsigned constants in assembly
6d46749 hv: fix android boot fail on 4GB memory board
5892b98 Getting Started Guide: update build dependencies and tools
4de9e1b HV Makefile: fix detection of gnu-efi tools location
c585172 Rename phy_cpu_num as phys_cpu_num
3892bd0 hv: refine the address used in sbl multiboot code
437ed88 hv: uos needn’t to ummap trap mmio memory
2e53585 hv: remove config_page_table_attr
c5c338a vtd:fix “negative shift”
218a0a8 modified struct to fix “negative shift”
58672cb fix “negative shift”
de31cf4 HV: remove unused API lookp_entry_by_id()
0e49f85 improve memory allocation for UOS by hugeTLB mmap
f52a25d HV: ptdev: convert vectors in msi_info to unsigned integers
3027bfa HV: treewide: enforce unsignedness of pcpu_id
2922a65 hv: fix compile error
aa505a2 HV: treewide: convert hexadecimals used in bitops to unsigned
cdd38d0 HV: msr: convert hexadecimals used in bitops to unsigned
d705970 HV: vmx: convert hexadecimals used in bitops to unsigned
41a1035 HV: irq: convert hexadecimals used in bitops to unsigned
f4bd079 HV: mmu: convert hexadecimals used in bitops to unsigned
7b548e8 HV: cpu: convert hexadecimals used in bitops to unsigned
5aca8b1 When guest frees vector, counts needs to be reset. “int” command from hv shell ends up incrementing per cpu irq_count.
cb39bad tools: acrn-crashlog: fix potential issues under common and usercrash
48067b1 IOC mediator: Implement VM monitor operations
32fccb2 HV: ‘vlapic_set_local_intr()’ code cleanup
3ee1f8d HV:x86:fix “expression is not Boolean”
cb56086 HV:guest:fix “expression is not Boolean”
be0f5e6 HV:treewide:fix “expression is not Boolean”
f92931c HV:common:fix “expression is not Boolean”
2392138 HV:debug:fix “expression is not Boolean”
fe0314e HV:header:fix “expression is not Boolean”
e3174bb script: add plane restriction parameters for NUC
20b50ad HV: correct loglevel definitions and default values
6137ccd tools: acrn-crashlog: fix format-security warning
1f8f1a4 HV: fix unused warning at RELEASE version
e84d4de trusty: init & switch world fix
75c1573 ept: set trusty eptp to 0 after destroy and only invalidate it when exist
fb723ef dm: check pci_vdev before using
685d82c doc: fix formatting in acrnlog doc
3e8e607 tools: acrn-crashlog: Fix potential issues under acrnprobe
0c39b9c tools: acrn-crashlog: Fix potential issues for load_conf module of acrnprobe
b3ca8f4 add acrnbridge-install to Makefile install target
fa52290 tools: acrn-crashlog: Improve the efficiency of do_log
c52afb1 hv: fix error use of list_del for delete timer
ad2d855 hv: save registers on exception
977c4b2 fix parted of “missing for discarded return value”
b8bdf17 tools: acrnlog: improve for log incompleteness problem
57d6a93 tools: correct several Makefile problems
0f842cd DM samples: trigger warm reboot on panic
5f5c16d hv: add shell command to trigger crash
59f1f00 bugfix: make remove_intx_remapping static
417d17e udelay waits for corresponding number of milliseconds passed to API. Changed the CYCLES_PER_MS to US_TO_TICKS
18c355f DM: Fix build failure with Openssl 1.1+
287fc4c doc: add hypervisor kconfig option reference
37f33fd doc: update doc building tools versions
5754d36 HV: remove redundant code in cpu_secondary_init
a0b8da7 handle failure when add/create vcpu for a VM in DM
098c2e6 HV: enable SMEP in hypervisor
b2b49a6 Revert “VMX: change PAT register default value”
8202ba0 HV: move common stuff from assign.c
46f64b5 hv: vlapic_timer: add vlapic one-shot/periodic timer support
47116e8 DM sample: force enabling HDMI1 and HDMI2 connectors
3d0c6cb doc: add steps for modifying configs and generating defconfigs
5251f42 HV: make: rename minimalconfig to savedefconfig
8009ccc HV: make: manage debug/release build in kconfig
c4493cc HV: make: skip duplicated PLATFORM= on command line
6df3ac0 HV: make: add menuconfig
216f4e7 HV: make: append dependency checking targets to a given variable
063557a HV: make: drop double quotes in config.mk
eecac5a HV: make: force updating .config and config.mk
d28d79d Documentation build: eliminate warning from doxygen
2425583 Build system: add target to build documentation
0dd3f8d Documentation Makefile: rename $(O) into $(OPTS)
a167f44 doc: add graphviz installation instructions
2e3af9e tools: acrn-crashlog: fix typo in Makefile
d8c8403 hv: replace vlapic_init by vlapic_reset in vcpu_reset
359b93f HV: Remove misused __unused
719e07f HV: fix a print typo in create_vcpu
74dfa42 hv: Add initialize pm.c
feed38f hv: add suspend/resume callback for console
8eaf4d2 hv: Add suspend/resume callback for vtd
d2ea454 hv: Add suspend/resume callback for ioapic
ddd03d6 hv: add suspend/resume callback for lapic.
a06f2d6 HV: bug fix in operating softirq
8f3b36b HV: add volatile declaration to pointer parameter
24ccdf2 Tools:acrn-manager: use RELEASE in Makefile
4c58356 HV: make cpu state table static const
5d6ce37 HV: add Px Cx support for A3950 SoC
aead61f update documentation for acrnbridge
9a56024 HV: load host pm S state data while create vm0
88e1c49 HV: add bsp acpi info support
35f06b8 Documentation: fix incorrect link in acrn-probe documentation
467e65a doc: add some docs about graphviz for drawings
4d62c56 nuc-samples: use huge page as default launch_uos cmdline
5414d57 hv: Fix typo of trampline with trampoline
7d13e5b tools: acrn-crashlog: add documents for acrn-crashlog
756083f align usage info with command line
8c4a598 irq: convert irq/vector numbers to unsigned
5e2c83f hv:replace unsigned long long with uint64_t
f757d49 Merge pull request #322 from dbkinder/api-spell
44293a4 doc: use graphviz for intro boot-flow diagram
64515cf Tools:acrn-manager Fix wrong description of mngr_send_msg()
b7ad705 convert bridge creation to service
48b0894 hv: relocate trampoline code to the dynamically allocated memory
2a1a6ad hv: Other preparation for trampoline code relocation
40c8c4d hv: Prepare trampline.S trampoline code relocation
77580ed hv: add memory allocation functions for trampoline code relocation
1f074a2 hv: add MTRR_ENABLED entry to Kconfig
571fb33 rename copy_from/to_vm to copy_from/to_gpa
8d35d87 instr_emul: remove vm_gva2gpa
51528d4 ucode: refine acrn_update_ucode with copy_from_gva
7aa3391 shell: refine shell function with copy_from_gva
4176042 dump: refine dump.c with copy_from_gva
48de7ef instr_emul: remove vm_restart_instruction and use VCPU_RETAIN_RIP
0d6218f instr_emul: remove unnecessary params in __decode_instruction
570aef6 instr_emul: refine decode_instruction with copy_from_gva
88758df add copy_from_gva/copy_to_gva functions
6be8283 fix MISRA C:”Statement with no side effect”
8940c89 fix MISRA C”Literal zero used in pointer context”
7710940 apicv: only write VMX_ENTRY_EXCEPTION_EC when error code valid
2dfa5f6 fix spelling errors for acrn-manager
c849bff HV: config: adapt to the generated config.h
f9bb202 HV: make: introduce targets for generating configs
10518de make: add functions for checking build prerequisites
bce7ed1 HV: config: add Kconfig and defconfigs for sbl & uefi
ce061d3 doc: add python and Kconfiglib as prerequisite development tools
647aee6 scripts: introduce .config/config.h generators
5e521e2 IOC mediator: Disable hardware flow control by default
8379119 tools: acrnctl: Fix wrong description of mngr
c34360b DM USB: Fix potential crash issues.
e334675 hv: add fixup to trampline code
f3831cd hv: don’t combine the trampline code with AP start
11df803 hv: rename cpu_secondary.S to trampline.S
5b49529 cbc_lifecycle: fix a service typo
a9b4e7e replace ifconfig & brctl with ip command
4bb5e60 hv: enable MTRR virtualization
a41267e hv: change rdmsr/wrmsr policy for MTRR registers
eed7309 hv: update EPT when guests change MTRRs
c228374 hv: basic MTRR virtualization
5d2ab4d hv: add APIs to allow updating EPT mem type
b435c74 dm: fix the error code issues in passthrough.c
13dc961 hv: use vmx_write_cr<#> to init control register of uefi platform
66c74c6 hv: adjust control register init order
6b26766 dm: remove -U option in launch script.
02f0ecd DM: implement emulated npk pci device
f741b01 hv: prepare for down/up APs dynamically.
7a71422 hv: handle cpu offline request in idle thread
08139c3 hv: add vmx_off and update exec_vmxon_instr
fbeafd5 hv: add API to get the vcpu mapped to specific pcpu.
2dd4e8f tools: acrnctl: Add support for reseting vm
7a0e8dd tools: acrnctl: Add support for resuming vm
d6eb39d tools: acrnctl: Add support for suspending vm
665c2ee tools: acrnctl: Add support for continuing vm
1933d60 tools: acrnctl: Add support for pausing vm
3000edc tools: acrnctl: Free vmmngr list after vm ops done
2da5e7c tools: acrnctl: Use new IPC lib to connect acrn-dm
143c49b tools: acrnctl: Refactor help info
df4ab92 DM: cleanup for header inclusions
a9ee6da vm: remove current_vcpu from vm structure
8e255da trusty: invept should go through all vcpus
c84766a Tools: add Makefile for all tools
de4b596 tools: acrn-crashlog: change source of config file
03f5cbd HV: Parse SeedList HOB
d1e281f doc: add graphviz extension
862c878 script: support two monitors in UOS
24d2b92 dm: enable IPU passthrough for Android UOS
8f9ef10 dm: install bios binary to sos_rootfs
bb98846 dm: add vSBL binary in bios directory
864f470 DM/samples: Check whether IPU devices exists before using IPU devices
5de6bf3 fix a bug: UOS could hung after running some time.
66d283d add lock for vcpu state access
9f1faa6 IOC mediator: Enable IOC for android in launch_uos.sh
e591315 HV:treewide:C99-friendly per_cpu implementation change the per_cpu method
cbb692d add cbc_lifecycle service systemd support
c4bd0db cbc_lifecycle: fix building using custom output directory
7f2a7d4 Tools Makefiles: enhancement to keep source code tree clean
84f4cf3 hv: vmx: add vpid support
c34f72a hv: monir modify for flush ept tlb to compatible with vpid
3c09933 license: more spdx license tag updates
b55b808 hv: copy cr0/4 value when init secure world
e5d7d2d dm: start vsbl from reset vector
417cff5 hv: check vmx unrestricted guest capability
37db817 dm: switch to 32bit kernel entry
bed6f0b hv: set start mode of vcpu
0d309e2 hv: add support to start a vcpu from protected mode
881eaa6 hv: create gdt for guest to start from protected mode
9e7179c hv: support gva2gpa in different paging modes
dd14d8e hv: add API to get vcpu paging mode
fb09f9d hv: update vcpu mode when vmexit
5c7f120 hv: refine guest control register handling
476f39e Tools:acrnlog: install acrnlog.service
5a9e9b1 dm: enable ioc in launch_uos.sh
a5760e0 IOC mediator: add check_dir function to avoid symbol link failure
d904202 IOC mediator: Set default boot wakeup reason for IOC mediator
14b2e1d fix “ISO C99 does not support ‘_Static_assert’”
cd5d8c8 check UART valid or not when setup console timer
04323a0 doc: fix doxygen comments in virtio.h
c396c53 Update Travis CI files to account for new build dependencies
f4122d9 license: Replace license text with SPDX tag
e32a5ca tools: acrnctl: Fix regression of acrnctl list
4a1f922 Revert “DM sample: update sos/uos boot arg to let UOS see two displays”
c11a162 DM: virtio-heci: Add enum type status variable represent devices status
2b69329 HV: fix potential NULL function pointer reference
8e45c66 misc: integrate cbc_attach service
d04b141 misc: Add Makefile for misc directory
dcb8a75 DM: Turn on WIFI/BT passthrough for Android UOS
11f4b01 Documentation: small addition to the ‘acrnlog’ tool documentation
8838c94 DM: Fix a potential null-pointer dereference
3d7aa34 DM: Disable audio NHLT table by default
c6d8e7f ioc: add cbc_lifecycle service
247c5ee IOC mediator: Send open channel command to activate CBC signal channel by default
7491b83 HV: Remove dead code wrapped by #if 0
39cce18 DM: Remove dead code wrapped by #if 0
37e664d HV: Replace misused pr_fatal with pr_acrnlog
b6c5e0e hv: move panic out of hypercall
da662fa hv: vmcall_vmexit_handler should always return success
c2ee561 hv: define errno more general
987c7b7 remove unused parameters in vm_description
0cf5142 remove unused vm_state_info
7210446 DM USB: xHCI: support xHCI parameter option for extended capabilities.
0679a81 DM USB: xHCI: Support APL extended capability for DRD.
1687765 DM USB: xHCI: add write function for extended capability registers.
c91590c DM USB: xHCI: refine xHCI extended capability related functions.
ba1b034 fix MISRA-C 243S
9af35ba DM:monitor: add monitor_register_vm_ops()
eada59c DM: adapt dm-monitor and acrnctl to use the helpers
53ecd93 Tools: acrn-manager: add definitions of message structs
7d7cf30 Tools: acrn-manager: add lib with IPC helpers
c001911 dm: virtio: support virtio 1.0 PCI configuration access capability
b25a30f dm: add default handling in pci_emul_capwrite
f0729cd dm: add pci_emul_find_capability
f2b5243 version: v0.1-rc5
69af3a9 doc: fix API documentation misspellings
ba7b4c7 doc: adjust known issues pattern
7f08d07 doc: update README technical community meeting
50324e5 doc: fix tools docs formatting and clarity
adcfe03 doc: tweak to GSG to fix code-block
ebea5e5 hv: remove unused API init_cpu
fb1248e hv: remove cr3 handling from cr_access_vmexit_handler
2df7b96 hv: make control register handling functions to public
80a79fe HV: Replace printf with pr_acrnlog after logmsg init
9af38e1 HV: Add log info when setup hvlog share buf
e0c329e hv: create vm failed don’t panic system
6c8fc0a hv: remove vm_description_array
3fb7b75 hv: execute vmxon instruction fail don’t panic system
fe4484f hv: move panic out of hv_main
574bdc3 hv: panic will print function name and line number
1a5370a fix “warning:redefinition of typedef ‘uint32_t’”
2266e13 lapic: continuous LVT registers as an array
9a604ed correct idt_vectoring_info handling
7718338 exception: add vcpu_inject_pf support
75a03bf exception: use func vcpu_queue_exception to inject exception
ebc7ee2 exception: refine exception injection path
277830a exception: add vcpu_queue_exception function
44af269 add triple fault request support
4607177 replace pending_intr with pending_req
7003e50 DM: Refactor RPMB files
113ece2 DM: Enable full 4MB access
dc566ab DM: refine vRPMB logs
c7d1460 DM: Fix potential overflow and return value issues
c50db02 Getting Started Guide: update (and simplify) GSG
4adea0c Getting Started Guide for the UP2 board
81a2496 Getting Started Guide: add build instructions for the ACRN tools
f4b9412 fix acrntrace README
d57ced4 doc: add doc build infrastructure for tools
5b1c536 DM sample: update sos/uos boot arg to let Android UOS see two displays
16152fa HV: debug: stop using ## __VA_ARGS__
26b0899 tools: acrnctl: Properly null-terminate cmd_out and buf
11abe6e tools: acrnctl: fix possibility of buffer overflow
004d2e2 HV: treewide: give names to unnamed structs/unions
ef3cb5b treewide: remove unnecessary unnamed structs/unions
b9660eb reformatted GET_DATA_SIZE macro
4b4e1e1 DM: Add option of no check against ptdev reset
b19d936 DM: refuse passthrough PCIe without reset support
c3793e1 DM sample: update uos launch script for virtio rpmb
9f56364 DM USB: xHCI: add log level switch
be4406c DM USB: xHCI: modify option parsing function to enable USB virtualization
6449950 DM USB: xHCI: add xHCI de-initialization support
048b2c7 DM USB: xHCI: add port sharing feature
8aef2cb DM USB: Add some APIs for check native related configurations.
0181d19 DM USB: xHCI: support USB hot plug out.
7687a3d DM USB: xHCI: support bulk and interrupt transfer for port mapper
3b63927 DM USB: xHCI: DM USB: xHCI: Support port change event for hot connection
caf4916 DM USB: xHCI: Support control transfer for USB port mapper.
b12527f DM USB: add libusb error conversion function
2d1fb7e DM USB: move the UREQ macro into common header
17d4e9a DM USB: xHCI: implement connect callbacks for USB port mapper
aa0480f DM USB: extend the API for struct usb_devemu
1816d3e DM USB: introduce data structure and APIs for USB port mapper
51f7633 DM USB: involve the libusb
8f3f66b DM USB: enable log level feature for USB subsystem
3b61601 hv: handle the case of empty hypervisor cmdline
a28c75f doc: fix references from scripts
784eb6f fix “warning:range expression in switch statements are not standard”
71975d6 DM: using ‘strncpy’ coding style cleanup
2f3953a fix “warning:ISO C forbids ‘return’ with expression,in function returning void”
0b7af5b IOC mediator: Implement state transfer operations
11208dd IOC mediator: Implement state transfer framework
92da8f4 IOC mediator: Separate wakeup reason and heartbeat
8f16faa HV: further cleanup of header inclusions
d594878 HV: cleanup for header inclusions.
8db85ec DM: RPMB virtualization
e6d57f4 DM: Add simulated RPMB support
76d2441 DM: Generate vRPMB key when creating UOS
b6bec54 VRPMB-BE: add RPMB protocol
6c4ebe3 VRPMB-BE: create virtio rpmb backend VBS-U
91f7391 doc: move DM memory setup to GSG
6e15824 doc: Getting Started Guide for UP2 board
fc93c64 DM: validate port range explicitly in inout.c
1b34870 guest: quick fix for copy_from/to_vm
3444500 hv: add non-lock bitmap operation
efb60e2 hv: refine bit scan API
57d0bf3 hv: refine bitops
95c289b DM: Change boot_args to assign one plane of pipe B and pipe C to SOS
7811bdd Makefile: add a target to build sbl hypervisor
364b242 hypervisor: install acrn.32.out to /usr/lib/acrn/acrn.sbl
977d48d hypervisor: install acrn.efi to /usr/lib
9563e24 samples: move samples to specify platform directory
d3ef8ae fix “warning ISO C forbids omitting the middle term of a?:expression”
64d2efc fix “obsolete use of designated initializer without ‘=’”
67dfec8 vmexit: refine vmexit loop
2ff7bf8 page walk during copy_from_vm/copy_to_vm
58c109e add platform related config and launch script
ac8b875 acrn: allow to specify the build output folder
3df0fbf DM: bugfix - use of freed memory in ‘monitor_close()’
744e09b hv: define 4 vcpu modes
cb26228 HV: add NULL pointer check in ‘vm_fixup()’ function.
6d63cb3 doc: fix error in custom CSS file
d11729d doc: add doc contributing guide, plus cleanup
05927b1 tools: acrn-crashlog: compile without telemetrics client
a9e36bd tools: acrn-crashlog: add service/config files and scripts
df6019a devops: update CODEOWNERS for tools/acrn-crashlog
d4b4c03 tools: acrn-crashlog: version control patch for binaries
047ffc3 tools: acrn-crashlog: configuration file of acrnprobe
c1f2ba3 tools: acrn-crashlog: crash reclassify operations for acrnprobe
168d3ea tools: acrn-crashlog: add sender telemd for acrnprobe
f83bd81 tools: acrn-crashlog: sender module for acrnprobe
f4b2c24 tools: acrn-crashlog: android events module for acrnprobe
2cea612 tools: acrn-crashlog: interfaces to control history_event in acrnprobe
384c195 tools: acrn-crashlog: event handler thread for acrnprobe
9caa5d7 tools: acrn-crashlog: channel module for acrnprobe
95d6a57 tools: acrn-crashlog: probe utils for acrnprobe
50e62d9 tools: acrn-crashlog: system properties for acrnprobe
f1a557a tools: acrn-crashlog: get startup reason of system for acrnprobe
bc18f1d tools: acrn-crashlog: event queue operations for acrnprobe
a35ef1a tools: acrn-crashlog: configuration module of acrnprobe
e86da09 tools: acrn-crashlog: main thread of acrn-crashlog/acrnprobe
6e656df tools: acrn-crashlog: implementation for the server of usercrash
14cf505 tools: acrn-crashlog: implementation for debugger
6627fdf tools: acrn-crashlog: implementation for the client of usercrash
afe1a64 tools: acrn-crashlog: add APIs for client and debugger
2ccb5e3 tools: acrn-crashlog: socket APIs for client/server
543cdce tools: acrn-crashlog: add more functions to file system utils
87b8968 tools: acrn-crashlog: file system utils for acrn-crashlog
88ba420 tools: acrn-crashlog: command utils for acrn-crashlog
780fefc tools: acrn-crashlog: string utils for acrn-crashlog
6f9dfa4 tools: acrn-crashlog: framework of acrn-crashlog
7c9cc6b hv:Merge dump_interrupt and dump_exception to a common API
d88b968 hv: Remove nested check when dump exception
8384ed2 hv:rename data structure intr_ctx
88b8ce8 hv: move structure(intr_ctx) to irq.h
4c0181a DM/GVT: implement emulated graphics pci device
fbaff2a HV:remove redundant field ‘mmio’ from ‘struct emul_cnx’
b2c2ca2 hv: not necessary to deal with ‘n’ of cmdline in ACRN.
198f200 hv: pass kernel cmdline from SBL to vm0 kernel
b22cc43 hv: move boot/multiboot.c to boot/sbl/multiboot.c
04572a7 doc: add missing param documentation hypercall.h
d04bce2 hv: don’t use the EDK Shell API to get the cmdline
6d3ceae hv: pass the cmdline to hypervisor
160df84 DM: fix buffer overflow risk issues in hugetlb.c
cd07c2c DM: initialize ‘create_vm’ before reference it in ‘vm_open’
eb943e7 DM:fix the possible buffer overflow issue using ‘strncpy’
4ed6d92 DM:fix suspicious dereference of pointer in ‘pci_emul_deinit()
03ae242 HV:initialize variables before reference in vmx.c
ccc1c25 hv:Use exception vector MACRO instead of hardcode
975484a Fix the logic that sets the top-level build directory
aee1931 HV: refine ‘decode_instruction() function
fcd7932 doxygen: fix wrong description in hypercall.h
f58fe33 DM: avoid NULL pointer dereferenced in ‘ioc_parse()’
7a09c81 doc: fix primer reST errors, update folder layout
130f45e Revert “dm: free entries in pci_businfo[] when deinit”
05f8fd7 hypercall: do not allow hypercall from UOS except trusty
f505f33 hypercall: only allow hypercall from RING-0
d219140 HV: Trace: Remove macro GEN_CASE
c09b9aa exception: only trap #MC
d8d6176 hv: fix general protection injection
2175bca hv: replace _EC with _ERROR_CODE in VMCS field
ba3192a Makefile: fix PLATFORM variable at install target
6ef48fa hv: Add reboot shell command
0e5f7cb hv: bugfix - MMIO access size was not properly initialized.
99189b4 HV: cleanup for io request related functions
fc2b6fb Makefile: keep using ‘PLATFORM’ variable for existing documentation
76cc3dd tools: invoke compiler with $(CC) instead of gcc for consistency
9e61acc DM: add spanning devices check for i/o access
b55511a HV: remove tinycrypt
e2b3ab5 doc: remove stray doc backup file
03a3fb0 hv: cleanup the shell cmd code.
edb26a7 hv: refine the left atomic operation
1f3da93 hv: refine atomic_load/store_xxx name
336a888 hv: remove atomic_add/subtract API
fadaf14 hv: refine atomic_xadd
bd3f3b0 hv: fix incorrect use of atomic_set_xxx
0a83cf4 hv: remove support atomic operation for char/short
5e427f3 hv: lib: split atomic operation to atomic.h
b3126bd hv: Check ept rwx misconfigurations
25219e2 HV: refine EPT violation VM-exit handler
a678065 HV: operate schedule lock on correct vcpu
71e1ae1 hypercall: add set_memmaps hypercall support
e2b7f3c doc: link the Android guest to Celadon
ab0ba5f Doc: add UEFI boot chapter in primer
8fbb21f bsp: make hugetlb config enabled by default for SBL platform
d79d641 Makefile: fix typos and style
ace25dd Makefile: implement make install
f7a93d8 Makefile: use -C parameter for recursive invocation
a6ff3a9 vm: allocated all pcpus to vm0 at the beginning
d2a7a9c uefi: remove workaround for AP wakeup
953f6b5 vlapic: kick AP for INIT-SIPI sequence
2ea3b49 HV: refine copy_from_vm/copy_to_vm
30549a5 DM: increase vioapic pin count
e1bb372 HV: increase UOS VIOAPIC pin count
3efef57 Remove duplicate license file
93fda88 lib: Move mem operations functions to one src file
497eadc lib: Move all str ops functions to one src file
7aaff68 dm: free entries in pci_businfo[] when deinit
69d9918 remove potential using default i/o handler
656449d devops: Add CODEOWNERS for GitHub review
a4c4d60 tools: acrntrace: fix NULL pointer issue in create_trace_file_dir()
6f340f8 tools: acrnlog: fix issues founded in static analysis
fb19b29 add a makefile under project root directory
c597a0f I/O VM-exit handler cleanup
9efbf12 HV: Enable the -O2 option for HV
263fafe HV: Initialize one variable to fix the compiling warning
3a9bf54 HV: Add gcc compiler option to disable FPU/SSE/MMX
52a91ff HV: Use the CFLAGS to control the optimization option
698b53a HV: Add one correct Descriptor_table struct to configure VMCS
b2cadfe HV: Fix the incorrect operand-constraints for inline assembly
9dd7d27 hv: vlapic_timer: refine vlapic tscdeadline timer
ea54216 hv: vlapic_timer: add vlapic timer mode API
8ec78f8 hv: vlapic: coding refine
b9971c2 hv: vlapic_timer: remove vlapic one-shot/periodic timer implement
5df2efa hv: timer: make the timer list be ordered
6fc5116 Documentation: update the contributing guide to use new LICENSE file
867e56d Move ACRN tools code directory one level higher
b73f1fa doc: add project README
ec0d7e0 doc: update doc building howto
8ce423e Create LICENSE (#168)
c874090 Fix typo in gitignore
f886180 doc: post-merge changes to docs
12fb4b0 doc: Adjust various scripts accordingly
60c07fb add .gitignore
6f97a14 HV: Enable CR0.WP
c53a04f HV: rename acrn_register to acpi_generic_address
3b6fe57 Revert “HV: Prepare cpu_secondary.S for AP trampoline code relocation”
b3dd135 Revert “HV: added memory allocation functions for AP trampoline code relocation”
f8fbdbe Revert “HV: Make AP trampoline code relocatable”
0c5956b Revert “HV: adjust the base address of guest initial page tables”
6de5b04 HV: adjust the base address of guest initial page tables
fe6397d HV: Make AP trampoline code relocatable
ceb3076 HV: added memory allocation functions for AP trampoline code relocation
9323f81 HV: Prepare cpu_secondary.S for AP trampoline code relocation
8c06b69 dm: Reorganize ACRN DM directory.
eebf5fe HV: correct the handling of MU_MEM_ATTR_READ MMU flag
4817134 DM: rename acrn_register to acpi_generic_address
8a73718 doc: add use of GitHub issues
260b37a HV: Fix the missing list_head initialization
e386a81 DM: bug fix in handling signal
2550d71 Subject: DM: virtio-heci: process all available client each time
5ed3dbf Subject: DM: virtio-heci: Use atomic_xchange in client get/put
df2d925 DM: move boot device option ‘b’ just after emul
919aa3d dm: virtio-input: implement virtio_input_deinit
181ff20 dm: virtio-input: implement virtio_input_get_config
772a43a dm: virtio-input: implement input event tx/rx
25fe563 dm: virtio-input: implement callbacks of virtio_input_ops
9741e1a dm: virtio-input: implement virtio_input_init
8123483 dm: virtio-input: add virtio-input data structures
e8d5a49 refine external interrupt VM exit handler
121d14a rename ‘req_buf’ field in ‘struct vm_sw_info’
bf0d79b Make the Service OS bootloader configurable
7dd6476 doc: GSG formatting fix, RTD theme tweak
c3b1d0c Getting Started Guide: update to reflect the new boot flow
85716e8 security: fix issues reported by Klocwork
b61e6af hv: cpuid: don’t reference the crossed array
3fc5ebc DM Cx: build DSDT with cx data
5e7e816 DM Cx: add function to write Cx data to DSDT
a042538 DM Cx: add function to get cx cnt and cx data
bdd90e6 DM Cx: code cleanup for getting cpu state cnt
81cf3e1 DM: main loop cleanup
edc5846 DM: ioc code cleanup
4fcdebc DM: vrtc code cleanup
ccc67ce hv: add build type and detail time to version string
7073173 Use exit instead of assert when checking images
55bced4 HV cleanup: assert on vm setup cpu px
765805d HV cleanup: move iobitmap ini out of loop
c2c1932 HV Cx: add cx data of bxt j3455 SOC
8b29ce1 HV Cx: allow guest to access host idle port
ebf184f HV Cx: add hypercall function to retrieve host cx
1c3b7a6 HV Cx: load cx data while create VM
373a828 HV Cx: load cx data to boot_cpu_data when boot
d63b900 dm: code clean up
d1a17a6 dm: rename fbsdrun_addcpu and fbsdrun_deletecpu
c0d4b90 ptdev: change remapping entry from virtual to physical based
a39509a HV: fixed the issue of AP initialization code can’t be loaded to address high than 64K
1cd06ba efi: clean RuntimeServices code
e35874c doc: introduce howto area for technical notes
e0a45e8 doc: fix doc build processing
15e15c9 Bugfix: DM:tools:acrnctl launch script output is binary file
ac253f8 hv: timer: add periodic timer setup support
9bfa574 hv: timer: restruct add_timer/del_timer API
be9f4ee hv: timer: pass timer callback function parameter by pointer
dace32e hv: timer: add calibrate tsc hz by cpuid 0x15
cfc8790 hv: cpuid: add cpuid_level
ab97963 hv: lib: add max()/min() API
7f4332f hv: timer: rename cpu/cpu_id to pcpu_id
d129659 hv: timer: remove statistics for timer
0287ac4 hv: Not to destroy ept of trusty memory if it’s not initialized.
f8a26a6 remove deadcode of vm1 config in vm_description
d2945e7 DM: fix virtio_net tx_thread block issue
529ccd7 UEFI: bug fix on redundant waking up APs
1c57adc hv: bug fix on synchronizing with APs
b37c049 HV: Use mmio_read/write_long for IOAPIC mmio-access
ec13f4e HV:Remove the “immediate” constraint for inline assembly in bits operation
cb41210 IOC mediator: update signal whitelist
1b1f723 hv: add hardware_detect_support to detect which hardware we support
10c3a98 IOC mediator: update signal whitelist
c3374a5 HV: code cleanup for cpu state
9dbcf7a remove deadcode of timer
8a8b1a4 remove timer spinlock
3648a0c VTd: bluetooth passthrough support
a1c6c24 vm load: add SOS cmdline option for hugetlb
71ee5ef mmu: refine function check_mmu_1gb_support
4f6bdee DM: change VM_SYSMEM/VM_MMIO to VM_MEMMAP_SYSMEM/VM_MEMMAP_MMIO
25ef14e hugetlb: add ept map memseg support
4cad694 dm: add hugetlb memory management support
ac5da17 enable rdtscp instruction for guest OS all vCPUs
3c119e1 check validity of ‘VM-exit Int-Info’ before extracting vector
fdfb71e delete watchdog timer when deinit is called
6b4ad0b HV: Add the volatile to avoid optimization for mmio_read/write access
2473970 HV: Remove the unused mmio_or/and/rmw operation
a331624 dm: virtio-console: Fix the bug that ports cannot work
51a76a9 hv: save early hv logmsg before sos booted
c61559a hv: remove spinlock_irq_obtain/spinlock_irq_release
db4e3f8 bootparam: bug fix on address conversion
2a37a4d ACPI: bug fix on address conversion
c5f860e MMU: bug fix on operating va <=> pa conversion
d02f4d4 refine: change the address arguments type of mmio access api
11d0e59 revise type of ‘exit_reason’ and ‘inst_len’ in vcpu_arch
96085d9 DM: release mem range allocated in init_pci
097aee7 DM: release mevent when doing virtual device deinit
e65b98b DM: lpc_deinit doesn’t release all resources allocated.
1a2a074 DM: cleanup resource for uart.
c8585a2 DM: add deinit function for bvmcons
4116ddd hv: mmu: replace cpu feature/capability detect with cpu_has_cap
80d194c hv: vmx_capability: add cpu_has_vmx_ept/vpid_cap API
d7d2ef8 hv: xsave: remove is_xsave_supported
6560ff3 hv: cpu: add cpu_has_cap() API
bb011a4 rename vmexit handlers
5b06d17 IOC mediator: boot IOC device from the main entry
fd5472b IOC mediator: DEBUG: add dummy channels
75b5e67 IOC mediator: DEBUG: support IOC log file
746d437 IOC mediator: support IOC signal whitelist
76e74b0 IOC mediator: support CBC signal services
61db2c7 IOC mediator: support IOC lifecycle
a1d7cae IOC mediator: IOC signal and group definitions
4eff8d1 IOC mediator: implement CBC protocol stack
c9d7643 IOC mediator: add IOC channel operations
cfa6481 IOC mediator: initialize IOC mediator
45758be IOC mediator: add IOC mediator definition
66332ac doc: doxygen improvements and known issues hiding
b997e59 doc: add support for publishing versioned docs
6b1782b refine: remove redundant data type definition
f3db18b version: v0.1-rc4
c6bf675 DM: mevent_add/del refine for Linux
db46df9 DM: add init/deinit function for mevent
c8116fc spinlock: bug fix in spinlock code
c5fabf5 sprintf: bug fix in sprintf implemented code
9b37e14 add IO request ‘req_buf’ check before reference
3a3aeac VMX: change PAT register default value
52c020c VMX: bug fix on operating vmx
7ed446e ptdev: bug fix on operating list
72b2cb1 remove deadcode of rdtsc_handler/rdtscp_handler
1e2c201 vtd: add page allocation check for root_table & context_table
4ea7588 vtd: context_table_addr should be hpa
403076e vtd: dmar_uint->root_table_addr should be hpa
3847a4d hypercall: bug fix on the address conversion while hypercall
ebba622 mmu: add mmu invlpg support
2d6c754 mmu: refine the checking of entry present
60425f9 mmu: add ept execution only capability check
b7d57a9 cpu: change cpu_halt name to cpu_dead
96f7ff3 cpu: add physical cpu active bitmap support
d3a640d DM: add add_e820_entry to update e820 table.
223efeb DM: Update the default e820 table to reserve 0xF0000~0x100000
ee43f23 dm: release host memory after devices de-init
cee499f DM: fix build issue with gcc 4.8.4 on ubuntu 14.04
0a0ff19 hv: Remove hpet from acrn.conf
d0c773f vtd: fix memory coherency issue of vtd table
4c6f11f mmu: add cflush api
a0b7fb8 Add range check for ‘vm0_gpa’ before creating EPT
e86b01f Revert “Fix compilation on Ubuntu 14.04”
c5b14c2 DM: use standard offsetof to avoid duplicate definition
d9545ab virtio-heci: disconnect client when message buffer overflowed
33e84ef virtio-heci: Add firmware reset handling
37cae58 virtio-heci: Add HBM handler for backend service
12b9299 virtio-heci: Introduce TX and RX threads for data transfer
418c266 virtio-heci: Add ME client mapping in backend service
23c3fbd virtio-heci: Backend service for HECI virtualization
06bd73c remove ‘noxsave’ in acrn.conf
6e15aee Fix warning about unused variable
e479924 Add ‘findutils’ to Fedora-based Docker images
473f222 Add ‘findutils’ to Fedora-based Docker images
da1c860 Fix compilation on Ubuntu 14.04
f98a7ca vlapic: apicv_get_apic_access_addr should get hpa
241efb2 vlapic: apicv_get_apic_page_addr should get hpa
ef0c5ec hv: cache tsc_offset
5141453 hv:add suffix(UL)for MACRO(SECURE_WORLD_ENABLED)
4f6c451 dm: sync common header file to DM
2e2f02e replace malloc with calloc
9aa9a77 mmu:create temporary page tables for guest at run time
4d0f26d UEFI: update acrn.conf and Document
7430074 trusty: initialize tsc_offset to zero
bf36022 ept: change eptp to PA
8682552 mmu: identify VA and PA in mmu.c
e078ce7 DM: hotfix for loop initial declaration in acpi_pm
24ea869 HV: add px data of bxt j3455 SOC
7647517 HV: trap and validate px request
1d0d4d3 HV: add hypercall interface of get vcpu state data
0e2b9fc HV: setup px info when create vm
a28fbd1 HV: load cpu px data in boot
4cd2717 HV: add cpu model name
878b5a0 mmu: refine functions for invept
a68850e mmu: replace ASSERT with panic in fetch_page_table_offset
c2f86f2 mmu: refine functions walk_paging_struct & update_page_table_entry
bb82504 mmu: refine functions get_table_entry & obtain_last_page_table_entry
cbcc7c0 mmu: refine function break_page_table
6454c7b mmu: refine function map_mem_region
fa3e424 mmu: refine functions modify_paging & map/unmap/modify mem
a91118e DM: build UOS DSDT with vcpu px state data
e96fe06 DM: add vmctx as write dsdt func ptr parameter
b50fcc0 DM: add function to write Px objects to UOS DSDT
ea662e6 DM: add function of get px count and data
263bdf6 DM: add vmm interface to get px data
ec1cbbb UEFI: get the guest entry address explicitly
4e50293 DM:tools: add acrnctl tool
498e8c0 monitor: an interface of acrn-dm
1ef6bba Enable Travis CI testing
c5c4b63 Travis CI: enable Ubuntu 16.04 and Fedora 26 testing
1ac5a2a Enable Travis CI for all combinations
eadc921 DM: refine cleanup functionality of virtual RTC
80a9fe5 DM: add deinit function to virtual keyboard device
f6db755 DM: add deinit function for ps2kbd and ps2mouse
f0b7401 DM: release mmio data structure for pci bar
3726a0f doc: fix hypercall API doxygen errors
b11460f replace malloc and memset with calloc
92d8638 hv:check continuous hpa when create secure world
e5be957 hv:add destroy Secure world API
ace23b5 hv: shell: add cpuid command
c83bcde trusty: fix typo of comments
46bb2db Add initial .travis.yml and Dockerfile (Clearlinux)
2db1324 add vmx msr ops protection from guest OS
86f3948 dm/VBS-U: increase generation when configuration changed
0398498 dm/VBS-U: implement virtio_dev_error
ce09826 dm/VBS-U: implement virtio_vq_enable
76422fd dm/VBS-U: implement write callback of notify cfg
cfa591a dm/VBS-U: implement read callback of isr cfg
1fa2f27 dm/VBS-U: implement read/write callbacks of device-specific cfg
a098c11 dm/VBS-U: implement read/write callbacks of modern common cfg
2adac78 dm/VBS-U: implement generic PCI barread/barwrite
5670f33 dm/VBS-U: implement virtio_set_modern_bar
9c2378f dm/VBS-U: expand data structures to support virtio 1.0
5e613ef dm/VBS-U: add virtio 1.0 data structures
5e3dca4 hv: free ept memory enhancement
cf7fe07 hv:bugfix for the API of creating secure world
f347d15 hv: cpu: use the physical address limit from CPUID when available
cc975f7 cpu: cache the maximum input value for CPUID extended function
4542d37 hypercall: Fix compile error caused by missing memcpy function
de4d793 Remove ‘noxsave’ bootarg in dm sample script
3f03dee enable TSC-offset & add TSC MSR emulation
316731c hv: pass-through xsave feature to guests
70625f0 dm: export pci_emul_add_capability
f1e801d DM: Add long option to enable trusty
731c0d4 DM:tools: add README.rst for acrnlog tool
a1c07bb DM:tools: add service file for acrnlog
8c91847 DM:tools: add acrnlog tool
c01a236 treewide: fix declarations of functions with empty parameter lists
466eb13 DM:tools: add README.rst for acrntrace
e09208b DM:tools: add scripts for VM exit analysis
99c69c7 DM:tools: add acrntrace tool
c730806 version: v0.1-rc3
8c2dbe1 update home page information
a9ba439 update home page information
de5277f hv: Save secure world memory info into vm instead of vm0
80a7dda Fix compile error caused by missing memcpy function
7a18425 UEFI: update documentation
e0128b1 UEFI: add FIXME comments to function emalloc() & __emalloc()
88b79c9 UEFI: create new func named construct_mbi
2bec3b3 UEFI: cleanup functions in boot.c file
bf0d54d UEFI: header file cleanup
fde0789 UEFI: change the efi_ctx passing method
b240450 UEFI: change the acrn boot flow on uefi platform
1f3acb3 UEFI: bug fix on delivering RSDP
8d67f29 Rename TIME_MS_DELTA to CYCLES_PER_MS
8502c8e io: remove pio emulation restriction
922daae trusty: add key_info for trusty bring-up
b124e0d trusty: implement hypercall to initialize trusty
1fd07ba trusty: Simulate Secure Monitor Call(SMC) by Hypercall
0d9d628 DM: add option to show which virtio-blk is boot device.
53b89b9 DM: add long option to specify guest partition info file
1e13533 DM: Enable vsbl boot path.
860c2ca DM: export acpi table base address and length.
446297f DM: sw_load: sw_load function name update
01c8053 DM: fix build error with gcc-8.
9422f3e Makefile cleanup
edcd8f0 Makefile cleanup
4f40b53 ptdev: fix ptdev_hv_owned_intx under release version
c7dd6a5 Remove STATIC_ASSERT Macro and replace with standard _Static_assert
5a47c26 hv: vlapic: simple vlapic_rd/wr input
57152d0 hv: lapic: export write_lapic_reg32
471082c ptdev: refine function input parameters
a8b3771 ptdev: refine the functions name & code position
70d4dba ptdev: change the ptdev_lock from per-vm to global
9d02932 ptdev: change the ptdev_list from per-vm to global
9519916 Fix compiler warnings when building for UEFI
170c48a debug: make ASSERT empty under release version
6ee72d7 DM: split sw_load.c to sw_load.c and sw_load_direct.c
544ec38 Fix string may be truncated issue with using snprintf
2205d5e virtio: config changed notify interface
6c1122f cpuid restruct
cb59bfa Update .travis.yml
1e56137 Update .travis.yml
cb43159 Create .travis.yml
4073b37 hv: microcode: Enable microcode update from SOS.
4110e25 Add cpuinfo_x86 to cache cpu capability/feature
4839f78 ioreq: only clear vcpu->req when io request needed
42fa9b2 Minor cleanup not to use uart for release on platform uefi
ab2691d Don’t build in debug directory for release
936c254 Don’t use HV_DEBUG outside debug directory
3f83ea3 Remove redefine macro
d6904b4 hv: rename VM exit handlers in vlapic
23c12b7 makefile: adjust linker path in Makefile
7d8803f hv:enable APICv features based on CPU capability
f01a8ee Add APIC ACCESS VMexit handler
9b269ae Add handle EOI case when APIC-write VM exit
34ccbb5 getting_started: update dependency for Fedora 27
3614804 Move s[n]printf to lib for release
819845c dm: add ACPI info for ipu pass-through
fcb95d0 uefi: init vlapic according to native lapic
a87757d uefi: remove old interrupt injection method
23efb5a DM: reboot: clear the data of 0xcf9 if cold reboot
66ddb67 DM: acpi: Update the reset value of FADT to trigger cold reboot
9e854ea .gitignore: add 2 entries to ignore version.h file if present
d8b1fd2 doc: add doc building/publishing instructions
eb31977 Makefile (uefi): add gnu-efi(-devel) build dependency for Fedora/doc/CentOS
2deb4cb mmu: Rename several variables related to page table type
124910b vm load: fix bug in loading kernel
b6d73be Enable FORTIFY and FORMAT SECURITY compile flags
155be81 ptdev: fix bug when update ptdev entry
fe9dfc7 Jmp to vm_exit directly to avoid calling vmlaunch again if vm-entry fails in vmresume
f4780c0 Remove unnecessary variable in map_mem
119b038 to support firmware & ramdisk as multiboot mods
35f5eef Add page mask MACRO
2efcbe3 Makefile: fix a couple of wrong variable assignments
3d3f264 getting_started: fix note formatting
cd72305 getting_started: make instructions more specific
a5e3273 doc: update getting started images
ed78db4 update launch_uos.sh script
83e78e1 align the coding style when access VMEXIT_QUAL
337706b Update typo and add full name of UOSloader
ede4e91 Fix typo
3b86c97 doc: improvements for sphinx generation
b55e6a8 add .gitignore
429302c minor fix on get_ptdev_info
c451f2e add create secure world ept API
3775f29 vm: Pass uuid from DM commandline to vm as GUID.
81c47e7 add .gitignore
637a79d Getting Started Guide: add instructions for other OSs
d92f640 security: data relocation and protection(RELRO)
156d61e security: enable stack protector
f86d91e dm: use getopt_long instead of getopt to parse dm cmdline
74e2bfc Simple get_vmx_cap()
7e4b4c2 Remove ASSERT in lib functions
cc2256d Call monitor_cap_detect in bsp_boot_init
cc1d532 add data structure in vm for enable trusty feature
e91b6aa retpoline: replace indirect jmp in switch_to function
d14a7db retpoline: add indirect thunk support
c244e8b vpic: use calloc to init vpic instead of malloc
eed8104 uefi: restore cr registers according to efi context
189329e apicv: cancel event injection if vcpu is scheduled out
c8d2cdc doc: update project documentation LICENSE
4ecb849 Delete LICENSE
265499c security: fortify source and format string check
0dc93a5 doc: filter known issues
b170e29 doc: general edit for typos
44b0ec0 Ignore length of resource for PCI ROM request
b84aa9f doc: fix doxy for hiding internal symbols
c3bef4e doc: update GSG instructions
8b4378e update to support latest image
c48f757 doc: Update publish process in Makefile
52f49c9 getting-started-guide: update Clear Linux version to min required
af66e95 doc: remove “under construction” tagline
da54bde doc: add Getting Started Guide
c6218bd doc: fix misspellings
fe28d36 doc: update release notes
d118652 doc: fix error in contributing guidelines
48df39c doc: add 0.1 release notes
ff45e24 Update contribute.rst
b9b20fa doc: add developer primer
df5c261 doc: update display of RC version
cf707cc version: v0.1-rc2
2f53e98 minor fix on acrn.conf
955162b minor fix on sample script bridge.sh
32fbc35 README.rst: convert to ReST and add details
4b3ebb3 use efi instead of linux in acrn.conf
67e02ce Create LICENSE
e62ede0 doc: add CODEOWNERS for assigning reviewers
b03cda6 doc: update build process to get RC_VERSION
a98a45e doc: fix formatting errors in contribution guide
4609f97 Update contribute.rst
1c16ff9 Update contribute.rst
e404760 add RC_VERSION for dm
2cb8ce5 decouple hv sw version and api version
ba12173 doc: add Technical intro doc
86be62f efi: makefile: install the EFI configuration file
ef84c3d efi: makefile: install to acrn directory
3b15f51 makefile: install the demo scripts
f83411f Update contribute.rst
e069475 doc: update param spelling from VM to vm
2fa22b2 update Maintainer list
1f0fe2d update Maintainer list
48c1f2a Update contribute.rst
927dac7 add in progress
7a3a539 initial import
bd31b1c initial import
b966397 add supported hardware
4d10292 doc: set version to 0.1
30a6587 doc: add favicon
8d7a449 doc: fix source file fetching and cleaning
4c941d5 improve automation
dce6161 doc: organizational and look improvements
0520475 doc: add README for the repo
d7938f8 doc: initial doc commit
981dd9a Initial commit