diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/CMakeLists.txt | 8 | ||||
-rw-r--r-- | kernel/cmake/kernel.cmake | 29 | ||||
-rw-r--r-- | kernel/tests/CMakeLists.txt | 2 | ||||
-rw-r--r-- | kernel/tests/include/lapi/xloop.h | 2 | ||||
-rw-r--r-- | kernel/tests/lib/CMakeLists.txt | 1 | ||||
-rw-r--r-- | kernel/tests/lib/tst_device.c | 2 | ||||
-rw-r--r-- | kernel/uapi_xloop.h (renamed from kernel/uapi/linux/xloop.h) | 0 | ||||
-rw-r--r-- | kernel/xloop_main.h | 2 |
8 files changed, 32 insertions, 14 deletions
diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt index 1f266f6..dd12c80 100644 --- a/kernel/CMakeLists.txt +++ b/kernel/CMakeLists.txt @@ -23,7 +23,7 @@ set(KERNEL_MODULE_XLOOP_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt. ${CMAKE_CURRENT_SOURCE_DIR}/xloop_main.c) set(KERNEL_MODULE_XLOOP_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt.h ${CMAKE_CURRENT_SOURCE_DIR}/xloop_main.h - ${CMAKE_CURRENT_SOURCE_DIR}/uapi) + ${CMAKE_CURRENT_SOURCE_DIR}/uapi_xloop.h) add_kernel_module(xloop "${KERNEL_BUILD_DIR}" "${KERNEL_INSTALL_DIR}" "CONFIG_BLK_DEV_XLOOP=m" @@ -35,7 +35,7 @@ add_kernel_module(xloop "${KERNEL_BUILD_DIR}" set(KERNEL_MODULE_XLOOP_RAW_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt_raw.c) set(KERNEL_MODULE_XLOOP_RAW_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt.h ${CMAKE_CURRENT_SOURCE_DIR}/xloop_main.h - ${CMAKE_CURRENT_SOURCE_DIR}/uapi) + ${CMAKE_CURRENT_SOURCE_DIR}/uapi_xloop.h) add_kernel_module(xloop_file_fmt_raw "${KERNEL_BUILD_DIR}" "${KERNEL_INSTALL_DIR}" "CONFIG_BLK_DEV_XLOOP_FILE_FMT_RAW=m" @@ -53,7 +53,7 @@ set(KERNEL_MODULE_XLOOP_QCOW_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt_qcow_main.h ${CMAKE_CURRENT_SOURCE_DIR}/xloop_file_fmt.h ${CMAKE_CURRENT_SOURCE_DIR}/xloop_main.h - ${CMAKE_CURRENT_SOURCE_DIR}/uapi) + ${CMAKE_CURRENT_SOURCE_DIR}/uapi_xloop.h) add_kernel_module(xloop_file_fmt_qcow "${KERNEL_BUILD_DIR}" "${KERNEL_INSTALL_DIR}" "CONFIG_BLK_DEV_XLOOP_FILE_FMT_QCOW=m" @@ -68,6 +68,6 @@ endif() # install udev rules for xloop devices exposed by the xloop kernel module install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/udev/50-xloop.rules - DESTINATION /${CMAKE_INSTALL_LIBDIR}/udev/rules.d + DESTINATION /lib/udev/rules.d PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ COMPONENT main) diff --git a/kernel/cmake/kernel.cmake b/kernel/cmake/kernel.cmake index 0d843e6..811ce86 100644 --- a/kernel/cmake/kernel.cmake +++ b/kernel/cmake/kernel.cmake @@ -6,15 +6,31 @@ # macro to define kernel module targets macro(add_kernel_module MODULE_NAME KERNEL_BUILD_DIR KERNEL_INSTALL_DIR MODULE_MACRO MODULE_SOURCE_FILES MODULE_HEADER_FILES BUILD_SOURCE_FILE) + # create directory for kernel module + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}) # copy build source file - file(COPY ${BUILD_SOURCE_FILE} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}) + get_filename_component(BUILD_SOURCE_FILENAME ${BUILD_SOURCE_FILE} NAME) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}/${BUILD_SOURCE_FILENAME} + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${BUILD_SOURCE_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME} + DEPENDS ${BUILD_SOURCE_FILE}) + set(BUILD_SOURCE_FILE_PREPARED ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}/${BUILD_SOURCE_FILENAME}) # copy source files foreach(MODULE_SOURCE_FILE ${MODULE_SOURCE_FILES}) - file(COPY ${MODULE_SOURCE_FILE} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}) + get_filename_component(MODULE_SOURCE_FILENAME ${MODULE_SOURCE_FILE} NAME) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}/${MODULE_SOURCE_FILENAME} + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${MODULE_SOURCE_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME} + DEPENDS ${MODULE_SOURCE_FILE}) + set(MODULE_SOURCE_FILES_PREPARED ${MODULE_SOURCE_FILES_PREPARED} + ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}/${MODULE_SOURCE_FILENAME}) endforeach() # copy header files foreach(MODULE_HEADER_FILE ${MODULE_HEADER_FILES}) - file(COPY ${MODULE_HEADER_FILE} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}) + get_filename_component(MODULE_HEADER_FILENAME ${MODULE_HEADER_FILE} NAME) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}/${MODULE_HEADER_FILENAME} + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${MODULE_HEADER_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME} + DEPENDS ${MODULE_HEADER_FILE}) + set(MODULE_HEADER_FILES_PREPARED ${MODULE_HEADER_FILES_PREPARED} + ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}/${MODULE_HEADER_FILENAME}) endforeach() # check if module depends on another module if(NOT ${ARGV7} STREQUAL "") @@ -28,9 +44,10 @@ macro(add_kernel_module MODULE_NAME KERNEL_BUILD_DIR KERNEL_INSTALL_DIR MODULE_M KBUILD_EXTRA_SYMBOLS=${MODULE_EXTRA_SYMBOLS}) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}/${MODULE_NAME}.ko COMMAND ${MODULE_BUILD_COMMAND} - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME} - DEPENDS ${MODULE_SOURCE_FILES} ${MODULE_HEADER_FILES} ${BUILD_SOURCE_FILE} - VERBATIM) + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME} + COMMENT "Build kernel module ${MODULE_NAME}" + DEPENDS ${BUILD_SOURCE_FILE_PREPARED} ${MODULE_HEADER_FILES_PREPARED} ${MODULE_SOURCE_FILES_PREPARED} + VERBATIM) add_custom_target(${MODULE_NAME} ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}/${MODULE_NAME}.ko ${ARGV7}) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}/${MODULE_NAME}.ko DESTINATION ${KERNEL_INSTALL_DIR} diff --git a/kernel/tests/CMakeLists.txt b/kernel/tests/CMakeLists.txt index f086864..e93ff9d 100644 --- a/kernel/tests/CMakeLists.txt +++ b/kernel/tests/CMakeLists.txt @@ -4,7 +4,7 @@ project(xloop-kernel-test) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/old) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../uapi) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..) # configure configuration config.h and add it to the include directories configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) diff --git a/kernel/tests/include/lapi/xloop.h b/kernel/tests/include/lapi/xloop.h index 8e57b31..769d1f0 100644 --- a/kernel/tests/include/lapi/xloop.h +++ b/kernel/tests/include/lapi/xloop.h @@ -8,7 +8,7 @@ #include "config.h" #include <linux/types.h> -#include <linux/xloop.h> +#include <uapi_xloop.h> #ifndef LO_FLAGS_PARTSCAN # define LO_FLAGS_PARTSCAN 8 diff --git a/kernel/tests/lib/CMakeLists.txt b/kernel/tests/lib/CMakeLists.txt index 9cea565..0ce8982 100644 --- a/kernel/tests/lib/CMakeLists.txt +++ b/kernel/tests/lib/CMakeLists.txt @@ -67,3 +67,4 @@ add_library(libltp STATIC ${CMAKE_CURRENT_SOURCE_DIR}/cloner.c ${CMAKE_CURRENT_SOURCE_DIR}/tst_virt.c ${CMAKE_CURRENT_SOURCE_DIR}/tst_wallclock.c) target_include_directories(libltp PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) +target_compile_options(libltp PUBLIC "-Wno-deprecated-declarations") diff --git a/kernel/tests/lib/tst_device.c b/kernel/tests/lib/tst_device.c index 24f34a3..0df8efe 100644 --- a/kernel/tests/lib/tst_device.c +++ b/kernel/tests/lib/tst_device.c @@ -28,7 +28,7 @@ #include <errno.h> #include <unistd.h> #include <stdlib.h> -#include <linux/xloop.h> +#include <uapi_xloop.h> #include <stdint.h> #include <inttypes.h> #include <sys/sysmacros.h> diff --git a/kernel/uapi/linux/xloop.h b/kernel/uapi_xloop.h index 1bf13c6..1bf13c6 100644 --- a/kernel/uapi/linux/xloop.h +++ b/kernel/uapi_xloop.h diff --git a/kernel/xloop_main.h b/kernel/xloop_main.h index e45a891..e1b4cb6 100644 --- a/kernel/xloop_main.h +++ b/kernel/xloop_main.h @@ -15,7 +15,7 @@ #include <linux/spinlock.h> #include <linux/mutex.h> #include <linux/kthread.h> -#include "uapi/linux/xloop.h" +#include "uapi_xloop.h" #ifdef CONFIG_DEBUG_FS #include <linux/debugfs.h> #endif |