diff --git a/include/shared.h b/include/shared.h index f1269860d..35d71e285 100644 --- a/include/shared.h +++ b/include/shared.h @@ -1,5 +1,7 @@ /** - * Author......: Jens Steube + * Authors.....: Jens Steube + * Gabriele Gristina + * * License.....: MIT */ @@ -87,10 +89,12 @@ #define CL_VENDOR_NV "NVIDIA Corporation" #define CL_VENDOR_AMD "Advanced Micro Devices, Inc." +#define CL_VENDOR_APPLE "Apple" #define CL_VENDOR_POCL "The pocl project" #define VENDOR_ID_AMD 4098 #define VENDOR_ID_NV 4318 +#define VENDOR_ID_APPLE 16925952 #define VENDOR_ID_GENERIC 9999 #define BLOCK_SIZE 64 @@ -165,9 +169,47 @@ extern hc_thread_mutex_t mux_display; #define PW_LENGTH_MAX_7400 15 /** - * device accel / loops macro + * device accel macro */ +#define KERNEL_ACCEL_OSX_5000 16 +#define KERNEL_ACCEL_OSX_6100 1 +#define KERNEL_ACCEL_OSX_6211 4 +#define KERNEL_ACCEL_OSX_6231 1 +#define KERNEL_ACCEL_OSX_6241 4 +#define KERNEL_ACCEL_OSX_8200 1 +#define KERNEL_ACCEL_OSX_8700 2 +#define KERNEL_ACCEL_OSX_9500 1 +#define KERNEL_ACCEL_OSX_9600 1 +#define KERNEL_ACCEL_OSX_10500 4 +#define KERNEL_ACCEL_OSX_11300 1 +#define KERNEL_ACCEL_OSX_11600 1 +#define KERNEL_ACCEL_OSX_11700 1 +#define KERNEL_ACCEL_OSX_11800 1 +#define KERNEL_ACCEL_OSX_12200 1 +#define KERNEL_ACCEL_OSX_12400 1 +#define KERNEL_ACCEL_OSX_12500 1 +#define KERNEL_ACCEL_OSX_13000 1 + +#define KERNEL_ACCEL_STD_5000 64 +#define KERNEL_ACCEL_STD_6100 8 +#define KERNEL_ACCEL_STD_6211 16 +#define KERNEL_ACCEL_STD_6231 4 +#define KERNEL_ACCEL_STD_6241 32 +#define KERNEL_ACCEL_STD_8200 2 +#define KERNEL_ACCEL_STD_8700 8 +#define KERNEL_ACCEL_STD_9500 8 +#define KERNEL_ACCEL_STD_9600 2 +#define KERNEL_ACCEL_STD_10500 64 +#define KERNEL_ACCEL_STD_11300 2 +#define KERNEL_ACCEL_STD_11600 2 +#define KERNEL_ACCEL_STD_11700 4 +#define KERNEL_ACCEL_STD_11800 4 +#define KERNEL_ACCEL_STD_12200 2 +#define KERNEL_ACCEL_STD_12400 64 +#define KERNEL_ACCEL_STD_12500 8 +#define KERNEL_ACCEL_STD_13000 8 + #define KERNEL_ACCEL_0 128 #define KERNEL_ACCEL_10 128 #define KERNEL_ACCEL_11 128 @@ -250,7 +292,6 @@ extern hc_thread_mutex_t mux_display; #define KERNEL_ACCEL_4700 64 #define KERNEL_ACCEL_4800 128 #define KERNEL_ACCEL_4900 64 -#define KERNEL_ACCEL_5000 64 #define KERNEL_ACCEL_5100 64 #define KERNEL_ACCEL_5200 8 #define KERNEL_ACCEL_5300 32 @@ -260,17 +301,13 @@ extern hc_thread_mutex_t mux_display; #define KERNEL_ACCEL_5700 64 #define KERNEL_ACCEL_5800 8 #define KERNEL_ACCEL_6000 64 -#define KERNEL_ACCEL_6100 8 -#define KERNEL_ACCEL_6211 16 #define KERNEL_ACCEL_6212 8 #define KERNEL_ACCEL_6213 8 #define KERNEL_ACCEL_6221 4 #define KERNEL_ACCEL_6222 4 #define KERNEL_ACCEL_6223 4 -#define KERNEL_ACCEL_6231 4 #define KERNEL_ACCEL_6232 4 #define KERNEL_ACCEL_6233 4 -#define KERNEL_ACCEL_6241 32 #define KERNEL_ACCEL_6242 16 #define KERNEL_ACCEL_6243 16 #define KERNEL_ACCEL_6300 8 @@ -291,12 +328,10 @@ extern hc_thread_mutex_t mux_display; #define KERNEL_ACCEL_7900 2 #define KERNEL_ACCEL_8000 8 #define KERNEL_ACCEL_8100 64 -#define KERNEL_ACCEL_8200 2 #define KERNEL_ACCEL_8300 64 #define KERNEL_ACCEL_8400 64 #define KERNEL_ACCEL_8500 64 #define KERNEL_ACCEL_8600 8 -#define KERNEL_ACCEL_8700 8 #define KERNEL_ACCEL_8800 8 #define KERNEL_ACCEL_8900 16 #define KERNEL_ACCEL_9000 2 @@ -304,8 +339,6 @@ extern hc_thread_mutex_t mux_display; #define KERNEL_ACCEL_9200 2 #define KERNEL_ACCEL_9300 2 #define KERNEL_ACCEL_9400 8 -#define KERNEL_ACCEL_9500 8 -#define KERNEL_ACCEL_9600 2 #define KERNEL_ACCEL_9700 8 #define KERNEL_ACCEL_9710 8 #define KERNEL_ACCEL_9720 8 @@ -320,7 +353,6 @@ extern hc_thread_mutex_t mux_display; #define KERNEL_ACCEL_10400 8 #define KERNEL_ACCEL_10410 8 #define KERNEL_ACCEL_10420 8 -#define KERNEL_ACCEL_10500 64 #define KERNEL_ACCEL_10600 64 #define KERNEL_ACCEL_10700 1 #define KERNEL_ACCEL_10800 64 @@ -328,127 +360,281 @@ extern hc_thread_mutex_t mux_display; #define KERNEL_ACCEL_11000 64 #define KERNEL_ACCEL_11100 64 #define KERNEL_ACCEL_11200 64 -#define KERNEL_ACCEL_11300 2 #define KERNEL_ACCEL_11400 8 #define KERNEL_ACCEL_11500 128 -#define KERNEL_ACCEL_11600 2 -#define KERNEL_ACCEL_11700 4 -#define KERNEL_ACCEL_11800 4 #define KERNEL_ACCEL_11900 2 #define KERNEL_ACCEL_12000 2 #define KERNEL_ACCEL_12100 2 -#define KERNEL_ACCEL_12200 2 #define KERNEL_ACCEL_12300 2 -#define KERNEL_ACCEL_12400 64 -#define KERNEL_ACCEL_12500 8 #define KERNEL_ACCEL_12600 32 #define KERNEL_ACCEL_12700 64 #define KERNEL_ACCEL_12800 64 #define KERNEL_ACCEL_12900 8 -#define KERNEL_ACCEL_13000 8 - -#define KERNEL_LOOPS_0 256 -#define KERNEL_LOOPS_10 256 -#define KERNEL_LOOPS_11 256 -#define KERNEL_LOOPS_12 256 -#define KERNEL_LOOPS_20 256 -#define KERNEL_LOOPS_21 256 -#define KERNEL_LOOPS_22 256 -#define KERNEL_LOOPS_23 256 -#define KERNEL_LOOPS_30 256 -#define KERNEL_LOOPS_40 256 -#define KERNEL_LOOPS_50 64 -#define KERNEL_LOOPS_60 64 -#define KERNEL_LOOPS_100 128 -#define KERNEL_LOOPS_101 128 -#define KERNEL_LOOPS_110 128 -#define KERNEL_LOOPS_111 128 -#define KERNEL_LOOPS_112 128 -#define KERNEL_LOOPS_120 128 -#define KERNEL_LOOPS_121 128 -#define KERNEL_LOOPS_122 128 -#define KERNEL_LOOPS_124 128 -#define KERNEL_LOOPS_130 128 -#define KERNEL_LOOPS_131 128 -#define KERNEL_LOOPS_132 128 -#define KERNEL_LOOPS_133 128 -#define KERNEL_LOOPS_140 128 -#define KERNEL_LOOPS_141 128 -#define KERNEL_LOOPS_150 64 -#define KERNEL_LOOPS_160 64 -#define KERNEL_LOOPS_190 128 -#define KERNEL_LOOPS_200 128 -#define KERNEL_LOOPS_300 64 + +/** + * device loops macro + */ + +#define KERNEL_LOOPS_OSX_0 2 +#define KERNEL_LOOPS_OSX_10 2 +#define KERNEL_LOOPS_OSX_11 2 +#define KERNEL_LOOPS_OSX_12 2 +#define KERNEL_LOOPS_OSX_20 2 +#define KERNEL_LOOPS_OSX_21 2 +#define KERNEL_LOOPS_OSX_22 2 +#define KERNEL_LOOPS_OSX_23 2 +#define KERNEL_LOOPS_OSX_30 2 +#define KERNEL_LOOPS_OSX_40 2 +#define KERNEL_LOOPS_OSX_50 2 +#define KERNEL_LOOPS_OSX_60 2 +#define KERNEL_LOOPS_OSX_100 2 +#define KERNEL_LOOPS_OSX_101 2 +#define KERNEL_LOOPS_OSX_110 2 +#define KERNEL_LOOPS_OSX_111 2 +#define KERNEL_LOOPS_OSX_112 2 +#define KERNEL_LOOPS_OSX_120 2 +#define KERNEL_LOOPS_OSX_121 2 +#define KERNEL_LOOPS_OSX_122 2 +#define KERNEL_LOOPS_OSX_124 2 +#define KERNEL_LOOPS_OSX_130 2 +#define KERNEL_LOOPS_OSX_131 2 +#define KERNEL_LOOPS_OSX_132 2 +#define KERNEL_LOOPS_OSX_133 2 +#define KERNEL_LOOPS_OSX_140 2 +#define KERNEL_LOOPS_OSX_141 2 +#define KERNEL_LOOPS_OSX_150 2 +#define KERNEL_LOOPS_OSX_160 2 +#define KERNEL_LOOPS_OSX_190 2 +#define KERNEL_LOOPS_OSX_200 2 +#define KERNEL_LOOPS_OSX_300 2 +#define KERNEL_LOOPS_OSX_900 2 +#define KERNEL_LOOPS_OSX_1000 2 +#define KERNEL_LOOPS_OSX_1100 2 +#define KERNEL_LOOPS_OSX_1400 2 +#define KERNEL_LOOPS_OSX_1410 2 +#define KERNEL_LOOPS_OSX_1420 2 +#define KERNEL_LOOPS_OSX_1421 2 +#define KERNEL_LOOPS_OSX_1430 2 +#define KERNEL_LOOPS_OSX_1440 2 +#define KERNEL_LOOPS_OSX_1441 2 +#define KERNEL_LOOPS_OSX_1450 2 +#define KERNEL_LOOPS_OSX_1460 2 +#define KERNEL_LOOPS_OSX_1700 2 +#define KERNEL_LOOPS_OSX_1710 2 +#define KERNEL_LOOPS_OSX_1711 2 +#define KERNEL_LOOPS_OSX_1720 2 +#define KERNEL_LOOPS_OSX_1722 2 +#define KERNEL_LOOPS_OSX_1730 2 +#define KERNEL_LOOPS_OSX_1731 2 +#define KERNEL_LOOPS_OSX_1740 2 +#define KERNEL_LOOPS_OSX_1750 2 +#define KERNEL_LOOPS_OSX_1760 2 +#define KERNEL_LOOPS_OSX_2400 2 +#define KERNEL_LOOPS_OSX_2410 2 +#define KERNEL_LOOPS_OSX_2600 2 +#define KERNEL_LOOPS_OSX_2611 2 +#define KERNEL_LOOPS_OSX_2612 2 +#define KERNEL_LOOPS_OSX_2711 2 +#define KERNEL_LOOPS_OSX_2811 2 +#define KERNEL_LOOPS_OSX_3100 2 +#define KERNEL_LOOPS_OSX_3200 4 +#define KERNEL_LOOPS_OSX_3710 2 +#define KERNEL_LOOPS_OSX_3711 2 +#define KERNEL_LOOPS_OSX_3800 2 +#define KERNEL_LOOPS_OSX_4300 2 +#define KERNEL_LOOPS_OSX_4400 2 +#define KERNEL_LOOPS_OSX_4500 2 +#define KERNEL_LOOPS_OSX_4700 2 +#define KERNEL_LOOPS_OSX_4800 2 +#define KERNEL_LOOPS_OSX_4900 2 +#define KERNEL_LOOPS_OSX_5000 2 +#define KERNEL_LOOPS_OSX_5100 2 +#define KERNEL_LOOPS_OSX_5300 2 +#define KERNEL_LOOPS_OSX_5400 2 +#define KERNEL_LOOPS_OSX_5500 2 +#define KERNEL_LOOPS_OSX_5600 2 +#define KERNEL_LOOPS_OSX_5700 2 +#define KERNEL_LOOPS_OSX_6000 2 +#define KERNEL_LOOPS_OSX_6100 2 +#define KERNEL_LOOPS_OSX_6231 2 +#define KERNEL_LOOPS_OSX_6232 2 +#define KERNEL_LOOPS_OSX_6233 2 +#define KERNEL_LOOPS_OSX_6900 2 +#define KERNEL_LOOPS_OSX_7300 2 +#define KERNEL_LOOPS_OSX_7500 2 +#define KERNEL_LOOPS_OSX_7600 2 +#define KERNEL_LOOPS_OSX_7700 2 +#define KERNEL_LOOPS_OSX_7800 2 +#define KERNEL_LOOPS_OSX_8000 2 +#define KERNEL_LOOPS_OSX_8100 2 +#define KERNEL_LOOPS_OSX_8300 2 +#define KERNEL_LOOPS_OSX_8400 2 +#define KERNEL_LOOPS_OSX_8500 2 +#define KERNEL_LOOPS_OSX_8600 2 +#define KERNEL_LOOPS_OSX_8700 4 +#define KERNEL_LOOPS_OSX_9700 2 +#define KERNEL_LOOPS_OSX_9710 8 +#define KERNEL_LOOPS_OSX_9720 8 +#define KERNEL_LOOPS_OSX_9800 2 +#define KERNEL_LOOPS_OSX_9810 2 +#define KERNEL_LOOPS_OSX_9820 2 +#define KERNEL_LOOPS_OSX_9900 2 +#define KERNEL_LOOPS_OSX_10100 2 +#define KERNEL_LOOPS_OSX_10200 2 +#define KERNEL_LOOPS_OSX_10400 2 +#define KERNEL_LOOPS_OSX_10410 2 +#define KERNEL_LOOPS_OSX_10420 2 +#define KERNEL_LOOPS_OSX_10600 2 +#define KERNEL_LOOPS_OSX_10700 2 +#define KERNEL_LOOPS_OSX_10800 2 +#define KERNEL_LOOPS_OSX_11000 2 +#define KERNEL_LOOPS_OSX_11100 2 +#define KERNEL_LOOPS_OSX_11200 2 +#define KERNEL_LOOPS_OSX_11400 2 +#define KERNEL_LOOPS_OSX_11500 2 +#define KERNEL_LOOPS_OSX_11700 8 +#define KERNEL_LOOPS_OSX_11800 8 +#define KERNEL_LOOPS_OSX_12600 2 + +#define KERNEL_LOOPS_STD_0 256 +#define KERNEL_LOOPS_STD_10 256 +#define KERNEL_LOOPS_STD_11 256 +#define KERNEL_LOOPS_STD_12 256 +#define KERNEL_LOOPS_STD_20 256 +#define KERNEL_LOOPS_STD_21 256 +#define KERNEL_LOOPS_STD_22 256 +#define KERNEL_LOOPS_STD_23 256 +#define KERNEL_LOOPS_STD_30 256 +#define KERNEL_LOOPS_STD_40 256 +#define KERNEL_LOOPS_STD_50 64 +#define KERNEL_LOOPS_STD_60 64 +#define KERNEL_LOOPS_STD_100 128 +#define KERNEL_LOOPS_STD_101 128 +#define KERNEL_LOOPS_STD_110 128 +#define KERNEL_LOOPS_STD_111 128 +#define KERNEL_LOOPS_STD_112 128 +#define KERNEL_LOOPS_STD_120 128 +#define KERNEL_LOOPS_STD_121 128 +#define KERNEL_LOOPS_STD_122 128 +#define KERNEL_LOOPS_STD_124 128 +#define KERNEL_LOOPS_STD_130 128 +#define KERNEL_LOOPS_STD_131 128 +#define KERNEL_LOOPS_STD_132 128 +#define KERNEL_LOOPS_STD_133 128 +#define KERNEL_LOOPS_STD_140 128 +#define KERNEL_LOOPS_STD_141 128 +#define KERNEL_LOOPS_STD_150 64 +#define KERNEL_LOOPS_STD_160 64 +#define KERNEL_LOOPS_STD_190 128 +#define KERNEL_LOOPS_STD_200 128 +#define KERNEL_LOOPS_STD_300 64 +#define KERNEL_LOOPS_STD_900 256 +#define KERNEL_LOOPS_STD_1000 256 +#define KERNEL_LOOPS_STD_1100 128 +#define KERNEL_LOOPS_STD_1400 64 +#define KERNEL_LOOPS_STD_1410 64 +#define KERNEL_LOOPS_STD_1420 64 +#define KERNEL_LOOPS_STD_1421 64 +#define KERNEL_LOOPS_STD_1430 64 +#define KERNEL_LOOPS_STD_1440 64 +#define KERNEL_LOOPS_STD_1441 64 +#define KERNEL_LOOPS_STD_1450 32 +#define KERNEL_LOOPS_STD_1460 32 +#define KERNEL_LOOPS_STD_1700 32 +#define KERNEL_LOOPS_STD_1710 32 +#define KERNEL_LOOPS_STD_1711 32 +#define KERNEL_LOOPS_STD_1720 32 +#define KERNEL_LOOPS_STD_1722 32 +#define KERNEL_LOOPS_STD_1730 32 +#define KERNEL_LOOPS_STD_1731 32 +#define KERNEL_LOOPS_STD_1740 32 +#define KERNEL_LOOPS_STD_1750 16 +#define KERNEL_LOOPS_STD_1760 16 +#define KERNEL_LOOPS_STD_2400 256 +#define KERNEL_LOOPS_STD_2410 256 +#define KERNEL_LOOPS_STD_2600 128 +#define KERNEL_LOOPS_STD_2611 128 +#define KERNEL_LOOPS_STD_2612 128 +#define KERNEL_LOOPS_STD_2711 64 +#define KERNEL_LOOPS_STD_2811 64 +#define KERNEL_LOOPS_STD_3100 16 +#define KERNEL_LOOPS_STD_3200 16 +#define KERNEL_LOOPS_STD_3710 128 +#define KERNEL_LOOPS_STD_3711 128 +#define KERNEL_LOOPS_STD_3800 256 +#define KERNEL_LOOPS_STD_4300 128 +#define KERNEL_LOOPS_STD_4400 128 +#define KERNEL_LOOPS_STD_4500 128 +#define KERNEL_LOOPS_STD_4700 128 +#define KERNEL_LOOPS_STD_4800 256 +#define KERNEL_LOOPS_STD_4900 128 +#define KERNEL_LOOPS_STD_5000 64 +#define KERNEL_LOOPS_STD_5100 256 +#define KERNEL_LOOPS_STD_5300 32 +#define KERNEL_LOOPS_STD_5400 32 +#define KERNEL_LOOPS_STD_5500 128 +#define KERNEL_LOOPS_STD_5600 64 +#define KERNEL_LOOPS_STD_5700 64 +#define KERNEL_LOOPS_STD_6000 64 +#define KERNEL_LOOPS_STD_6100 64 +#define KERNEL_LOOPS_STD_6231 200 +#define KERNEL_LOOPS_STD_6232 200 +#define KERNEL_LOOPS_STD_6233 200 +#define KERNEL_LOOPS_STD_6900 64 +#define KERNEL_LOOPS_STD_7300 64 +#define KERNEL_LOOPS_STD_7500 16 +#define KERNEL_LOOPS_STD_7600 128 +#define KERNEL_LOOPS_STD_7700 128 +#define KERNEL_LOOPS_STD_7800 64 +#define KERNEL_LOOPS_STD_8000 64 +#define KERNEL_LOOPS_STD_8100 128 +#define KERNEL_LOOPS_STD_8300 64 +#define KERNEL_LOOPS_STD_8400 64 +#define KERNEL_LOOPS_STD_8500 16 +#define KERNEL_LOOPS_STD_8600 16 +#define KERNEL_LOOPS_STD_8700 16 +#define KERNEL_LOOPS_STD_9700 200 +#define KERNEL_LOOPS_STD_9710 200 +#define KERNEL_LOOPS_STD_9720 200 +#define KERNEL_LOOPS_STD_9800 200 +#define KERNEL_LOOPS_STD_9820 200 +#define KERNEL_LOOPS_STD_9810 200 +#define KERNEL_LOOPS_STD_9900 256 +#define KERNEL_LOOPS_STD_10100 512 +#define KERNEL_LOOPS_STD_10200 64 +#define KERNEL_LOOPS_STD_10400 256 +#define KERNEL_LOOPS_STD_10410 256 +#define KERNEL_LOOPS_STD_10420 256 +#define KERNEL_LOOPS_STD_10600 64 +#define KERNEL_LOOPS_STD_10700 64 +#define KERNEL_LOOPS_STD_10800 32 +#define KERNEL_LOOPS_STD_11000 256 +#define KERNEL_LOOPS_STD_11100 128 +#define KERNEL_LOOPS_STD_11200 128 +#define KERNEL_LOOPS_STD_11400 128 +#define KERNEL_LOOPS_STD_11500 256 +#define KERNEL_LOOPS_STD_11700 64 +#define KERNEL_LOOPS_STD_11800 64 +#define KERNEL_LOOPS_STD_12600 32 + #define KERNEL_LOOPS_400 256 #define KERNEL_LOOPS_500 256 #define KERNEL_LOOPS_501 256 -#define KERNEL_LOOPS_900 256 #define KERNEL_LOOPS_910 256 -#define KERNEL_LOOPS_1000 256 -#define KERNEL_LOOPS_1100 128 -#define KERNEL_LOOPS_1400 64 -#define KERNEL_LOOPS_1410 64 -#define KERNEL_LOOPS_1420 64 -#define KERNEL_LOOPS_1421 64 -#define KERNEL_LOOPS_1430 64 -#define KERNEL_LOOPS_1440 64 -#define KERNEL_LOOPS_1441 64 -#define KERNEL_LOOPS_1450 32 -#define KERNEL_LOOPS_1460 32 #define KERNEL_LOOPS_1500 256 #define KERNEL_LOOPS_1600 256 -#define KERNEL_LOOPS_1700 32 -#define KERNEL_LOOPS_1710 32 -#define KERNEL_LOOPS_1711 32 -#define KERNEL_LOOPS_1720 32 -#define KERNEL_LOOPS_1722 32 -#define KERNEL_LOOPS_1730 32 -#define KERNEL_LOOPS_1731 32 -#define KERNEL_LOOPS_1740 32 -#define KERNEL_LOOPS_1750 16 -#define KERNEL_LOOPS_1760 16 #define KERNEL_LOOPS_1800 16 #define KERNEL_LOOPS_2100 256 -#define KERNEL_LOOPS_2400 256 -#define KERNEL_LOOPS_2410 256 #define KERNEL_LOOPS_2500 256 -#define KERNEL_LOOPS_2600 128 -#define KERNEL_LOOPS_2611 128 -#define KERNEL_LOOPS_2612 128 -#define KERNEL_LOOPS_2711 64 -#define KERNEL_LOOPS_2811 64 #define KERNEL_LOOPS_3000 256 -#define KERNEL_LOOPS_3100 16 -#define KERNEL_LOOPS_3200 16 -#define KERNEL_LOOPS_3710 128 -#define KERNEL_LOOPS_3711 128 -#define KERNEL_LOOPS_3800 256 -#define KERNEL_LOOPS_4300 128 -#define KERNEL_LOOPS_4400 128 -#define KERNEL_LOOPS_4500 128 -#define KERNEL_LOOPS_4700 128 -#define KERNEL_LOOPS_4800 256 -#define KERNEL_LOOPS_4900 128 -#define KERNEL_LOOPS_5000 64 -#define KERNEL_LOOPS_5100 256 #define KERNEL_LOOPS_5200 256 -#define KERNEL_LOOPS_5300 32 -#define KERNEL_LOOPS_5400 32 -#define KERNEL_LOOPS_5500 128 -#define KERNEL_LOOPS_5600 64 -#define KERNEL_LOOPS_5700 64 #define KERNEL_LOOPS_5800 256 -#define KERNEL_LOOPS_6000 64 -#define KERNEL_LOOPS_6100 64 #define KERNEL_LOOPS_6211 200 #define KERNEL_LOOPS_6212 200 #define KERNEL_LOOPS_6213 200 #define KERNEL_LOOPS_6221 200 #define KERNEL_LOOPS_6222 200 #define KERNEL_LOOPS_6223 200 -#define KERNEL_LOOPS_6231 200 -#define KERNEL_LOOPS_6232 200 -#define KERNEL_LOOPS_6233 200 #define KERNEL_LOOPS_6241 200 #define KERNEL_LOOPS_6242 200 #define KERNEL_LOOPS_6243 200 @@ -458,24 +644,11 @@ extern hc_thread_mutex_t mux_display; #define KERNEL_LOOPS_6600 200 #define KERNEL_LOOPS_6700 256 #define KERNEL_LOOPS_6800 200 -#define KERNEL_LOOPS_6900 64 #define KERNEL_LOOPS_7100 256 #define KERNEL_LOOPS_7200 200 -#define KERNEL_LOOPS_7300 64 #define KERNEL_LOOPS_7400 200 -#define KERNEL_LOOPS_7500 16 -#define KERNEL_LOOPS_7600 128 -#define KERNEL_LOOPS_7700 128 -#define KERNEL_LOOPS_7800 64 #define KERNEL_LOOPS_7900 256 -#define KERNEL_LOOPS_8000 64 -#define KERNEL_LOOPS_8100 128 #define KERNEL_LOOPS_8200 200 -#define KERNEL_LOOPS_8300 64 -#define KERNEL_LOOPS_8400 64 -#define KERNEL_LOOPS_8500 16 -#define KERNEL_LOOPS_8600 16 -#define KERNEL_LOOPS_8700 16 #define KERNEL_LOOPS_8800 256 #define KERNEL_LOOPS_8900 1 #define KERNEL_LOOPS_9000 16 @@ -485,34 +658,12 @@ extern hc_thread_mutex_t mux_display; #define KERNEL_LOOPS_9400 200 #define KERNEL_LOOPS_9500 200 #define KERNEL_LOOPS_9600 200 -#define KERNEL_LOOPS_9700 200 -#define KERNEL_LOOPS_9710 200 -#define KERNEL_LOOPS_9720 200 -#define KERNEL_LOOPS_9800 200 -#define KERNEL_LOOPS_9810 200 -#define KERNEL_LOOPS_9820 200 -#define KERNEL_LOOPS_9900 256 #define KERNEL_LOOPS_10000 200 -#define KERNEL_LOOPS_10100 512 -#define KERNEL_LOOPS_10200 64 #define KERNEL_LOOPS_10300 128 -#define KERNEL_LOOPS_10400 256 -#define KERNEL_LOOPS_10410 256 -#define KERNEL_LOOPS_10420 256 #define KERNEL_LOOPS_10500 64 -#define KERNEL_LOOPS_10600 64 -#define KERNEL_LOOPS_10700 64 -#define KERNEL_LOOPS_10800 32 #define KERNEL_LOOPS_10900 200 -#define KERNEL_LOOPS_11000 256 -#define KERNEL_LOOPS_11100 128 -#define KERNEL_LOOPS_11200 128 #define KERNEL_LOOPS_11300 256 -#define KERNEL_LOOPS_11400 128 -#define KERNEL_LOOPS_11500 256 #define KERNEL_LOOPS_11600 512 -#define KERNEL_LOOPS_11700 64 -#define KERNEL_LOOPS_11800 64 #define KERNEL_LOOPS_11900 200 #define KERNEL_LOOPS_12000 200 #define KERNEL_LOOPS_12100 200 @@ -520,7 +671,6 @@ extern hc_thread_mutex_t mux_display; #define KERNEL_LOOPS_12300 256 #define KERNEL_LOOPS_12400 256 #define KERNEL_LOOPS_12500 256 -#define KERNEL_LOOPS_12600 32 #define KERNEL_LOOPS_12700 10 #define KERNEL_LOOPS_12800 100 #define KERNEL_LOOPS_12900 64 @@ -1469,14 +1619,14 @@ extern hc_thread_mutex_t mux_display; */ #define DGST_SIZE_0 0 -#define DGST_SIZE_4_2 (2 * sizeof (uint)) // 8 -#define DGST_SIZE_4_4 (4 * sizeof (uint)) // 16 -#define DGST_SIZE_4_5 (5 * sizeof (uint)) // 20 -#define DGST_SIZE_4_6 (6 * sizeof (uint)) // 24 -#define DGST_SIZE_4_8 (8 * sizeof (uint)) // 32 -#define DGST_SIZE_4_16 (16 * sizeof (uint)) // 64 !!! -#define DGST_SIZE_4_32 (32 * sizeof (uint)) // 128 !!! -#define DGST_SIZE_4_64 (64 * sizeof (uint)) // 256 +#define DGST_SIZE_4_2 (2 * sizeof (uint)) // 8 +#define DGST_SIZE_4_4 (4 * sizeof (uint)) // 16 +#define DGST_SIZE_4_5 (5 * sizeof (uint)) // 20 +#define DGST_SIZE_4_6 (6 * sizeof (uint)) // 24 +#define DGST_SIZE_4_8 (8 * sizeof (uint)) // 32 +#define DGST_SIZE_4_16 (16 * sizeof (uint)) // 64 !!! +#define DGST_SIZE_4_32 (32 * sizeof (uint)) // 128 !!! +#define DGST_SIZE_4_64 (64 * sizeof (uint)) // 256 #define DGST_SIZE_8_8 (8 * sizeof (u64)) // 64 !!! #define DGST_SIZE_8_16 (16 * sizeof (u64)) // 128 !!! #define DGST_SIZE_8_25 (25 * sizeof (u64)) // 200 diff --git a/src/Makefile b/src/Makefile index 9ba0d2099..5da40f39d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -125,7 +125,7 @@ VERSION_SUM := $(shell git describe --tags --dirty=+ | cut -d- -f3) CFLAGS := -O2 -pipe -W -Wall -std=c99 -Iinclude/ ifeq ($(DEBUG),1) -CFLAGS += -g -ggdb -fsanitize=address -fno-omit-frame-pointer +CFLAGS += -DDEBUG -g -ggdb -fsanitize=address -fno-omit-frame-pointer endif ## diff --git a/src/oclHashcat.c b/src/oclHashcat.c index bd689834f..6b2e85939 100644 --- a/src/oclHashcat.c +++ b/src/oclHashcat.c @@ -160,10 +160,10 @@ static uint default_benchmark_algorithms[NUM_DEFAULT_BENCHMARK_ALGORITHMS] = 5000, 10100, 6000, - 6100, - 6900, - 11700, - 11800, + 6100, // broken in osx + 6900, // broken in osx + 11700, // broken in osx + 11800, // broken in osx 400, 8900, 11900, @@ -172,55 +172,55 @@ static uint default_benchmark_algorithms[NUM_DEFAULT_BENCHMARK_ALGORITHMS] = 12100, 23, 2500, - 5300, - 5400, - 5500, - 5600, + 5300, // broken in osx + 5400, // broken in osx + 5500, // broken in osx + 5600, // broken in osx 7300, - 7500, + 7500, // broken in osx 8300, - 11100, + 11100, // broken in osx 11200, - 11400, + 11400, // broken in osx 121, - 2611, - 2711, - 2811, - 8400, + 2611, // broken in osx + 2711, // broken in osx + 2811, // broken in osx + 8400, // broken in osx 11, - 2612, + 2612, // broken in osx 7900, 21, 11000, 124, 10000, - 3711, - 7600, + 3711, // broken in osx + 7600, // broken in osx 12, 131, 132, 1731, 200, 300, - 3100, + 3100, // broken in osx 112, 12300, - 8000, + 8000, // broken in osx 141, 1441, 1600, - 12600, + 12600, // broken in osx 1421, 101, 111, 1711, - 3000, + 3000, // broken in osx 1000, 1100, 2100, 12800, - 1500, - 12400, + 1500, // broken in osx + 12400, // broken in osx 500, 3200, 7400, @@ -241,45 +241,45 @@ static uint default_benchmark_algorithms[NUM_DEFAULT_BENCHMARK_ALGORITHMS] = 501, 5800, 8100, - 8500, + 8500, // broken in osx 7200, 9900, 7700, 7800, 10300, - 8600, - 8700, - 9100, + 8600, // broken in osx + 8700, // broken in osx + 9100, // broken in osx 133, - 11600, - 12500, + 11600, // broken in osx + 12500, // broken in osx 13000, 6211, 6221, - 6231, + 6231, // broken in osx 6241, - 8800, + 8800, // broken in osx 12900, 12200, - 9700, - 9710, - 9800, - 9810, - 9400, - 9500, - 9600, - 10400, - 10410, + 9700, // broken in osx + 9710, // broken in osx + 9800, // broken in osx + 9810, // broken in osx + 9400, // broken in osx + 9500, // broken in osx + 9600, // broken in osx + 10400, // broken in osx + 10410, // broken in osx 10500, 10600, - 10700, + 10700, // broken in osx 9000, 5200, - 6800, - 6600, + 6800, // broken in osx + 6600, // broken in osx 8200, - 11300, - 12700 + 11300, // broken in osx + 12700 // broken in osx }; /** @@ -11383,7 +11383,9 @@ int main (int argc, char **argv) kernel_accel = 16; break; case 6211: kernel_loops = ROUNDS_TRUECRYPT_2K; + #ifndef OSX kernel_accel = 64; + #endif break; case 6212: kernel_loops = ROUNDS_TRUECRYPT_2K; kernel_accel = 32; @@ -11410,7 +11412,9 @@ int main (int argc, char **argv) kernel_accel = 8; break; case 6241: kernel_loops = ROUNDS_TRUECRYPT_1K; + #ifndef OSX kernel_accel = 128; + #endif break; case 6242: kernel_loops = ROUNDS_TRUECRYPT_1K; kernel_accel = 64; @@ -11440,7 +11444,9 @@ int main (int argc, char **argv) kernel_accel = 8; break; case 7200: kernel_loops = ROUNDS_GRUB; + #ifndef OSX kernel_accel = 16; + #endif break; case 7400: kernel_loops = ROUNDS_SHA256CRYPT; kernel_accel = 8; @@ -13190,6 +13196,37 @@ int main (int argc, char **argv) #endif // HAVE_ADK #endif // HAVE_HWMON + #ifdef OSX + /* + * List of OSX kernel to fix + */ + if ((hash_mode == 6100) || (hash_mode == 6900) || (hash_mode == 11700) || (hash_mode == 11800) || (hash_mode == 5300) || \ + (hash_mode == 5400) || (hash_mode == 5500) || (hash_mode == 5600) || (hash_mode == 7500) || (hash_mode == 11100) || \ + (hash_mode == 11400) || (hash_mode == 2611) || (hash_mode == 2711) || (hash_mode == 2811) || (hash_mode == 8400) || \ + (hash_mode == 2612) || (hash_mode == 3711) || (hash_mode == 7600) || (hash_mode == 3100) || (hash_mode == 8000) || \ + (hash_mode == 12600) || (hash_mode == 3000) || (hash_mode == 1500) || (hash_mode == 12400) || (hash_mode == 8500) || \ + (hash_mode == 8600) || (hash_mode == 8700) || (hash_mode == 9100) || (hash_mode == 11600) || (hash_mode == 12500) || \ + (hash_mode == 6231) || (hash_mode == 8800) || (hash_mode == 9700) || (hash_mode == 9710) || (hash_mode == 9800) || \ + (hash_mode == 9810) || (hash_mode == 9400) || (hash_mode == 9500) || (hash_mode == 9600) || (hash_mode == 10400) || \ + (hash_mode == 10410) || (hash_mode == 10700) || (hash_mode == 6800) || (hash_mode == 6600) || (hash_mode == 11300) || \ + (hash_mode == 12700)) + { + if (force == 0) + { + log_info (""); + log_info ("Warning: Hash mode %d is not stable in OSX.", hash_mode); + log_info ("You can use --force to override this but do not post error reports if you do so"); + log_info (""); + + continue; + } + } + #endif + + #ifdef DEBUG + if (benchmark == 1) log_info ("Hashmode: %d", data.hash_mode); + #endif + uint kernel_blocks_all = 0; for (uint device_id = 0; device_id < devices_cnt; device_id++) @@ -15621,9 +15658,9 @@ int main (int argc, char **argv) // some more resets: - memset (device_param->pw_caches, 0, 64 * sizeof (pw_cache_t)); + if (device_param->pw_caches) memset (device_param->pw_caches, 0, 64 * sizeof (pw_cache_t)); - memset (device_param->pws_buf, 0, device_param->size_pws); + if (device_param->pws_buf) memset (device_param->pws_buf, 0, device_param->size_pws); device_param->pw_cnt = 0; device_param->pws_cnt = 0; diff --git a/src/shared.c b/src/shared.c index a259c796b..cb4901469 100644 --- a/src/shared.c +++ b/src/shared.c @@ -16,6 +16,14 @@ * tuning tools */ +#ifdef OSX +#define GET_ACCEL_TUNED(x) KERNEL_ACCEL_OSX_ ## x +#define GET_LOOPS_TUNED(x) KERNEL_LOOPS_OSX_ ## x +#else +#define GET_ACCEL_TUNED(x) KERNEL_ACCEL_STD_ ## x +#define GET_LOOPS_TUNED(x) KERNEL_LOOPS_STD_ ## x +#endif + #define GET_ACCEL(x) KERNEL_ACCEL_ ## x #define GET_LOOPS(x) KERNEL_LOOPS_ ## x @@ -8628,9 +8636,9 @@ void myquit () void load_kernel (const char *kernel_file, int num_devices, size_t *kernel_lengths, const u8 **kernel_sources) { - FILE *fp; + FILE *fp = fopen (kernel_file, "rb"); - if ((fp = fopen (kernel_file, "rb")) != NULL) + if (fp != NULL) { struct stat st; @@ -9058,7 +9066,7 @@ uint set_kernel_accel (uint hash_mode) case 4700: return GET_ACCEL (4700); case 4800: return GET_ACCEL (4800); case 4900: return GET_ACCEL (4900); - case 5000: return GET_ACCEL (5000); + case 5000: return GET_ACCEL_TUNED (5000); case 5100: return GET_ACCEL (5100); case 5200: return GET_ACCEL (5200); case 5300: return GET_ACCEL (5300); @@ -9068,17 +9076,17 @@ uint set_kernel_accel (uint hash_mode) case 5700: return GET_ACCEL (5700); case 5800: return GET_ACCEL (5800); case 6000: return GET_ACCEL (6000); - case 6100: return GET_ACCEL (6100); - case 6211: return GET_ACCEL (6211); + case 6100: return GET_ACCEL_TUNED (6100); + case 6211: return GET_ACCEL_TUNED (6211); case 6212: return GET_ACCEL (6212); case 6213: return GET_ACCEL (6213); case 6221: return GET_ACCEL (6221); case 6222: return GET_ACCEL (6222); case 6223: return GET_ACCEL (6223); - case 6231: return GET_ACCEL (6231); + case 6231: return GET_ACCEL_TUNED (6231); case 6232: return GET_ACCEL (6232); case 6233: return GET_ACCEL (6233); - case 6241: return GET_ACCEL (6241); + case 6241: return GET_ACCEL_TUNED (6241); case 6242: return GET_ACCEL (6242); case 6243: return GET_ACCEL (6243); case 6300: return GET_ACCEL (6300); @@ -9099,12 +9107,12 @@ uint set_kernel_accel (uint hash_mode) case 7900: return GET_ACCEL (7900); case 8000: return GET_ACCEL (8000); case 8100: return GET_ACCEL (8100); - case 8200: return GET_ACCEL (8200); + case 8200: return GET_ACCEL_TUNED (8200); case 8300: return GET_ACCEL (8300); case 8400: return GET_ACCEL (8400); case 8500: return GET_ACCEL (8500); case 8600: return GET_ACCEL (8600); - case 8700: return GET_ACCEL (8700); + case 8700: return GET_ACCEL_TUNED (8700); case 8800: return GET_ACCEL (8800); case 8900: return GET_ACCEL (8900); case 9000: return GET_ACCEL (9000); @@ -9112,8 +9120,8 @@ uint set_kernel_accel (uint hash_mode) case 9200: return GET_ACCEL (9200); case 9300: return GET_ACCEL (9300); case 9400: return GET_ACCEL (9400); - case 9500: return GET_ACCEL (9500); - case 9600: return GET_ACCEL (9600); + case 9500: return GET_ACCEL_TUNED (9500); + case 9600: return GET_ACCEL_TUNED (9600); case 9700: return GET_ACCEL (9700); case 9710: return GET_ACCEL (9710); case 9720: return GET_ACCEL (9720); @@ -9128,7 +9136,7 @@ uint set_kernel_accel (uint hash_mode) case 10400: return GET_ACCEL (10400); case 10410: return GET_ACCEL (10410); case 10420: return GET_ACCEL (10420); - case 10500: return GET_ACCEL (10500); + case 10500: return GET_ACCEL_TUNED (10500); case 10600: return GET_ACCEL (10600); case 10700: return GET_ACCEL (10700); case 10800: return GET_ACCEL (10800); @@ -9136,24 +9144,24 @@ uint set_kernel_accel (uint hash_mode) case 11000: return GET_ACCEL (11000); case 11100: return GET_ACCEL (11100); case 11200: return GET_ACCEL (11200); - case 11300: return GET_ACCEL (11300); + case 11300: return GET_ACCEL_TUNED (11300); case 11400: return GET_ACCEL (11400); case 11500: return GET_ACCEL (11500); - case 11600: return GET_ACCEL (11600); - case 11700: return GET_ACCEL (11700); - case 11800: return GET_ACCEL (11800); + case 11600: return GET_ACCEL_TUNED (11600); + case 11700: return GET_ACCEL_TUNED (11700); + case 11800: return GET_ACCEL_TUNED (11800); case 11900: return GET_ACCEL (11900); case 12000: return GET_ACCEL (12000); case 12100: return GET_ACCEL (12100); - case 12200: return GET_ACCEL (12200); + case 12200: return GET_ACCEL_TUNED (12200); case 12300: return GET_ACCEL (12300); - case 12400: return GET_ACCEL (12400); - case 12500: return GET_ACCEL (12500); + case 12400: return GET_ACCEL_TUNED (12400); + case 12500: return GET_ACCEL_TUNED (12500); case 12600: return GET_ACCEL (12600); case 12700: return GET_ACCEL (12700); case 12800: return GET_ACCEL (12800); case 12900: return GET_ACCEL (12900); - case 13000: return GET_ACCEL (13000); + case 13000: return GET_ACCEL_TUNED (13000); } return 0; @@ -9163,108 +9171,108 @@ uint set_kernel_loops (uint hash_mode) { switch (hash_mode) { - case 0: return GET_LOOPS (0); - case 10: return GET_LOOPS (10); - case 11: return GET_LOOPS (11); - case 12: return GET_LOOPS (12); - case 20: return GET_LOOPS (20); - case 21: return GET_LOOPS (21); - case 22: return GET_LOOPS (22); - case 23: return GET_LOOPS (23); - case 30: return GET_LOOPS (30); - case 40: return GET_LOOPS (40); - case 50: return GET_LOOPS (50); - case 60: return GET_LOOPS (60); - case 100: return GET_LOOPS (100); - case 101: return GET_LOOPS (101); - case 110: return GET_LOOPS (110); - case 111: return GET_LOOPS (111); - case 112: return GET_LOOPS (112); - case 120: return GET_LOOPS (120); - case 121: return GET_LOOPS (121); - case 122: return GET_LOOPS (122); - case 124: return GET_LOOPS (124); - case 130: return GET_LOOPS (130); - case 131: return GET_LOOPS (131); - case 132: return GET_LOOPS (132); - case 133: return GET_LOOPS (133); - case 140: return GET_LOOPS (140); - case 141: return GET_LOOPS (141); - case 150: return GET_LOOPS (150); - case 160: return GET_LOOPS (160); - case 190: return GET_LOOPS (190); - case 200: return GET_LOOPS (200); - case 300: return GET_LOOPS (300); + case 0: return GET_LOOPS_TUNED (0); + case 10: return GET_LOOPS_TUNED (10); + case 11: return GET_LOOPS_TUNED (11); + case 12: return GET_LOOPS_TUNED (12); + case 20: return GET_LOOPS_TUNED (20); + case 21: return GET_LOOPS_TUNED (21); + case 22: return GET_LOOPS_TUNED (22); + case 23: return GET_LOOPS_TUNED (23); + case 30: return GET_LOOPS_TUNED (30); + case 40: return GET_LOOPS_TUNED (40); + case 50: return GET_LOOPS_TUNED (50); + case 60: return GET_LOOPS_TUNED (60); + case 100: return GET_LOOPS_TUNED (100); + case 101: return GET_LOOPS_TUNED (101); + case 110: return GET_LOOPS_TUNED (110); + case 111: return GET_LOOPS_TUNED (111); + case 112: return GET_LOOPS_TUNED (112); + case 120: return GET_LOOPS_TUNED (120); + case 121: return GET_LOOPS_TUNED (121); + case 122: return GET_LOOPS_TUNED (122); + case 124: return GET_LOOPS_TUNED (124); + case 130: return GET_LOOPS_TUNED (130); + case 131: return GET_LOOPS_TUNED (131); + case 132: return GET_LOOPS_TUNED (132); + case 133: return GET_LOOPS_TUNED (133); + case 140: return GET_LOOPS_TUNED (140); + case 141: return GET_LOOPS_TUNED (141); + case 150: return GET_LOOPS_TUNED (150); + case 160: return GET_LOOPS_TUNED (160); + case 190: return GET_LOOPS_TUNED (190); + case 200: return GET_LOOPS_TUNED (200); + case 300: return GET_LOOPS_TUNED (300); case 400: return GET_LOOPS (400); case 500: return GET_LOOPS (500); case 501: return GET_LOOPS (501); - case 900: return GET_LOOPS (900); + case 900: return GET_LOOPS_TUNED (900); case 910: return GET_LOOPS (910); - case 1000: return GET_LOOPS (1000); - case 1100: return GET_LOOPS (1100); - case 1400: return GET_LOOPS (1400); - case 1410: return GET_LOOPS (1410); - case 1420: return GET_LOOPS (1420); - case 1421: return GET_LOOPS (1421); - case 1430: return GET_LOOPS (1430); - case 1440: return GET_LOOPS (1440); - case 1441: return GET_LOOPS (1441); - case 1450: return GET_LOOPS (1450); - case 1460: return GET_LOOPS (1460); + case 1000: return GET_LOOPS_TUNED (1000); + case 1100: return GET_LOOPS_TUNED (1100); + case 1400: return GET_LOOPS_TUNED (1400); + case 1410: return GET_LOOPS_TUNED (1410); + case 1420: return GET_LOOPS_TUNED (1420); + case 1421: return GET_LOOPS_TUNED (1421); + case 1430: return GET_LOOPS_TUNED (1430); + case 1440: return GET_LOOPS_TUNED (1440); + case 1441: return GET_LOOPS_TUNED (1441); + case 1450: return GET_LOOPS_TUNED (1450); + case 1460: return GET_LOOPS_TUNED (1460); case 1500: return GET_LOOPS (1500); case 1600: return GET_LOOPS (1600); - case 1700: return GET_LOOPS (1700); - case 1710: return GET_LOOPS (1710); - case 1711: return GET_LOOPS (1711); - case 1720: return GET_LOOPS (1720); - case 1722: return GET_LOOPS (1722); - case 1730: return GET_LOOPS (1730); - case 1731: return GET_LOOPS (1731); - case 1740: return GET_LOOPS (1740); - case 1750: return GET_LOOPS (1750); - case 1760: return GET_LOOPS (1760); + case 1700: return GET_LOOPS_TUNED (1700); + case 1710: return GET_LOOPS_TUNED (1710); + case 1711: return GET_LOOPS_TUNED (1711); + case 1720: return GET_LOOPS_TUNED (1720); + case 1722: return GET_LOOPS_TUNED (1722); + case 1730: return GET_LOOPS_TUNED (1730); + case 1731: return GET_LOOPS_TUNED (1731); + case 1740: return GET_LOOPS_TUNED (1740); + case 1750: return GET_LOOPS_TUNED (1750); + case 1760: return GET_LOOPS_TUNED (1760); case 1800: return GET_LOOPS (1800); case 2100: return GET_LOOPS (2100); - case 2400: return GET_LOOPS (2400); - case 2410: return GET_LOOPS (2410); + case 2400: return GET_LOOPS_TUNED (2400); + case 2410: return GET_LOOPS_TUNED (2410); case 2500: return GET_LOOPS (2500); - case 2600: return GET_LOOPS (2600); - case 2611: return GET_LOOPS (2611); - case 2612: return GET_LOOPS (2612); - case 2711: return GET_LOOPS (2711); - case 2811: return GET_LOOPS (2811); + case 2600: return GET_LOOPS_TUNED (2600); + case 2611: return GET_LOOPS_TUNED (2611); + case 2612: return GET_LOOPS_TUNED (2612); + case 2711: return GET_LOOPS_TUNED (2711); + case 2811: return GET_LOOPS_TUNED (2811); case 3000: return GET_LOOPS (3000); - case 3100: return GET_LOOPS (3100); - case 3200: return GET_LOOPS (3200); - case 3710: return GET_LOOPS (3710); - case 3711: return GET_LOOPS (3711); - case 3800: return GET_LOOPS (3800); - case 4300: return GET_LOOPS (4300); - case 4400: return GET_LOOPS (4400); - case 4500: return GET_LOOPS (4500); - case 4700: return GET_LOOPS (4700); - case 4800: return GET_LOOPS (4800); - case 4900: return GET_LOOPS (4900); - case 5000: return GET_LOOPS (5000); - case 5100: return GET_LOOPS (5100); + case 3100: return GET_LOOPS_TUNED (3100); + case 3200: return GET_LOOPS_TUNED (3200); + case 3710: return GET_LOOPS_TUNED (3710); + case 3711: return GET_LOOPS_TUNED (3711); + case 3800: return GET_LOOPS_TUNED (3800); + case 4300: return GET_LOOPS_TUNED (4300); + case 4400: return GET_LOOPS_TUNED (4400); + case 4500: return GET_LOOPS_TUNED (4500); + case 4700: return GET_LOOPS_TUNED (4700); + case 4800: return GET_LOOPS_TUNED (4800); + case 4900: return GET_LOOPS_TUNED (4900); + case 5000: return GET_LOOPS_TUNED (5000); + case 5100: return GET_LOOPS_TUNED (5100); case 5200: return GET_LOOPS (5200); - case 5300: return GET_LOOPS (5300); - case 5400: return GET_LOOPS (5400); - case 5500: return GET_LOOPS (5500); - case 5600: return GET_LOOPS (5600); - case 5700: return GET_LOOPS (5700); + case 5300: return GET_LOOPS_TUNED (5300); + case 5400: return GET_LOOPS_TUNED (5400); + case 5500: return GET_LOOPS_TUNED (5500); + case 5600: return GET_LOOPS_TUNED (5600); + case 5700: return GET_LOOPS_TUNED (5700); case 5800: return GET_LOOPS (5800); - case 6000: return GET_LOOPS (6000); - case 6100: return GET_LOOPS (6100); + case 6000: return GET_LOOPS_TUNED (6000); + case 6100: return GET_LOOPS_TUNED (6100); case 6211: return GET_LOOPS (6211); case 6212: return GET_LOOPS (6212); case 6213: return GET_LOOPS (6213); case 6221: return GET_LOOPS (6221); case 6222: return GET_LOOPS (6222); case 6223: return GET_LOOPS (6223); - case 6231: return GET_LOOPS (6231); - case 6232: return GET_LOOPS (6232); - case 6233: return GET_LOOPS (6233); + case 6231: return GET_LOOPS_TUNED (6231); + case 6232: return GET_LOOPS_TUNED (6232); + case 6233: return GET_LOOPS_TUNED (6233); case 6241: return GET_LOOPS (6241); case 6242: return GET_LOOPS (6242); case 6243: return GET_LOOPS (6243); @@ -9274,24 +9282,24 @@ uint set_kernel_loops (uint hash_mode) case 6600: return GET_LOOPS (6600); case 6700: return GET_LOOPS (6700); case 6800: return GET_LOOPS (6800); - case 6900: return GET_LOOPS (6900); + case 6900: return GET_LOOPS_TUNED (6900); case 7100: return GET_LOOPS (7100); case 7200: return GET_LOOPS (7200); - case 7300: return GET_LOOPS (7300); + case 7300: return GET_LOOPS_TUNED (7300); case 7400: return GET_LOOPS (7400); - case 7500: return GET_LOOPS (7500); - case 7600: return GET_LOOPS (7600); - case 7700: return GET_LOOPS (7700); - case 7800: return GET_LOOPS (7800); + case 7500: return GET_LOOPS_TUNED (7500); + case 7600: return GET_LOOPS_TUNED (7600); + case 7700: return GET_LOOPS_TUNED (7700); + case 7800: return GET_LOOPS_TUNED (7800); case 7900: return GET_LOOPS (7900); - case 8000: return GET_LOOPS (8000); - case 8100: return GET_LOOPS (8100); + case 8000: return GET_LOOPS_TUNED (8000); + case 8100: return GET_LOOPS_TUNED (8100); case 8200: return GET_LOOPS (8200); - case 8300: return GET_LOOPS (8300); - case 8400: return GET_LOOPS (8400); - case 8500: return GET_LOOPS (8500); - case 8600: return GET_LOOPS (8600); - case 8700: return GET_LOOPS (8700); + case 8300: return GET_LOOPS_TUNED (8300); + case 8400: return GET_LOOPS_TUNED (8400); + case 8500: return GET_LOOPS_TUNED (8500); + case 8600: return GET_LOOPS_TUNED (8600); + case 8700: return GET_LOOPS_TUNED (8700); case 8800: return GET_LOOPS (8800); case 8900: return GET_LOOPS (8900); case 9000: return GET_LOOPS (9000); @@ -9301,34 +9309,34 @@ uint set_kernel_loops (uint hash_mode) case 9400: return GET_LOOPS (9400); case 9500: return GET_LOOPS (9500); case 9600: return GET_LOOPS (9600); - case 9700: return GET_LOOPS (9700); - case 9710: return GET_LOOPS (9710); - case 9720: return GET_LOOPS (9720); - case 9800: return GET_LOOPS (9800); - case 9810: return GET_LOOPS (9810); - case 9820: return GET_LOOPS (9820); - case 9900: return GET_LOOPS (9900); + case 9700: return GET_LOOPS_TUNED (9700); + case 9710: return GET_LOOPS_TUNED (9710); + case 9720: return GET_LOOPS_TUNED (9720); + case 9800: return GET_LOOPS_TUNED (9800); + case 9810: return GET_LOOPS_TUNED (9810); + case 9820: return GET_LOOPS_TUNED (9820); + case 9900: return GET_LOOPS_TUNED (9900); case 10000: return GET_LOOPS (10000); - case 10100: return GET_LOOPS (10100); - case 10200: return GET_LOOPS (10200); + case 10100: return GET_LOOPS_TUNED (10100); + case 10200: return GET_LOOPS_TUNED (10200); case 10300: return GET_LOOPS (10300); - case 10400: return GET_LOOPS (10400); - case 10410: return GET_LOOPS (10410); - case 10420: return GET_LOOPS (10420); + case 10400: return GET_LOOPS_TUNED (10400); + case 10410: return GET_LOOPS_TUNED (10410); + case 10420: return GET_LOOPS_TUNED (10420); case 10500: return GET_LOOPS (10500); - case 10600: return GET_LOOPS (10600); - case 10700: return GET_LOOPS (10700); - case 10800: return GET_LOOPS (10800); + case 10600: return GET_LOOPS_TUNED (10600); + case 10700: return GET_LOOPS_TUNED (10700); + case 10800: return GET_LOOPS_TUNED (10800); case 10900: return GET_LOOPS (10900); - case 11000: return GET_LOOPS (11000); - case 11100: return GET_LOOPS (11100); - case 11200: return GET_LOOPS (11200); + case 11000: return GET_LOOPS_TUNED (11000); + case 11100: return GET_LOOPS_TUNED (11100); + case 11200: return GET_LOOPS_TUNED (11200); case 11300: return GET_LOOPS (11300); - case 11400: return GET_LOOPS (11400); - case 11500: return GET_LOOPS (11500); + case 11400: return GET_LOOPS_TUNED (11400); + case 11500: return GET_LOOPS_TUNED (11500); case 11600: return GET_LOOPS (11600); - case 11700: return GET_LOOPS (11700); - case 11800: return GET_LOOPS (11800); + case 11700: return GET_LOOPS_TUNED (11700); + case 11800: return GET_LOOPS_TUNED (11800); case 11900: return GET_LOOPS (11900); case 12000: return GET_LOOPS (12000); case 12100: return GET_LOOPS (12100); @@ -9336,7 +9344,7 @@ uint set_kernel_loops (uint hash_mode) case 12300: return GET_LOOPS (12300); case 12400: return GET_LOOPS (12400); case 12500: return GET_LOOPS (12500); - case 12600: return GET_LOOPS (12600); + case 12600: return GET_LOOPS_TUNED (12600); case 12700: return GET_LOOPS (12700); case 12800: return GET_LOOPS (12800); case 12900: return GET_LOOPS (12900);