"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "driver/lin2win.S" between
ndiswrapper-1.62.tar.gz and ndiswrapper-1.63.tar.gz

About: ndiswrapper is a linux kernel module that loads and runs NDIS (Windows network driver API) drivers supplied by wireless network card vendors.

lin2win.S  (ndiswrapper-1.62):lin2win.S  (ndiswrapper-1.63)
skipping to change at line 17 skipping to change at line 17
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
*/ */
#include <linux/linkage.h> #include <linux/linkage.h>
#include <linux/version.h>
.text .text
#define WORD_BYTES 8 #define WORD_BYTES 8
#define LINUX_REG_ARGS 6 #define LINUX_REG_ARGS 6
#define WINDOWS_REG_ARGS 4 #define WINDOWS_REG_ARGS 4
/* %rbp is saved to create a stack frame, which can help with debugging */ /* %rbp is saved to create a stack frame, which can help with debugging */
#define SAVED_REGS 1 #define SAVED_REGS 1
skipping to change at line 74 skipping to change at line 75
#define lin2win_lin_arg(n, argc) \ #define lin2win_lin_arg(n, argc) \
(stack_space(argc) + \ (stack_space(argc) + \
(SAVED_REGS + n - LINUX_REG_ARGS) * WORD_BYTES)(%rsp) (SAVED_REGS + n - LINUX_REG_ARGS) * WORD_BYTES)(%rsp)
/* /*
* lin2win(func, winarg1, winarg2, ...) * lin2win(func, winarg1, winarg2, ...)
* Call Windows FUNC function with ARGC arguments WINARG1, WINARG2, ... * Call Windows FUNC function with ARGC arguments WINARG1, WINARG2, ...
* We get (ARGC + 1) arguments. * We get (ARGC + 1) arguments.
*/ */
.macro lin2win name, argc .macro lin2win name, argc
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0)
SYM_FUNC_START(\name)
#else
.type \name, @function .type \name, @function
ENTRY(\name) ENTRY(\name)
#endif
/* Create a call frame - it's optional, but good for debugging */ /* Create a call frame - it's optional, but good for debugging */
.cfi_startproc .cfi_startproc
push %rbp push %rbp
.cfi_def_cfa %rsp, 2 * WORD_BYTES .cfi_def_cfa %rsp, 2 * WORD_BYTES
.cfi_offset %rbp, -2 * WORD_BYTES .cfi_offset %rbp, -2 * WORD_BYTES
mov %rsp, %rbp mov %rsp, %rbp
.cfi_def_cfa %rbp, 2 * WORD_BYTES .cfi_def_cfa %rbp, 2 * WORD_BYTES
/* Allocate space for Windows arguments */ /* Allocate space for Windows arguments */
skipping to change at line 128 skipping to change at line 133
/* Reclaim space for Windows arguments */ /* Reclaim space for Windows arguments */
add $stack_space(\argc), %rsp add $stack_space(\argc), %rsp
/* Return to the caller */ /* Return to the caller */
leave leave
.cfi_def_cfa %rsp, WORD_BYTES .cfi_def_cfa %rsp, WORD_BYTES
.cfi_restore %rbp .cfi_restore %rbp
ret ret
.cfi_endproc .cfi_endproc
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0)
SYM_FUNC_END(\name)
#else
.size \name, (. - \name) .size \name, (. - \name)
#endif
.endm .endm
/* Define lin2winN functions */ /* Define lin2winN functions */
lin2win lin2win0, 0 lin2win lin2win0, 0
lin2win lin2win1, 1 lin2win lin2win1, 1
lin2win lin2win2, 2 lin2win lin2win2, 2
lin2win lin2win3, 3 lin2win lin2win3, 3
lin2win lin2win4, 4 lin2win lin2win4, 4
lin2win lin2win5, 5 lin2win lin2win5, 5
lin2win lin2win6, 6 lin2win lin2win6, 6
 End of changes. 5 change blocks. 
0 lines changed or deleted 9 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)