@@ -118,7 +118,7 @@ static boolean_t patched_cs_validate_range(vnode_t vp,
118118}
119119
120120// For Big Sur
121- static boolean_t patched_cs_validate_page (vnode_t vp,
121+ static void patched_cs_validate_page (vnode_t vp,
122122 memory_object_t pager,
123123 memory_object_offset_t page_offset,
124124 const void *data,
@@ -127,31 +127,29 @@ static boolean_t patched_cs_validate_page(vnode_t vp,
127127 int *arg6) {
128128 char path[kPathMaxLen ];
129129 int pathlen = kPathMaxLen ;
130- boolean_t res = FunctionCast (patched_cs_validate_page, orig_cs_validate)(vp, pager, page_offset, data, arg4, arg5, arg6);
131- if (res && vn_getpath (vp, path, &pathlen) == 0 ) {
130+ FunctionCast (patched_cs_validate_page, orig_cs_validate)(vp, pager, page_offset, data, arg4, arg5, arg6);
131+ if (vn_getpath (vp, path, &pathlen) == 0 ) {
132132 static_assert (sizeof (kAmdBronzeMtlDriverPath ) <= sizeof (path), " path too long" );
133133 static_assert (sizeof (kBigSurAmdBronzeMtlAddrLibGetBaseArrayModeReturnOriginal ) == sizeof (kBigSurAmdBronzeMtlAddrLibGetBaseArrayModeReturnPatched ), " patch size invalid" );
134134 if (UNLIKELY (strncmp (path, kAmdBronzeMtlDriverPath , sizeof (kAmdBronzeMtlDriverPath )) == 0 )) {
135- const void *start = (const char *)data - page_offset;
136135 void *res;
137- SYSLOG (MODULE_SHORT, " found path: %s" , path);
138- if (UNLIKELY ((res = memmem (start, page_offset, kBigSurAmdBronzeMtlAddrLibGetBaseArrayModeReturnOriginal , kBigSurAmdBronzeMtlAddrLibGetBaseArrayModeReturnSize )) != NULL )) {
136+ if (UNLIKELY ((res = memmem (data, PAGE_SIZE, kBigSurAmdBronzeMtlAddrLibGetBaseArrayModeReturnOriginal , kBigSurAmdBronzeMtlAddrLibGetBaseArrayModeReturnSize )) != NULL )) {
139137 SYSLOG (MODULE_SHORT, " found function to patch!" );
138+ SYSLOG (MODULE_SHORT, " found path: %s" , path);
140139 doKernelPatch (^{
141140 lilu_os_memcpy (res, kBigSurAmdBronzeMtlAddrLibGetBaseArrayModeReturnPatched , kBigSurAmdBronzeMtlAddrLibGetBaseArrayModeReturnSize );
142141 });
143142 }
144143 }
145144 }
146- return res;
147145}
148146
149147static int patched_IsEarlySAMUInitEnabled (void *ctx) {
150148 DBGLOG (MODULE_SHORT, " PECI_IsEarlySAMUInitEnabled: return 0" );
151149 return 0 ;
152150}
153151
154- static int patched_getHardwareInfo (void *obj, uint32_t *hwInfo) {
152+ static int patched_getHardwareInfo (void *obj, uint16_t *hwInfo) {
155153 int ret = FunctionCast (patched_getHardwareInfo, orig_getHardwareInfo)(obj, hwInfo);
156154 DBGLOG (MODULE_SHORT, " AMDRadeonX4000_AMDAccelDevice::getHardwareInfo: return 0x%08X" );
157155 if (ret == 0 ) {
0 commit comments