diff -r -U5 lediag-7.12.27-x86_64/debug.h lediag-7.12.27-x86_64-modif/debug.h --- lediag-7.12.27-x86_64/debug.h 2015-02-24 09:02:32.000000000 +0100 +++ lediag-7.12.27-x86_64-modif/debug.h 2022-09-17 20:47:40.828576395 +0200 @@ -251,13 +251,13 @@ #ifdef WARN #undef WARN #endif #if defined(_VBD_) -#define WARN (0) +#define WARN_ (0) #else -#define WARN (CP_ALL | LV_WARN) +#define WARN_ (CP_ALL | LV_WARN) #endif #define INFORM (CP_ALL | LV_INFORM) #define VERBOSE (CP_ALL | LV_VERBOSE) #if defined(DOS) || defined(__USER_MODE_DEBUG) || defined(UEFI) @@ -473,11 +473,11 @@ debug_break(); \ } while(0) #define DbgBreakFastPath() DbgBreak() #define DbgBreakIfFastPath(_cond) DbgBreakIf(_cond) #define DbgBreakMsgFastPath(_s) DbgBreakMsg(_s) -#define dbg_out(_c, _m, _s, _d1) debug_msgx((WARN), "TrLv<%d>, %s (%4d): %p"##_s" %s\n", ((WARN) & LV_MASK), __FILE_STRIPPED__, __LINE__, _c, _d1 ) +#define dbg_out(_c, _m, _s, _d1) debug_msgx((WARN_), "TrLv<%d>, %s (%4d): %p"##_s" %s\n", ((WARN_) & LV_MASK), __FILE_STRIPPED__, __LINE__, _c, _d1 ) #elif defined(DOS) #include #include #include @@ -561,11 +561,11 @@ #define DbgBreakIfFastPath(_cond) DbgBreakIf(_cond) #define DbgBreakMsgFastPath(_s) DbgBreakMsg(_s) // DOS -#define dbg_out(_c, _m, _s, _d1) debug_msgx((WARN), "TrLv<%d>, %s (%4d): %p"##_s" %s\n", ((WARN) & LV_MASK), __FILE_STRIPPED__, __LINE__, _c, _d1 ) +#define dbg_out(_c, _m, _s, _d1) debug_msgx((WARN_), "TrLv<%d>, %s (%4d): %p"##_s" %s\n", ((WARN_) & LV_MASK), __FILE_STRIPPED__, __LINE__, _c, _d1 ) #elif defined(__USER_MODE_DEBUG) #include #include #include @@ -724,11 +724,11 @@ // LINUX #define DbgBreakFastPath() DbgBreak() #define DbgBreakIfFastPath(_cond) DbgBreakIf(_cond) #define DbgBreakMsgFastPath(_s) DbgBreakMsg(_s) -#define dbg_out(_c, _m, _s, _d1) debug_msgx(_m, "TrLv<%d>, %s (%4d): %p"_s" %s\n", ((WARN) & LV_MASK), __FILE_STRIPPED__, __LINE__, _c, _d1 ) +#define dbg_out(_c, _m, _s, _d1) debug_msgx(_m, "TrLv<%d>, %s (%4d): %p"_s" %s\n", ((WARN_) & LV_MASK), __FILE_STRIPPED__, __LINE__, _c, _d1 ) #elif defined(__SunOS) #if defined(__SunOS_MDB) #define DbgMessage(_c, _m, _s, ...) @@ -834,20 +834,20 @@ // Usage Example: // if( CHECK_NULL( ptr )) // { // return FALSE ; // } -#define CHK_NULL(p) ((p==NULL) ? (dbg_out(NULL, WARN, DBG_ERR_STR" %s is NULL\n",#p), TRUE): FALSE ) +#define CHK_NULL(p) ((p==NULL) ? (dbg_out(NULL, WARN_, DBG_ERR_STR" %s is NULL\n",#p), TRUE): FALSE ) // Macros that returns the value of the expression and outputs a debug string in debug versions // Usage Example: // if( ERR_IF( val < 0 )) // { // return FALSE ; // } -#define ERR_IF(cond)(((cond)==TRUE) ? (dbg_out(NULL, WARN, DBG_ERR_STR" ErrIf failed %s\n",#cond), TRUE): FALSE ) -#define WRN_IF(cond)(((cond)==TRUE) ? (dbg_out(NULL, WARN, DBG_WRN_STR" WrnIf failed %s\n",#cond), TRUE): FALSE ) +#define ERR_IF(cond)(((cond)==TRUE) ? (dbg_out(NULL, WARN_, DBG_ERR_STR" ErrIf failed %s\n",#cond), TRUE): FALSE ) +#define WRN_IF(cond)(((cond)==TRUE) ? (dbg_out(NULL, WARN_, DBG_WRN_STR" WrnIf failed %s\n",#cond), TRUE): FALSE ) #else // !DBG #define STATIC static #define DbgMessage(_c, _m, ...) diff -r -U5 lediag-7.12.27-x86_64/ediag_compat.c lediag-7.12.27-x86_64-modif/ediag_compat.c --- lediag-7.12.27-x86_64/ediag_compat.c 2015-02-24 09:02:32.000000000 +0100 +++ lediag-7.12.27-x86_64-modif/ediag_compat.c 2022-09-17 20:47:40.832576397 +0200 @@ -506,11 +506,11 @@ int ediag_pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries, int nvec) { #ifdef CONFIG_PCI_MSI - return pci_enable_msix(dev, entries, nvec); + return pci_enable_msix_range(dev, entries, nvec,nvec); #else return -EINVAL; #endif } @@ -908,11 +908,11 @@ up(sema); } void ediag_mmiowb(void) { - mmiowb(); + wmb(); } void ediag_rmb(void) { smp_rmb(); @@ -1050,11 +1050,12 @@ return strrchr(a, n); } void __iomem* ediag_ioremap_nocache(resource_size_t offset, unsigned long size) { - return ioremap_nocache(offset, size); + access_ok(offset,size); + return ioremap(offset, size); } void __iomem* ediag_ioremap_wc(resource_size_t offset, unsigned long size) { return 0; diff -r -U5 lediag-7.12.27-x86_64/load.sh lediag-7.12.27-x86_64-modif/load.sh --- lediag-7.12.27-x86_64/load.sh 2015-02-24 09:02:32.000000000 +0100 +++ lediag-7.12.27-x86_64-modif/load.sh 2022-09-17 20:50:43.171325746 +0200 @@ -44,24 +44,24 @@ # If bnx2x is loaded - start in engineering mode lsmod | grep bnx2x &>/dev/null -if [[ $? == 0 ]]; then - echo "bnx2x is loaded - running in engineering mode..." +#if [[ $? == 0 ]]; then +# echo "bnx2x is loaded - running in engineering mode..." extra_arg="-b10eng" -fi +#fi # Save terminal session parameters term_cap=`stty -g` trap ctl_c_hdlr TERM INT ./lediag $extra_arg "$@" ret=$? -rmmod edrv +#rmmod edrv # Restore terminal parameters (needed if the application has been killed) stty $term_cap exit $ret diff -r -U5 lediag-7.12.27-x86_64/Makefile lediag-7.12.27-x86_64-modif/Makefile --- lediag-7.12.27-x86_64/Makefile 2015-02-24 09:02:32.000000000 +0100 +++ lediag-7.12.27-x86_64-modif/Makefile 2022-09-17 20:47:40.872576429 +0200 @@ -26,13 +26,13 @@ CUR_DIR=$(M) CUR_DIR_REL=. -EXTRA_CFLAGS += -DLINUX -D__LINUX -Werror -Wall +EXTRA_CFLAGS += -DLINUX -D__LINUX -Werror -Wall -no-pie EXTRA_CFLAGS += -DDBG=1 -DWOL_DBG_PRINT=0 -DLOG_REG_ACCESS=0 -DL2_RX_BUF_SIG=0 -LDFLAGS += -r +LDFLAGS += -r -no-pie #EXTRA_CFLAGS += -DNO_STATISTICS ##################### Sources and targets ############################ #### Sources that will be supplied as text ######################### SOURCES = ediag_drv.c ediag_compat.c debug.c @@ -40,11 +40,11 @@ CORE_OBJ = ediag_core.o ###################################################################### obj-m = edrv.o -edrv-objs := $(OBJS) +edrv-objs := $(OBJS) $(CORE_OBJ) all default: $(MAKE) -j $(CPU_NUM) -C $(KERNEL_DIR) M=`pwd` modules $(LD) $(LDFLAGS) -o $(obj-m) $(OBJS) $(CORE_OBJ) rm -f $(obj-m:%.o=%.ko) diff -r -U5 lediag-7.12.27-x86_64/Makefile.app lediag-7.12.27-x86_64-modif/Makefile.app --- lediag-7.12.27-x86_64/Makefile.app 2015-02-24 09:02:32.000000000 +0100 +++ lediag-7.12.27-x86_64-modif/Makefile.app 2022-09-17 20:47:40.872576429 +0200 @@ -120,15 +120,15 @@ ################# Target and Co. ############# TARGET = lediag ARCH = $(shell uname -m) -LD = gcc +LD = gcc -no-pie LIBS += m c dl pthread TARGET_SRCS = $(DIAG_SRCS) tclAppInit.c ifeq ($(LDFLAGS),) -LDFLAGS = $(LIBDIRS:%=-L%) $(LIBS:%=-l%) $(ARCH_FLAG) +LDFLAGS = $(LIBDIRS:%=-L%) $(LIBS:%=-l%) $(ARCH_FLAG) endif TARGET_OBJS = $(TARGET_SRCS:%.c=$(OBJDIR)/%.o) LIB_OBJFILES = $(LIB_SOURCES:%.c=$(OBJDIR)/%.o) ##############################################