http://bugs.winehq.org/show_bug.cgi?id=9685
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #14004|0 |1 is obsolete| |
--- Comment #144 from Anastasius Focht focht@gmx.net 2008-10-30 17:28:19 --- (From update of attachment 14004) Hello,
revisiting. Invalidating one patch as it doesn't apply cleanly anymore and to ping any takers.
If you manage to get the three issues fixed in near future, I might give you more hints to work around other pb problems. There will be a day when the interest to help with such bugs is gone ...
As already told, the other two issues are simple fixes. The third problem can be split in several parts.
For a start supply a minimal impl of ntoskrnl's MmGetSystemRoutineAddress to keep the kmode driver surviving the initial ioctls.
--- snip --- 002e:trace:ntoskrnl:MmGetSystemRoutineAddress L"ZwQuerySystemInformation" resolved to 0x7bc4d850 002e:trace:ntoskrnl:MmGetSystemRoutineAddress L"MmMapIoSpace" resolved to 0x60596864 002e:trace:ntoskrnl:MmGetSystemRoutineAddress L"MmUnmapIoSpace" resolved to 0x60596c54 002e:trace:ntoskrnl:MmGetSystemRoutineAddress L"MmGetPhysicalAddress" resolved to 0x60596690 002e:trace:ntoskrnl:MmGetSystemRoutineAddress L"ObDereferenceObject" resolved to 0x6059708c 002e:trace:ntoskrnl:MmGetSystemRoutineAddress L"MmIsAddressValid" resolved to 0x6059aeb0 002e:trace:ntoskrnl:MmGetSystemRoutineAddress L"PsLookupProcessByProcessId" resolved to 0x60597d10 002e:trace:ntoskrnl:MmGetSystemRoutineAddress L"KeStackAttachProcess" resolved to 0x60595fd0 002e:trace:ntoskrnl:MmGetSystemRoutineAddress L"KeUnstackDetachProcess" resolved to 0x6059603c --- snip ---
The driver calls ZwQuerySystemInformation to retrieve page size etc. (see comment to make ZwQuerySystemInformation() return more useful values for SystemBasicInformation class). Hence MmGetSystemRoutineAddress can't simply return NULL (driver would simply refuse to work).
The other APIs resolved by MmGetSystemRoutineAddress will be needed later depending on PB client/server versions and capabilities (differs between games). It's ok to leave them as they are for now.
Regards