Skip to content

Commit

Permalink
Fix Include Issue / Enable Warnings (#586)
Browse files Browse the repository at this point in the history
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”>
  • Loading branch information
rianquinn committed Jan 30, 2018
1 parent 6c1eefd commit c181dae
Show file tree
Hide file tree
Showing 27 changed files with 2,359 additions and 2,311 deletions.
10 changes: 9 additions & 1 deletion .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ environment:
BFPATH: '%PATH%'
PATH: '%PATH%;C:\Program Files\NASM'

test: off
cache:
- ../cache

#
# Setup Cygwin
Expand Down Expand Up @@ -63,6 +64,7 @@ build_script:
- cmake -G "Visual Studio 14 2015 Win64" -DENABLE_BUILD_VMM=OFF -DENABLE_BUILD_USERSPACE=OFF -DENABLE_BUILD_TEST=ON ..
- msbuild /m:3 hypervisor.sln
- cmake --build . --target test
- cmake --build . --target test

#
# Cygwin (Shared Libraries)
Expand All @@ -71,3 +73,9 @@ build_script:
- '%CYG_BASH% -lc "cd $APPVEYOR_BUILD_FOLDER/build_cygwin; cmake -DENABLE_BUILD_TEST=ON .."'
- '%CYG_BASH% -lc "cd $APPVEYOR_BUILD_FOLDER/build_cygwin; make -j3"'
- '%CYG_BASH% -lc "cd $APPVEYOR_BUILD_FOLDER/build_cygwin; make unittest"'
- '%CYG_BASH% -lc "cd $APPVEYOR_BUILD_FOLDER/build_cygwin; make unittest"'

#
# No AppVeyor Tests
#
test: off
1 change: 0 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ before_script:
# Cache / Depends
#
- mkdir -p ../cache
- mkdir -p ../depends

#
# Build Enviornment
Expand Down
64 changes: 32 additions & 32 deletions bfintrinsics/include/arch/x64/srs.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,10 @@ namespace es
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_es(gsl::narrow_cast<value_type>(set_bits(_read_es(), mask, val << from))); }
{ _write_es(gsl::narrow_cast<value_type>(set_bits(_read_es(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_es(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_es(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -155,10 +155,10 @@ namespace es
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_es(gsl::narrow_cast<value_type>(set_bits(_read_es(), mask, val << from))); }
{ _write_es(gsl::narrow_cast<value_type>(set_bits(_read_es(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_es(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_es(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -196,10 +196,10 @@ namespace cs
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_cs(gsl::narrow_cast<value_type>(set_bits(_read_cs(), mask, val << from))); }
{ _write_cs(gsl::narrow_cast<value_type>(set_bits(_read_cs(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_cs(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_cs(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -252,10 +252,10 @@ namespace cs
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_cs(gsl::narrow_cast<value_type>(set_bits(_read_cs(), mask, val << from))); }
{ _write_cs(gsl::narrow_cast<value_type>(set_bits(_read_cs(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_cs(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_cs(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -293,10 +293,10 @@ namespace ss
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_ss(gsl::narrow_cast<value_type>(set_bits(_read_ss(), mask, val << from))); }
{ _write_ss(gsl::narrow_cast<value_type>(set_bits(_read_ss(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_ss(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_ss(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -349,10 +349,10 @@ namespace ss
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_ss(gsl::narrow_cast<value_type>(set_bits(_read_ss(), mask, val << from))); }
{ _write_ss(gsl::narrow_cast<value_type>(set_bits(_read_ss(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_ss(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_ss(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -390,10 +390,10 @@ namespace ds
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_ds(gsl::narrow_cast<value_type>(set_bits(_read_ds(), mask, val << from))); }
{ _write_ds(gsl::narrow_cast<value_type>(set_bits(_read_ds(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_ds(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_ds(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -446,10 +446,10 @@ namespace ds
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_ds(gsl::narrow_cast<value_type>(set_bits(_read_ds(), mask, val << from))); }
{ _write_ds(gsl::narrow_cast<value_type>(set_bits(_read_ds(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_ds(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_ds(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -487,10 +487,10 @@ namespace fs
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_fs(gsl::narrow_cast<value_type>(set_bits(_read_fs(), mask, val << from))); }
{ _write_fs(gsl::narrow_cast<value_type>(set_bits(_read_fs(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_fs(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_fs(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -543,10 +543,10 @@ namespace fs
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_fs(gsl::narrow_cast<value_type>(set_bits(_read_fs(), mask, val << from))); }
{ _write_fs(gsl::narrow_cast<value_type>(set_bits(_read_fs(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_fs(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_fs(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -584,10 +584,10 @@ namespace gs
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_gs(gsl::narrow_cast<value_type>(set_bits(_read_gs(), mask, val << from))); }
{ _write_gs(gsl::narrow_cast<value_type>(set_bits(_read_gs(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_gs(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_gs(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -640,10 +640,10 @@ namespace gs
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_gs(gsl::narrow_cast<value_type>(set_bits(_read_gs(), mask, val << from))); }
{ _write_gs(gsl::narrow_cast<value_type>(set_bits(_read_gs(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_gs(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_gs(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -681,10 +681,10 @@ namespace ldtr
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_ldtr(gsl::narrow_cast<value_type>(set_bits(_read_ldtr(), mask, val << from))); }
{ _write_ldtr(gsl::narrow_cast<value_type>(set_bits(_read_ldtr(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_ldtr(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_ldtr(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -737,10 +737,10 @@ namespace ldtr
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_ldtr(gsl::narrow_cast<value_type>(set_bits(_read_ldtr(), mask, val << from))); }
{ _write_ldtr(gsl::narrow_cast<value_type>(set_bits(_read_ldtr(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_ldtr(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_ldtr(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -778,10 +778,10 @@ namespace tr
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_tr(gsl::narrow_cast<value_type>(set_bits(_read_tr(), mask, val << from))); }
{ _write_tr(gsl::narrow_cast<value_type>(set_bits(_read_tr(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_tr(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_tr(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down Expand Up @@ -834,10 +834,10 @@ namespace tr
{ return gsl::narrow_cast<value_type>(get_bits(sr, mask) >> from); }

inline void set(value_type val)
{ _write_tr(gsl::narrow_cast<value_type>(set_bits(_read_tr(), mask, val << from))); }
{ _write_tr(gsl::narrow_cast<value_type>(set_bits(_read_tr(), mask, gsl::narrow_cast<value_type>(val << from)))); }

inline auto set(value_type sr, value_type val)
{ _write_tr(gsl::narrow_cast<value_type>(set_bits(sr, mask, val << from))); }
{ _write_tr(gsl::narrow_cast<value_type>(set_bits(sr, mask, gsl::narrow_cast<value_type>(val << from)))); }

inline void dump(int level, std::string *msg = nullptr)
{ bfdebug_subnhex(level, name, get(), msg); }
Expand Down
1 change: 1 addition & 0 deletions bfruntime/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ project(bfruntime C CXX)
include(${SOURCE_CMAKE_DIR}/project.cmake)
init_project(
TIDY_EXCLUSIONS -cert-err34-c,-misc-misplaced-widening-cast
CXX_FLAGS -Wno-main
)

add_subdirectory(crt)
Expand Down
4 changes: 3 additions & 1 deletion bfvmm/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ cmake_minimum_required(VERSION 3.6)
project(bfvmm C CXX)

include(${SOURCE_CMAKE_DIR}/project.cmake)
init_project()
init_project(
INCLUDES ${CMAKE_CURRENT_LIST_DIR}/../include
)

add_subdirectory(debug)
add_subdirectory(memory_manager)
Expand Down
6 changes: 6 additions & 0 deletions bfvmm/src/debug/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,9 @@ add_static_library(
DEFINES STATIC_DEBUG
DEFINES STATIC_INTRINSICS
)

# ------------------------------------------------------------------------------
# Install
# ------------------------------------------------------------------------------

install(DIRECTORY ${CMAKE_SOURCE_DIR}/../include/debug DESTINATION include/bfvmm/debug)
6 changes: 6 additions & 0 deletions bfvmm/src/hve/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,9 @@ add_static_library(
DEFINES STATIC_MEMORY_MANAGER
DEFINES STATIC_INTRINSICS
)

# ------------------------------------------------------------------------------
# Install
# ------------------------------------------------------------------------------

install(DIRECTORY ${CMAKE_SOURCE_DIR}/../include/hve DESTINATION include/bfvmm/hve)
6 changes: 6 additions & 0 deletions bfvmm/src/memory_manager/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,9 @@ add_static_library(
DEFINES STATIC_MEMORY_MANAGER
DEFINES STATIC_INTRINSICS
)

# ------------------------------------------------------------------------------
# Install
# ------------------------------------------------------------------------------

install(DIRECTORY ${CMAKE_SOURCE_DIR}/../include/memory_manager DESTINATION include/bfvmm/memory_manager)
6 changes: 6 additions & 0 deletions bfvmm/src/vcpu/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,9 @@ add_static_library(
DEFINES STATIC_MEMORY_MANAGER
DEFINES STATIC_INTRINSICS
)

# ------------------------------------------------------------------------------
# Install
# ------------------------------------------------------------------------------

install(DIRECTORY ${CMAKE_SOURCE_DIR}/../include/vcpu DESTINATION include/bfvmm/vcpu)
4 changes: 3 additions & 1 deletion bfvmm/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ cmake_minimum_required(VERSION 3.6)
project(bfvmm_test C CXX)

include(${SOURCE_CMAKE_DIR}/project.cmake)
init_project()
init_project(
INCLUDES ${CMAKE_CURRENT_LIST_DIR}/../include
)

add_subdirectory(../src/debug ${CMAKE_CURRENT_BINARY_DIR}/src/debug)
add_subdirectory(../src/hve ${CMAKE_CURRENT_BINARY_DIR}/src/hve)
Expand Down
4 changes: 2 additions & 2 deletions bfvmm/tests/debug/serial/test_serial_port_ns16550a.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ static std::map<serial_port_ns16550a::port_type, serial_port_ns16550a::value_typ

extern "C" uint8_t
_inb(uint16_t port) noexcept
{ return g_ports[port]; }
{ return gsl::narrow_cast<serial_port_ns16550a::value_type_8>(g_ports[port]); }

extern "C" void
_outb(uint16_t port, uint8_t val) noexcept
Expand All @@ -42,7 +42,7 @@ _ind(uint16_t port) noexcept

extern "C" void
_outd(uint16_t port, uint32_t val) noexcept
{ g_ports[port] = val; }
{ g_ports[port] = gsl::narrow_cast<serial_port_ns16550a::value_type_8>(val); }

TEST_CASE("serial: support")
{
Expand Down

0 comments on commit c181dae

Please sign in to comment.