diff --git a/VersionASM b/VersionASM index b63e699c237e24b236c46439c4fe25f359a62ac8..c5ffa9ec7e3cb8061d5fee1f5908609f5161a546 100644 --- a/VersionASM +++ b/VersionASM @@ -13,11 +13,11 @@ GBLS Module_ComponentPath Module_MajorVersion SETS "5.35" Module_Version SETA 535 -Module_MinorVersion SETS "4.79.2.98.2.3" -Module_Date SETS "06 Mar 2009" -Module_ApplicationDate SETS "06-Mar-09" +Module_MinorVersion SETS "4.79.2.98.2.4" +Module_Date SETS "24 Apr 2009" +Module_ApplicationDate SETS "24-Apr-09" Module_ComponentName SETS "Kernel" Module_ComponentPath SETS "castle/RiscOS/Sources/Kernel" -Module_FullVersion SETS "5.35 (4.79.2.98.2.3)" -Module_HelpVersion SETS "5.35 (06 Mar 2009) 4.79.2.98.2.3" +Module_FullVersion SETS "5.35 (4.79.2.98.2.4)" +Module_HelpVersion SETS "5.35 (24 Apr 2009) 4.79.2.98.2.4" END diff --git a/VersionNum b/VersionNum index 8d7ca9d849565ec240eafd4e61fb8a6f67a8eeb9..202dee4d572fb429455617b874c5a8d153c75135 100644 --- a/VersionNum +++ b/VersionNum @@ -5,19 +5,19 @@ * */ #define Module_MajorVersion_CMHG 5.35 -#define Module_MinorVersion_CMHG 4.79.2.98.2.3 -#define Module_Date_CMHG 06 Mar 2009 +#define Module_MinorVersion_CMHG 4.79.2.98.2.4 +#define Module_Date_CMHG 24 Apr 2009 #define Module_MajorVersion "5.35" #define Module_Version 535 -#define Module_MinorVersion "4.79.2.98.2.3" -#define Module_Date "06 Mar 2009" +#define Module_MinorVersion "4.79.2.98.2.4" +#define Module_Date "24 Apr 2009" -#define Module_ApplicationDate "06-Mar-09" +#define Module_ApplicationDate "24-Apr-09" #define Module_ComponentName "Kernel" #define Module_ComponentPath "castle/RiscOS/Sources/Kernel" -#define Module_FullVersion "5.35 (4.79.2.98.2.3)" -#define Module_HelpVersion "5.35 (06 Mar 2009) 4.79.2.98.2.3" +#define Module_FullVersion "5.35 (4.79.2.98.2.4)" +#define Module_HelpVersion "5.35 (24 Apr 2009) 4.79.2.98.2.4" #define Module_LibraryVersionInfo "5:35" diff --git a/s/ARMops b/s/ARMops index 63e61950b401040357783c43af9a489ca7fc4b21..95b5224bf6f8dccbaeb8f19cc6bf9eec4ff3e800 100644 --- a/s/ARMops +++ b/s/ARMops @@ -1852,13 +1852,13 @@ Cache_CleanAll_WB_CR7_Lx ROUT AND v1, a3, #&7 ; log2(Line size)-2 BIC a3, a3, #&F0000007 ; Clear flags & line size MOV v2, a3, LSL #19 ; Number of ways-1 in upper 10 bits - MOV v3, a3, LSR #13 ; Number of sets-1 in upper 15 bits + MOV v3, a3, LSR #13 ; Number of sets-1 in lower 15 bits ; Way number needs to be packed right up at the high end of the data word; shift it up CLZ a4, v2 MOV v2, v2, LSL a4 - ; Set number needs to start at log2(Line size) - MOV v3, v3, LSR #15 ; Start at bit 2 - MOV v3, v3, LSL v1 ; Start at log2(Line size) + ; Set number needs to start at log2(Line size)+2 + MOV v3, v3, LSL #4 ; Start at bit 4 + MOV v3, v3, LSL v1 ; Start at log2(Line size)+2 ; Now calculate the offset numbers we will use to increment sets & ways BIC v4, v2, v2, LSL #1 ; Way increment BIC v5, v3, v3, LSL #1 ; Set increment @@ -1898,13 +1898,13 @@ Cache_CleanInvalidateAll_WB_CR7_Lx ROUT AND v1, a3, #&7 ; log2(Line size)-2 BIC a3, a3, #&F0000007 ; Clear flags & line size MOV v2, a3, LSL #19 ; Number of ways-1 in upper 10 bits - MOV v3, a3, LSR #13 ; Number of sets-1 in upper 15 bits + MOV v3, a3, LSR #13 ; Number of sets-1 in lower 15 bits ; Way number needs to be packed right up at the high end of the data word; shift it up CLZ a4, v2 MOV v2, v2, LSL a4 - ; Set number needs to start at log2(Line size) - MOV v3, v3, LSR #15 ; Start at bit 2 - MOV v3, v3, LSL v1 ; Start at log2(Line size) + ; Set number needs to start at log2(Line size)+2 + MOV v3, v3, LSL #4 ; Start at bit 4 + MOV v3, v3, LSL v1 ; Start at log2(Line size)+2 ; Now calculate the offset numbers we will use to increment sets & ways BIC v4, v2, v2, LSL #1 ; Way increment BIC v5, v3, v3, LSL #1 ; Set increment @@ -1945,13 +1945,13 @@ Cache_InvalidateAll_WB_CR7_Lx ROUT AND v1, a3, #&7 ; log2(Line size)-2 BIC a3, a3, #&F0000007 ; Clear flags & line size MOV v2, a3, LSL #19 ; Number of ways-1 in upper 10 bits - MOV v3, a3, LSR #13 ; Number of sets-1 in upper 15 bits + MOV v3, a3, LSR #13 ; Number of sets-1 in lower 15 bits ; Way number needs to be packed right up at the high end of the data word; shift it up CLZ a4, v2 MOV v2, v2, LSL a4 - ; Set number needs to start at log2(Line size) - MOV v3, v3, LSR #15 ; Start at bit 2 - MOV v3, v3, LSL v1 ; Start at log2(Line size) + ; Set number needs to start at log2(Line size)+2 + MOV v3, v3, LSL #4 ; Start at bit 4 + MOV v3, v3, LSL v1 ; Start at log2(Line size)+2 ; Now calculate the offset numbers we will use to increment sets & ways BIC v4, v2, v2, LSL #1 ; Way increment BIC v5, v3, v3, LSL #1 ; Set increment @@ -2020,13 +2020,13 @@ IMB_Full_WB_CR7_Lx ROUT AND v1, a3, #&7 ; log2(Line size)-2 BIC a3, a3, #&F0000007 ; Clear flags & line size MOV v2, a3, LSL #19 ; Number of ways-1 in upper 10 bits - MOV v3, a3, LSR #13 ; Number of sets-1 in upper 15 bits + MOV v3, a3, LSR #13 ; Number of sets-1 in lower 15 bits ; Way number needs to be packed right up at the high end of the data word; shift it up CLZ a4, v2 MOV v2, v2, LSL a4 - ; Set number needs to start at log2(Line size) - MOV v3, v3, LSR #15 ; Start at bit 2 - MOV v3, v3, LSL v1 ; Start at log2(Line size) + ; Set number needs to start at log2(Line size)+2 + MOV v3, v3, LSL #4 ; Start at bit 4 + MOV v3, v3, LSL v1 ; Start at log2(Line size)+2 ; Now calculate the offset numbers we will use to increment sets & ways BIC v4, v2, v2, LSL #1 ; Way increment BIC v5, v3, v3, LSL #1 ; Set increment diff --git a/s/HAL b/s/HAL index 25af8ec87faa53b992c7cfcab8bd290e63c95f32..bd8addf1a4f23c27e0e21a303d4399fb27a21a65 100644 --- a/s/HAL +++ b/s/HAL @@ -1040,13 +1040,13 @@ HAL_InvalidateCache_ARMvF AND r11, r10, #&7 ; log2(Line size)-2 BIC r10, r10, #&F0000007 ; Clear flags & line size MOV r12, r10, LSL #19 ; Number of ways-1 in upper 10 bits - MOV r10, r10, LSR #13 ; Number of sets-1 in upper 15 bits + MOV r10, r10, LSR #13 ; Number of sets-1 in lower 15 bits ; Way number needs to be packed right up at the high end of the data word; shift it up CLZ r14, r12 MOV r12, r12, LSL r14 - ; Set number needs to start at log2(Line size) - MOV r10, r10, LSR #15 ; Start at bit 2 - MOV r10, r10, LSL r11 ; Start at log2(Line size) + ; Set number needs to start at log2(Line size)+2 + MOV r10, r10, LSL #4 ; Start at bit 4 + MOV r10, r10, LSL r11 ; Start at log2(Line size)+2 ; Now calculate the offset numbers we will use to increment sets & ways BIC r12, r12, r12, LSL #1 ; Way increment BIC r11, r10, r10, LSL #1 ; Set increment