Jump to content

XLNC

Members
  • Content Count

    207
  • Joined

  • Last visited


Reputation Activity

  1. Like
    XLNC reacted to Andy Vandijck in AnyAppleUSBMouse for Catalina (10.15)   
    I've updated AnyAppleUSBMouse for Catalina.
    It requires 4 changes to the idProduct (Product ID) and idVendor (Vendor ID) to work.
    Enjoy  
    AnyAppleUSBMouse.kext.zip
  2. Like
    XLNC reacted to jalavoui in AMD Mojave Kernel Development and Testing   
    xnu-4903.231.4 
    This is a 10.14.2 kernel
     
    Also attached the system.kext (move to S/L/E)
     
    updated with attached patch with old opemu
     
    fixed some link errors
     
     
    Archive.zip
    p.patch
  3. Like
    XLNC reacted to 978b029efa981d618699b09868 in NVMeFix   
    Today we are publishing NVMeFix, a set of patches for IONVMeController.
     
    It currently only improves power management of non-Apple NVMe SSDs, but we will also be willing to fix other SSD incompatibility issues.
    If you observe a third-party SSD misbehaving, feel free to provide as much information as you can at our bugtracker https://github.com/acidanthera/bugtracker/.
     
    APST is short for Autonomous Power State Transition, a feature found in many modern SSDs. It allows the SSD to significantly reduce the power consumption when it detects the device has been idle for some time.
    Apple NVM driver, IONVMeFamily, does support third-party SSDs, but only uses PCI power management for them, so power is not conserved unless the computer sleeps or hibernates. For Apple SSD controllers,
    IONVMeFamily uses a vendor-specific command to switch to low-power mode.
     
    NVMeFix attempts to auto-detect APST support and configure the controller accordingly. Unfortunately, some SSDs have broken APST support; in this case NVMeFix will try to disable it. You may inject 8 byte property
    ps-max-latency-us=0 to the parent PCI device IODeviceTree entry in order to force disable APST. NVMeFix reports APST status via "apst" property of the IONVMeController in the IOService plane. Additionally, DEBUG
    configuration of the kext will log the used APST tables.
     
    The source code is available at https://github.com/acidanthera/NVMeFix. There is currently no builds available, as NVMeFix is only compatible with the latest, unreleased version of Lilu.
     
    Note that besides APST and PCI power management, NVMe also supports host-managed power setting, which should decrease power usage even more. Unfortunately, we could not yet get it to work reliably yet: if
    you're interested in technical details, let us know in the bugtracker.
    You may also find this on real Macs if you are using a third-party SSD. The kext should be compatible with stock bootloader -- just install it and Lilu to /Library/Extensions.
     
    Unfortunately, on Macs with the old NVMHCI DXE driver hibernation cannot be fixed from kernel side, as the bootloader hangs before it gets to the OS. This was at least the
    case in my tests with full-disk encryption on; I don't know if boot gets any farther without encryption.
  4. Like
    XLNC reacted to Slice in Clover problems report & features request   
    You want to get the result 833Dxxxx xx000174 xx8B5DBC where x is arbitrary?
    This is correct way. Just sure about Capital letters.
     
    A bootloader should not be a collector for patches.
  5. Like
    XLNC got a reaction from vinhkm6 in AMD Vanilla Kernel   
    AppleHPET Probe Fix.
    Upon boot AppleHPET.kext will fail to load with error AppleHPET::Probe() failed.! on 15h_16h systems.
    To prevent this i made a kext patch to use with clover or opencore.

    Kext To Patch :
    Name: com.apple.driver.AppleHPET Find: 01000084 C0 Replace: 010000B0 01 Comment: XLNC - AppleHPET Probe Fix.  
  6. Like
    XLNC got a reaction from vinhkm6 in AMD Vanilla Kernel   
    AppleHPET Probe Fix.
    Upon boot AppleHPET.kext will fail to load with error AppleHPET::Probe() failed.! on 15h_16h systems.
    To prevent this i made a kext patch to use with clover or opencore.

    Kext To Patch :
    Name: com.apple.driver.AppleHPET Find: 01000084 C0 Replace: 010000B0 01 Comment: XLNC - AppleHPET Probe Fix.  
  7. Like
    XLNC got a reaction from Alexey Boronenkov in Clover problems report & features request   
    @Slice Hi !
    I want make a clover feature request .
    Can the XHCI Port limit patch feature of Opencore be added to clover ?

    Thanks !
  8. Like
    XLNC reacted to Andy Vandijck in AnVMSR V1.0 - Tool and driver to read from or write to CPU MSR registers   
    This tool is made by me for reading and writing to CPU MSR registers.
    It works in kernel mode by a driver which is linked to the tool in user land with a user client.
    Source is included
    WARNING: Don't randomly read or write to MSR registers... If you read or write invalid MSR registers, or invalid data written, your system will crash...
     
    Usage:
    anvmsr read E2
    = read MSR register E2 and show value.
    anvmsr write E2 0BAD
    = write 0BAD to MSR register E2
     
    Enjoy...
    AnVMSR-1.0.zip
  9. Like
    XLNC got a reaction from NMZI in AMD Vanilla Kernel   
    I have updated the kernel patches on AMD_Vanilla github repo to boot macOS catalina using Clover Bootloader.
    https://github.com/AMD-OSX/AMD_Vanilla

    - Cheers !
  10. Like
    XLNC got a reaction from NMZI in AMD Vanilla Kernel   
    I have updated the kernel patches on AMD_Vanilla github repo to boot macOS catalina using Clover Bootloader.
    https://github.com/AMD-OSX/AMD_Vanilla

    - Cheers !
  11. Like
    XLNC reacted to Slice in Clover Change Explanations   
    Rev 5094-5-gbe7ab87d (github)
    Implemented mask patching for kexts, kernel and boot.efi.
    Syntax is follow

     
    There are new fields MaskFind and MaskReplace which are bit mask. If they are absent then for backward compatibility old behavior consumed.
    If present
    MaskFind
    Some bit =1 means source must be same as find string. =0 means source may have any bit.
    If MaskFind is not set then full string must be exactly as find string.
    MaskReplace
    Some bit =1 means this bit will be replaced by replace string. =0 means source bit remains untouched.
    If MaskReplace is not set then full string will be replace.
     
    Example (joke)
    If you want to find all occurrence of word "clever" or "Clever" and replace it to "clover" or "Clover" correspondingly then you have to choose the pattern
    Find 43 6c 65 76 65 72
    MaskFind DF FF FF FF FF FF
    See 0xDF have bit 0x20 unset to not differ capital letter.
    Replace 43 6c 6f 76 65 72
    MaskReplace 00 00 FF 00 00 00
    So we set to replace only one letter.
    A mask len can be smaller then find/replace string. Zero will be assumed to fill the string. So for this example we can set
    MaskReplace 00 00 FF
     
    I thing we can use this method also for internal Clover patches like FakeCPUID to simplify patterns and make it more universal for future systems. Some next work requires.
     
    Rev 5094-6-gd139fa45
    One change.
    For MaskFind the default bits are 0xff so for the example above we can set
    MaskFind DF
    assuming all other bits should be 0xFF meaning strict correspondence of search string to pattern.
  12. Like
    XLNC got a reaction from NMZI in AMD Vanilla Kernel   
    I have updated the kernel patches on AMD_Vanilla github repo to boot macOS catalina using Clover Bootloader.
    https://github.com/AMD-OSX/AMD_Vanilla

    - Cheers !
  13. Like
    XLNC got a reaction from NMZI in AMD Vanilla Kernel   
    I have updated the kernel patches on AMD_Vanilla github repo to boot macOS catalina using Clover Bootloader.
    https://github.com/AMD-OSX/AMD_Vanilla

    - Cheers !
  14. Thanks
    XLNC reacted to Slice in Clover problems report & features request   
    Yes, it will be soon.
  15. Like
    XLNC got a reaction from NMZI in AMD Vanilla Kernel   
    I have updated the kernel patches on AMD_Vanilla github repo to boot macOS catalina using Clover Bootloader.
    https://github.com/AMD-OSX/AMD_Vanilla

    - Cheers !
  16. Like
    XLNC got a reaction from Alexey Boronenkov in macOS Catalina 10.15 is out !!!   
    I have updated the kernel patches on AMD_Vanilla github repo to boot macOS catalina using Clover Bootloader.
    https://github.com/AMD-OSX/AMD_Vanilla

    If you want to use Opencore bootloader then use the patches posted for opencore in AMD-OSX discord server.
     


     

  17. Like
    XLNC got a reaction from NMZI in AMD Vanilla Kernel   
    I have updated the kernel patches on AMD_Vanilla github repo to boot macOS catalina using Clover Bootloader.
    https://github.com/AMD-OSX/AMD_Vanilla

    - Cheers !
  18. Like
    XLNC reacted to Andy Vandijck in Decompkernelcache 2.0 - kernel cache extraction tool   
    I updated the sources of the decompkernelcache tool.
    Now it can do the following things with the prelinked kernel and its data:
    - Uncompress prelinked kernel (package with drivers inside)
    - Extract kernel (repackage possible with kextcache, kernel only)
    - Extract kexts (including original folder source directory)
    - List kexts
    - Extract combined Info.plist resource
     
    It can do this with prelinked kernel caches compressed with LZSS and LZVN.
    It can also extract already decompressed prelinked kernel cache binaries.
    It is also possible to specify an architecture to extract (in case of a multi architecture prelinked kernel cache).
     
    It works with any version of the OS X kernel cache (It works for 32 and 64 bit, extracting all).
     
    I tested it on a prelinked kernel of iOS also, it was able to do this to an iPhone 4S prelinked kernel too. (32-bit ARM)
    It works on Mac OS X prelinked kernel data with any version or architecture (32/64-bit works, can extract Big Endian data so if you manage to have a PowerPC prelinked kernel it can handle them too).
    It should be able to handle any architecture and any Darwin deployment target.
    So if you have a decrypted prelinked kernel of iOS, Mac OS X, Apple TV (both Intel and ARM), Watch OS and any other like the HomePod OS you can use this tool on them too.
     
    Enjoy 
    decompkernelcache.zip
  19. Like
    XLNC reacted to Meowthra in Opcode Emulator (OPEMU) for Linux 64-bit   
    this is a Linux Kernel Module.
    Intel Pentium / Celeron AVX/AVX2.0 instruction set Emulation.
     
    BUILD:
    cd opemu-linux make  
    USAGE:
    * load kms
    sudo insmod opemu.ko  
    * unload kms
    sudo rmmod opemu  
    * view debug log
    sudo dmesg  
     
     
    opemu-linux-20190526.zip
  20. Thanks
    XLNC reacted to Slice in VoodooHDA 2.9.2   
    I see no this crash has relation to VoodooHDA. It is rather AMD drivers issue
    0x118999000 - 0x118a10ff7 com.apple. AMDRadeonVADriver (2.11.20 - 2.1.1) <D273026E-3FBA-39F3-A041-AEF6604FE98F> /System/Library/Extensions/AMDRadeonVADriver.bundle/Contents/MacOS/AMDRadeonVADriver  
  21. Like
    XLNC reacted to Andy Vandijck in Updated Enoch (Chameleon) to 32+64 bit   
    I have updated Enoch to 32+64-bit.
    Needs testing as I only have  a real Mac to do this.
     
    Link to topic:
    Enjoy  
  22. Sad
    XLNC reacted to spakk in New OPEMU supporting fully till SSE4.1   
    Hi Andy, did you fix the bugs by now?
     
  23. Like
    XLNC reacted to Andy Vandijck in New OPEMU supporting fully till SSE4.1   
    I've made a new OPEMU.
    It's included in the attachment.
    It is required for High Sierra and Mojave
     
    # OPEMU osfmk/OPEMU/opemu.c standard osfmk/OPEMU/opemu_math.c standard osfmk/OPEMU/ssse3.c standard osfmk/OPEMU/sse42.c standard osfmk/OPEMU/sse41.c standard osfmk/OPEMU/sse3.c standard osfmk/OPEMU/libudis86/decode.c standard osfmk/OPEMU/libudis86/itab.c standard osfmk/OPEMU/libudis86/syn.c standard osfmk/OPEMU/libudis86/syn-intel.c standard osfmk/OPEMU/libudis86/udis86.c standard  
    OPEMU.zip
  24. Like
    XLNC reacted to vit9696 in OpenCore Discussion   
    Yes, sure. Configuration.pdf includes all the necessary details and Sample.plist even gives an idea how you write patches.
    Basically, have the following enhancements to patches available from config.plist directly compared to Clover:
    — Base search. Imagine you want to replace data after _cpuid_set function. Then you write Base: _cpuid_set.
    — Symbol replacement. Imagine you want to replace _cpuid_set function with your own. Then you write Base: _cpuid_set and leave Find empty.  
    — Find masking. Imagine you want to find FE0F and FE1F. Then you write Find: FE0F, Mask: FFEF.
    — Replace masking. Imagine you want to replace F with C in 0DFC. Then you write Replace 00C0, ReplaceMask: 00F0.
    — Replace count. Imagine you want to replace only first 2 findings. Then you write Count: 2.
    — Replace skip. Image you want to replace 2nd and 3rd finding. Then you write Skip: 1 and Count: 2.
    — Area limiting. Imagine you want to replace in first 4096 bytes or do not replace. Then you write Limit: 4096.
     
    I get a feeling these extra examples may fit well into OpenCore docs. CC @Andrey1970
  25. Like
    XLNC reacted to AlGrey in OpenCore Discussion   
    I can confirm that fully working AMD kernel patches are not anymore since Aptiomemoryfix is embedded in OC - stuck at End randomseed. What am I missing?
     
    EDIT : FIXED WITH NEW DOCUMENTATION. Below still valid. 
     
    Also, the first patch  [0]:
    <dict>                 <key>Comment</key>                 <string>algrey - commpage_populate -remove rdmsr</string>                 <key>Count</key>                 <integer>0</integer>                 <key>Enabled</key>                 <true/>                 <key>Find</key>                 <data>                 uaABAAAPMg==                 </data>                 <key>Identifier</key>                 <string>kernel</string>                 <key>Limit</key>                 <integer>0</integer>                 <key>Mask</key>                 <data>                 </data>                 <key>MatchKernel</key>                 <string></string>                 <key>Replace</key>                 <data>                 Dx+AAAAAAA==                 </data>                 <key>ReplaceMask</key>                 <data>                 </data>                 <key>Skip</key>                 <integer>0</integer>             </dict> this patch which is universal across any XNU version (10.13.6 and above)  is replaced 15 times, but if you open the kernel in a decompiler your clearly see that B9A00100000F32 is found once. So I don't know what is patched 15 times to be honest.
     
    @vit9696 maybe you could help me with that ?
    21:208 00:064 OCC: Configuring behaviour 0 21:462 00:254 Trying XNU hook on System\Library\PrelinkedKernels\prelinkedkernel 21:627 00:165 Kext reservation size 7860224 22:522 00:895 Result of XNU hook on System\Library\PrelinkedKernels\prelinkedkernel is Success 22:590 00:067 OC: Read kernel version 18.2.0 22:761 00:171 ReplaceCount - 15 22:793 00:031 OC: Kernel patcher result 0 for kernel - Success 22:965 00:172 ReplaceCount - 1 22:998 00:032 OC: Kernel patcher result 1 for kernel - Success 23:175 00:177 ReplaceCount - 1 23:206 00:031 OC: Kernel patcher result 2 for kernel - Success 23:380 00:173 ReplaceCount - 1 23:409 00:029 OC: Kernel patcher result 3 for kernel - Success 23:579 00:169 ReplaceCount - 1 23:609 00:030 OC: Kernel patcher result 4 for kernel - Success 23:778 00:169 ReplaceCount - 1 23:809 00:031 OC: Kernel patcher result 5 for kernel - Success 23:982 00:172 ReplaceCount - 1 24:015 00:032 OC: Kernel patcher result 6 for kernel - Success 24:186 00:171 ReplaceCount - 1 24:217 00:031 OC: Kernel patcher result 7 for kernel - Success 24:451 00:233 ReplaceCount - 1 24:481 00:030 OC: Kernel patcher result 8 for kernel - Success 24:653 00:172 ReplaceCount - 2 24:684 00:031 OC: Kernel patcher result 9 for kernel - Success 24:857 00:173 ReplaceCount - 1 24:889 00:031 OC: Kernel patcher result 10 for kernel - Success 25:063 00:173 ReplaceCount - 1 25:093 00:030 OC: Kernel patcher result 11 for kernel - Success 25:131 00:038 ReplaceCount - 3 25:164 00:033 OC: Kernel patcher result 12 for kernel - Success 25:339 00:174 ReplaceCount - 1 25:372 00:033 OC: Kernel patcher result 13 for kernel - Success 25:546 00:173 ReplaceCount - 1 25:576 00:030 OC: Kernel patcher result 14 for kernel - Success 25:748 00:172 ReplaceCount - 1 25:781 00:033 OC: Kernel patcher result 15 for kernel - Success 25:964 00:183 ReplaceCount - 1 26:005 00:041 OC: Kernel patcher result 16 for kernel - Success 26:065 00:059 ReplaceCount - 1 26:097 00:032 Patch success com.apple.iokit.IOUSBHostFamily 26:139 00:042 ReplaceCount - 1 26:173 00:033 Patch success com.apple.driver.usb.AppleUSBXHCI 26:228 00:055 OC: Prelink injection Lilu.kext - Success 26:278 00:050 OC: Prelink injection FakeSMC.kext - Success 26:323 00:045 OC: Prelink injection WhateverGreen.kext - Success 26:367 00:044 OC: Prelink injection AppleALC.kext - Success 26:404 00:037 OC: Prelink injection NullCPUPowerManagement.kext - Success 26:451 00:046 OC: Prelink injection RealtekRTL8111.kext - Success 26:514 00:062 Prelinked status - Success  
×