-
Notifications
You must be signed in to change notification settings - Fork 207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable More Unit Tests #580
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This is a small patch that enables more unit tests [ISSUE]: Bareflank#576 Signed-off-by: “rianquinn” <“rianquinn@gmail.com”>
rianquinn
pushed a commit
that referenced
this pull request
Mar 2, 2018
* initial super build script Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * build working Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * cleanup double compile of sdk Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * Bug fixes and cleanup This patch provides a make super-clean to prevent the need to re-download the entire build system, and thus wipe out all of the modifications to a sub repo. It also cleans up a couple of bugs Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * cleanup Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * README update Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * README update Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * small fixes to the super build, enables travis Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * fix bug with travis Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * Add support for using local repositories when building Bareflank. CMake options are -DBFXXX_PATH:PATH=/path/to/repo. Setting this option will cause the build system to not set BFXXX_URL and BFXXX_TAG, which *should* cause ExternalProject_Add to do the correct behavior. * Update README.md Added documentation for BFXXX_PATH as well as properly underscoring text while not in a code block * Fix UPDATE_DISCONNECTED This patch not only fixes a bunch of small bugs, it fixes an issue with UPDATE_DISCONNECTED as it was not working the _PATH logic that was added. Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * Fix issue with rebuilds Right now, if you set the _PATH variables, rebuilds don't work because ExternalProject_Add doesn't think anything changed as there is no defined UPDATE_COMMAND. It just needs to execute something so that it attempts to reduild, which will trigger the build system to properly recompile based on what has actually changed. So, all this patch does is provide an UPDATE_COMMAND that echos to the screen which fixes the problem Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * add extended apis support * Merge Repos into the Hypervisor Repo (#470) This PR mereges all of the repos into a single repo for simplificty. It also adds static / shared library build types, release / debug builds, and ensures parallel builds work properly. Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * map_with_cr3: fixed pml4 mapping when cr3 control bits are set (#471) pml4_map was using the entirety of cr3 for it's mapping. if the control bits were set, pml4_map would be mapped to the wrong offset. * cygwin updates (#472) Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * msbuild_updates (#473) Signed-off-by: Rian Quinn <rianquinn@gmail.com> * BFM cleanup. (#475) Completes the BFM source code and finishes it's unit tests. This also addresses issues with the build system. Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * Update .codecov.yml * BFSDK missing unit tests (#477) Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * ELF loader cleanup / missing unit tests (#478) Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * Dev (#479) * ELF loader cleanup / missing unit tests Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * bug fixes Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * bug fixes (#480) Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * missing VMCS unit tests (#481) Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * missing CRT unit tests (#482) Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * missing bfdriver unit tests (#484) Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * Map guest GDT read-write before promotion (#486) This patch maps the guest's GDT into the hypervisor read/write in exit_handler_intel_x64::handle_vmxoff. This allows the processor to set the TSS busy bit without it causing a page fault if the guest has mapped in the GDT read-only (Linux now exposes a read-only GDT, see 69218e4 and 45fc875 in the linux tree for more details). * Windows Support (#489) This patch provides support for Windows in v1.2 Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * Codacy Update (#491) Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * Update CMakeFlags_Native_VS.txt * Windows 7 Support (#492) Signed-off-by: Rian Quinn <“rianquinn@gmail.com”> * Update README.md * Updated intrinsics unit tests (#487) * Simple bugfixes in env.sh (#494) * Simple bugfixes in env.sh 1) Remove shebang line as it is useless in a script meant to be sourced 2) Add error checking to prevent creation of garbage build directory (~/build) if finding BAREFLANK_SOURCE_DIR fails (I discovered this by accidentally sourcing from zsh instead of bash; permission errors could also cause this) 3) Add quotes around variables that can contain spaces Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * env.sh: add one more missing set of quotes Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Build System Support for Aarch64 #498 (#499) Added Vagrant support for the latest version of Ubuntu 1) Added a Vagrantfile 2) Added provisioning scripts for Ubuntu 17.04 * Header Updates (#504) This patch cleans up the headers of each file, and removes the authors fields as they are not needed and are confusing. Signed-off-by: rianquinn <“rianquinn@gmail.com”> * Contributing Update (#505) * Contributing Update Includes link to CLA Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * windows bug fixes Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Rename serial_port_intel_x64 to serial_port_ns16550a.h (#510) Related to (but not a complete solution to) #507 - prepares for the inclusion of ARM support in the serial driver. Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * astyle/clang_tidy: ignore deleted files Fixes #509 Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Fix issue with EAPIs unit testing (#515) Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Add bfarch.h to detect architecture and set flags (#513) This header tests for predefined macros on both supported compilers to determine the architecture being compiled for. Once detected, it defines two macros: - BF_ARCH string containing architecture name - BF_{archname} empty macro for #ifdef tests Currently supported combinations are: - x64 on MSVC (via _MSC_VER and _X64) - x64 on GCC and clang (via __GNUC__, __clang__, and __x86_64__) - aarch64 on GCC and clang (via __GNUC__, __clang__, and __aarch64__) Additionally, this header allows the user or the build system to modify the architecture externally: defining BF_ARCH with -D disables the checks and allows you to force an architecture flag. Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Update README.md * Modify "make format" to check for extra blank lines (#514) This adds a script `bareflank_blank_lines.sh` which scans source files for consecutive blank lines and deletes extras, and modifies the `format` and `format-all` targets to call that script. Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Add PL011 serial driver, genericize portio interface Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * arch cleanup (#519) Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * remove env.sh (#520) Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * make format: don't attempt to format deleted files (#521) Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Fix README.md (#523) Somehow invalid bytes were added to the end of README.md, causing GitHub to render as plaintext. Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Expanded x2apic msrs * Minor language/typo fixes in README.md (#524) Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Move portio back into x64 (#522) Rather than a generic portio interface for all architectures, with aarch64 implementing a MMIO-based fake portio, the one item that used portio generically (serial drivers) has been refactored to provide a generic implementation of its own IO which is conditionally compiled in whichever way is sensible for each architecture. Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Fix cast type in aarch64 serial MMIO methods (#526) Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Add method set_port() to serial drivers This allows changing the port at runtime, and will be used on aarch64 to support memory-mapped serial. Related: #527 Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Delegate Implementation (#531) This patch cleans up some issues with formatting, and adds support for C++ delegates. This implementation doesn't need malloc/free and is as fast as a regular vtable lookup. Before the release of v1.2, a lot of the inheritance currently being used with be converted to delegates to increase modularity. Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * New cmake build system (#532) Redesigned the cmake build system to support more flexible build configurations. Major changes include: new and renamed build configuration parameters, configuration validation and rule checking, more granular support for choosing which projects/unit tests to build, updated external dependency management, restructuring of compiler flags, support for ninja, and support for cmake-gui/ccmake. Co-author: cpavlina <pavlinac@ainfosec.com> [RFC] #498 Signed-off-by: JaredWright <jared.wright12@gmail.com> Signed-off-by: cpavlina <pavlinac@ainfosec.com> * Restructure bfvmm source and test files This commit implements a basic restructuring of src and test files within the bfvmm subtree, both to clean up build scripts for unit tests and to prepare for multi-architecture support. The following is implemented: - src/foo/src/*.cpp (x64-related) -> src/foo/arch/intel_x64/*.cpp - src/foo/src/*.cpp (non-specific) -> src/foo/*.cpp - src/foo/test/*.cpp -> test/foo/*.cpp No restructure of include files has been done yet - this is pending discussion on related code restructure (namespacing, etc). A similar split between architecture-specific and non-specific test code will be done in the near future similar to the organization of the src files. A similar restructuring of other subprojects is also planned for the near future. Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Add files created by Vagrant to .gitignore Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * [BUG] build system - unnecessary re-compilation Added a macro and utility cmake script to allow installing files with correct dependency tracking during build commands added with ExternalProject_Add_Step Signed-off-by: JaredWright <jared.wright12@gmail.com> * [BUG] build system - duplicate vmm main exectuables #537 1) Removed duplicate naming of vmm exectuables in shared vs. static builds 2) Added cmake configurations that specify the default path and name for a vmm to be loaded by bfm as a default Signed-off-by: JaredWright <jared.wright12@gmail.com> * Extended APIs configurable path Added a build configuration that allows for a configurable path to build the extended apis and the extended apis unit tests. Signed-off-by: JaredWright <jared.wright12@gmail.com> * compiler_wrapper.sh: remove hard-coded target architecture (#542) Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Removed hard-coded path to extended apis for format and tidy targets (#543) Signed-off-by: JaredWright <jared.wright12@gmail.com> * Add _start for aarch64 Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Fix build of newlib on aarch64 newlib on aarch64 uses a few nonstandard features that require special build flags: - Instruction formats not supported by LLVM's assembler, requiring `-no-integrated-as` to force use of binutils as - Inline assembly via `asm()` instead of `__asm__()`, not available in clang with `-std=c99` unless `-fasm` is given. Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Fix sysroot install name of compiler_wrapper.sh Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Updated bfdriver to build under WDK10 and VS 2017 * bfelf_loader: implement relocations for aarch64 Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Pack struct registers_intel_x64_t (#554) This is required for reliable access via assembly. Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * [BUILD] Add USES_TERMINAL to targets Custom commands that require user input (e.g. sudo) will hang waiting for input when using ninja, unless USES_TERMINAL is passed to add_custom_command. This patch adds the USES_TERMINAL argument to prevent such hangs. * bfdriver double-compile bug (#562) Partial fix for [BUG] #553 Double/Infinite Compile. This commit removes double compilation for the bfdriver component only. Signed-off-by: JaredWright <jared.wright12@gmail.com> * New VMM extension integration mechanism (#560) 1) New vmm_extension() macro for registering bareflank extensions to the build system from build configuration file 2) New VMM extension-specific config variables and extension-specific macros 3) Added vmm_ex.cmake to be included by all Bareflank extensions 4) Updated build system documentation [RFC] #545 Signed-off-by: JaredWright <jared.wright12@gmail.com> * Add more aarch64 relocations (#559) Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Fix incorrect types in serial_port_ns16550a (#555) Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * Build system dependency caching (#567) Adding a new feature to cache build dependencies. This commit addresses bugs #553 and #564 [RFC] #566 Signed-off-by: JaredWright <jared.wright12@gmail.com> * Build System Bug Fixes (#575) This patch addresses several bugs with the build system: - Lack of Windows support - Clang Tidy was not working properly - Making modifications to the source code would compile, but would not re-link resulting in issues - Removed excess file copying - Make clean now works - Removed unused or confusing folders in the build folder as part of the build process. It is now much easier to traverse the build folder for dependencies - The targets didn't work with extensions. This has been fixed. In addition, the following was also done under this patch - Intrinsics was moved to the top level and out of the VMM - Platform files are now in a folder called "platform" instead of "arch" - All subprojects have the same include/src/tests files structure - All intel specific code is properly organized to match intended namespacing - Removed dead code - A small part of the VMCS was converted to use the delegate pattern - All dependencies are now downloaded at configure time instead of compile time. - The cache directory is now cached by Travis CI - CMake output better matches old build system - Added make rebuild and separate clean targets to remove various parts of the build depending on needs. - Added targets for Clean, Tidy, Rebuild and Format for each subproject - Re-organized the cmake logic so that macros are not spread out - New validation removes unneeded complexity - Removed the need for the compiler wrapper, and in doing so, we now provide a simpilar set of toolchain files - Removed the need for Git repos. All external dependencies are downloaded using a zip or tarball - Libcxx and Libcxxabi are now in their own files. Much similar logic - Unit test CMake files have been greatly simplified - Each subproject is unaware of it's prefix and no long use VMM, USERSPACE or TEST variables in their cmake files - Fixed bugs with the flags - Renamed the varbiables in the default.cmake config to be more consistent and easier to follow in the rest of the code Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Fix Protected Delegate Issue Accidentially, the pre and post delegates for the VMCS are protected when they should be public. This patch fixes this issue. [ISSUE]: #577 Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Fix crash with Windows (#578) The latest versions of Windows do not like having aligned memory freed using "free", resulting in a segfault. Alighed memory is no longer needed so this can be removed. [ISSUE]: #576 Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Enable More Unit Tests (#580) This is a small patch that enables more unit tests [ISSUE]: #576 Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Include Path / Library Fix (#581) This patch fixes two specific issues with extensions: - The init_project macro was including <path>/../include which it shouldn't be because we don't know how an extension will be setup, and this could accidentially include unintended files. - The add_vmm_exectuable provided to way to link shared and static libraries at the same time, and as a result, was cumbersome to use. Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Re-enable Codecov (#582) This patch re-enables codecov so that it can calculate our current code coverage. This will likely result in failed tests until code coverage is fixed. Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * x64/vmcs: Temporarily clear CR3[11:0] on promote (#584) As part of the PTI patches, Linux now uses PCIDs to reduce the cost of context switches. The current PCID is given by CR3[11:0], and if this is not zero when CR4.PCIDE is set on a write to CR4, a #GP is raised. The promotion bug described in #573 was due to Bareflank restoring the guest CR3 (in which CR3[11:0] was nonzero), and then restoring the guest CR4, which was setting CR4.PCIDE. The resulting #GP was raised with nothing to handle it, leading to a triple fault. Now Bareflank writes a copy of the guest CR3 with bits 11-0 clear, then writes the guest's CR4. Once the CR4 is written, the guest's original CR3 is restored. * Fix Include Issue / Enable Warnings (#586) The bfvmm was not installing its headers, but instead was directly searching for the includes from the source tree, resulting in name collisions with extensions. In addition, warnings were never working, and are by default turned off. Travis however should ensure no warnings occur, which was not working properly. [ISSUES]: #585 Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Remove CMake variables that cannot be changed in CCMake (#588) This patch makes sure that the ccmake tool only shows variables that in theory should be able to be changed prior to running make. [ISSUE]: #587 Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * tests: Fix build errors (#589) bfm: Add include header for test support bfvmm: Add narrow cast for pl011 tests * Update README.md * Change to relative paths (#594) This patch addresses an issue were attempting to include headers from bfvmm in extensions results in invalid paths. [ISSUE]: #590 Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Add BFVMM Namespace This patch adds the bfvmm namesapce to the check logic in the bfvmm. This is the first of many PRs to add the bfvmm namespace and reduce the need for hardcoding namespace logic into filenames / variable names [ISSUE]: #583 Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Fix Small Ninja Issue Cleanup some verbosity for ninja [ISSUE]: #596 Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Add changes required for clean eapis build (#598) - Add an isr_type in the idt class to avoid compiler cast errors - Use relative paths with memory_manager/object_allocator.h and user_data.h - Add trailing slash on the source install path in bfvmm/src/CMakeLists.txt. Without the slash, the headers were being installed as <prefix>/include/bfvmm/include/... * Move Debug Intrinsics (#599) The debug intrinsics are intel specific and should be located in the intel specific folder with the proper naming. Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Update Example Config (#600) This patch updates the example config to provide a more complete example that can actually be used by developers. It also fixes a small bug with clang tidy and Arch Linux. Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Rename BFVMM Classes (#601) This patch renames the BFVMM classes to get rid of the "_x64" and "_intel_x64" names in facvor of namespaces [RFC]: #583 Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * docs: Update Arch Linux setup instructions (#603) - Add commands for downloading and installing yaourt on a vanilla Arch system. - Remove the 'yaourt' from the initial 'pacman -S' command since it is not an official Arch package. - Add symlink for run-clang-tidy-4.0.py. * Convert Hypervisor to use Delegates (#610) This patch converts the hypervisor to use delegates, dramatically reducing the complexity of the hypervisor, while also providing a cleaner interface for extensions. [RFC]: #602 Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Redownload on Error (#612) This patch adds a redownload on error feature to the dependency macro. If an error occurs, the macro attempts to redownload the file 5 times before erroring outRedownload on Error [ISSUE]: #611 Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Mods for EAPIs This patch provides some mods to support the extended APIs. None of these mods were needed, but it does simplify things and keep the EAPIs build logic easier to follow Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Missing Header Guard The Intel VCPU was missing it's header guard. Credit: https://github.com/boddumanohar Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Move Check to Cpp (#615) The check logic is currently in header files, which causes a lot of uneeded comilation and complexity. This patch moves the check logic to source files. Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Add IntelliSense Support This patch adds support for IntelliSense for VSCode. Specifically, this provide support for code completion and error checking. Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Relocate / Rename Memory Manager (#618) This relocates and renames the memory manager to match the new source tree structure. The code itself still needs a major overhaul, but the public APIs should not change much after this patch. Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Change order of execution of delegates from FILO to FIFO (#623) Signed-off-by: "Manohar Reddy" <"201451024@iiitvadodara.ac.in"> * README.md: Update Arch instructions (#624) - Change 'sync-deps' to 'syncdeps' - Add clang-tidy-4.0 symlink * Add support for unordered_map (#625) This patch adds support for unordered_map. Specifically it adds support for libm which is needed by unordered_map as it abuses the ceil function for integer rounding in it's hash function. Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Changes to support EAPIs (#627) The following changes support the EAPIs, as well as provide consistency across the projects. Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Disable Cygwin (#628) Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * Additional Changes to support EAPIs (#629) Signed-off-by: “rianquinn” <“rianquinn@gmail.com”> * change name in the include header from memory_manager_x64 to memory_manager.h Signed-off-by: "Manohar Reddy" <"201451024@iiitvadodara.ac.in"> * Add platform_info_t, support runtime serial port address (#632) platform_info_t is used to pass platform-specific information from the kernel into the vmm. On aarch64, this is used to map the serial peripheral and pass the resulting virtual address. Closes #527 Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com> * VMX Bug Fix (#633) Signed-off-by: Rian Quinn <rianquinn@gmail.com>
cjams
pushed a commit
to cjams/hypervisor
that referenced
this pull request
Mar 2, 2018
AlexLanzano (1): map_with_cr3: fixed pml4 mapping when cr3 control bits are set (Bareflank#471) Chris Pavlina (23): Simple bugfixes in env.sh (Bareflank#494) Rename serial_port_intel_x64 to serial_port_ns16550a.h (Bareflank#510) astyle/clang_tidy: ignore deleted files Add bfarch.h to detect architecture and set flags (Bareflank#513) Modify "make format" to check for extra blank lines (Bareflank#514) Add PL011 serial driver, genericize portio interface make format: don't attempt to format deleted files (Bareflank#521) Fix README.md (Bareflank#523) Minor language/typo fixes in README.md (Bareflank#524) Move portio back into x64 (Bareflank#522) Fix cast type in aarch64 serial MMIO methods (Bareflank#526) Add method set_port() to serial drivers Restructure bfvmm source and test files Add files created by Vagrant to .gitignore compiler_wrapper.sh: remove hard-coded target architecture (Bareflank#542) Add _start for aarch64 Fix build of newlib on aarch64 Fix sysroot install name of compiler_wrapper.sh bfelf_loader: implement relocations for aarch64 Pack struct registers_intel_x64_t (Bareflank#554) Add more aarch64 relocations (Bareflank#559) Fix incorrect types in serial_port_ns16550a (Bareflank#555) Add platform_info_t, support runtime serial port address (Bareflank#632) Connor Davis (27): Map guest GDT read-write before promotion (Bareflank#486) Merge pull request Bareflank#511 from cpavlina/ls-files-fix Merge pull request Bareflank#512 from cpavlina/pl011 Merge pull request Bareflank#525 from JWZepf/x2apic_msrs Merge pull request Bareflank#530 from cpavlina/serial-set-port Merge pull request Bareflank#539 from JaredWright/bug_534 Merge pull request Bareflank#538 from cpavlina/gitignore-vagrant-build Merge pull request Bareflank#536 from cpavlina/bfvmm_restructure Merge pull request Bareflank#540 from JaredWright/bug_537 Merge pull request Bareflank#541 from JaredWright/eapis_configurable_path Merge pull request Bareflank#544 from cpavlina/aarch64_start Merge pull request Bareflank#546 from cpavlina/newlib-fix Merge pull request Bareflank#547 from JaredWright/windows_support Merge pull request Bareflank#548 from cpavlina/compiler-wrapper-fix Merge pull request Bareflank#549 from cpavlina/aarch64_reloc [BUILD] Add USES_TERMINAL to targets Merge pull request Bareflank#551 from connojd/ninja Merge pull request Bareflank#579 from rianquinn/fix_protected_delegate x64/vmcs: Temporarily clear CR3[11:0] on promote (Bareflank#584) tests: Fix build errors (Bareflank#589) Merge pull request Bareflank#595 from rianquinn/rfc_583_1 Merge pull request Bareflank#597 from rianquinn/issue_596 Add changes required for clean eapis build (Bareflank#598) docs: Update Arch Linux setup instructions (Bareflank#603) Merge pull request Bareflank#614 from rianquinn/dev README.md: Update Arch instructions (Bareflank#624) Merge pull request Bareflank#630 from boddumanohar/rename Jared Wright (8): Build System Support for Aarch64 Bareflank#498 (Bareflank#499) New cmake build system (Bareflank#532) Removed hard-coded path to extended apis for format and tidy targets (Bareflank#543) bfdriver double-compile bug (Bareflank#562) New VMM extension integration mechanism (Bareflank#560) Build system dependency caching (Bareflank#567) Merge pull request Bareflank#616 from rianquinn/announcement_613_2 Merge pull request Bareflank#617 from rianquinn/announcement_613_3 JaredWright (4): [BUG] build system - unnecessary re-compilation [BUG] build system - duplicate vmm main exectuables Bareflank#537 Extended APIs configurable path Updated bfdriver to build under WDK10 and VS 2017 Joshua Zepf (2): Updated intrinsics unit tests (Bareflank#487) Expanded x2apic msrs Manohar Reddy (2): Change order of execution of delegates from FILO to FIFO (Bareflank#623) change name in the include header from memory_manager_x64 to memory_manager.h Rian Quinn (62): initial super build script build working cleanup double compile of sdk Bug fixes and cleanup cleanup merge README update README update small fixes to the super build, enables travis fix bug with travis Merge pull request Bareflank#455 from incertia/dev Fix UPDATE_DISCONNECTED Merge pull request Bareflank#457 from rianquinn/fix_update_disconnected Fix issue with rebuilds Merge pull request Bareflank#458 from rianquinn/fix_update_command add extended apis support Merge pull request Bareflank#460 from rianquinn/add_extended_apis Merge Repos into the Hypervisor Repo (Bareflank#470) cygwin updates (Bareflank#472) msbuild_updates (Bareflank#473) BFM cleanup. (Bareflank#475) Update .codecov.yml BFSDK missing unit tests (Bareflank#477) ELF loader cleanup / missing unit tests (Bareflank#478) Dev (Bareflank#479) bug fixes (Bareflank#480) missing VMCS unit tests (Bareflank#481) missing CRT unit tests (Bareflank#482) missing bfdriver unit tests (Bareflank#484) Windows Support (Bareflank#489) Codacy Update (Bareflank#491) Update CMakeFlags_Native_VS.txt Windows 7 Support (Bareflank#492) Update README.md Header Updates (Bareflank#504) Contributing Update (Bareflank#505) Fix issue with EAPIs unit testing (Bareflank#515) Update README.md arch cleanup (Bareflank#519) remove env.sh (Bareflank#520) Delegate Implementation (Bareflank#531) Build System Bug Fixes (Bareflank#575) Fix crash with Windows (Bareflank#578) Enable More Unit Tests (Bareflank#580) Include Path / Library Fix (Bareflank#581) Re-enable Codecov (Bareflank#582) Fix Include Issue / Enable Warnings (Bareflank#586) Remove CMake variables that cannot be changed in CCMake (Bareflank#588) Update README.md Change to relative paths (Bareflank#594) Move Debug Intrinsics (Bareflank#599) Update Example Config (Bareflank#600) Rename BFVMM Classes (Bareflank#601) Convert Hypervisor to use Delegates (Bareflank#610) Redownload on Error (Bareflank#612) Move Check to Cpp (Bareflank#615) Relocate / Rename Memory Manager (Bareflank#618) Add support for unordered_map (Bareflank#625) Changes to support EAPIs (Bareflank#627) Disable Cygwin (Bareflank#628) Additional Changes to support EAPIs (Bareflank#629) VMX Bug Fix (Bareflank#633) Will Song (2): Add support for using local repositories when building Bareflank. Update README.md “rianquinn” (6): Fix Protected Delegate Issue Add BFVMM Namespace Fix Small Ninja Issue Mods for EAPIs Missing Header Guard Add IntelliSense Support
JaredWright
pushed a commit
to JaredWright/hypervisor
that referenced
this pull request
Mar 2, 2018
This is a small patch that enables more unit tests [ISSUE]: Bareflank#576 Signed-off-by: “rianquinn” <“rianquinn@gmail.com”>
cjams
pushed a commit
to cjams/hypervisor
that referenced
this pull request
Mar 2, 2018
AlexLanzano (1): map_with_cr3: fixed pml4 mapping when cr3 control bits are set (Bareflank#471) Chris Pavlina (23): Simple bugfixes in env.sh (Bareflank#494) Rename serial_port_intel_x64 to serial_port_ns16550a.h (Bareflank#510) astyle/clang_tidy: ignore deleted files Add bfarch.h to detect architecture and set flags (Bareflank#513) Modify "make format" to check for extra blank lines (Bareflank#514) Add PL011 serial driver, genericize portio interface make format: don't attempt to format deleted files (Bareflank#521) Fix README.md (Bareflank#523) Minor language/typo fixes in README.md (Bareflank#524) Move portio back into x64 (Bareflank#522) Fix cast type in aarch64 serial MMIO methods (Bareflank#526) Add method set_port() to serial drivers Restructure bfvmm source and test files Add files created by Vagrant to .gitignore compiler_wrapper.sh: remove hard-coded target architecture (Bareflank#542) Add _start for aarch64 Fix build of newlib on aarch64 Fix sysroot install name of compiler_wrapper.sh bfelf_loader: implement relocations for aarch64 Pack struct registers_intel_x64_t (Bareflank#554) Add more aarch64 relocations (Bareflank#559) Fix incorrect types in serial_port_ns16550a (Bareflank#555) Add platform_info_t, support runtime serial port address (Bareflank#632) Connor Davis (27): Map guest GDT read-write before promotion (Bareflank#486) Merge pull request Bareflank#511 from cpavlina/ls-files-fix Merge pull request Bareflank#512 from cpavlina/pl011 Merge pull request Bareflank#525 from JWZepf/x2apic_msrs Merge pull request Bareflank#530 from cpavlina/serial-set-port Merge pull request Bareflank#539 from JaredWright/bug_534 Merge pull request Bareflank#538 from cpavlina/gitignore-vagrant-build Merge pull request Bareflank#536 from cpavlina/bfvmm_restructure Merge pull request Bareflank#540 from JaredWright/bug_537 Merge pull request Bareflank#541 from JaredWright/eapis_configurable_path Merge pull request Bareflank#544 from cpavlina/aarch64_start Merge pull request Bareflank#546 from cpavlina/newlib-fix Merge pull request Bareflank#547 from JaredWright/windows_support Merge pull request Bareflank#548 from cpavlina/compiler-wrapper-fix Merge pull request Bareflank#549 from cpavlina/aarch64_reloc [BUILD] Add USES_TERMINAL to targets Merge pull request Bareflank#551 from connojd/ninja Merge pull request Bareflank#579 from rianquinn/fix_protected_delegate x64/vmcs: Temporarily clear CR3[11:0] on promote (Bareflank#584) tests: Fix build errors (Bareflank#589) Merge pull request Bareflank#595 from rianquinn/rfc_583_1 Merge pull request Bareflank#597 from rianquinn/issue_596 Add changes required for clean eapis build (Bareflank#598) docs: Update Arch Linux setup instructions (Bareflank#603) Merge pull request Bareflank#614 from rianquinn/dev README.md: Update Arch instructions (Bareflank#624) Merge pull request Bareflank#630 from boddumanohar/rename Jared Wright (8): Build System Support for Aarch64 Bareflank#498 (Bareflank#499) New cmake build system (Bareflank#532) Removed hard-coded path to extended apis for format and tidy targets (Bareflank#543) bfdriver double-compile bug (Bareflank#562) New VMM extension integration mechanism (Bareflank#560) Build system dependency caching (Bareflank#567) Merge pull request Bareflank#616 from rianquinn/announcement_613_2 Merge pull request Bareflank#617 from rianquinn/announcement_613_3 JaredWright (4): [BUG] build system - unnecessary re-compilation [BUG] build system - duplicate vmm main exectuables Bareflank#537 Extended APIs configurable path Updated bfdriver to build under WDK10 and VS 2017 Joshua Zepf (2): Updated intrinsics unit tests (Bareflank#487) Expanded x2apic msrs Manohar Reddy (2): Change order of execution of delegates from FILO to FIFO (Bareflank#623) change name in the include header from memory_manager_x64 to memory_manager.h Rian Quinn (62): initial super build script build working cleanup double compile of sdk Bug fixes and cleanup cleanup merge README update README update small fixes to the super build, enables travis fix bug with travis Merge pull request Bareflank#455 from incertia/dev Fix UPDATE_DISCONNECTED Merge pull request Bareflank#457 from rianquinn/fix_update_disconnected Fix issue with rebuilds Merge pull request Bareflank#458 from rianquinn/fix_update_command add extended apis support Merge pull request Bareflank#460 from rianquinn/add_extended_apis Merge Repos into the Hypervisor Repo (Bareflank#470) cygwin updates (Bareflank#472) msbuild_updates (Bareflank#473) BFM cleanup. (Bareflank#475) Update .codecov.yml BFSDK missing unit tests (Bareflank#477) ELF loader cleanup / missing unit tests (Bareflank#478) Dev (Bareflank#479) bug fixes (Bareflank#480) missing VMCS unit tests (Bareflank#481) missing CRT unit tests (Bareflank#482) missing bfdriver unit tests (Bareflank#484) Windows Support (Bareflank#489) Codacy Update (Bareflank#491) Update CMakeFlags_Native_VS.txt Windows 7 Support (Bareflank#492) Update README.md Header Updates (Bareflank#504) Contributing Update (Bareflank#505) Fix issue with EAPIs unit testing (Bareflank#515) Update README.md arch cleanup (Bareflank#519) remove env.sh (Bareflank#520) Delegate Implementation (Bareflank#531) Build System Bug Fixes (Bareflank#575) Fix crash with Windows (Bareflank#578) Enable More Unit Tests (Bareflank#580) Include Path / Library Fix (Bareflank#581) Re-enable Codecov (Bareflank#582) Fix Include Issue / Enable Warnings (Bareflank#586) Remove CMake variables that cannot be changed in CCMake (Bareflank#588) Update README.md Change to relative paths (Bareflank#594) Move Debug Intrinsics (Bareflank#599) Update Example Config (Bareflank#600) Rename BFVMM Classes (Bareflank#601) Convert Hypervisor to use Delegates (Bareflank#610) Redownload on Error (Bareflank#612) Move Check to Cpp (Bareflank#615) Relocate / Rename Memory Manager (Bareflank#618) Add support for unordered_map (Bareflank#625) Changes to support EAPIs (Bareflank#627) Disable Cygwin (Bareflank#628) Additional Changes to support EAPIs (Bareflank#629) VMX Bug Fix (Bareflank#633) Will Song (2): Add support for using local repositories when building Bareflank. Update README.md “rianquinn” (6): Fix Protected Delegate Issue Add BFVMM Namespace Fix Small Ninja Issue Mods for EAPIs Missing Header Guard Add IntelliSense Support
cjams
pushed a commit
to cjams/hypervisor
that referenced
this pull request
Mar 2, 2018
AlexLanzano (1): map_with_cr3: fixed pml4 mapping when cr3 control bits are set (Bareflank#471) Chris Pavlina (23): Simple bugfixes in env.sh (Bareflank#494) Rename serial_port_intel_x64 to serial_port_ns16550a.h (Bareflank#510) astyle/clang_tidy: ignore deleted files Add bfarch.h to detect architecture and set flags (Bareflank#513) Modify "make format" to check for extra blank lines (Bareflank#514) Add PL011 serial driver, genericize portio interface make format: don't attempt to format deleted files (Bareflank#521) Fix README.md (Bareflank#523) Minor language/typo fixes in README.md (Bareflank#524) Move portio back into x64 (Bareflank#522) Fix cast type in aarch64 serial MMIO methods (Bareflank#526) Add method set_port() to serial drivers Restructure bfvmm source and test files Add files created by Vagrant to .gitignore compiler_wrapper.sh: remove hard-coded target architecture (Bareflank#542) Add _start for aarch64 Fix build of newlib on aarch64 Fix sysroot install name of compiler_wrapper.sh bfelf_loader: implement relocations for aarch64 Pack struct registers_intel_x64_t (Bareflank#554) Add more aarch64 relocations (Bareflank#559) Fix incorrect types in serial_port_ns16550a (Bareflank#555) Add platform_info_t, support runtime serial port address (Bareflank#632) Connor Davis (27): Map guest GDT read-write before promotion (Bareflank#486) Merge pull request Bareflank#511 from cpavlina/ls-files-fix Merge pull request Bareflank#512 from cpavlina/pl011 Merge pull request Bareflank#525 from JWZepf/x2apic_msrs Merge pull request Bareflank#530 from cpavlina/serial-set-port Merge pull request Bareflank#539 from JaredWright/bug_534 Merge pull request Bareflank#538 from cpavlina/gitignore-vagrant-build Merge pull request Bareflank#536 from cpavlina/bfvmm_restructure Merge pull request Bareflank#540 from JaredWright/bug_537 Merge pull request Bareflank#541 from JaredWright/eapis_configurable_path Merge pull request Bareflank#544 from cpavlina/aarch64_start Merge pull request Bareflank#546 from cpavlina/newlib-fix Merge pull request Bareflank#547 from JaredWright/windows_support Merge pull request Bareflank#548 from cpavlina/compiler-wrapper-fix Merge pull request Bareflank#549 from cpavlina/aarch64_reloc [BUILD] Add USES_TERMINAL to targets Merge pull request Bareflank#551 from connojd/ninja Merge pull request Bareflank#579 from rianquinn/fix_protected_delegate x64/vmcs: Temporarily clear CR3[11:0] on promote (Bareflank#584) tests: Fix build errors (Bareflank#589) Merge pull request Bareflank#595 from rianquinn/rfc_583_1 Merge pull request Bareflank#597 from rianquinn/issue_596 Add changes required for clean eapis build (Bareflank#598) docs: Update Arch Linux setup instructions (Bareflank#603) Merge pull request Bareflank#614 from rianquinn/dev README.md: Update Arch instructions (Bareflank#624) Merge pull request Bareflank#630 from boddumanohar/rename Jared Wright (8): Build System Support for Aarch64 Bareflank#498 (Bareflank#499) New cmake build system (Bareflank#532) Removed hard-coded path to extended apis for format and tidy targets (Bareflank#543) bfdriver double-compile bug (Bareflank#562) New VMM extension integration mechanism (Bareflank#560) Build system dependency caching (Bareflank#567) Merge pull request Bareflank#616 from rianquinn/announcement_613_2 Merge pull request Bareflank#617 from rianquinn/announcement_613_3 JaredWright (4): [BUG] build system - unnecessary re-compilation [BUG] build system - duplicate vmm main exectuables Bareflank#537 Extended APIs configurable path Updated bfdriver to build under WDK10 and VS 2017 Joshua Zepf (2): Updated intrinsics unit tests (Bareflank#487) Expanded x2apic msrs Manohar Reddy (2): Change order of execution of delegates from FILO to FIFO (Bareflank#623) change name in the include header from memory_manager_x64 to memory_manager.h Rian Quinn (62): initial super build script build working cleanup double compile of sdk Bug fixes and cleanup cleanup merge README update README update small fixes to the super build, enables travis fix bug with travis Merge pull request Bareflank#455 from incertia/dev Fix UPDATE_DISCONNECTED Merge pull request Bareflank#457 from rianquinn/fix_update_disconnected Fix issue with rebuilds Merge pull request Bareflank#458 from rianquinn/fix_update_command add extended apis support Merge pull request Bareflank#460 from rianquinn/add_extended_apis Merge Repos into the Hypervisor Repo (Bareflank#470) cygwin updates (Bareflank#472) msbuild_updates (Bareflank#473) BFM cleanup. (Bareflank#475) Update .codecov.yml BFSDK missing unit tests (Bareflank#477) ELF loader cleanup / missing unit tests (Bareflank#478) Dev (Bareflank#479) bug fixes (Bareflank#480) missing VMCS unit tests (Bareflank#481) missing CRT unit tests (Bareflank#482) missing bfdriver unit tests (Bareflank#484) Windows Support (Bareflank#489) Codacy Update (Bareflank#491) Update CMakeFlags_Native_VS.txt Windows 7 Support (Bareflank#492) Update README.md Header Updates (Bareflank#504) Contributing Update (Bareflank#505) Fix issue with EAPIs unit testing (Bareflank#515) Update README.md arch cleanup (Bareflank#519) remove env.sh (Bareflank#520) Delegate Implementation (Bareflank#531) Build System Bug Fixes (Bareflank#575) Fix crash with Windows (Bareflank#578) Enable More Unit Tests (Bareflank#580) Include Path / Library Fix (Bareflank#581) Re-enable Codecov (Bareflank#582) Fix Include Issue / Enable Warnings (Bareflank#586) Remove CMake variables that cannot be changed in CCMake (Bareflank#588) Update README.md Change to relative paths (Bareflank#594) Move Debug Intrinsics (Bareflank#599) Update Example Config (Bareflank#600) Rename BFVMM Classes (Bareflank#601) Convert Hypervisor to use Delegates (Bareflank#610) Redownload on Error (Bareflank#612) Move Check to Cpp (Bareflank#615) Relocate / Rename Memory Manager (Bareflank#618) Add support for unordered_map (Bareflank#625) Changes to support EAPIs (Bareflank#627) Disable Cygwin (Bareflank#628) Additional Changes to support EAPIs (Bareflank#629) VMX Bug Fix (Bareflank#633) Will Song (2): Add support for using local repositories when building Bareflank. Update README.md “rianquinn” (6): Fix Protected Delegate Issue Add BFVMM Namespace Fix Small Ninja Issue Mods for EAPIs Missing Header Guard Add IntelliSense Support
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a small patch that enables more unit tests
Signed-off-by: “rianquinn” <“rianquinn@gmail.com”>