Preparation for DKMS.

This commit is contained in:
Julian Frohmüller
2022-12-10 15:44:11 +01:00
parent 55f560689b
commit 0e720e27bb
7 changed files with 45 additions and 34 deletions
+2
View File
@@ -5,6 +5,8 @@ CMakeFiles
CMakeScripts
Testing
Makefile
# exclude the oscdriver Makefile
!src/oscdriver/Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
+4 -4
View File
@@ -24,11 +24,11 @@ add_custom_command(
LIST(APPEND RESOURCES opensuperclone_glade.h)
add_custom_command(
OUTPUT opensuperclone_driver.h
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/driver/opensuperclone_driver.c opensuperclone_driver.c
COMMAND xxd -i opensuperclone_driver.c opensuperclone_driver.h
OUTPUT oscdriver.h
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/../oscdriver/oscdriver.c oscdriver.c
COMMAND xxd -i oscdriver.c oscdriver.h
)
LIST(APPEND RESOURCES opensuperclone_driver.h)
LIST(APPEND RESOURCES oscdriver.h)
# Compile language files
file(GLOB PO_LANGS LIST_DIRECTORIES true ${CMAKE_CURRENT_SOURCE_DIR}/locale/*)
+15 -15
View File
@@ -4187,7 +4187,7 @@ int dump_hba_port_fis_command_data_ccc(unsigned long long hba_address, unsigned
memset(driver_control_data_ccc.buffer, 0, sizeof(driver_control_data_ccc.buffer));
// driver_control_data_ccc.buffer = driver_buffer_ccc;
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s%d", MAIN_DRIVER_IOCTL_NAME, process_id_ccc);
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s", MAIN_DRIVER_IOCTL_NAME);
if (main_driver_fd_ccc > 0)
{
close(main_driver_fd_ccc);
@@ -4243,7 +4243,7 @@ int dump_hba_port_fis_command_data_ccc(unsigned long long hba_address, unsigned
memset(driver_control_data_ccc.buffer, 0, sizeof(driver_control_data_ccc.buffer));
// driver_control_data_ccc.buffer = driver_buffer_ccc;
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s%d", MAIN_DRIVER_IOCTL_NAME, process_id_ccc);
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s", MAIN_DRIVER_IOCTL_NAME);
if (main_driver_fd_ccc > 0)
{
close(main_driver_fd_ccc);
@@ -4322,7 +4322,7 @@ int dump_hba_port_fis_command_data_ccc(unsigned long long hba_address, unsigned
memset(driver_control_data_ccc.buffer, 0, sizeof(driver_control_data_ccc.buffer));
// driver_control_data_ccc.buffer = driver_buffer_ccc;
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s%d", MAIN_DRIVER_IOCTL_NAME, process_id_ccc);
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s", MAIN_DRIVER_IOCTL_NAME);
if (main_driver_fd_ccc > 0)
{
close(main_driver_fd_ccc);
@@ -4496,7 +4496,7 @@ int hba_test_ccc(void)
memset(driver_control_data_ccc.buffer, 0, sizeof(driver_control_data_ccc.buffer));
// driver_control_data_ccc.buffer = driver_buffer_ccc;
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s%d", MAIN_DRIVER_IOCTL_NAME, process_id_ccc);
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s", MAIN_DRIVER_IOCTL_NAME);
if (main_driver_fd_ccc > 0)
{
close(main_driver_fd_ccc);
@@ -4563,7 +4563,7 @@ int hba_test_ccc(void)
memset(driver_control_data_ccc.buffer, 0, sizeof(driver_control_data_ccc.buffer));
// driver_control_data_ccc.buffer = driver_buffer_ccc;
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s%d", MAIN_DRIVER_IOCTL_NAME, process_id_ccc);
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s", MAIN_DRIVER_IOCTL_NAME);
if (main_driver_fd_ccc > 0)
{
close(main_driver_fd_ccc);
@@ -4657,7 +4657,7 @@ int hba_test_ccc(void)
memset(driver_control_data_ccc.buffer, 0, sizeof(driver_control_data_ccc.buffer));
// driver_control_data_ccc.buffer = driver_buffer_ccc;
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s%d", MAIN_DRIVER_IOCTL_NAME, process_id_ccc);
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s", MAIN_DRIVER_IOCTL_NAME);
if (main_driver_fd_ccc > 0)
{
close(main_driver_fd_ccc);
@@ -5179,7 +5179,7 @@ int hba_test_ccc(void)
memset(driver_control_data_ccc.buffer, 0, sizeof(driver_control_data_ccc.buffer));
// driver_control_data_ccc.buffer = driver_buffer_ccc;
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s%d", MAIN_DRIVER_IOCTL_NAME, process_id_ccc);
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s", MAIN_DRIVER_IOCTL_NAME);
if (main_driver_fd_ccc > 0)
{
close(main_driver_fd_ccc);
@@ -5246,7 +5246,7 @@ int hba_test_ccc(void)
memset(driver_control_data_ccc.buffer, 0, sizeof(driver_control_data_ccc.buffer));
// driver_control_data_ccc.buffer = driver_buffer_ccc;
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s%d", MAIN_DRIVER_IOCTL_NAME, process_id_ccc);
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s", MAIN_DRIVER_IOCTL_NAME);
if (main_driver_fd_ccc > 0)
{
close(main_driver_fd_ccc);
@@ -5340,7 +5340,7 @@ int hba_test_ccc(void)
memset(driver_control_data_ccc.buffer, 0, sizeof(driver_control_data_ccc.buffer));
// driver_control_data_ccc.buffer = driver_buffer_ccc;
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s%d", MAIN_DRIVER_IOCTL_NAME, process_id_ccc);
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s", MAIN_DRIVER_IOCTL_NAME);
if (main_driver_fd_ccc > 0)
{
close(main_driver_fd_ccc);
@@ -10496,7 +10496,7 @@ int write_rebuild_assist_log_ccc(unsigned char data[LOG_PAGE_SIZE])
int start_driver_ccc(void)
{
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s%d", MAIN_DRIVER_IOCTL_NAME, process_id_ccc);
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s", MAIN_DRIVER_IOCTL_NAME);
if (main_driver_fd_ccc > 0)
{
close(main_driver_fd_ccc);
@@ -10566,7 +10566,7 @@ int start_driver_ccc(void)
int stop_driver_ccc(void)
{
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s%d", MAIN_DRIVER_IOCTL_NAME, process_id_ccc);
snprintf(driver_device_name_ccc, sizeof(driver_device_name_ccc), "/proc/%s", MAIN_DRIVER_IOCTL_NAME);
if (main_driver_fd_ccc > 0)
{
close(main_driver_fd_ccc);
@@ -10643,7 +10643,7 @@ int reset_driver_timers_ccc(void)
int check_driver_ccc(void)
{
char name[256];
snprintf(name, sizeof(name), "/proc/%s%d", MAIN_DRIVER_IOCTL_NAME, process_id_ccc);
snprintf(name, sizeof(name), "/proc/%s", MAIN_DRIVER_IOCTL_NAME);
int fd = open(name, O_RDWR);
if (fd == -1)
{
@@ -10663,7 +10663,7 @@ int map_driver_memory_ccc(void)
driver_memory_mapped_ccc = 0;
char name[256];
snprintf(name, sizeof(name), "/proc/%s%d", MAIN_DRIVER_MMAP_NAME, process_id_ccc);
snprintf(name, sizeof(name), "/proc/%s", MAIN_DRIVER_MMAP_NAME);
configfd = open(name, O_RDWR);
if (configfd < 0)
{
@@ -10714,7 +10714,7 @@ int map_driver_memory_ccc(void)
close(configfd);
snprintf(name, sizeof(name), "/proc/%s%d", MAIN_DRIVER_MMAPTB_NAME, process_id_ccc);
snprintf(name, sizeof(name), "/proc/%s", MAIN_DRIVER_MMAPTB_NAME);
configfd = open(name, O_RDWR);
if (configfd < 0)
{
@@ -10732,7 +10732,7 @@ int map_driver_memory_ccc(void)
}
close(configfd);
snprintf(name, sizeof(name), "/proc/%s%d", MAIN_DRIVER_MMAPMDB_NAME, process_id_ccc);
snprintf(name, sizeof(name), "/proc/%s", MAIN_DRIVER_MMAPMDB_NAME);
configfd = open(name, O_RDWR);
if (configfd < 0)
{
+3 -3
View File
@@ -8,7 +8,7 @@
#include "clone_gui_common.h"
#include "opensuperclone.h"
#include "opensuperclone_help.h"
#include "opensuperclone_driver.h"
#include "oscdriver.h"
// Function to handle ctrl-c
void signal_callback_handler_ccc(int signum)
@@ -1073,9 +1073,9 @@ void install_driver_ccc(void)
return;
}
unsigned int i;
for (i = 0; i < opensuperclone_driver_c_len; i++)
for (i = 0; i < oscdriver_c_len; i++)
{
fprintf(writefile, "%c", opensuperclone_driver_c[i]);
fprintf(writefile, "%c", oscdriver_c[i]);
}
int fp = fileno(writefile);
fsync(fp);
@@ -1,11 +1,16 @@
# Suppress module signature verification: Get rid of kernel messages like
# >> module verification failed: signature and/or required key missing -
# >> tainting kernel
CONFIG_MODULE_SIG=n
KMOD = opensuperclone_driver
TMPS = $(KMOD).mod.* \
KMOD = oscdriver
IOCTL = hddscbdc
MMAP_M = hddscmap_m
MMAP_TB = hddscmap_tb
MMAP_MDB = hddscmap_mdb
RMFLAGS = -vR
TMPS = $(KMOD).mod \
$(KMOD).mod.* \
.$(KMOD).*.cmd \
built-in.o \
.built-in.* \
@@ -23,9 +28,6 @@ default:
$(MAKE) $(MAKE_FLAGS)$(KDIR) M=$$PWD
endif
# Specify flags and other vars here.
RMFLAGS = -vR
.PHONY: all clean
all: default
@@ -34,9 +36,7 @@ clean:
$(RM) $(RMFLAGS) $(KMOD).ko $(KMOD).o $(TMPS)
install:
insmod $(KMOD).ko
insmod $(KMOD).ko ioctl=$(IOCTL) mmap_m=$(MMAP_M) mmap_tb=$(MMAP_TB) mmap_mdb=$(MMAP_MDB)
uninstall:
rmmod $(KMOD)
# vim:set nu:et:ts=4:sw=4:
+9
View File
@@ -0,0 +1,9 @@
PACKAGE_NAME="oscdriver"
PACKAGE_VERSION="2.6.1"
MAKE="make"
INSTALL="make install"
CLEAN="make clean"
BUILT_MODULE_NAME="$PACKAGE_NAME"
DEST_MODULE_LOCATION="/kernel/drivers/misc"
REMAKE_INITRD="no"
AUTOINSTALL="no"