From 88a051629c7887d93cbcb69f05d6e6f814bbd7f4 Mon Sep 17 00:00:00 2001 From: jsteube Date: Sat, 2 Mar 2019 11:12:13 +0100 Subject: [PATCH] Support module specific JiT compiler build options --- OpenCL/inc_vendor.cl | 8 +-- include/interface.h | 1 - include/modules.h | 4 +- include/types.h | 6 +- src/interface.c | 10 +--- src/modules/module_00000.c | 1 + src/modules/module_00010.c | 1 + src/modules/module_00011.c | 1 + src/modules/module_00012.c | 1 + src/modules/module_00020.c | 1 + src/modules/module_00021.c | 1 + src/modules/module_00022.c | 1 + src/modules/module_00023.c | 1 + src/modules/module_00030.c | 1 + src/modules/module_00040.c | 1 + src/modules/module_00050.c | 1 + src/modules/module_00060.c | 1 + src/modules/module_00100.c | 1 + src/modules/module_00101.c | 1 + src/modules/module_00110.c | 1 + src/modules/module_00111.c | 1 + src/modules/module_00112.c | 1 + src/modules/module_00120.c | 1 + src/modules/module_00121.c | 1 + src/modules/module_00122.c | 1 + src/modules/module_00124.c | 1 + src/modules/module_00125.c | 1 + src/modules/module_00130.c | 1 + src/modules/module_00131.c | 1 + src/modules/module_00132.c | 1 + src/modules/module_00133.c | 1 + src/modules/module_00140.c | 1 + src/modules/module_00141.c | 1 + src/modules/module_00150.c | 1 + src/modules/module_00160.c | 1 + src/modules/module_00200.c | 1 + src/modules/module_00300.c | 1 + src/modules/module_00400.c | 1 + src/modules/module_00500.c | 1 + src/modules/module_00501.c | 1 + src/modules/module_00600.c | 1 + src/modules/module_00900.c | 1 + src/modules/module_01000.c | 1 + src/modules/module_01100.c | 1 + src/modules/module_01300.c | 1 + src/modules/module_01400.c | 1 + src/modules/module_01410.c | 1 + src/modules/module_01411.c | 1 + src/modules/module_01420.c | 1 + src/modules/module_01421.c | 1 + src/modules/module_01430.c | 1 + src/modules/module_01440.c | 1 + src/modules/module_01441.c | 1 + src/modules/module_01450.c | 1 + src/modules/module_01460.c | 1 + src/modules/module_01500.c | 13 +++- src/modules/module_01600.c | 18 +++++- src/modules/module_01700.c | 1 + src/modules/module_01710.c | 1 + src/modules/module_01711.c | 1 + src/modules/module_01720.c | 1 + src/modules/module_01722.c | 1 + src/modules/module_01730.c | 1 + src/modules/module_01731.c | 1 + src/modules/module_01740.c | 1 + src/modules/module_01750.c | 1 + src/modules/module_01760.c | 1 + src/modules/module_01800.c | 18 +++++- src/modules/module_02000.c | 1 + src/modules/module_02100.c | 1 + src/modules/module_02400.c | 1 + src/modules/module_02410.c | 1 + src/modules/module_02500.c | 1 + src/modules/module_02501.c | 1 + src/modules/module_02600.c | 1 + src/modules/module_02611.c | 1 + src/modules/module_02612.c | 1 + src/modules/module_02711.c | 1 + src/modules/module_02811.c | 1 + src/modules/module_03000.c | 3 +- src/modules/module_03100.c | 1 + src/modules/module_03200.c | 3 +- src/modules/module_03710.c | 1 + src/modules/module_03711.c | 1 + src/modules/module_03800.c | 1 + src/modules/module_03910.c | 1 + src/modules/module_04010.c | 1 + src/modules/module_04110.c | 1 + src/modules/module_04300.c | 1 + src/modules/module_04400.c | 1 + src/modules/module_04500.c | 1 + src/modules/module_04520.c | 1 + src/modules/module_04521.c | 1 + src/modules/module_04522.c | 1 + src/modules/module_04700.c | 1 + src/modules/module_04800.c | 1 + src/modules/module_04900.c | 1 + src/modules/module_05100.c | 1 + src/modules/module_05200.c | 1 + src/modules/module_05300.c | 1 + src/modules/module_05400.c | 1 + src/modules/module_05500.c | 1 + src/modules/module_05600.c | 1 + src/modules/module_05700.c | 1 + src/modules/module_05800.c | 1 + src/modules/module_06000.c | 1 + src/modules/module_06100.c | 16 ++++- src/modules/module_06211.c | 1 + src/modules/module_06212.c | 1 + src/modules/module_06213.c | 20 ++++++- src/modules/module_06221.c | 1 + src/modules/module_06222.c | 1 + src/modules/module_06223.c | 1 + src/modules/module_06231.c | 1 + src/modules/module_06232.c | 1 + src/modules/module_06233.c | 1 + src/modules/module_06241.c | 1 + src/modules/module_06242.c | 1 + src/modules/module_06243.c | 18 +++++- src/modules/module_06300.c | 18 +++++- src/modules/module_06400.c | 1 + src/modules/module_06500.c | 1 + src/modules/module_06600.c | 1 + src/modules/module_06700.c | 1 + src/modules/module_06800.c | 1 + src/modules/module_06900.c | 1 + src/modules/module_07000.c | 1 + src/modules/module_07100.c | 1 + src/modules/module_07200.c | 1 + src/modules/module_07300.c | 1 + src/modules/module_07400.c | 18 +++++- src/modules/module_07500.c | 16 ++++- src/modules/module_07700.c | 1 + src/modules/module_07701.c | 1 + src/modules/module_07800.c | 1 + src/modules/module_07801.c | 1 + src/modules/module_07900.c | 1 + src/modules/module_08000.c | 1 + src/modules/module_08100.c | 1 + src/modules/module_08200.c | 1 + src/modules/module_08300.c | 1 + src/modules/module_08400.c | 1 + src/modules/module_08500.c | 1 + src/modules/module_08600.c | 18 +++++- src/modules/module_08700.c | 1 + src/modules/module_08800.c | 1 + src/modules/module_08900.c | 44 +++++++++++--- src/modules/module_09000.c | 1 + src/modules/module_09100.c | 1 + src/modules/module_09200.c | 1 + src/modules/module_09300.c | 44 +++++++++++--- src/modules/module_09400.c | 1 + src/modules/module_09500.c | 1 + src/modules/module_09600.c | 1 + src/modules/module_09700.c | 1 + src/modules/module_09710.c | 1 + src/modules/module_09720.c | 1 + src/modules/module_09800.c | 3 +- src/modules/module_09810.c | 1 + src/modules/module_09820.c | 1 + src/modules/module_09900.c | 1 + src/modules/module_10000.c | 1 + src/modules/module_10100.c | 1 + src/modules/module_10200.c | 1 + src/modules/module_10300.c | 1 + src/modules/module_10400.c | 1 + src/modules/module_10410.c | 1 + src/modules/module_10420.c | 1 + src/modules/module_10500.c | 1 + src/modules/module_10600.c | 1 + src/modules/module_10700.c | 1 + src/modules/module_10800.c | 1 + src/modules/module_10900.c | 1 + src/modules/module_11000.c | 1 + src/modules/module_11100.c | 1 + src/modules/module_11200.c | 1 + src/modules/module_11300.c | 1 + src/modules/module_11400.c | 1 + src/modules/module_11500.c | 1 + src/modules/module_11600.c | 19 +++++- src/modules/module_11700.c | 16 ++++- src/modules/module_11750.c | 16 ++++- src/modules/module_11760.c | 16 ++++- src/modules/module_11800.c | 16 ++++- src/modules/module_11850.c | 16 ++++- src/modules/module_11860.c | 16 ++++- src/modules/module_11900.c | 1 + src/modules/module_12000.c | 1 + src/modules/module_12001.c | 1 + src/modules/module_12100.c | 1 + src/modules/module_12200.c | 1 + src/modules/module_12300.c | 1 + src/modules/module_12400.c | 1 + src/modules/module_12500.c | 3 +- src/modules/module_12600.c | 1 + src/modules/module_12700.c | 1 + src/modules/module_12800.c | 1 + src/modules/module_12900.c | 1 + src/modules/module_13000.c | 1 + src/modules/module_13100.c | 16 ++++- src/modules/module_13200.c | 18 +++++- src/modules/module_13300.c | 1 + src/modules/module_13400.c | 1 + src/modules/module_13500.c | 1 + src/modules/module_13600.c | 1 + src/modules/module_13711.c | 1 + src/modules/module_13712.c | 1 + src/modules/module_13713.c | 1 + src/modules/module_13721.c | 1 + src/modules/module_13722.c | 1 + src/modules/module_13723.c | 1 + src/modules/module_13731.c | 1 + src/modules/module_13732.c | 1 + src/modules/module_13733.c | 1 + src/modules/module_13741.c | 1 + src/modules/module_13742.c | 1 + src/modules/module_13743.c | 1 + src/modules/module_13751.c | 1 + src/modules/module_13752.c | 1 + src/modules/module_13753.c | 1 + src/modules/module_13761.c | 1 + src/modules/module_13762.c | 1 + src/modules/module_13763.c | 1 + src/modules/module_13771.c | 1 + src/modules/module_13772.c | 1 + src/modules/module_13773.c | 1 + src/modules/module_13800.c | 1 + src/modules/module_13900.c | 1 + src/modules/module_14000.c | 3 +- src/modules/module_14100.c | 3 +- src/modules/module_14400.c | 1 + src/modules/module_14600.c | 1 + src/modules/module_14700.c | 1 + src/modules/module_14800.c | 1 + src/modules/module_14900.c | 1 + src/modules/module_15000.c | 1 + src/modules/module_15100.c | 1 + src/modules/module_15200.c | 1 + src/modules/module_15300.c | 1 + src/modules/module_15400.c | 1 + src/modules/module_15500.c | 1 + src/modules/module_15600.c | 1 + src/modules/module_15700.c | 8 ++- src/modules/module_15900.c | 1 + src/modules/module_16000.c | 1 + src/modules/module_16100.c | 1 + src/modules/module_16200.c | 1 + src/modules/module_16300.c | 1 + src/modules/module_16400.c | 1 + src/modules/module_16500.c | 1 + src/modules/module_16600.c | 1 + src/modules/module_16700.c | 1 + src/modules/module_16800.c | 1 + src/modules/module_16801.c | 1 + src/modules/module_16900.c | 1 + src/modules/module_17300.c | 1 + src/modules/module_17400.c | 1 + src/modules/module_17500.c | 1 + src/modules/module_17600.c | 1 + src/modules/module_17700.c | 1 + src/modules/module_17800.c | 1 + src/modules/module_17900.c | 1 + src/modules/module_18000.c | 1 + src/modules/module_18100.c | 1 + src/modules/module_18200.c | 1 + src/modules/module_18300.c | 1 + src/modules/module_18400.c | 1 + src/modules/module_18500.c | 1 + src/modules/module_18600.c | 1 + src/modules/module_18700.c | 1 + src/modules/module_18800.c | 1 + src/modules/module_18900.c | 1 + src/modules/module_19000.c | 1 + src/modules/module_19100.c | 1 + src/modules/module_19200.c | 1 + src/modules/module_19300.c | 1 + src/modules/module_99999.c | 1 + src/opencl.c | 120 ++++++++++++++++++------------------- 278 files changed, 708 insertions(+), 121 deletions(-) diff --git a/OpenCL/inc_vendor.cl b/OpenCL/inc_vendor.cl index 952a3b849..ad7d263b8 100644 --- a/OpenCL/inc_vendor.cl +++ b/OpenCL/inc_vendor.cl @@ -75,12 +75,10 @@ #define DECLSPEC #endif -// HAS_VPERM indicated ROCM +// some kernels under special conditions need treatment -#if (defined IS_AMD && HAS_VPERM == 0) -//#define MAYBE_VOLATILE volatile -//testrun for hashcat 6.0.0 -#define MAYBE_VOLATILE +#if defined MAYBE_VOLATILE +// take the one given by the user #else #define MAYBE_VOLATILE #endif diff --git a/include/interface.h b/include/interface.h index d79496f7a..7a8a370fc 100644 --- a/include/interface.h +++ b/include/interface.h @@ -55,7 +55,6 @@ u32 default_salt_min (MAYBE_UNUSED const hashconfig_t *ha u32 default_salt_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra); char default_separator (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra); u64 default_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra); -bool default_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra); bool default_warmup_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra); #endif // _INTERFACE_H diff --git a/include/modules.h b/include/modules.h index 674ed4a40..3372160b5 100644 --- a/include/modules.h +++ b/include/modules.h @@ -48,7 +48,6 @@ char module_separator (MAYBE_UNUSED const hashconfig_t *ha const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra); const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra); u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra); -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra); bool module_warmup_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra); int module_hash_binary_count (MAYBE_UNUSED const hashes_t *hashes); @@ -65,6 +64,7 @@ u64 module_kern_type_dynamic (MAYBE_UNUSED const hashconfig_t *ha u64 module_extra_buffer_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param); u64 module_extra_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes); char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param); +bool module_jit_cache_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param); u32 module_deep_comp_kernel (MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const u32 salt_pos, MAYBE_UNUSED const u32 digest_pos); int module_hash_init_selftest (MAYBE_UNUSED const hashconfig_t *hashconfig, hash_t *hash); @@ -73,4 +73,6 @@ void module_hook23 (hc_device_param_t *device_param, co int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz); +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param); + #endif // _MODULES_H diff --git a/include/types.h b/include/types.h index f12371de0..00eaee42d 100644 --- a/include/types.h +++ b/include/types.h @@ -962,7 +962,6 @@ struct hashconfig bool dictstat_disable; bool hlfmt_disable; bool warmup_disable; - bool unstable_warning; bool outfile_check_disable; bool outfile_check_nocomp; bool potfile_disable; @@ -1052,7 +1051,6 @@ typedef struct hc_device_param u32 platform_devices_id; // for mapping with hms devices bool skipped; - bool unstable_warning; st_status_t st_status; @@ -2310,7 +2308,6 @@ typedef struct module_ctx const char *(*module_st_hash) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *); const char *(*module_st_pass) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *); u64 (*module_tmp_size) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *); - bool (*module_unstable_warning) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *); bool (*module_warmup_disable) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *); int (*module_hash_binary_count) (const hashes_t *); @@ -2327,6 +2324,7 @@ typedef struct module_ctx u64 (*module_extra_buffer_size) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *, const hashes_t *, const hc_device_param_t *); u64 (*module_extra_tmp_size) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *, const hashes_t *); char *(*module_jit_build_options) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *, const hashes_t *, const hc_device_param_t *); + bool (*module_jit_cache_disable) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *, const hashes_t *, const hc_device_param_t *); u32 (*module_deep_comp_kernel) (const hashes_t *, const u32, const u32); int (*module_hash_init_selftest) (const hashconfig_t *, hash_t *); @@ -2335,6 +2333,8 @@ typedef struct module_ctx int (*module_build_plain_postprocess) (const hashconfig_t *, const hashes_t *, const u32 *, const size_t, const int, u32 *, const size_t); + bool (*module_unstable_warning) (const hashconfig_t *, const user_options_t *, const user_options_extra_t *, const hc_device_param_t *); + } module_ctx_t; typedef struct hashcat_ctx diff --git a/src/interface.c b/src/interface.c index 3922f36bb..95b305134 100644 --- a/src/interface.c +++ b/src/interface.c @@ -149,7 +149,6 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) hashconfig->pwdump_column = default_pwdump_column (hashconfig, user_options, user_options_extra); hashconfig->separator = default_separator (hashconfig, user_options, user_options_extra); hashconfig->tmp_size = default_tmp_size (hashconfig, user_options, user_options_extra); - hashconfig->unstable_warning = default_unstable_warning (hashconfig, user_options, user_options_extra); hashconfig->warmup_disable = default_warmup_disable (hashconfig, user_options, user_options_extra); // finally, the real stuff @@ -240,6 +239,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) CHECK_DEFINED (module_ctx->module_extra_buffer_size); CHECK_DEFINED (module_ctx->module_extra_tmp_size); CHECK_DEFINED (module_ctx->module_jit_build_options); + CHECK_DEFINED (module_ctx->module_jit_cache_disable); CHECK_DEFINED (module_ctx->module_deep_comp_kernel); CHECK_DEFINED (module_ctx->module_hash_init_selftest); CHECK_DEFINED (module_ctx->module_hook12); @@ -318,7 +318,6 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) if (module_ctx->module_pwdump_column != MODULE_DEFAULT) hashconfig->pwdump_column = module_ctx->module_pwdump_column (hashconfig, user_options, user_options_extra); if (module_ctx->module_separator != MODULE_DEFAULT) hashconfig->separator = module_ctx->module_separator (hashconfig, user_options, user_options_extra); if (module_ctx->module_tmp_size != MODULE_DEFAULT) hashconfig->tmp_size = module_ctx->module_tmp_size (hashconfig, user_options, user_options_extra); - if (module_ctx->module_unstable_warning != MODULE_DEFAULT) hashconfig->unstable_warning = module_ctx->module_unstable_warning (hashconfig, user_options, user_options_extra); if (module_ctx->module_warmup_disable != MODULE_DEFAULT) hashconfig->warmup_disable = module_ctx->module_warmup_disable (hashconfig, user_options, user_options_extra); if (user_options->keyboard_layout_mapping) @@ -622,13 +621,6 @@ bool default_potfile_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE return potfile_disable; } -bool default_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) -{ - const bool unstable_warning = false; - - return unstable_warning; -} - u32 default_pw_min (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const bool optimized_kernel = (hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL); diff --git a/src/modules/module_00000.c b/src/modules/module_00000.c index b9642185a..6904d9fcb 100644 --- a/src/modules/module_00000.c +++ b/src/modules/module_00000.c @@ -158,6 +158,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00010.c b/src/modules/module_00010.c index 6e428edba..0dc4be522 100644 --- a/src/modules/module_00010.c +++ b/src/modules/module_00010.c @@ -181,6 +181,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00011.c b/src/modules/module_00011.c index 0334befa2..661abb700 100644 --- a/src/modules/module_00011.c +++ b/src/modules/module_00011.c @@ -184,6 +184,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00012.c b/src/modules/module_00012.c index 60077750b..2babed8d7 100644 --- a/src/modules/module_00012.c +++ b/src/modules/module_00012.c @@ -176,6 +176,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00020.c b/src/modules/module_00020.c index 6f6485339..4dd72a7d7 100644 --- a/src/modules/module_00020.c +++ b/src/modules/module_00020.c @@ -180,6 +180,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00021.c b/src/modules/module_00021.c index 794a06e70..751c68755 100644 --- a/src/modules/module_00021.c +++ b/src/modules/module_00021.c @@ -175,6 +175,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00022.c b/src/modules/module_00022.c index a16301af7..91421f478 100644 --- a/src/modules/module_00022.c +++ b/src/modules/module_00022.c @@ -290,6 +290,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00023.c b/src/modules/module_00023.c index 84579ecc1..61e2d8e02 100644 --- a/src/modules/module_00023.c +++ b/src/modules/module_00023.c @@ -189,6 +189,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00030.c b/src/modules/module_00030.c index 1d2e22fb3..55d208311 100644 --- a/src/modules/module_00030.c +++ b/src/modules/module_00030.c @@ -182,6 +182,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00040.c b/src/modules/module_00040.c index 91bedc8ed..d6a5a9595 100644 --- a/src/modules/module_00040.c +++ b/src/modules/module_00040.c @@ -181,6 +181,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00050.c b/src/modules/module_00050.c index 2a87beffb..52cee4c6f 100644 --- a/src/modules/module_00050.c +++ b/src/modules/module_00050.c @@ -160,6 +160,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00060.c b/src/modules/module_00060.c index 651d17d62..4e233a484 100644 --- a/src/modules/module_00060.c +++ b/src/modules/module_00060.c @@ -160,6 +160,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00100.c b/src/modules/module_00100.c index 3beaa0fb6..ba4e4fe48 100644 --- a/src/modules/module_00100.c +++ b/src/modules/module_00100.c @@ -174,6 +174,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00101.c b/src/modules/module_00101.c index fed76cb9f..63a485621 100644 --- a/src/modules/module_00101.c +++ b/src/modules/module_00101.c @@ -178,6 +178,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00110.c b/src/modules/module_00110.c index 0641d594d..11414d537 100644 --- a/src/modules/module_00110.c +++ b/src/modules/module_00110.c @@ -200,6 +200,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00111.c b/src/modules/module_00111.c index 08b6f3368..e8a24da12 100644 --- a/src/modules/module_00111.c +++ b/src/modules/module_00111.c @@ -204,6 +204,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00112.c b/src/modules/module_00112.c index cfb0f5cee..df0a0926c 100644 --- a/src/modules/module_00112.c +++ b/src/modules/module_00112.c @@ -201,6 +201,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00120.c b/src/modules/module_00120.c index 24e689666..a289f48e2 100644 --- a/src/modules/module_00120.c +++ b/src/modules/module_00120.c @@ -200,6 +200,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00121.c b/src/modules/module_00121.c index e592836d3..3090dd75e 100644 --- a/src/modules/module_00121.c +++ b/src/modules/module_00121.c @@ -201,6 +201,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00122.c b/src/modules/module_00122.c index 855fb1ca6..f260949cd 100644 --- a/src/modules/module_00122.c +++ b/src/modules/module_00122.c @@ -180,6 +180,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00124.c b/src/modules/module_00124.c index 2fe160bdf..bc4ba7dc5 100644 --- a/src/modules/module_00124.c +++ b/src/modules/module_00124.c @@ -199,6 +199,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00125.c b/src/modules/module_00125.c index 4414b97ee..52bc1ec8b 100644 --- a/src/modules/module_00125.c +++ b/src/modules/module_00125.c @@ -182,6 +182,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00130.c b/src/modules/module_00130.c index d4b9c08a7..ea6cc5cbb 100644 --- a/src/modules/module_00130.c +++ b/src/modules/module_00130.c @@ -201,6 +201,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00131.c b/src/modules/module_00131.c index 2be507ebd..4df0dee34 100644 --- a/src/modules/module_00131.c +++ b/src/modules/module_00131.c @@ -196,6 +196,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00132.c b/src/modules/module_00132.c index bcf072122..d5faa37f5 100644 --- a/src/modules/module_00132.c +++ b/src/modules/module_00132.c @@ -190,6 +190,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00133.c b/src/modules/module_00133.c index b0b25f245..12f6970bc 100644 --- a/src/modules/module_00133.c +++ b/src/modules/module_00133.c @@ -173,6 +173,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00140.c b/src/modules/module_00140.c index 39cf5bf55..6202d63a4 100644 --- a/src/modules/module_00140.c +++ b/src/modules/module_00140.c @@ -201,6 +201,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00141.c b/src/modules/module_00141.c index e372f17b0..4866e76d6 100644 --- a/src/modules/module_00141.c +++ b/src/modules/module_00141.c @@ -208,6 +208,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00150.c b/src/modules/module_00150.c index 5e5723527..989091b1a 100644 --- a/src/modules/module_00150.c +++ b/src/modules/module_00150.c @@ -178,6 +178,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00160.c b/src/modules/module_00160.c index 3675c4d28..7eb9dee15 100644 --- a/src/modules/module_00160.c +++ b/src/modules/module_00160.c @@ -178,6 +178,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00200.c b/src/modules/module_00200.c index 6ea172c2e..24b82ee70 100644 --- a/src/modules/module_00200.c +++ b/src/modules/module_00200.c @@ -142,6 +142,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00300.c b/src/modules/module_00300.c index e7f48b214..15fcfc63c 100644 --- a/src/modules/module_00300.c +++ b/src/modules/module_00300.c @@ -173,6 +173,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00400.c b/src/modules/module_00400.c index ff796f904..fe29ff28b 100644 --- a/src/modules/module_00400.c +++ b/src/modules/module_00400.c @@ -259,6 +259,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00500.c b/src/modules/module_00500.c index 347e34d00..b731365f0 100644 --- a/src/modules/module_00500.c +++ b/src/modules/module_00500.c @@ -282,6 +282,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00501.c b/src/modules/module_00501.c index bed70279d..24a04f5a9 100644 --- a/src/modules/module_00501.c +++ b/src/modules/module_00501.c @@ -317,6 +317,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00600.c b/src/modules/module_00600.c index b9a3070f4..d2fa9332c 100644 --- a/src/modules/module_00600.c +++ b/src/modules/module_00600.c @@ -185,6 +185,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_00900.c b/src/modules/module_00900.c index ef7b6350e..726410a38 100644 --- a/src/modules/module_00900.c +++ b/src/modules/module_00900.c @@ -158,6 +158,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01000.c b/src/modules/module_01000.c index 31f480262..21faecfbb 100644 --- a/src/modules/module_01000.c +++ b/src/modules/module_01000.c @@ -161,6 +161,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01100.c b/src/modules/module_01100.c index 8543c834e..a7750b444 100644 --- a/src/modules/module_01100.c +++ b/src/modules/module_01100.c @@ -185,6 +185,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01300.c b/src/modules/module_01300.c index 573ad70f3..ccb354726 100644 --- a/src/modules/module_01300.c +++ b/src/modules/module_01300.c @@ -188,6 +188,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01400.c b/src/modules/module_01400.c index b06f0ea0a..e7fa3379b 100644 --- a/src/modules/module_01400.c +++ b/src/modules/module_01400.c @@ -195,6 +195,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01410.c b/src/modules/module_01410.c index ee90a7633..2f50e4751 100644 --- a/src/modules/module_01410.c +++ b/src/modules/module_01410.c @@ -221,6 +221,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01411.c b/src/modules/module_01411.c index 4b5eb5fad..2a1e0bfd7 100644 --- a/src/modules/module_01411.c +++ b/src/modules/module_01411.c @@ -217,6 +217,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01420.c b/src/modules/module_01420.c index db12b2659..1f879f6cc 100644 --- a/src/modules/module_01420.c +++ b/src/modules/module_01420.c @@ -221,6 +221,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01421.c b/src/modules/module_01421.c index 91cd54b04..00d8acc8b 100644 --- a/src/modules/module_01421.c +++ b/src/modules/module_01421.c @@ -197,6 +197,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01430.c b/src/modules/module_01430.c index a5510c93b..91fd4542f 100644 --- a/src/modules/module_01430.c +++ b/src/modules/module_01430.c @@ -222,6 +222,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01440.c b/src/modules/module_01440.c index add49e755..b2317ea6f 100644 --- a/src/modules/module_01440.c +++ b/src/modules/module_01440.c @@ -222,6 +222,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01441.c b/src/modules/module_01441.c index 52db783e5..c1502a7bb 100644 --- a/src/modules/module_01441.c +++ b/src/modules/module_01441.c @@ -223,6 +223,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01450.c b/src/modules/module_01450.c index a93de94e0..10066d4b6 100644 --- a/src/modules/module_01450.c +++ b/src/modules/module_01450.c @@ -192,6 +192,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01460.c b/src/modules/module_01460.c index dc1d79655..ae6765e75 100644 --- a/src/modules/module_01460.c +++ b/src/modules/module_01460.c @@ -193,6 +193,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01500.c b/src/modules/module_01500.c index 2ed7905e5..e33bcda48 100644 --- a/src/modules/module_01500.c +++ b/src/modules/module_01500.c @@ -79,6 +79,16 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } +bool module_jit_cache_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + if ((user_options->attack_mode == ATTACK_MODE_BF) && (hashes->salts_cnt == 1) && (user_options->slow_candidates == false)) + { + return true; + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -91,7 +101,7 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY return jit_build_options; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) { #if defined (__APPLE__) return true; @@ -236,6 +246,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = module_jit_build_options; + module_ctx->module_jit_cache_disable = module_jit_cache_disable; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = module_kernel_loops_max; diff --git a/src/modules/module_01600.c b/src/modules/module_01600.c index 234e94dba..755bbb7fc 100644 --- a/src/modules/module_01600.c +++ b/src/modules/module_01600.c @@ -166,6 +166,21 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } +char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + char *jit_build_options = NULL; + + if ((device_param->device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + hc_asprintf (&jit_build_options, "-D MAYBE_VOLATILE=volatile"); + } + } + + return jit_build_options; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -281,7 +296,8 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; - module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_build_options = module_jit_build_options; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01700.c b/src/modules/module_01700.c index 1e94cb2f2..8f7e90a6f 100644 --- a/src/modules/module_01700.c +++ b/src/modules/module_01700.c @@ -197,6 +197,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01710.c b/src/modules/module_01710.c index c674bd30a..b93120ee0 100644 --- a/src/modules/module_01710.c +++ b/src/modules/module_01710.c @@ -222,6 +222,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01711.c b/src/modules/module_01711.c index d924a8c66..72856cc7c 100644 --- a/src/modules/module_01711.c +++ b/src/modules/module_01711.c @@ -218,6 +218,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01720.c b/src/modules/module_01720.c index 939602833..a626f7369 100644 --- a/src/modules/module_01720.c +++ b/src/modules/module_01720.c @@ -223,6 +223,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01722.c b/src/modules/module_01722.c index 0540fee7a..849ed54de 100644 --- a/src/modules/module_01722.c +++ b/src/modules/module_01722.c @@ -201,6 +201,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01730.c b/src/modules/module_01730.c index 8527b2b79..e15e525fc 100644 --- a/src/modules/module_01730.c +++ b/src/modules/module_01730.c @@ -224,6 +224,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01731.c b/src/modules/module_01731.c index c82dd187a..6fc3a14b0 100644 --- a/src/modules/module_01731.c +++ b/src/modules/module_01731.c @@ -211,6 +211,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01740.c b/src/modules/module_01740.c index 458a0172c..ea475d5e1 100644 --- a/src/modules/module_01740.c +++ b/src/modules/module_01740.c @@ -224,6 +224,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01750.c b/src/modules/module_01750.c index 56e3c1186..85494a873 100644 --- a/src/modules/module_01750.c +++ b/src/modules/module_01750.c @@ -194,6 +194,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01760.c b/src/modules/module_01760.c index 50e9e4c98..f060300d2 100644 --- a/src/modules/module_01760.c +++ b/src/modules/module_01760.c @@ -195,6 +195,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_01800.c b/src/modules/module_01800.c index f6cd35ce7..856488428 100644 --- a/src/modules/module_01800.c +++ b/src/modules/module_01800.c @@ -431,6 +431,21 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } +char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + char *jit_build_options = NULL; + + if ((device_param->device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + hc_asprintf (&jit_build_options, "-cl-opt-disable"); + } + } + + return jit_build_options; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u64 *digest = (u64 *) digest_buf; @@ -546,7 +561,8 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; - module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_build_options = module_jit_build_options; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_02000.c b/src/modules/module_02000.c index d8d7bd882..94120cb1a 100644 --- a/src/modules/module_02000.c +++ b/src/modules/module_02000.c @@ -97,6 +97,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_02100.c b/src/modules/module_02100.c index 24b01ab97..75dd41678 100644 --- a/src/modules/module_02100.c +++ b/src/modules/module_02100.c @@ -195,6 +195,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_02400.c b/src/modules/module_02400.c index ca9dc8fe8..ae878363f 100644 --- a/src/modules/module_02400.c +++ b/src/modules/module_02400.c @@ -189,6 +189,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_02410.c b/src/modules/module_02410.c index 42641c0aa..a31c14a5d 100644 --- a/src/modules/module_02410.c +++ b/src/modules/module_02410.c @@ -205,6 +205,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_02500.c b/src/modules/module_02500.c index 4ffff2606..6e7a5a784 100644 --- a/src/modules/module_02500.c +++ b/src/modules/module_02500.c @@ -819,6 +819,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_02501.c b/src/modules/module_02501.c index d731db494..e38cfeb95 100644 --- a/src/modules/module_02501.c +++ b/src/modules/module_02501.c @@ -819,6 +819,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_02600.c b/src/modules/module_02600.c index 16625f542..c04d3e748 100644 --- a/src/modules/module_02600.c +++ b/src/modules/module_02600.c @@ -167,6 +167,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_02611.c b/src/modules/module_02611.c index 9d8223701..940d118be 100644 --- a/src/modules/module_02611.c +++ b/src/modules/module_02611.c @@ -181,6 +181,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_02612.c b/src/modules/module_02612.c index 0201c344e..6fc8b6d8b 100644 --- a/src/modules/module_02612.c +++ b/src/modules/module_02612.c @@ -183,6 +183,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_02711.c b/src/modules/module_02711.c index 1c3e7e47e..91a97c75f 100644 --- a/src/modules/module_02711.c +++ b/src/modules/module_02711.c @@ -165,6 +165,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_02811.c b/src/modules/module_02811.c index 0c2ba0ef7..a61602cfd 100644 --- a/src/modules/module_02811.c +++ b/src/modules/module_02811.c @@ -179,6 +179,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_03000.c b/src/modules/module_03000.c index cf0945701..467eb68d7 100644 --- a/src/modules/module_03000.c +++ b/src/modules/module_03000.c @@ -83,7 +83,7 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) { #if defined (__APPLE__) return true; @@ -214,6 +214,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = module_kernel_loops_max; diff --git a/src/modules/module_03100.c b/src/modules/module_03100.c index 627d08a95..28b187b06 100644 --- a/src/modules/module_03100.c +++ b/src/modules/module_03100.c @@ -143,6 +143,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_03200.c b/src/modules/module_03200.c index f1a27777c..78a5545ca 100644 --- a/src/modules/module_03200.c +++ b/src/modules/module_03200.c @@ -58,7 +58,7 @@ typedef struct bcrypt_tmp } bcrypt_tmp_t; -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) { #if defined (__APPLE__) return true; @@ -246,6 +246,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_03710.c b/src/modules/module_03710.c index 7c570e37f..700a76d2a 100644 --- a/src/modules/module_03710.c +++ b/src/modules/module_03710.c @@ -180,6 +180,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_03711.c b/src/modules/module_03711.c index 46c658aa9..af1d10a2e 100644 --- a/src/modules/module_03711.c +++ b/src/modules/module_03711.c @@ -183,6 +183,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_03800.c b/src/modules/module_03800.c index 9e1f58aa8..dd516085a 100644 --- a/src/modules/module_03800.c +++ b/src/modules/module_03800.c @@ -181,6 +181,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_03910.c b/src/modules/module_03910.c index 06a97de0a..8cd4c5dda 100644 --- a/src/modules/module_03910.c +++ b/src/modules/module_03910.c @@ -181,6 +181,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_04010.c b/src/modules/module_04010.c index 26d6c2a25..ccda8c561 100644 --- a/src/modules/module_04010.c +++ b/src/modules/module_04010.c @@ -180,6 +180,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_04110.c b/src/modules/module_04110.c index 37f71e2be..c7df4d0bd 100644 --- a/src/modules/module_04110.c +++ b/src/modules/module_04110.c @@ -178,6 +178,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_04300.c b/src/modules/module_04300.c index 38ce4ef1f..92fc91874 100644 --- a/src/modules/module_04300.c +++ b/src/modules/module_04300.c @@ -167,6 +167,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_04400.c b/src/modules/module_04400.c index 7602131e9..8ed2b9ea1 100644 --- a/src/modules/module_04400.c +++ b/src/modules/module_04400.c @@ -157,6 +157,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_04500.c b/src/modules/module_04500.c index 0129b3144..ae810c59a 100644 --- a/src/modules/module_04500.c +++ b/src/modules/module_04500.c @@ -172,6 +172,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_04520.c b/src/modules/module_04520.c index fbd6b066b..46ae39d5a 100644 --- a/src/modules/module_04520.c +++ b/src/modules/module_04520.c @@ -180,6 +180,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_04521.c b/src/modules/module_04521.c index cf4ae8e78..2ae4f67cc 100644 --- a/src/modules/module_04521.c +++ b/src/modules/module_04521.c @@ -172,6 +172,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_04522.c b/src/modules/module_04522.c index cb6b7bed2..665a92c98 100644 --- a/src/modules/module_04522.c +++ b/src/modules/module_04522.c @@ -172,6 +172,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_04700.c b/src/modules/module_04700.c index 24fca7f6e..42d3aa00a 100644 --- a/src/modules/module_04700.c +++ b/src/modules/module_04700.c @@ -174,6 +174,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_04800.c b/src/modules/module_04800.c index c70887f16..4ec242265 100644 --- a/src/modules/module_04800.c +++ b/src/modules/module_04800.c @@ -180,6 +180,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_04900.c b/src/modules/module_04900.c index ae72fe730..0aec1829f 100644 --- a/src/modules/module_04900.c +++ b/src/modules/module_04900.c @@ -195,6 +195,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_05100.c b/src/modules/module_05100.c index f063c68c4..a1a6b929e 100644 --- a/src/modules/module_05100.c +++ b/src/modules/module_05100.c @@ -134,6 +134,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_05200.c b/src/modules/module_05200.c index ea6f474ff..45bc4e547 100644 --- a/src/modules/module_05200.c +++ b/src/modules/module_05200.c @@ -183,6 +183,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_05300.c b/src/modules/module_05300.c index 70edbbfc5..4cebb6c49 100644 --- a/src/modules/module_05300.c +++ b/src/modules/module_05300.c @@ -275,6 +275,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_05400.c b/src/modules/module_05400.c index 6ed4093f8..47766eb3b 100644 --- a/src/modules/module_05400.c +++ b/src/modules/module_05400.c @@ -282,6 +282,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_05500.c b/src/modules/module_05500.c index 6f1f48340..2c83903c3 100644 --- a/src/modules/module_05500.c +++ b/src/modules/module_05500.c @@ -425,6 +425,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_05600.c b/src/modules/module_05600.c index 5ef8ecd2a..8195fe61d 100644 --- a/src/modules/module_05600.c +++ b/src/modules/module_05600.c @@ -336,6 +336,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_05700.c b/src/modules/module_05700.c index f47083548..4e69f52e3 100644 --- a/src/modules/module_05700.c +++ b/src/modules/module_05700.c @@ -183,6 +183,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_05800.c b/src/modules/module_05800.c index 86b37afed..61d9c19db 100644 --- a/src/modules/module_05800.c +++ b/src/modules/module_05800.c @@ -195,6 +195,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06000.c b/src/modules/module_06000.c index 308e6953e..b35bdecf9 100644 --- a/src/modules/module_06000.c +++ b/src/modules/module_06000.c @@ -137,6 +137,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06100.c b/src/modules/module_06100.c index 8dd1fac8f..e4cc81265 100644 --- a/src/modules/module_06100.c +++ b/src/modules/module_06100.c @@ -41,6 +41,19 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) +{ + if ((hc_device_param->device_vendor_id == VENDOR_ID_AMD) && (hc_device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + return true; + } + } + + return false; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -204,6 +217,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; @@ -228,6 +242,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_06211.c b/src/modules/module_06211.c index 9544ab116..c5969384a 100644 --- a/src/modules/module_06211.c +++ b/src/modules/module_06211.c @@ -263,6 +263,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06212.c b/src/modules/module_06212.c index 2629fe924..2b66e6546 100644 --- a/src/modules/module_06212.c +++ b/src/modules/module_06212.c @@ -263,6 +263,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06213.c b/src/modules/module_06213.c index e4a0a8cd6..72298647a 100644 --- a/src/modules/module_06213.c +++ b/src/modules/module_06213.c @@ -123,8 +123,6 @@ int module_hash_init_selftest (MAYBE_UNUSED const hashconfig_t *hashconfig, hash const int parser_status = module_hash_decode (hashconfig, hash->digest, hash->salt, hash->esalt, hash->hook_salt, hash->hash_info, tmpdata, st_hash_len / 2); - - hcfree (tmpdata); return parser_status; @@ -196,6 +194,21 @@ int module_hash_binary_parse (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE return 1; } +char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + char *jit_build_options = NULL; + + if ((device_param->device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + hc_asprintf (&jit_build_options, "-cl-opt-disable"); + } + } + + return jit_build_options; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -262,7 +275,8 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; - module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_build_options = module_jit_build_options; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06221.c b/src/modules/module_06221.c index d7071cd8a..8dce93780 100644 --- a/src/modules/module_06221.c +++ b/src/modules/module_06221.c @@ -264,6 +264,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06222.c b/src/modules/module_06222.c index 672dec204..d956d9d5b 100644 --- a/src/modules/module_06222.c +++ b/src/modules/module_06222.c @@ -264,6 +264,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06223.c b/src/modules/module_06223.c index 1244844a9..3e7122de1 100644 --- a/src/modules/module_06223.c +++ b/src/modules/module_06223.c @@ -264,6 +264,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06231.c b/src/modules/module_06231.c index 5ef8c4e1d..7ffc0c5ee 100644 --- a/src/modules/module_06231.c +++ b/src/modules/module_06231.c @@ -263,6 +263,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06232.c b/src/modules/module_06232.c index 2d691fdfc..6b8103306 100644 --- a/src/modules/module_06232.c +++ b/src/modules/module_06232.c @@ -263,6 +263,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06233.c b/src/modules/module_06233.c index 46248a307..a18f90d36 100644 --- a/src/modules/module_06233.c +++ b/src/modules/module_06233.c @@ -263,6 +263,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06241.c b/src/modules/module_06241.c index e92236cd0..7885221c5 100644 --- a/src/modules/module_06241.c +++ b/src/modules/module_06241.c @@ -275,6 +275,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06242.c b/src/modules/module_06242.c index 67aca88e0..614cc72d7 100644 --- a/src/modules/module_06242.c +++ b/src/modules/module_06242.c @@ -275,6 +275,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06243.c b/src/modules/module_06243.c index e2b3f80a3..51721e19e 100644 --- a/src/modules/module_06243.c +++ b/src/modules/module_06243.c @@ -208,6 +208,21 @@ int module_hash_binary_parse (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE return 1; } +char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + char *jit_build_options = NULL; + + if ((device_param->device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + hc_asprintf (&jit_build_options, "-cl-opt-disable"); + } + } + + return jit_build_options; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -274,7 +289,8 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; - module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_build_options = module_jit_build_options; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06300.c b/src/modules/module_06300.c index c8aac786a..416c90692 100644 --- a/src/modules/module_06300.c +++ b/src/modules/module_06300.c @@ -166,6 +166,21 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } +char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + char *jit_build_options = NULL; + + if ((device_param->device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + hc_asprintf (&jit_build_options, "-D MAYBE_VOLATILE=volatile"); + } + } + + return jit_build_options; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -272,7 +287,8 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; - module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_build_options = module_jit_build_options; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06400.c b/src/modules/module_06400.c index 4965ed6f3..3c02106b0 100644 --- a/src/modules/module_06400.c +++ b/src/modules/module_06400.c @@ -396,6 +396,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06500.c b/src/modules/module_06500.c index e0866958c..cbbbdaacb 100644 --- a/src/modules/module_06500.c +++ b/src/modules/module_06500.c @@ -570,6 +570,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06600.c b/src/modules/module_06600.c index de5d7a02b..99067a92e 100644 --- a/src/modules/module_06600.c +++ b/src/modules/module_06600.c @@ -248,6 +248,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06700.c b/src/modules/module_06700.c index c29774705..92b0bfeeb 100644 --- a/src/modules/module_06700.c +++ b/src/modules/module_06700.c @@ -323,6 +323,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06800.c b/src/modules/module_06800.c index e29cb29d4..99e86469b 100644 --- a/src/modules/module_06800.c +++ b/src/modules/module_06800.c @@ -181,6 +181,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_06900.c b/src/modules/module_06900.c index e37a84ea6..75ea28b23 100644 --- a/src/modules/module_06900.c +++ b/src/modules/module_06900.c @@ -138,6 +138,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_07000.c b/src/modules/module_07000.c index 359224a48..b4a1b8d1a 100644 --- a/src/modules/module_07000.c +++ b/src/modules/module_07000.c @@ -221,6 +221,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_07100.c b/src/modules/module_07100.c index 0f488752f..594ad2207 100644 --- a/src/modules/module_07100.c +++ b/src/modules/module_07100.c @@ -247,6 +247,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_07200.c b/src/modules/module_07200.c index 22330f56a..84a1d44ef 100644 --- a/src/modules/module_07200.c +++ b/src/modules/module_07200.c @@ -242,6 +242,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_07300.c b/src/modules/module_07300.c index b7afe1c10..7804325ae 100644 --- a/src/modules/module_07300.c +++ b/src/modules/module_07300.c @@ -197,6 +197,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_07400.c b/src/modules/module_07400.c index 1baea3236..20a96ca09 100644 --- a/src/modules/module_07400.c +++ b/src/modules/module_07400.c @@ -255,6 +255,21 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } +char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + char *jit_build_options = NULL; + + if ((device_param->device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + hc_asprintf (&jit_build_options, "-cl-opt-disable"); + } + } + + return jit_build_options; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -370,7 +385,8 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; - module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_build_options = module_jit_build_options; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_07500.c b/src/modules/module_07500.c index e4269b9e4..954a0ebd4 100644 --- a/src/modules/module_07500.c +++ b/src/modules/module_07500.c @@ -76,6 +76,19 @@ u32 module_kernel_threads_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYB return kernel_threads_max; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) +{ + if ((hc_device_param->device_vendor_id == VENDOR_ID_AMD) && (hc_device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + return true; + } + } + + return false; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -265,6 +278,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; @@ -289,6 +303,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_07700.c b/src/modules/module_07700.c index 40a598887..1e1c22c4a 100644 --- a/src/modules/module_07700.c +++ b/src/modules/module_07700.c @@ -168,6 +168,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_07701.c b/src/modules/module_07701.c index 89094d2fa..fb5588f12 100644 --- a/src/modules/module_07701.c +++ b/src/modules/module_07701.c @@ -161,6 +161,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_07800.c b/src/modules/module_07800.c index fc35c0bbb..4fb74ecf6 100644 --- a/src/modules/module_07800.c +++ b/src/modules/module_07800.c @@ -181,6 +181,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_07801.c b/src/modules/module_07801.c index a63015b0e..4bcf51dcd 100644 --- a/src/modules/module_07801.c +++ b/src/modules/module_07801.c @@ -174,6 +174,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_07900.c b/src/modules/module_07900.c index 90d10d958..b4f2b24d9 100644 --- a/src/modules/module_07900.c +++ b/src/modules/module_07900.c @@ -435,6 +435,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_08000.c b/src/modules/module_08000.c index 4f8bf9f16..ed12c9a1e 100644 --- a/src/modules/module_08000.c +++ b/src/modules/module_08000.c @@ -182,6 +182,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_08100.c b/src/modules/module_08100.c index cf2f51205..2abfae4d2 100644 --- a/src/modules/module_08100.c +++ b/src/modules/module_08100.c @@ -192,6 +192,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_08200.c b/src/modules/module_08200.c index 8afe3f9b8..fbbf3165f 100644 --- a/src/modules/module_08200.c +++ b/src/modules/module_08200.c @@ -269,6 +269,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_08300.c b/src/modules/module_08300.c index d79233334..e8be49b67 100644 --- a/src/modules/module_08300.c +++ b/src/modules/module_08300.c @@ -236,6 +236,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_08400.c b/src/modules/module_08400.c index 074f0c308..5805b8a59 100644 --- a/src/modules/module_08400.c +++ b/src/modules/module_08400.c @@ -170,6 +170,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_08500.c b/src/modules/module_08500.c index 6923ab0cf..4f0c4d1e3 100644 --- a/src/modules/module_08500.c +++ b/src/modules/module_08500.c @@ -215,6 +215,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_08600.c b/src/modules/module_08600.c index 235106f37..62d4de543 100644 --- a/src/modules/module_08600.c +++ b/src/modules/module_08600.c @@ -50,6 +50,21 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } +char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + char *jit_build_options = NULL; + + if ((device_param->device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + hc_asprintf (&jit_build_options, "-cl-opt-disable"); + } + } + + return jit_build_options; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -132,7 +147,8 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; - module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_build_options = module_jit_build_options; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_08700.c b/src/modules/module_08700.c index 1c0c6a115..b78bb92fd 100644 --- a/src/modules/module_08700.c +++ b/src/modules/module_08700.c @@ -174,6 +174,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_08800.c b/src/modules/module_08800.c index f5a882de4..a5a820d13 100644 --- a/src/modules/module_08800.c +++ b/src/modules/module_08800.c @@ -245,6 +245,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_08900.c b/src/modules/module_08900.c index c204dc5f4..aebbe1337 100644 --- a/src/modules/module_08900.c +++ b/src/modules/module_08900.c @@ -229,6 +229,11 @@ u64 module_extra_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UN return tmp_size; } +bool module_jit_cache_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + return true; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { const u32 scrypt_N = (hashes->salts_buf[0].scrypt_N) ? hashes->salts_buf[0].scrypt_N : 1024; @@ -247,17 +252,41 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY char *jit_build_options = NULL; - hc_asprintf (&jit_build_options, "-DSCRYPT_N=%u -DSCRYPT_R=%u -DSCRYPT_P=%u -DSCRYPT_TMTO=%" PRIu64 " -DSCRYPT_TMP_ELEM=%" PRIu64, - hashes->salts_buf[0].scrypt_N, - hashes->salts_buf[0].scrypt_r, - hashes->salts_buf[0].scrypt_p, - scrypt_tmto_final, - tmp_size / 16); + if ((device_param->device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + hc_asprintf (&jit_build_options, "-D MAYBE_VOLATILE=volatile -DSCRYPT_N=%u -DSCRYPT_R=%u -DSCRYPT_P=%u -DSCRYPT_TMTO=%" PRIu64 " -DSCRYPT_TMP_ELEM=%" PRIu64, + hashes->salts_buf[0].scrypt_N, + hashes->salts_buf[0].scrypt_r, + hashes->salts_buf[0].scrypt_p, + scrypt_tmto_final, + tmp_size / 16); + } + else + { + hc_asprintf (&jit_build_options, "-DSCRYPT_N=%u -DSCRYPT_R=%u -DSCRYPT_P=%u -DSCRYPT_TMTO=%" PRIu64 " -DSCRYPT_TMP_ELEM=%" PRIu64, + hashes->salts_buf[0].scrypt_N, + hashes->salts_buf[0].scrypt_r, + hashes->salts_buf[0].scrypt_p, + scrypt_tmto_final, + tmp_size / 16); + } + } + else + { + hc_asprintf (&jit_build_options, "-DSCRYPT_N=%u -DSCRYPT_R=%u -DSCRYPT_P=%u -DSCRYPT_TMTO=%" PRIu64 " -DSCRYPT_TMP_ELEM=%" PRIu64, + hashes->salts_buf[0].scrypt_N, + hashes->salts_buf[0].scrypt_r, + hashes->salts_buf[0].scrypt_p, + scrypt_tmto_final, + tmp_size / 16); + } return jit_build_options; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) { #if defined (__APPLE__) return true; @@ -415,6 +444,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = module_jit_build_options; + module_ctx->module_jit_cache_disable = module_jit_cache_disable; module_ctx->module_kernel_accel_max = module_kernel_accel_max; module_ctx->module_kernel_accel_min = module_kernel_accel_min; module_ctx->module_kernel_loops_max = module_kernel_loops_max; diff --git a/src/modules/module_09000.c b/src/modules/module_09000.c index ec6dc7818..335ce410c 100644 --- a/src/modules/module_09000.c +++ b/src/modules/module_09000.c @@ -173,6 +173,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_09100.c b/src/modules/module_09100.c index 02fd18c06..39e4243c9 100644 --- a/src/modules/module_09100.c +++ b/src/modules/module_09100.c @@ -228,6 +228,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_09200.c b/src/modules/module_09200.c index 0cb17fd4a..74ac69517 100644 --- a/src/modules/module_09200.c +++ b/src/modules/module_09200.c @@ -238,6 +238,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_09300.c b/src/modules/module_09300.c index d14f87185..176d0cea8 100644 --- a/src/modules/module_09300.c +++ b/src/modules/module_09300.c @@ -218,6 +218,11 @@ u64 module_extra_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UN return tmp_size; } +bool module_jit_cache_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + return true; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { const u32 scrypt_N = 16384; @@ -236,17 +241,41 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY char *jit_build_options = NULL; - hc_asprintf (&jit_build_options, "-DSCRYPT_N=%u -DSCRYPT_R=%u -DSCRYPT_P=%u -DSCRYPT_TMTO=%" PRIu64 " -DSCRYPT_TMP_ELEM=%" PRIu64, - hashes->salts_buf[0].scrypt_N, - hashes->salts_buf[0].scrypt_r, - hashes->salts_buf[0].scrypt_p, - scrypt_tmto_final, - tmp_size / 16); + if ((device_param->device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + hc_asprintf (&jit_build_options, "-D MAYBE_VOLATILE=volatile -DSCRYPT_N=%u -DSCRYPT_R=%u -DSCRYPT_P=%u -DSCRYPT_TMTO=%" PRIu64 " -DSCRYPT_TMP_ELEM=%" PRIu64, + hashes->salts_buf[0].scrypt_N, + hashes->salts_buf[0].scrypt_r, + hashes->salts_buf[0].scrypt_p, + scrypt_tmto_final, + tmp_size / 16); + } + else + { + hc_asprintf (&jit_build_options, "-DSCRYPT_N=%u -DSCRYPT_R=%u -DSCRYPT_P=%u -DSCRYPT_TMTO=%" PRIu64 " -DSCRYPT_TMP_ELEM=%" PRIu64, + hashes->salts_buf[0].scrypt_N, + hashes->salts_buf[0].scrypt_r, + hashes->salts_buf[0].scrypt_p, + scrypt_tmto_final, + tmp_size / 16); + } + } + else + { + hc_asprintf (&jit_build_options, "-DSCRYPT_N=%u -DSCRYPT_R=%u -DSCRYPT_P=%u -DSCRYPT_TMTO=%" PRIu64 " -DSCRYPT_TMP_ELEM=%" PRIu64, + hashes->salts_buf[0].scrypt_N, + hashes->salts_buf[0].scrypt_r, + hashes->salts_buf[0].scrypt_p, + scrypt_tmto_final, + tmp_size / 16); + } return jit_build_options; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) { #if defined (__APPLE__) return true; @@ -368,6 +397,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = module_jit_build_options; + module_ctx->module_jit_cache_disable = module_jit_cache_disable; module_ctx->module_kernel_accel_max = module_kernel_accel_max; module_ctx->module_kernel_accel_min = module_kernel_accel_min; module_ctx->module_kernel_loops_max = module_kernel_loops_max; diff --git a/src/modules/module_09400.c b/src/modules/module_09400.c index 91ca1d3c3..d2bef377a 100644 --- a/src/modules/module_09400.c +++ b/src/modules/module_09400.c @@ -290,6 +290,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_09500.c b/src/modules/module_09500.c index 330d2c119..b1cf7cc0d 100644 --- a/src/modules/module_09500.c +++ b/src/modules/module_09500.c @@ -294,6 +294,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_09600.c b/src/modules/module_09600.c index 8af98cf01..555b3d6e7 100644 --- a/src/modules/module_09600.c +++ b/src/modules/module_09600.c @@ -301,6 +301,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_09700.c b/src/modules/module_09700.c index 20dde1b8c..1cc44a8bc 100644 --- a/src/modules/module_09700.c +++ b/src/modules/module_09700.c @@ -250,6 +250,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_09710.c b/src/modules/module_09710.c index 6ce343819..b3a1622af 100644 --- a/src/modules/module_09710.c +++ b/src/modules/module_09710.c @@ -269,6 +269,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_09720.c b/src/modules/module_09720.c index 37d2b8496..b37c540a7 100644 --- a/src/modules/module_09720.c +++ b/src/modules/module_09720.c @@ -268,6 +268,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_09800.c b/src/modules/module_09800.c index 5093ec366..40e4a5159 100644 --- a/src/modules/module_09800.c +++ b/src/modules/module_09800.c @@ -85,7 +85,7 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) { #if defined (__APPLE__) return true; @@ -266,6 +266,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_09810.c b/src/modules/module_09810.c index 6813a63ab..a6dc001d5 100644 --- a/src/modules/module_09810.c +++ b/src/modules/module_09810.c @@ -275,6 +275,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_09820.c b/src/modules/module_09820.c index b55432dee..d64ea720c 100644 --- a/src/modules/module_09820.c +++ b/src/modules/module_09820.c @@ -273,6 +273,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_09900.c b/src/modules/module_09900.c index 9cf542c4d..52d1cd38a 100644 --- a/src/modules/module_09900.c +++ b/src/modules/module_09900.c @@ -144,6 +144,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_10000.c b/src/modules/module_10000.c index 6a8516c35..9db177703 100644 --- a/src/modules/module_10000.c +++ b/src/modules/module_10000.c @@ -250,6 +250,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_10100.c b/src/modules/module_10100.c index 8a48279fd..57cc4e586 100644 --- a/src/modules/module_10100.c +++ b/src/modules/module_10100.c @@ -166,6 +166,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_10200.c b/src/modules/module_10200.c index ca79cac32..244efe568 100644 --- a/src/modules/module_10200.c +++ b/src/modules/module_10200.c @@ -209,6 +209,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_10300.c b/src/modules/module_10300.c index 0f0b0e470..9f036749d 100644 --- a/src/modules/module_10300.c +++ b/src/modules/module_10300.c @@ -211,6 +211,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_10400.c b/src/modules/module_10400.c index 560c75187..319bf71cd 100644 --- a/src/modules/module_10400.c +++ b/src/modules/module_10400.c @@ -343,6 +343,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_10410.c b/src/modules/module_10410.c index a93305a74..55ddeb261 100644 --- a/src/modules/module_10410.c +++ b/src/modules/module_10410.c @@ -363,6 +363,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_10420.c b/src/modules/module_10420.c index 8eccae797..30fd7c3ab 100644 --- a/src/modules/module_10420.c +++ b/src/modules/module_10420.c @@ -364,6 +364,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_10500.c b/src/modules/module_10500.c index 244de3276..736c4b790 100644 --- a/src/modules/module_10500.c +++ b/src/modules/module_10500.c @@ -453,6 +453,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_10600.c b/src/modules/module_10600.c index 315653a13..ecb158aa4 100644 --- a/src/modules/module_10600.c +++ b/src/modules/module_10600.c @@ -318,6 +318,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_10700.c b/src/modules/module_10700.c index 63535e7d6..51d7c5ebe 100644 --- a/src/modules/module_10700.c +++ b/src/modules/module_10700.c @@ -321,6 +321,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_10800.c b/src/modules/module_10800.c index c5edb5eed..487f9011e 100644 --- a/src/modules/module_10800.c +++ b/src/modules/module_10800.c @@ -194,6 +194,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_10900.c b/src/modules/module_10900.c index 5d8d2ce61..bf0c82201 100644 --- a/src/modules/module_10900.c +++ b/src/modules/module_10900.c @@ -224,6 +224,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_11000.c b/src/modules/module_11000.c index e83c52d25..929e1582f 100644 --- a/src/modules/module_11000.c +++ b/src/modules/module_11000.c @@ -169,6 +169,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_11100.c b/src/modules/module_11100.c index 074a5cd35..294f805a1 100644 --- a/src/modules/module_11100.c +++ b/src/modules/module_11100.c @@ -205,6 +205,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_11200.c b/src/modules/module_11200.c index f2a606f4c..9199eb041 100644 --- a/src/modules/module_11200.c +++ b/src/modules/module_11200.c @@ -168,6 +168,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_11300.c b/src/modules/module_11300.c index 8f2e64e8c..0734f7c16 100644 --- a/src/modules/module_11300.c +++ b/src/modules/module_11300.c @@ -265,6 +265,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_11400.c b/src/modules/module_11400.c index 60ae13262..198371c88 100644 --- a/src/modules/module_11400.c +++ b/src/modules/module_11400.c @@ -443,6 +443,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_11500.c b/src/modules/module_11500.c index c1abe16b8..3eadf4408 100644 --- a/src/modules/module_11500.c +++ b/src/modules/module_11500.c @@ -142,6 +142,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_11600.c b/src/modules/module_11600.c index 9958f56f1..2ace802d8 100644 --- a/src/modules/module_11600.c +++ b/src/modules/module_11600.c @@ -281,6 +281,22 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } +char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + char *jit_build_options = NULL; + + if ((device_param->device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + hc_asprintf (&jit_build_options, "-cl-opt-disable"); +// hc_asprintf (&jit_build_options, "-D MAYBE_VOLATILE=volatile"); + } + } + + return jit_build_options; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -669,7 +685,8 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = module_hook23; module_ctx->module_hook_salt_size = module_hook_salt_size; module_ctx->module_hook_size = module_hook_size; - module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_build_options = module_jit_build_options; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_11700.c b/src/modules/module_11700.c index 203566c2e..2e3e36af5 100644 --- a/src/modules/module_11700.c +++ b/src/modules/module_11700.c @@ -41,6 +41,19 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) +{ + if ((hc_device_param->device_vendor_id == VENDOR_ID_AMD) && (hc_device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + return true; + } + } + + return false; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -145,6 +158,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; @@ -169,6 +183,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_11750.c b/src/modules/module_11750.c index a8054fd90..21584a9d7 100644 --- a/src/modules/module_11750.c +++ b/src/modules/module_11750.c @@ -41,6 +41,19 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) +{ + if ((hc_device_param->device_vendor_id == VENDOR_ID_AMD) && (hc_device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + return true; + } + } + + return false; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -172,6 +185,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; @@ -196,6 +210,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_11760.c b/src/modules/module_11760.c index 4c5a9f652..c73bb6d76 100644 --- a/src/modules/module_11760.c +++ b/src/modules/module_11760.c @@ -41,6 +41,19 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) +{ + if ((hc_device_param->device_vendor_id == VENDOR_ID_AMD) && (hc_device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + return true; + } + } + + return false; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -172,6 +185,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; @@ -196,6 +210,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_11800.c b/src/modules/module_11800.c index 2c5ea6b78..1f09d14e4 100644 --- a/src/modules/module_11800.c +++ b/src/modules/module_11800.c @@ -41,6 +41,19 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) +{ + if ((hc_device_param->device_vendor_id == VENDOR_ID_AMD) && (hc_device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + return true; + } + } + + return false; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -169,6 +182,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; @@ -193,6 +207,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_11850.c b/src/modules/module_11850.c index 93d0dfd08..a30f86506 100644 --- a/src/modules/module_11850.c +++ b/src/modules/module_11850.c @@ -41,6 +41,19 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) +{ + if ((hc_device_param->device_vendor_id == VENDOR_ID_AMD) && (hc_device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + return true; + } + } + + return false; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -196,6 +209,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; @@ -220,6 +234,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_11860.c b/src/modules/module_11860.c index 3bce3727b..c902e5687 100644 --- a/src/modules/module_11860.c +++ b/src/modules/module_11860.c @@ -41,6 +41,19 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) +{ + if ((hc_device_param->device_vendor_id == VENDOR_ID_AMD) && (hc_device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + return true; + } + } + + return false; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -196,6 +209,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; @@ -220,6 +234,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_11900.c b/src/modules/module_11900.c index 2ceaf38b9..a63677aab 100644 --- a/src/modules/module_11900.c +++ b/src/modules/module_11900.c @@ -219,6 +219,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_12000.c b/src/modules/module_12000.c index 4a3a2cca8..09a416d2a 100644 --- a/src/modules/module_12000.c +++ b/src/modules/module_12000.c @@ -224,6 +224,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_12001.c b/src/modules/module_12001.c index e1ede0d4b..0e9ca2b53 100644 --- a/src/modules/module_12001.c +++ b/src/modules/module_12001.c @@ -197,6 +197,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_12100.c b/src/modules/module_12100.c index 3022b8d36..80fa7b978 100644 --- a/src/modules/module_12100.c +++ b/src/modules/module_12100.c @@ -229,6 +229,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_12200.c b/src/modules/module_12200.c index 7b82add03..d046594a1 100644 --- a/src/modules/module_12200.c +++ b/src/modules/module_12200.c @@ -205,6 +205,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_12300.c b/src/modules/module_12300.c index aed7ad407..b9db200d0 100644 --- a/src/modules/module_12300.c +++ b/src/modules/module_12300.c @@ -206,6 +206,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_12400.c b/src/modules/module_12400.c index e93ccefb8..b30914f51 100644 --- a/src/modules/module_12400.c +++ b/src/modules/module_12400.c @@ -232,6 +232,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_12500.c b/src/modules/module_12500.c index edd3c1b8e..a7a27a514 100644 --- a/src/modules/module_12500.c +++ b/src/modules/module_12500.c @@ -84,7 +84,7 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) { #if defined (__APPLE__) return true; @@ -227,6 +227,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = module_kernel_loops_max; diff --git a/src/modules/module_12600.c b/src/modules/module_12600.c index 9a7be3e42..0c8daf525 100644 --- a/src/modules/module_12600.c +++ b/src/modules/module_12600.c @@ -251,6 +251,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_12700.c b/src/modules/module_12700.c index d266dfc3a..20348e9d6 100644 --- a/src/modules/module_12700.c +++ b/src/modules/module_12700.c @@ -192,6 +192,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_12800.c b/src/modules/module_12800.c index ff2f0685e..8c8c051f1 100644 --- a/src/modules/module_12800.c +++ b/src/modules/module_12800.c @@ -223,6 +223,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_12900.c b/src/modules/module_12900.c index a166dee58..e18d184de 100644 --- a/src/modules/module_12900.c +++ b/src/modules/module_12900.c @@ -228,6 +228,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13000.c b/src/modules/module_13000.c index 6ba05485b..dd6a26d6b 100644 --- a/src/modules/module_13000.c +++ b/src/modules/module_13000.c @@ -262,6 +262,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13100.c b/src/modules/module_13100.c index 2d59d4175..b6962d79e 100644 --- a/src/modules/module_13100.c +++ b/src/modules/module_13100.c @@ -234,6 +234,19 @@ int module_hash_encode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE return line_len; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) +{ + if ((hc_device_param->device_vendor_id == VENDOR_ID_AMD) && (hc_device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + return true; + } + } + + return false; +} + void module_init (module_ctx_t *module_ctx) { module_ctx->module_context_size = MODULE_CONTEXT_SIZE_CURRENT; @@ -274,6 +287,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; @@ -298,6 +312,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13200.c b/src/modules/module_13200.c index f257025ff..9bc3f88cb 100644 --- a/src/modules/module_13200.c +++ b/src/modules/module_13200.c @@ -67,6 +67,21 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } +char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + char *jit_build_options = NULL; + + if ((device_param->device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) + { + hc_asprintf (&jit_build_options, "-cl-opt-disable"); + } + } + + return jit_build_options; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -220,7 +235,8 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; - module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_build_options = module_jit_build_options; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13300.c b/src/modules/module_13300.c index a535aeb7c..e1d5d9a69 100644 --- a/src/modules/module_13300.c +++ b/src/modules/module_13300.c @@ -143,6 +143,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13400.c b/src/modules/module_13400.c index f4e9a6177..871a1364c 100644 --- a/src/modules/module_13400.c +++ b/src/modules/module_13400.c @@ -683,6 +683,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13500.c b/src/modules/module_13500.c index 8e4bdbcca..09c0067ae 100644 --- a/src/modules/module_13500.c +++ b/src/modules/module_13500.c @@ -237,6 +237,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13600.c b/src/modules/module_13600.c index 6cb24b869..7ccc4b2ee 100644 --- a/src/modules/module_13600.c +++ b/src/modules/module_13600.c @@ -428,6 +428,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13711.c b/src/modules/module_13711.c index f84c52926..c53974d8e 100644 --- a/src/modules/module_13711.c +++ b/src/modules/module_13711.c @@ -272,6 +272,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13712.c b/src/modules/module_13712.c index 6039637ac..b02668321 100644 --- a/src/modules/module_13712.c +++ b/src/modules/module_13712.c @@ -272,6 +272,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13713.c b/src/modules/module_13713.c index 349b0bc1c..51b5d1f77 100644 --- a/src/modules/module_13713.c +++ b/src/modules/module_13713.c @@ -272,6 +272,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13721.c b/src/modules/module_13721.c index 06c2eb123..a4062ba5c 100644 --- a/src/modules/module_13721.c +++ b/src/modules/module_13721.c @@ -275,6 +275,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13722.c b/src/modules/module_13722.c index 99584232f..c7d889951 100644 --- a/src/modules/module_13722.c +++ b/src/modules/module_13722.c @@ -273,6 +273,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13723.c b/src/modules/module_13723.c index b3f8c1188..bdd1ead8f 100644 --- a/src/modules/module_13723.c +++ b/src/modules/module_13723.c @@ -273,6 +273,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13731.c b/src/modules/module_13731.c index 37a6d5ee9..86679c2cc 100644 --- a/src/modules/module_13731.c +++ b/src/modules/module_13731.c @@ -272,6 +272,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13732.c b/src/modules/module_13732.c index da523edf2..cba4ef769 100644 --- a/src/modules/module_13732.c +++ b/src/modules/module_13732.c @@ -272,6 +272,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13733.c b/src/modules/module_13733.c index 1c049ca15..207d71089 100644 --- a/src/modules/module_13733.c +++ b/src/modules/module_13733.c @@ -272,6 +272,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13741.c b/src/modules/module_13741.c index bf9b5fe52..053e3ec2f 100644 --- a/src/modules/module_13741.c +++ b/src/modules/module_13741.c @@ -285,6 +285,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13742.c b/src/modules/module_13742.c index d91db8d7f..6f8e679e3 100644 --- a/src/modules/module_13742.c +++ b/src/modules/module_13742.c @@ -285,6 +285,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13743.c b/src/modules/module_13743.c index 816e7d8c7..72f67dc5d 100644 --- a/src/modules/module_13743.c +++ b/src/modules/module_13743.c @@ -285,6 +285,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13751.c b/src/modules/module_13751.c index e343e3ad4..01e0e86c2 100644 --- a/src/modules/module_13751.c +++ b/src/modules/module_13751.c @@ -272,6 +272,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13752.c b/src/modules/module_13752.c index 08b73f527..be9bb1260 100644 --- a/src/modules/module_13752.c +++ b/src/modules/module_13752.c @@ -272,6 +272,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13753.c b/src/modules/module_13753.c index f32134075..f58919689 100644 --- a/src/modules/module_13753.c +++ b/src/modules/module_13753.c @@ -272,6 +272,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13761.c b/src/modules/module_13761.c index 4cf270bb9..e99c11fca 100644 --- a/src/modules/module_13761.c +++ b/src/modules/module_13761.c @@ -285,6 +285,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13762.c b/src/modules/module_13762.c index db4a507ec..078c00b2f 100644 --- a/src/modules/module_13762.c +++ b/src/modules/module_13762.c @@ -285,6 +285,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13763.c b/src/modules/module_13763.c index 63f576aa6..507c80b98 100644 --- a/src/modules/module_13763.c +++ b/src/modules/module_13763.c @@ -285,6 +285,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13771.c b/src/modules/module_13771.c index 39438e21e..5053ebe79 100644 --- a/src/modules/module_13771.c +++ b/src/modules/module_13771.c @@ -276,6 +276,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13772.c b/src/modules/module_13772.c index d0b38ec45..df3d0c3d0 100644 --- a/src/modules/module_13772.c +++ b/src/modules/module_13772.c @@ -276,6 +276,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13773.c b/src/modules/module_13773.c index 1e2e39b26..82292a3fd 100644 --- a/src/modules/module_13773.c +++ b/src/modules/module_13773.c @@ -276,6 +276,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13800.c b/src/modules/module_13800.c index 41336d017..faafbfbbe 100644 --- a/src/modules/module_13800.c +++ b/src/modules/module_13800.c @@ -200,6 +200,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_13900.c b/src/modules/module_13900.c index feefa6a13..3a8a984c5 100644 --- a/src/modules/module_13900.c +++ b/src/modules/module_13900.c @@ -170,6 +170,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_14000.c b/src/modules/module_14000.c index 28d00bfb7..0880e9b2c 100644 --- a/src/modules/module_14000.c +++ b/src/modules/module_14000.c @@ -101,7 +101,7 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) { #if defined (__APPLE__) return true; @@ -246,6 +246,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = module_kernel_loops_max; diff --git a/src/modules/module_14100.c b/src/modules/module_14100.c index 26484d9df..966240c5f 100644 --- a/src/modules/module_14100.c +++ b/src/modules/module_14100.c @@ -100,7 +100,7 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) { #if defined (__APPLE__) return true; @@ -245,6 +245,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = module_kernel_loops_max; diff --git a/src/modules/module_14400.c b/src/modules/module_14400.c index ca1e1a30d..d402276da 100644 --- a/src/modules/module_14400.c +++ b/src/modules/module_14400.c @@ -177,6 +177,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_14600.c b/src/modules/module_14600.c index ce225b8b7..4d81623fe 100644 --- a/src/modules/module_14600.c +++ b/src/modules/module_14600.c @@ -620,6 +620,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_14700.c b/src/modules/module_14700.c index c8449c7e2..5ee29fa11 100644 --- a/src/modules/module_14700.c +++ b/src/modules/module_14700.c @@ -371,6 +371,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_14800.c b/src/modules/module_14800.c index 7699c5ed0..86608ebf9 100644 --- a/src/modules/module_14800.c +++ b/src/modules/module_14800.c @@ -395,6 +395,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_14900.c b/src/modules/module_14900.c index bbe0cdbbb..f40afae56 100644 --- a/src/modules/module_14900.c +++ b/src/modules/module_14900.c @@ -154,6 +154,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_15000.c b/src/modules/module_15000.c index bb1046feb..cad0e9924 100644 --- a/src/modules/module_15000.c +++ b/src/modules/module_15000.c @@ -226,6 +226,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_15100.c b/src/modules/module_15100.c index 86dfa5ac7..ffd4cbeee 100644 --- a/src/modules/module_15100.c +++ b/src/modules/module_15100.c @@ -349,6 +349,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_15200.c b/src/modules/module_15200.c index 049962b04..6313a49a2 100644 --- a/src/modules/module_15200.c +++ b/src/modules/module_15200.c @@ -198,6 +198,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_15300.c b/src/modules/module_15300.c index 2cb0066f6..70d393189 100644 --- a/src/modules/module_15300.c +++ b/src/modules/module_15300.c @@ -414,6 +414,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_15400.c b/src/modules/module_15400.c index d7b2fec32..51e5983e2 100644 --- a/src/modules/module_15400.c +++ b/src/modules/module_15400.c @@ -240,6 +240,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_15500.c b/src/modules/module_15500.c index 857bba1e5..bf759e513 100644 --- a/src/modules/module_15500.c +++ b/src/modules/module_15500.c @@ -311,6 +311,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_15600.c b/src/modules/module_15600.c index 0e43e7180..585e12aab 100644 --- a/src/modules/module_15600.c +++ b/src/modules/module_15600.c @@ -271,6 +271,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_15700.c b/src/modules/module_15700.c index c5c4ee220..70f67b92b 100644 --- a/src/modules/module_15700.c +++ b/src/modules/module_15700.c @@ -245,6 +245,11 @@ u64 module_extra_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UN return tmp_size; } +bool module_jit_cache_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + return true; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { const u32 scrypt_N = (hashes->salts_buf[0].scrypt_N) ? hashes->salts_buf[0].scrypt_N : 262144; @@ -273,7 +278,7 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY return jit_build_options; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *hc_device_param) { #if defined (__APPLE__) return true; @@ -485,6 +490,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = module_jit_build_options; + module_ctx->module_jit_cache_disable = module_jit_cache_disable; module_ctx->module_kernel_accel_max = module_kernel_accel_max; module_ctx->module_kernel_accel_min = module_kernel_accel_min; module_ctx->module_kernel_loops_max = module_kernel_loops_max; diff --git a/src/modules/module_15900.c b/src/modules/module_15900.c index 75f49b68e..1b710ebd3 100644 --- a/src/modules/module_15900.c +++ b/src/modules/module_15900.c @@ -410,6 +410,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_16000.c b/src/modules/module_16000.c index 3a4a95da2..9daae8469 100644 --- a/src/modules/module_16000.c +++ b/src/modules/module_16000.c @@ -156,6 +156,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_16100.c b/src/modules/module_16100.c index de4c6f5f2..abd13d4ad 100644 --- a/src/modules/module_16100.c +++ b/src/modules/module_16100.c @@ -224,6 +224,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_16200.c b/src/modules/module_16200.c index e3b840010..3daca1a5c 100644 --- a/src/modules/module_16200.c +++ b/src/modules/module_16200.c @@ -258,6 +258,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_16300.c b/src/modules/module_16300.c index bfb989b88..b4a55e366 100644 --- a/src/modules/module_16300.c +++ b/src/modules/module_16300.c @@ -271,6 +271,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_16400.c b/src/modules/module_16400.c index 84e8c658b..a64a6e0a5 100644 --- a/src/modules/module_16400.c +++ b/src/modules/module_16400.c @@ -150,6 +150,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_16500.c b/src/modules/module_16500.c index 04e842ac1..84526be18 100644 --- a/src/modules/module_16500.c +++ b/src/modules/module_16500.c @@ -368,6 +368,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_16600.c b/src/modules/module_16600.c index 23a3c0537..c0b8cfe54 100644 --- a/src/modules/module_16600.c +++ b/src/modules/module_16600.c @@ -220,6 +220,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_16700.c b/src/modules/module_16700.c index 4a91eca9e..06eca3bd8 100644 --- a/src/modules/module_16700.c +++ b/src/modules/module_16700.c @@ -260,6 +260,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_16800.c b/src/modules/module_16800.c index 7accc7299..35cf1571c 100644 --- a/src/modules/module_16800.c +++ b/src/modules/module_16800.c @@ -304,6 +304,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_16801.c b/src/modules/module_16801.c index dcf2d9e5e..c1610ecd1 100644 --- a/src/modules/module_16801.c +++ b/src/modules/module_16801.c @@ -360,6 +360,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_16900.c b/src/modules/module_16900.c index 8d1f4ddbc..6ab34fbe2 100644 --- a/src/modules/module_16900.c +++ b/src/modules/module_16900.c @@ -294,6 +294,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_17300.c b/src/modules/module_17300.c index bad02f934..4fcede75f 100644 --- a/src/modules/module_17300.c +++ b/src/modules/module_17300.c @@ -144,6 +144,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_17400.c b/src/modules/module_17400.c index 9322008e5..4908eb01e 100644 --- a/src/modules/module_17400.c +++ b/src/modules/module_17400.c @@ -135,6 +135,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_17500.c b/src/modules/module_17500.c index 95e4d8fb9..90306a27c 100644 --- a/src/modules/module_17500.c +++ b/src/modules/module_17500.c @@ -141,6 +141,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_17600.c b/src/modules/module_17600.c index ddb521a75..40a5ce5bd 100644 --- a/src/modules/module_17600.c +++ b/src/modules/module_17600.c @@ -147,6 +147,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_17700.c b/src/modules/module_17700.c index 430b8c913..49e4c6cc7 100644 --- a/src/modules/module_17700.c +++ b/src/modules/module_17700.c @@ -144,6 +144,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_17800.c b/src/modules/module_17800.c index dbdc31617..c49153047 100644 --- a/src/modules/module_17800.c +++ b/src/modules/module_17800.c @@ -135,6 +135,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_17900.c b/src/modules/module_17900.c index 6344d0cd5..97d63e8d1 100644 --- a/src/modules/module_17900.c +++ b/src/modules/module_17900.c @@ -141,6 +141,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_18000.c b/src/modules/module_18000.c index 58e2f16c0..7d3025284 100644 --- a/src/modules/module_18000.c +++ b/src/modules/module_18000.c @@ -147,6 +147,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_18100.c b/src/modules/module_18100.c index b3b93e792..fc656b87e 100644 --- a/src/modules/module_18100.c +++ b/src/modules/module_18100.c @@ -162,6 +162,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_18200.c b/src/modules/module_18200.c index e29d4f79b..1d6a8718f 100644 --- a/src/modules/module_18200.c +++ b/src/modules/module_18200.c @@ -236,6 +236,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_18300.c b/src/modules/module_18300.c index dfe788c4d..3f3ef3716 100644 --- a/src/modules/module_18300.c +++ b/src/modules/module_18300.c @@ -268,6 +268,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_18400.c b/src/modules/module_18400.c index d1fe6f082..0c711d4dd 100644 --- a/src/modules/module_18400.c +++ b/src/modules/module_18400.c @@ -317,6 +317,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_18500.c b/src/modules/module_18500.c index dd556b5a1..6b408793d 100644 --- a/src/modules/module_18500.c +++ b/src/modules/module_18500.c @@ -174,6 +174,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_18600.c b/src/modules/module_18600.c index 5e92178ca..befb2abf8 100644 --- a/src/modules/module_18600.c +++ b/src/modules/module_18600.c @@ -325,6 +325,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_18700.c b/src/modules/module_18700.c index 523436d51..5ee7e5122 100644 --- a/src/modules/module_18700.c +++ b/src/modules/module_18700.c @@ -122,6 +122,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_18800.c b/src/modules/module_18800.c index 4c7b809e7..06bdcfb25 100644 --- a/src/modules/module_18800.c +++ b/src/modules/module_18800.c @@ -224,6 +224,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_18900.c b/src/modules/module_18900.c index 9c7f4904b..74f07e6c2 100644 --- a/src/modules/module_18900.c +++ b/src/modules/module_18900.c @@ -336,6 +336,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_19000.c b/src/modules/module_19000.c index 935c995f0..aba43ea08 100644 --- a/src/modules/module_19000.c +++ b/src/modules/module_19000.c @@ -228,6 +228,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_19100.c b/src/modules/module_19100.c index 9c9085c87..2808725a6 100644 --- a/src/modules/module_19100.c +++ b/src/modules/module_19100.c @@ -236,6 +236,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_19200.c b/src/modules/module_19200.c index 17be0ba32..6be8af7c9 100644 --- a/src/modules/module_19200.c +++ b/src/modules/module_19200.c @@ -242,6 +242,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_19300.c b/src/modules/module_19300.c index f04017aa7..ef007aae4 100644 --- a/src/modules/module_19300.c +++ b/src/modules/module_19300.c @@ -227,6 +227,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/modules/module_99999.c b/src/modules/module_99999.c index a426a2519..9f745d540 100644 --- a/src/modules/module_99999.c +++ b/src/modules/module_99999.c @@ -160,6 +160,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; module_ctx->module_jit_build_options = MODULE_DEFAULT; + module_ctx->module_jit_cache_disable = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; module_ctx->module_kernel_loops_max = MODULE_DEFAULT; diff --git a/src/opencl.c b/src/opencl.c index 5d2251d8e..16cb12824 100644 --- a/src/opencl.c +++ b/src/opencl.c @@ -4366,18 +4366,23 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx) EVENT_DATA (EVENT_OPENCL_DEVICE_INIT_PRE, &device_id, sizeof (u32)); - const bool unstable_warning = hashconfig->unstable_warning; + /** + * module depending checks + */ - if ((unstable_warning == true) && (user_options->force == false)) + if (module_ctx->module_unstable_warning != MODULE_DEFAULT) { - event_log_warning (hashcat_ctx, "* Device #%u: Skipping unstable hash-mode %u for this device.", device_id + 1, hashconfig->hash_mode); - event_log_warning (hashcat_ctx, " You can use --force to override, but do not report related errors."); + const bool unstable_warning = module_ctx->module_unstable_warning (hashconfig, user_options, user_options_extra, device_param); - device_param->skipped = true; + if ((unstable_warning == true) && (user_options->force == false)) + { + event_log_warning (hashcat_ctx, "* Device #%u: Skipping unstable hash-mode %u for this device.", device_id + 1, hashconfig->hash_mode); + event_log_warning (hashcat_ctx, " You can use --force to override, but do not report related errors."); - device_param->unstable_warning = true; + device_param->skipped = true; - continue; + continue; + } } // vector_width @@ -4853,22 +4858,24 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx) // built options - char build_opts_base[1024] = { 0 }; + const size_t build_options_sz = 4096; + + char *build_options_buf = (char *) hcmalloc (build_options_sz); + + int build_options_len = 0; #if defined (_WIN) - snprintf (build_opts_base, sizeof (build_opts_base), "-cl-std=CL1.2 -I OpenCL -I \"%s\"", folder_config->cpath_real); + build_options_len += snprintf (build_options_buf + build_options_len, build_options_sz - build_options_len, "-cl-std=CL1.2 -I OpenCL -I \"%s\" ", folder_config->cpath_real); #else - snprintf (build_opts_base, sizeof (build_opts_base), "-cl-std=CL1.2 -I OpenCL -I %s", folder_config->cpath_real); + build_options_len += snprintf (build_options_buf + build_options_len, build_options_sz - build_options_len, "-cl-std=CL1.2 -I OpenCL -I %s ", folder_config->cpath_real); #endif // we don't have sm_* on vendors not NV but it doesn't matter - char build_opts[2048] = { 0 }; - #if defined (DEBUG) - snprintf (build_opts, sizeof (build_opts), "%s -D LOCAL_MEM_TYPE=%u -D VENDOR_ID=%u -D CUDA_ARCH=%u -D HAS_VPERM=%u -D HAS_VADD3=%u -D VECT_SIZE=%u -D DEVICE_TYPE=%u -D DGST_R0=%u -D DGST_R1=%u -D DGST_R2=%u -D DGST_R3=%u -D DGST_ELEM=%u -D KERN_TYPE=%u -D _unroll", build_opts_base, device_param->device_local_mem_type, device_param->platform_vendor_id, (device_param->sm_major * 100) + device_param->sm_minor, device_param->has_vperm, device_param->has_vadd3, device_param->vector_width, (u32) device_param->device_type, hashconfig->dgst_pos0, hashconfig->dgst_pos1, hashconfig->dgst_pos2, hashconfig->dgst_pos3, hashconfig->dgst_size / 4, kern_type); + build_options_len += snprintf (build_options_buf + build_options_len, build_options_sz - build_options_len, "-D LOCAL_MEM_TYPE=%u -D VENDOR_ID=%u -D CUDA_ARCH=%u -D HAS_VPERM=%u -D HAS_VADD3=%u -D VECT_SIZE=%u -D DEVICE_TYPE=%u -D DGST_R0=%u -D DGST_R1=%u -D DGST_R2=%u -D DGST_R3=%u -D DGST_ELEM=%u -D KERN_TYPE=%u -D _unroll ", device_param->device_local_mem_type, device_param->platform_vendor_id, (device_param->sm_major * 100) + device_param->sm_minor, device_param->has_vperm, device_param->has_vadd3, device_param->vector_width, (u32) device_param->device_type, hashconfig->dgst_pos0, hashconfig->dgst_pos1, hashconfig->dgst_pos2, hashconfig->dgst_pos3, hashconfig->dgst_size / 4, kern_type); #else - snprintf (build_opts, sizeof (build_opts), "%s -D LOCAL_MEM_TYPE=%u -D VENDOR_ID=%u -D CUDA_ARCH=%u -D HAS_VPERM=%u -D HAS_VADD3=%u -D VECT_SIZE=%u -D DEVICE_TYPE=%u -D DGST_R0=%u -D DGST_R1=%u -D DGST_R2=%u -D DGST_R3=%u -D DGST_ELEM=%u -D KERN_TYPE=%u -D _unroll -w", build_opts_base, device_param->device_local_mem_type, device_param->platform_vendor_id, (device_param->sm_major * 100) + device_param->sm_minor, device_param->has_vperm, device_param->has_vadd3, device_param->vector_width, (u32) device_param->device_type, hashconfig->dgst_pos0, hashconfig->dgst_pos1, hashconfig->dgst_pos2, hashconfig->dgst_pos3, hashconfig->dgst_size / 4, kern_type); + build_options_len += snprintf (build_options_buf + build_options_len, build_options_sz - build_options_len, "-D LOCAL_MEM_TYPE=%u -D VENDOR_ID=%u -D CUDA_ARCH=%u -D HAS_VPERM=%u -D HAS_VADD3=%u -D VECT_SIZE=%u -D DEVICE_TYPE=%u -D DGST_R0=%u -D DGST_R1=%u -D DGST_R2=%u -D DGST_R3=%u -D DGST_ELEM=%u -D KERN_TYPE=%u -D _unroll -w ", device_param->device_local_mem_type, device_param->platform_vendor_id, (device_param->sm_major * 100) + device_param->sm_minor, device_param->has_vperm, device_param->has_vadd3, device_param->vector_width, (u32) device_param->device_type, hashconfig->dgst_pos0, hashconfig->dgst_pos1, hashconfig->dgst_pos2, hashconfig->dgst_pos3, hashconfig->dgst_size / 4, kern_type); #endif /* @@ -4876,13 +4883,30 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx) { if (device_param->platform_vendor_id == VENDOR_ID_INTEL_SDK) { - strncat (build_opts, " -cl-opt-disable", 16); + strncat (build_options_buf, " -cl-opt-disable", 16); } } */ + char *build_options_module_buf = (char *) hcmalloc (build_options_sz); + + int build_options_module_len = 0; + + build_options_module_len += snprintf (build_options_module_buf + build_options_module_len, build_options_sz - build_options_module_len, "%s ", build_options_buf); + + if (module_ctx->module_jit_build_options != MODULE_DEFAULT) + { + char *jit_build_options = module_ctx->module_jit_build_options (hashconfig, user_options, user_options_extra, hashes, device_param); + + if (jit_build_options != NULL) + { + build_options_module_len += snprintf (build_options_module_buf + build_options_module_len, build_options_sz - build_options_module_len, "%s", jit_build_options); + } + } + #if defined (DEBUG) - if (user_options->quiet == false) event_log_warning (hashcat_ctx, "* Device #%u: build_opts '%s'", device_id + 1, build_opts); + if (user_options->quiet == false) event_log_warning (hashcat_ctx, "* Device #%u: build_options '%s'", device_id + 1, build_options_buf); + if (user_options->quiet == false) event_log_warning (hashcat_ctx, "* Device #%u: build_options_module '%s'", device_id + 1, build_options_module_buf); #endif /** @@ -4965,7 +4989,14 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx) char **kernel_sources = &kernel_sources_buf; - if (module_ctx->module_jit_build_options == MODULE_DEFAULT) + bool cache_disable = false; + + if (module_ctx->module_jit_cache_disable != MODULE_DEFAULT) + { + cache_disable = module_ctx->module_jit_cache_disable (hashconfig, user_options, user_options_extra, hashes, device_param); + } + + if (cache_disable == false) { if (cached == false) { @@ -4981,7 +5012,7 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx) if (CL_rc == -1) return -1; - CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program, 1, &device_param->device, build_opts, NULL, NULL); + CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program, 1, &device_param->device, build_options_module_buf, NULL, NULL); //if (CL_rc == -1) return -1; @@ -5045,7 +5076,7 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx) if (CL_rc == -1) return -1; - CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program, 1, &device_param->device, build_opts, NULL, NULL); + CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program, 1, &device_param->device, build_options_module_buf, NULL, NULL); if (CL_rc == -1) return -1; } @@ -5060,24 +5091,7 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx) if (CL_rc == -1) return -1; - char *build_opts_update; - - char *jit_build_options = module_ctx->module_jit_build_options (hashconfig, user_options, user_options_extra, hashes, device_param); - - if (jit_build_options != NULL) - { - hc_asprintf (&build_opts_update, "%s %s", build_opts, jit_build_options); - - hcfree (jit_build_options); - } - else - { - build_opts_update = hcstrdup (build_opts); - } - - CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program, 1, &device_param->device, build_opts_update, NULL, NULL); - - free (build_opts_update); + CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program, 1, &device_param->device, build_options_module_buf, NULL, NULL); //if (CL_rc == -1) return -1; @@ -5117,6 +5131,8 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx) hcfree (kernel_sources[0]); } + hcfree (build_options_module_buf); + /** * word generator kernel */ @@ -5189,7 +5205,7 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx) if (CL_rc == -1) return -1; - CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program_mp, 1, &device_param->device, build_opts, NULL, NULL); + CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program_mp, 1, &device_param->device, build_options_buf, NULL, NULL); //if (CL_rc == -1) return -1; @@ -5251,7 +5267,7 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx) if (CL_rc == -1) return -1; - CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program_mp, 1, &device_param->device, build_opts, NULL, NULL); + CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program_mp, 1, &device_param->device, build_options_buf, NULL, NULL); if (CL_rc == -1) return -1; } @@ -5336,7 +5352,7 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx) if (CL_rc == -1) return -1; - CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program_amp, 1, &device_param->device, build_opts, NULL, NULL); + CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program_amp, 1, &device_param->device, build_options_buf, NULL, NULL); //if (CL_rc == -1) return -1; @@ -5398,12 +5414,14 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx) if (CL_rc == -1) return -1; - CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program_amp, 1, &device_param->device, build_opts, NULL, NULL); + CL_rc = hc_clBuildProgram (hashcat_ctx, device_param->program_amp, 1, &device_param->device, build_options_buf, NULL, NULL); if (CL_rc == -1) return -1; } hcfree (kernel_sources[0]); + + hcfree (build_options_buf); } } @@ -6765,16 +6783,7 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx) // Prevent exit from benchmark mode if all devices are skipped due to unstable hash-modes (macOS) - bool has_unstable_warning = false; - - for (u32 device_id = 0; device_id < opencl_ctx->devices_cnt; device_id++) - { - hc_device_param_t *device_param = &opencl_ctx->devices_param[device_id]; - - if (device_param->unstable_warning == true) has_unstable_warning = true; - } - - if ((hardware_power_all == 0) && (has_unstable_warning == false)) return -1; + if (hardware_power_all == 0) return -1; opencl_ctx->hardware_power_all = hardware_power_all; @@ -6791,15 +6800,6 @@ void opencl_session_destroy (hashcat_ctx_t *hashcat_ctx) { hc_device_param_t *device_param = &opencl_ctx->devices_param[device_id]; - if (device_param->unstable_warning == true) - { - device_param->unstable_warning = false; - - device_param->skipped = false; - - continue; - } - if (device_param->skipped == true) continue; hcfree (device_param->pws_comp);