mhaeuser Posted November 14, 2016 Share Posted November 14, 2016 How does a DSDT edit make it a virtual device? As you said right before, it's a description, not a vDevice. Link to comment Share on other sites More sharing options...
Slice Posted November 14, 2016 Share Posted November 14, 2016 How does a DSDT edit make it a virtual device? As you said right before, it's a description, not a vDevice. I meant the Device written into DSDT in nmano's question. Link to comment Share on other sites More sharing options...
mhaeuser Posted November 14, 2016 Share Posted November 14, 2016 I meant the Device written into DSDT in nmano's question. Yes, I get that, but you cited your own quote stressing it must be a real device. That adding a device to DSDT is not enough should be obvious. Link to comment Share on other sites More sharing options...
smolderas Posted November 14, 2016 Share Posted November 14, 2016 Hello Slice, you proposed to write the "nvram.plist" into the EFI partition of the boot volume, since It is not encrypted with filevault2. At least for the legacy clover with the change of the function "findFirstAppleBootDevice" from the file "rc.shutdown.d/80.save_nvram_plist.local" the content of the nvram will be saved to the EFI partition of the boot device (core storage): function findFirstAppleBootDevice { local rootDevice=$(LC_ALL=C diskutil info /|awk '{ if ($1 == "Device" && $2 == "Node:") {print $3}}') recoveryDisk=$(LC_ALL=C diskutil info /|awk '{ if ($1 == "Recovery" && $2 == "Disk:") {print $3}}') device=$(LC_ALL=C diskutil info $recoveryDisk|awk '{ if ($1 == "Part" && $2 == "of" && $3 == "Whole:") {print $4}}') # Find EFI partition signature index=$(LC_ALL=C /usr/sbin/gpt -r show "$device" 2>/dev/null | \ awk 'toupper($7) == "C12A7328-F81F-11D2-BA4B-00A0C93EC93B" {print $3; exit}') if [[ ! $index =~ ^[0-9]+$ ]];then index= fi # If index found return the device and partition (like diskXsY) [[ -n "$index" ]] && echo "${device##*/}s$index" } Cheers, Smolderas Edit: Here is the diff: 41,44c41,44 < local devices=$(LC_ALL=C ls /dev/disk* | sed -n '/\/dev\/disk[0-9]*$/p') < # Iterate over all devices < for device in $devices; do < # Find first partition with Apple Boot partition signature --- > local rootDevice=$(LC_ALL=C diskutil info /|awk '{ if ($1 == "Device" && $2 == "Node:") {print $3}}') > recoveryDisk=$(LC_ALL=C diskutil info /|awk '{ if ($1 == "Recovery" && $2 == "Disk:") {print $3}}') > device=$(LC_ALL=C diskutil info $recoveryDisk|awk '{ if ($1 == "Part" && $2 == "of" && $3 == "Whole:") {print $4}}') > # Find EFI partition signature 46,49c46,47 < awk 'toupper($7) == "426F6F74-0000-11AA-AA11-00306543ECAC" {print $3; exit}') < if [[ $index =~ ^[0-9]+$ ]];then < break < else --- > awk 'toupper($7) == "C12A7328-F81F-11D2-BA4B-00A0C93EC93B" {print $3; exit}') > if [[ ! $index =~ ^[0-9]+$ ]];then 52d49 < done Link to comment Share on other sites More sharing options...
J Lamp Posted November 14, 2016 Share Posted November 14, 2016 I have a question regarding the "other" kexts folder. I'm running Sierra and had a some customized plist injection in FakeSMC in the 10.12 folder that was not loading. Apparently the unedited, older FakeSMC I had in the "other" folder was overriding it. Deleting the kexts from the other kexts folder fixed the issue. My understanding was that the other kexts folder was for unrecognized OSs (i.e. a new beta etc.) and not as a general override folder. Do I have that wrong or is this behaving oddly? Thanks. Link to comment Share on other sites More sharing options...
Slice Posted November 14, 2016 Share Posted November 14, 2016 I have a question regarding the "other" kexts folder. I'm running Sierra and had a some customized plist injection in FakeSMC in the 10.12 folder that was not loading. Apparently the unedited, older FakeSMC I had in the "other" folder was overriding it. Deleting the kexts from the other kexts folder fixed the issue. My understanding was that the other kexts folder was for unrecognized OSs (i.e. a new beta etc.) and not as a general override folder. Do I have that wrong or is this behaving oddly? Thanks. The behavior changed. Now all kext from other will be loaded for any OS exactly as you see. Hello Slice, you proposed to write the "nvram.plist" into the EFI partition of the boot volume, since It is not encrypted with filevault2. At least for the legacy clover with the change of the function "findFirstAppleBootDevice" from the file "rc.shutdown.d/80.save_nvram_plist.local" the content of the nvram will be saved to the EFI partition of the boot device (core storage): function findFirstAppleBootDevice { local rootDevice=$(LC_ALL=C diskutil info /|awk '{ if ($1 == "Device" && $2 == "Node:") {print $3}}') recoveryDisk=$(LC_ALL=C diskutil info /|awk '{ if ($1 == "Recovery" && $2 == "Disk:") {print $3}}') device=$(LC_ALL=C diskutil info $recoveryDisk|awk '{ if ($1 == "Part" && $2 == "of" && $3 == "Whole:") {print $4}}') # Find EFI partition signature index=$(LC_ALL=C /usr/sbin/gpt -r show "$device" 2>/dev/null | \ awk 'toupper($7) == "C12A7328-F81F-11D2-BA4B-00A0C93EC93B" {print $3; exit}') if [[ ! $index =~ ^[0-9]+$ ]];then index= fi # If index found return the device and partition (like diskXsY) [[ -n "$index" ]] && echo "${device##*/}s$index" } Cheers, Smolderas Edit: Here is the diff: 41,44c41,44 < local devices=$(LC_ALL=C ls /dev/disk* | sed -n '/\/dev\/disk[0-9]*$/p') < # Iterate over all devices < for device in $devices; do < # Find first partition with Apple Boot partition signature --- > local rootDevice=$(LC_ALL=C diskutil info /|awk '{ if ($1 == "Device" && $2 == "Node:") {print $3}}') > recoveryDisk=$(LC_ALL=C diskutil info /|awk '{ if ($1 == "Recovery" && $2 == "Disk:") {print $3}}') > device=$(LC_ALL=C diskutil info $recoveryDisk|awk '{ if ($1 == "Part" && $2 == "of" && $3 == "Whole:") {print $4}}') > # Find EFI partition signature 46,49c46,47 < awk 'toupper($7) == "426F6F74-0000-11AA-AA11-00306543ECAC" {print $3; exit}') < if [[ $index =~ ^[0-9]+$ ]];then < break < else --- > awk 'toupper($7) == "C12A7328-F81F-11D2-BA4B-00A0C93EC93B" {print $3; exit}') > if [[ ! $index =~ ^[0-9]+$ ]];then 52d49 < done I don't know how it will work but I propose to include your version into next commit. Let it be! Link to comment Share on other sites More sharing options...
smolderas Posted November 14, 2016 Share Posted November 14, 2016 The behavior changed. Now all kext from other will be loaded for any OS exactly as you see. I don't know how it will work but I propose to include your version into next commit. Let it be! Well I'm using it right now. But it certainly doesn't mean, that it would work 100% for all. I could remedy any issues though, if any arise. Link to comment Share on other sites More sharing options...
frankiee Posted November 14, 2016 Share Posted November 14, 2016 Out of sheer curiosity: is the ACPI language actually turing complete? Link to comment Share on other sites More sharing options...
smolderas Posted November 15, 2016 Share Posted November 15, 2016 Out of sheer curiosity: is the ACPI language actually turing complete? Yes, it is. Link to comment Share on other sites More sharing options...
makk Posted November 16, 2016 Share Posted November 16, 2016 Rev 3904 If you see in system log AppleLPC::notifyPlatformASPM - registering with plugin with ASPM Support false then you want to set in config.plist <key>ACPI</key> <dict> <key>DisableASPM</key> <true/> </dict> The message will gone and macOS works smoother. Why? This is FADT->Flags bit 4. If set, indicates to OSPM that it must not enable OSPM ASPM control on this platform. Yes, macOS can't control hackintosh hardware ASPM. (OSPM = OS Power Management) The idea from eierfrucht Thanks Slice, What message would then be on the boot up screen? For instance I got True instead of False. is this good or bad? Thanks Stu Link to comment Share on other sites More sharing options...
liujianwei Posted November 16, 2016 Share Posted November 16, 2016 BIOS Setting CPU Feature Thermal Management Control:Disable PPM(EIST) Mode:Disable Limit CPUID MaxVal:Disable C1E Function:Disable Execute Disable Bit:Enable Virtualization Technology:Enable Core Multi-Processing:Enable Voltage Setting CPU VID Special Add:+250mV DRAM Voltage Control:2.100V SB Core/CPU PLL Voltage:1.75V NB Core Voltage:1.2700V CPU VTT Voltage:1.27V Vcore Droop Control:Disable Clockgen Voltage Control:3.75V CPU GTL 0/2 REF Volt:0.67X CPU GTL 1/3 REF Volt:0.67X North Bridge GTL REF Volt:0.67X FSB Vref:2B Genie BIOS Setting CPU Clock Amplitude:900mv CPU CLock Ratio:9x CPU Clock:450 MHz Target CPU Clock:4050 MHz DRAM Speed:400/800 Target DRAM Speed:DDR2 900 DRAM Timing Enhance Data Transmitting:Auto Enhance Addressing:Auto T2 Dispatch:Auto Flex Memory Mode:Auto CAS Latency Time (tCL):Auto RAS# to CAS# Delay (tRCD):Auto RAS# Precharge (tRP):Auto Precharge Delay (tRAS):Auto All Precharge to ACT:Auto REF to ACT Delay (tRFC):Auto Performance LVL(Read delay):Auto Read delay phase adjust:Press To Enter Write to PRE Delay(tWR):Auto Rank Write to Read(tWRT):Auto ACT to ACT Delay(tRRD):Auto Read To Write delay(tRDWR):Auto Ranks Write to Write(tWRWR):Auto Ranks Write To Read(tWRRD):Auto Read CAS# Precharge(tRTP):Auto All PRE to Refresh:Auto Clock Setting Fin Delay DLL and RCOMP Settings:By Menu CH1 DRAM Default Skew:Model 3 CH1 DRAM Default Skew:Model 3 RCOMP Setting:Model 3 Fine Delay Step Degree:70ps Ch1 Clock Crossing Setting:Auto Ch2 Clock Crossing Setting:Auto Ch1Ch2 CommonClock Setting:Auto with Clover+ACBEL IP430 Power Supply+INNO3D GEFORCE GTX 260 GOLD Graphic Card=unstable with Chameleon+CORSAIR CS550M Power Supply+EVGA GT 740 2GB SUPERCLOCKED Graphic Card=stable Clover can't handle 400x8?Sorry for my non sense. Set 399 to check. thank you,so far so good,i will keep report,please tell me why set 399,i am really courious Link to comment Share on other sites More sharing options...
mrjayviper Posted November 16, 2016 Share Posted November 16, 2016 not sure if clover related but I'm getting kernel panics after swapping my Intel CPU (from x5570 to L5640). I've tried booting of the SSD and a USB installer. Here's an album with the screenshot of errors: https://imgur.com/a/SxiFK Any ideas? thank you edit1: I've attached my DSDT.aml, SSDT.aml and config.plist in a zip format edit2: I just tried using Sierra USB installer and I'm getting the same error. Archive.zip Link to comment Share on other sites More sharing options...
Slice Posted November 16, 2016 Share Posted November 16, 2016 thank you,so far so good,i will keep report,please tell me why set 399,i am really courious It is not Clover related. I know that bus speed can't be >=400 since first hackintosh with chameleon. 1 Link to comment Share on other sites More sharing options...
Dr. Hurt Posted November 16, 2016 Share Posted November 16, 2016 Reporting a minor cosmetic issue (look at picture).. Interestingly, this only happens when booting with Clover EFI. This does NOT happen when booting the same machine (same Clover folder) using native AMI UEFI. Link to comment Share on other sites More sharing options...
artur_pt Posted November 16, 2016 Share Posted November 16, 2016 not sure if clover related but I'm getting kernel panics after swapping my Intel CPU (from x5570 to L5640). I've tried booting of the SSD and a USB installer. Here's an album with the screenshot of errors: https://imgur.com/a/SxiFK Any ideas? thank you edit1: I've attached my DSDT.aml, SSDT.aml and config.plist in a zip format edit2: I just tried using Sierra USB installer and I'm getting the same error. hello must extract and patch again ur dsdt and generate a new ssdt good hack 1 Link to comment Share on other sites More sharing options...
pkdesign Posted November 16, 2016 Share Posted November 16, 2016 Reporting a minor cosmetic issue (look at picture).. Interestingly, this only happens when booting with Clover EFI. This does NOT happen when booting the same machine (same Clover folder) using native AMI UEFI. I get this as well. 1 Link to comment Share on other sites More sharing options...
pkdesign Posted November 16, 2016 Share Posted November 16, 2016 Thanks Slice, What message would then be on the boot up screen? For instance I got True instead of False. is this good or bad? Thanks Stu FYI, it doesn’t matter if I use True or False, I always get: 11/16/16 12:58:49.000 PM kernel[0]: AppleLPC::notifyPlatformASPM - registering with plugin with ASPM Support false in console. Link to comment Share on other sites More sharing options...
jl4c Posted November 17, 2016 Share Posted November 17, 2016 Hello guys, I Am trying to bypass the kernel panic related to NVDAStartup (Sierra) with Clover binary patch. As some of you know, this is a know issue and the solution (for now) is to use the NVDAStartup.kext from el Capitan. Well, Am trying to use the same method from Asgorath (post #9043), but unfortunately I was unable to find the correct patch. I have extracted the info from NVDAStartup (Sierra and El Capitan), with a hope to discuss this topic here. Please take a look at following: NVDAStartup_11.11.6 (working) ╒ (fcn) sym.NVDAStartup::probe 2114 │ ; var int local_f8h @ rbp-0xf8 │ ; var int local_ech @ rbp-0xec │ ; var int local_e8h @ rbp-0xe8 │ ; var int local_e0h @ rbp-0xe0 │ ; var int local_d8h @ rbp-0xd8 │ ; var int local_d4h @ rbp-0xd4 │ ; var int local_d0h @ rbp-0xd0 │ ; var int local_cah @ rbp-0xca │ ; var int local_c8h @ rbp-0xc8 │ ; var int local_c1h @ rbp-0xc1 │ ; var int local_b8h @ rbp-0xb8 │ ; var int local_b4h @ rbp-0xb4 │ ; var int local_b0h @ rbp-0xb0 │ ; var int local_a8h @ rbp-0xa8 │ ; var int local_a0h @ rbp-0xa0 │ ; var int local_98h @ rbp-0x98 │ ; var int local_90h @ rbp-0x90 │ ; var int local_80h @ rbp-0x80 │ ; var int local_78h @ rbp-0x78 │ ; var int local_70h @ rbp-0x70 │ ; var int local_68h @ rbp-0x68 │ ; var int local_60h @ rbp-0x60 │ ; var int local_50h @ rbp-0x50 │ ; var int local_48h @ rbp-0x48 │ ; var int local_40h @ rbp-0x40 │ ; var int local_30h @ rbp-0x30 │ 0x00001402 55 push rbp │ 0x00001403 4889e5 mov rbp, rsp │ 0x00001406 4157 push r15 │ 0x00001408 4156 push r14 │ 0x0000140a 4155 push r13 │ 0x0000140c 4154 push r12 │ 0x0000140e 53 push rbx │ 0x0000140f 4881ecd80000. sub rsp, 0xd8 │ 0x00001416 4989f5 mov r13, rsi │ 0x00001419 4989ff mov r15, rdi │ 0x0000141c 4c8b25050c00. mov r12, qword [rip + 0xc05] ; [0x2028:8]=0 │ 0x00001423 498b0424 mov rax, qword [r12] │ 0x00001427 488945d0 mov qword [rbp - local_30h], rax │ 0x0000142b c745c0000000. mov dword [rbp - local_40h], 0 │ 0x00001432 48c745b80000. mov qword [rbp - local_48h], 0 │ 0x0000143a 48c745b00000. mov qword [rbp - local_50h], 0 │ 0x00001442 48c745a00000. mov qword [rbp - local_60h], 0 │ 0x0000144a 48c745980000. mov qword [rbp - local_68h], 0 │ 0x00001452 48c745900000. mov qword [rbp - local_70h], 0 │ 0x0000145a 48c745880000. mov qword [rbp - local_78h], 0 │ 0x00001462 48c745800000. mov qword [rbp - local_80h], 0 │ 0x0000146a c78528ffffff. mov dword [rbp - local_d8h], 0 │ 0x00001474 488b05a50b00. mov rax, qword [rip + 0xba5] ; [0x2020:8]=0 │ 0x0000147b ff90c8050000 call qword [rax + 0x5c8] │ 0x00001481 4885c0 test rax, rax │ ┌─< 0x00001484 0f8444070000 je 0x1bce │ │ 0x0000148a 498b4500 mov rax, qword [r13] │ │ 0x0000148e 488d359c0900. lea rsi, [rip + 0x99c] ; 0x1e31 ; str.NVDAType ; "NVDAType" @ 0x1e31 │ │ 0x00001495 4c89ef mov rdi, r13 │ │ 0x00001498 ff90b8020000 call qword [rax + 0x2b8] │ │ 0x0000149e 4885c0 test rax, rax │ ┌──< 0x000014a1 0f8527070000 jne 0x1bce │ ││ 0x000014a7 498b4500 mov rax, qword [r13] │ ││ 0x000014ab 488d35880900. lea rsi, [rip + 0x988] ; 0x1e3a ; str.NVCLASS ; "NVCLASS" @ 0x1e3a │ ││ 0x000014b2 4c89ef mov rdi, r13 │ ││ 0x000014b5 ff90b8020000 call qword [rax + 0x2b8] │ ││ 0x000014bb 4885c0 test rax, rax │ ┌───< 0x000014be 0f850a070000 jne 0x1bce │ │││ 0x000014c4 488b05350b00. mov rax, qword [rip + 0xb35] ; [0x2000:8]=0 LEA section.2.__got ; section.2.__got │ │││ 0x000014cb 488b30 mov rsi, qword [rax] │ │││ 0x000014ce 4c89ef mov rdi, r13 │ │││ 0x000014d1 e800000000 call 0x14d6 │ │││ ; CALL XREF from 0x000014d1 (sym.NVDAStartup::NVDAStartup) │ │││ 0x000014d6 4889c3 mov rbx, rax │ │││ 0x000014d9 4885db test rbx, rbx │ ┌────< 0x000014dc 0f84ec060000 je 0x1bce │ ││││ 0x000014e2 488b03 mov rax, qword [rbx] │ ││││ 0x000014e5 be01000000 mov esi, 1 │ ││││ 0x000014ea 4889df mov rdi, rbx │ ││││ 0x000014ed ff90c8080000 call qword [rax + 0x8c8] │ ││││ 0x000014f3 488b03 mov rax, qword [rbx] │ ││││ 0x000014f6 be10000000 mov esi, 0x10 │ ││││ 0x000014fb 31d2 xor edx, edx │ ││││ 0x000014fd 4889df mov rdi, rbx │ ││││ 0x00001500 ff9008090000 call qword [rax + 0x908] │ ││││ 0x00001506 4889c3 mov rbx, rax │ ││││ 0x00001509 4885db test rbx, rbx │ ┌─────< 0x0000150c 0f84bc060000 je 0x1bce │ │││││ 0x00001512 488b03 mov rax, qword [rbx] │ │││││ 0x00001515 4889df mov rdi, rbx │ │││││ 0x00001518 ff9018010000 call qword [rax + 0x118] │ │││││ 0x0000151e 4885c0 test rax, rax │ ┌──────< 0x00001521 0f84a7060000 je 0x1bce │ ││││││ 0x00001527 440fb6b0030a. movzx r14d, byte [rax + 0xa03] ; [0xa03:1]=0 │ ││││││ 0x0000152f 4183e61f and r14d, 0x1f │ ┌───────< 0x00001533 7509 jne 0x153e │ │││││││ 0x00001535 440fb67003 movzx r14d, byte [rax + 3] ; [0x3:1]=254 │ │││││││ 0x0000153a 4183e61f and r14d, 0x1f │ └───────> 0x0000153e 4183fe0d cmp r14d, 0xd │ ││││││ 0x00001542 0f97c0 seta al │ ││││││ 0x00001545 0fb6c0 movzx eax, al │ ││││││ 0x00001548 8d4c0002 lea ecx, [rax + rax + 2] ; 0x2 │ ││││││ 0x0000154c 418d46fb lea eax, [r14 - 5] │ ││││││ 0x00001550 83f807 cmp eax, 7 │ ┌───────< 0x00001553 7320 jae 0x1575 │ │││││││ 0x00001555 898d14ffffff mov dword [rbp - local_ech], ecx │ │││││││ 0x0000155b 488d05690900. lea rax, [rip + 0x969] ; 0x1ecb ; str.NVDATesla ; "NVDATesla" @ 0x1ecb │ │││││││ 0x00001562 48898518ffff. mov qword [rbp - local_e8h], rax │ │││││││ 0x00001569 4c8d35560900. lea r14, [rip + 0x956] ; 0x1ec6 ; str.NV50 ; "NV50" @ 0x1ec6 │ ────────< 0x00001570 e993000000 jmp 0x1608 │ └───────> 0x00001575 4489f0 mov eax, r14d │ ││││││ 0x00001578 83e01e and eax, 0x1e │ ││││││ 0x0000157b 488d15590900. lea rdx, [rip + 0x959] ; 0x1edb ; str.NVDA ; "NVDA" @ 0x1edb │ ││││││ 0x00001582 83f80c cmp eax, 0xc │ ┌───────< 0x00001585 7516 jne 0x159d │ │││││││ 0x00001587 48899518ffff. mov qword [rbp - local_e8h], rdx │ │││││││ 0x0000158e 898d14ffffff mov dword [rbp - local_ech], ecx │ │││││││ 0x00001594 4c8d353a0900. lea r14, [rip + 0x93a] ; 0x1ed5 ; str.GF100 ; "GF100" @ 0x1ed5 │ ────────< 0x0000159b eb6b jmp 0x1608 │ └───────> 0x0000159d 48899518ffff. mov qword [rbp - local_e8h], rdx │ ││││││ 0x000015a4 418d46f2 lea eax, [r14 - 0xe] │ ││││││ 0x000015a8 83f803 cmp eax, 3 │ ┌───────< 0x000015ab 730f jae 0x15bc │ │││││││ 0x000015ad 898d14ffffff mov dword [rbp - local_ech], ecx │ │││││││ 0x000015b3 4c8d35260900. lea r14, [rip + 0x926] ; 0x1ee0 ; str.GK100 ; "GK100" @ 0x1ee0 │ ────────< 0x000015ba eb4c jmp 0x1608 │ └───────> 0x000015bc 898d14ffffff mov dword [rbp - local_ech], ecx │ ││││││ 0x000015c2 418d46ef lea eax, [r14 - 0x11] │ ││││││ 0x000015c6 83f802 cmp eax, 2 │ ┌───────< 0x000015c9 7309 jae 0x15d4 │ │││││││ 0x000015cb 4c8d35140900. lea r14, [rip + 0x914] ; 0x1ee6 ; str.GM100 ; "GM100" @ 0x1ee6 │ ────────< 0x000015d2 eb34 jmp 0x1608 │ └───────> 0x000015d4 488d3d110900. lea rdi, [rip + 0x911] ; 0x1eec ; str.Architecture_couldn_t_be_recognized__PMC_BOOT_0____p__PMC_BOOT_42___0x_08x_n ; "Architecture couldn't be recognized! PMC_BOOT_0 = %p, PMC_BOOT_42 = 0x%08x." @ 0x1eec │ ││││││ 0x000015db 31c0 xor eax, eax │ ││││││ 0x000015dd 4889de mov rsi, rbx │ ││││││ 0x000015e0 4489f2 mov edx, r14d │ ││││││ 0x000015e3 e800000000 call 0x15e8 │ ││││││ ; CALL XREF from 0x000015e3 (sym.NVDAStartup::NVDAStartup) │ ││││││ 0x000015e8 31c0 xor eax, eax │ ││││││ 0x000015ea 488d3dfb0800. lea rdi, [rip + 0x8fb] ; 0x1eec ; str.Architecture_couldn_t_be_recognized__PMC_BOOT_0____p__PMC_BOOT_42___0x_08x_n ; "Architecture couldn't be recognized! PMC_BOOT_0 = %p, PMC_BOOT_42 = 0x%08x." @ 0x1eec │ ││││││ 0x000015f1 4889de mov rsi, rbx │ ││││││ 0x000015f4 4489f2 mov edx, r14d │ ││││││ 0x000015f7 4531f6 xor r14d, r14d │ ││││││ 0x000015fa e800000000 call 0x15ff │ ││││││ ; CALL XREF from 0x000015fa (sym.NVDAStartup::NVDAStartup) │ ││││││ 0x000015ff 31c0 xor eax, eax │ ││││││ 0x00001601 48898518ffff. mov qword [rbp - local_e8h], rax │ ││││││ ; JMP XREF from 0x000015d2 (sym.NVDAStartup::NVDAStartup) │ ││││││ ; JMP XREF from 0x000015ba (sym.NVDAStartup::NVDAStartup) │ ││││││ ; JMP XREF from 0x0000159b (sym.NVDAStartup::NVDAStartup) │ ││││││ ; JMP XREF from 0x00001570 (sym.NVDAStartup::NVDAStartup) │ ────────> 0x00001608 488b03 mov rax, qword [rbx] │ ││││││ 0x0000160b 4889df mov rdi, rbx │ ││││││ 0x0000160e ff5028 call qword [rax + 0x28] ; '(' ; "__TEXT" │ ││││││ 0x00001611 4d85f6 test r14, r14 │ ┌───────< 0x00001614 0f84b4050000 je 0x1bce │ │││││││ 0x0000161a 488d3d210800. lea rdi, [rip + 0x821] ; 0x1e42 ; str.nvda_drv ; "nvda_drv" @ 0x1e42 │ │││││││ 0x00001621 488db528ffff. lea rsi, [rbp - local_d8h] │ │││││││ 0x00001628 ba04000000 mov edx, 4 │ │││││││ 0x0000162d e800000000 call 0x1632 │ │││││││ ; CALL XREF from 0x0000162d (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001632 488d35120800. lea rsi, [rip + 0x812] ; 0x1e4b ; str.NVDARequiredOS ; "NVDARequiredOS" @ 0x1e4b │ │││││││ 0x00001639 488d5d80 lea rbx, [rbp - local_80h] │ │││││││ 0x0000163d b928000000 mov ecx, 0x28 ; '(' ; "__TEXT" │ │││││││ 0x00001642 4c89ff mov rdi, r15 │ │││││││ 0x00001645 4889da mov rdx, rbx │ │││││││ 0x00001648 e8a4050000 call 0x1bf1 │ │││││││ 0x0000164d 4889df mov rdi, rbx │ │││││││ 0x00001650 e800000000 call 0x1655 │ │││││││ ; CALL XREF from 0x00001650 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001655 4885c0 test rax, rax │ ────────< 0x00001658 0f84da000000 je 0x1738 │ │││││││ 0x0000165e 48c78570ffff. mov qword [rbp - local_90h], 0 │ │││││││ 0x00001669 48c78568ffff. mov qword [rbp - local_98h], 0 │ │││││││ 0x00001674 48c78560ffff. mov qword [rbp - local_a0h], 0 │ │││││││ 0x0000167f 48c78558ffff. mov qword [rbp - local_a8h], 0 │ │││││││ 0x0000168a 48c78550ffff. mov qword [rbp - local_b0h], 0 │ │││││││ 0x00001695 48c78520ffff. mov qword [rbp - local_e0h], 0x28 │ │││││││ 0x000016a0 488d3db30700. lea rdi, [rip + 0x7b3] ; 0x1e5a ; str.kern.osversion ; "kern.osversion" @ 0x1e5a │ │││││││ 0x000016a7 31db xor ebx, ebx │ │││││││ 0x000016a9 488db550ffff. lea rsi, [rbp - local_b0h] │ │││││││ 0x000016b0 488d9520ffff. lea rdx, [rbp - local_e0h] │ │││││││ 0x000016b7 31c9 xor ecx, ecx │ │││││││ 0x000016b9 4531c0 xor r8d, r8d │ │││││││ 0x000016bc e800000000 call 0x16c1 │ │││││││ ; CALL XREF from 0x000016bc (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x000016c1 4883bd20ffff. cmp qword [rbp - local_e0h], 0 │ ────────< 0x000016c9 746f je 0x173a │ │││││││ 0x000016cb 488dbd50ffff. lea rdi, [rbp - local_b0h] │ │││││││ 0x000016d2 488d7580 lea rsi, [rbp - local_80h] │ │││││││ 0x000016d6 ba28000000 mov edx, 0x28 ; '(' ; "__TEXT" │ │││││││ 0x000016db e800000000 call 0x16e0 │ │││││││ ; CALL XREF from 0x000016db (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x000016e0 85c0 test eax, eax │ ────────< 0x000016e2 7454 je 0x1738 │ │││││││ 0x000016e4 488d7d80 lea rdi, [rbp - local_80h] │ │││││││ 0x000016e8 e800000000 call 0x16ed │ │││││││ ; CALL XREF from 0x000016e8 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x000016ed 4883f803 cmp rax, 3 │ ────────< 0x000016f1 7519 jne 0x170c │ │││││││ 0x000016f3 488dbd50ffff. lea rdi, [rbp - local_b0h] │ │││││││ 0x000016fa 488d7580 lea rsi, [rbp - local_80h] │ │││││││ 0x000016fe ba03000000 mov edx, 3 │ │││││││ 0x00001703 e800000000 call 0x1708 │ │││││││ ; CALL XREF from 0x00001703 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001708 85c0 test eax, eax │ ────────< 0x0000170a 742c je 0x1738 │ ────────> 0x0000170c 488d7d80 lea rdi, [rbp - local_80h] │ │││││││ 0x00001710 e800000000 call 0x1715 │ │││││││ ; CALL XREF from 0x00001710 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001715 4883f802 cmp rax, 2 │ ────────< 0x00001719 7519 jne 0x1734 │ │││││││ 0x0000171b 488dbd50ffff. lea rdi, [rbp - local_b0h] │ │││││││ 0x00001722 488d7580 lea rsi, [rbp - local_80h] │ │││││││ 0x00001726 ba02000000 mov edx, 2 │ │││││││ 0x0000172b e800000000 call 0x1730 │ │││││││ ; CALL XREF from 0x0000172b (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001730 85c0 test eax, eax │ ────────< 0x00001732 7404 je 0x1738 │ ────────> 0x00001734 b301 mov bl, 1 │ ────────< 0x00001736 eb02 jmp 0x173a │ ────────> 0x00001738 31db xor ebx, ebx │ │││││││ ; JMP XREF from 0x00001736 (sym.NVDAStartup::NVDAStartup) │ ────────> 0x0000173a 4c89b508ffff. mov qword [rbp - local_f8h], r14 │ │││││││ 0x00001741 488d35e90600. lea rsi, [rip + 0x6e9] ; 0x1e31 ; str.NVDAType ; "NVDAType" @ 0x1e31 │ │││││││ 0x00001748 488d55b0 lea rdx, [rbp - local_50h] │ │││││││ 0x0000174c b914000000 mov ecx, 0x14 │ │││││││ 0x00001751 4c89ff mov rdi, r15 │ │││││││ 0x00001754 e898040000 call 0x1bf1 │ │││││││ 0x00001759 83bd28ffffff. cmp dword [rbp - local_d8h], 0 │ ────────< 0x00001760 7412 je 0x1774 │ │││││││ 0x00001762 84db test bl, bl │ ────────< 0x00001764 750e jne 0x1774 │ │││││││ 0x00001766 488d7db0 lea rdi, [rbp - local_50h] │ │││││││ 0x0000176a e800000000 call 0x176f │ │││││││ ; CALL XREF from 0x0000176a (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x0000176f 4885c0 test rax, rax │ ────────< 0x00001772 7515 jne 0x1789 │ ────────> 0x00001774 488d35ee0600. lea rsi, [rip + 0x6ee] ; 0x1e69 ; str.Official ; "Official" @ 0x1e69 │ │││││││ 0x0000177b 488d7db0 lea rdi, [rbp - local_50h] │ │││││││ 0x0000177f ba14000000 mov edx, 0x14 │ │││││││ 0x00001784 e800000000 call 0x1789 │ │││││││ ; CALL XREF from 0x00001784 (sym.NVDAStartup::NVDAStartup) │ ────────> 0x00001789 488d05f50600. lea rax, [rip + 0x6f5] ; 0x1e85 ; str._forced_ ; " (forced)" @ 0x1e85 │ │││││││ 0x00001790 488d15f80600. lea rdx, [rip + 0x6f8] ; 0x1e8f │ │││││││ 0x00001797 84db test bl, bl │ │││││││ 0x00001799 480f45d0 cmovne rdx, rax │ │││││││ 0x0000179d 488d3dce0600. lea rdi, [rip + 0x6ce] ; 0x1e72 ; str.NVDAStartup:__s_s_n ; "NVDAStartup: %s%s." @ 0x1e72 │ │││││││ 0x000017a4 31db xor ebx, ebx │ │││││││ 0x000017a6 4c8d75b0 lea r14, [rbp - local_50h] │ │││││││ 0x000017aa 31c0 xor eax, eax │ │││││││ 0x000017ac 4c89f6 mov rsi, r14 │ │││││││ 0x000017af e800000000 call 0x17b4 │ │││││││ ; CALL XREF from 0x000017af (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x000017b4 498b4500 mov rax, qword [r13] │ │││││││ 0x000017b8 488d35720600. lea rsi, [rip + 0x672] ; 0x1e31 ; str.NVDAType ; "NVDAType" @ 0x1e31 │ │││││││ 0x000017bf 4c89ef mov rdi, r13 │ │││││││ 0x000017c2 4c89f2 mov rdx, r14 │ │││││││ 0x000017c5 ff9070020000 call qword [rax + 0x270] ; "@ " │ │││││││ 0x000017cb 498b4500 mov rax, qword [r13] │ │││││││ 0x000017cf 488d35ba0600. lea rsi, [rip + 0x6ba] ; 0x1e90 ; str.NVArch ; "NVArch" @ 0x1e90 │ │││││││ 0x000017d6 4c89ef mov rdi, r13 │ │││││││ 0x000017d9 488b9508ffff. mov rdx, qword [rbp - local_f8h] │ │││││││ 0x000017e0 ff9070020000 call qword [rax + 0x270] ; "@ " │ │││││││ 0x000017e6 498b4500 mov rax, qword [r13] │ │││││││ 0x000017ea 488d35490600. lea rsi, [rip + 0x649] ; 0x1e3a ; str.NVCLASS ; "NVCLASS" @ 0x1e3a │ │││││││ 0x000017f1 4c89ef mov rdi, r13 │ │││││││ 0x000017f4 488b9518ffff. mov rdx, qword [rbp - local_e8h] │ │││││││ 0x000017fb ff9070020000 call qword [rax + 0x270] ; "@ " │ │││││││ 0x00001801 c7854cffffff. mov dword [rbp - local_b4h], 0 │ │││││││ 0x0000180b c78548ffffff. mov dword [rbp - local_b8h], 0 │ │││││││ 0x00001815 488dbd30ffff. lea rdi, [rbp - local_d0h] │ │││││││ 0x0000181c be14000000 mov esi, 0x14 │ │││││││ 0x00001821 e800000000 call 0x1826 │ │││││││ ; CALL XREF from 0x00001821 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001826 c68530ffffff. mov byte [rbp - local_d0h], 5 │ │││││││ 0x0000182d c6853fffffff. mov byte [rbp - local_c1h], 0xe │ │││││││ 0x00001834 c7852cffffff. mov dword [rbp - local_d4h], 0x800 │ │││││││ 0x0000183e 66c78536ffff. mov word [rbp - local_cah], 0xffff │ │││││││ 0x00001847 66c78538ffff. mov word [rbp - local_c8h], 0xffff │ │││││││ 0x00001850 488d3de10600. lea rdi, [rip + 0x6e1] ; 0x1f38 ; str.nv_force_preset ; "nv_force_preset" @ 0x1f38 │ │││││││ 0x00001857 488db54cffff. lea rsi, [rbp - local_b4h] │ │││││││ 0x0000185e ba04000000 mov edx, 4 │ │││││││ 0x00001863 e800000000 call 0x1868 │ │││││││ ; CALL XREF from 0x00001863 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001868 83bd4cffffff. cmp dword [rbp - local_b4h], 0 │ ────────< 0x0000186f 751d jne 0x188e │ │││││││ 0x00001871 498b4500 mov rax, qword [r13] │ │││││││ 0x00001875 488d35cc0600. lea rsi, [rip + 0x6cc] ; 0x1f48 ; str.device_type ; "device_type" @ 0x1f48 │ │││││││ 0x0000187c 4c89ef mov rdi, r13 │ │││││││ 0x0000187f ff90b8020000 call qword [rax + 0x2b8] │ │││││││ 0x00001885 4885c0 test rax, rax │ ────────< 0x00001888 0f8596010000 jne 0x1a24 │ ────────> 0x0000188e 488d3dbf0600. lea rdi, [rip + 0x6bf] ; 0x1f54 ; str.nv_nheads ; "nv_nheads" @ 0x1f54 │ │││││││ 0x00001895 488db548ffff. lea rsi, [rbp - local_b8h] │ │││││││ 0x0000189c ba04000000 mov edx, 4 │ │││││││ 0x000018a1 e800000000 call 0x18a6 │ │││││││ ; CALL XREF from 0x000018a1 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x000018a6 85c0 test eax, eax │ │││││││ 0x000018a8 8b8d14ffffff mov ecx, dword [rbp - local_ech] │ │││││││ 0x000018ae 0f458d48ffff. cmovne ecx, dword [rbp - local_b8h] │ │││││││ 0x000018b5 85c9 test ecx, ecx │ ────────< 0x000018b7 746e je 0x1927 │ │││││││ 0x000018b9 41bf00000041 mov r15d, 0x41000000 │ ────────> 0x000018bf 4589f8 mov r8d, r15d │ │││││││ 0x000018c2 41c1f818 sar r8d, 0x18 │ │││││││ 0x000018c6 31c0 xor eax, eax │ │││││││ 0x000018c8 4c89ef mov rdi, r13 │ │││││││ 0x000018cb 89de mov esi, ebx │ │││││││ 0x000018cd 488d158a0600. lea rdx, [rip + 0x68a] ; 0x1f5e ; str.name ; "name" @ 0x1f5e │ │││││││ 0x000018d4 4189ce mov r14d, ecx │ │││││││ 0x000018d7 488d0d850600. lea rcx, [rip + 0x685] ; 0x1f63 ; str.NVDA_Display__c ; "NVDA,Display-%c" @ 0x1f63 │ │││││││ 0x000018de e86b030000 call 0x1c4e │ │││││││ 0x000018e3 31c0 xor eax, eax │ │││││││ 0x000018e5 4c89ef mov rdi, r13 │ │││││││ 0x000018e8 89de mov esi, ebx │ │││││││ 0x000018ea 488d15570600. lea rdx, [rip + 0x657] ; 0x1f48 ; str.device_type ; "device_type" @ 0x1f48 │ │││││││ 0x000018f1 488d0d7b0600. lea rcx, [rip + 0x67b] ; 0x1f73 ; str.display ; "display" @ 0x1f73 │ │││││││ 0x000018f8 e851030000 call 0x1c4e │ │││││││ 0x000018fd 31c0 xor eax, eax │ │││││││ 0x000018ff 4c89ef mov rdi, r13 │ │││││││ 0x00001902 89de mov esi, ebx │ │││││││ 0x00001904 488d15700600. lea rdx, [rip + 0x670] ; 0x1f7b ; str.compatible ; "compatible" @ 0x1f7b │ │││││││ 0x0000190b 488d0d740600. lea rcx, [rip + 0x674] ; 0x1f86 ; str.NVDA_NVMac ; "NVDA,NVMac" @ 0x1f86 │ │││││││ 0x00001912 e837030000 call 0x1c4e │ │││││││ 0x00001917 4489f1 mov ecx, r14d │ │││││││ 0x0000191a ffc3 inc ebx │ │││││││ 0x0000191c 4181c7000000. add r15d, 0x1000000 │ │││││││ 0x00001923 39d9 cmp ecx, ebx │ ────────< 0x00001925 7598 jne 0x18bf │ ────────> 0x00001927 498b4500 mov rax, qword [r13] │ │││││││ 0x0000192b 488d35160600. lea rsi, [rip + 0x616] ; 0x1f48 ; str.device_type ; "device_type" @ 0x1f48 │ │││││││ 0x00001932 4c89ef mov rdi, r13 │ │││││││ 0x00001935 ff90b8020000 call qword [rax + 0x2b8] │ │││││││ 0x0000193b 4885c0 test rax, rax │ ────────< 0x0000193e 0f85e0000000 jne 0x1a24 │ │││││││ 0x00001944 498b4500 mov rax, qword [r13] │ │││││││ 0x00001948 488d35f90500. lea rsi, [rip + 0x5f9] ; 0x1f48 ; str.device_type ; "device_type" @ 0x1f48 │ │││││││ 0x0000194f 488d153b0600. lea rdx, [rip + 0x63b] ; 0x1f91 ; str.NVDA_Parent ; "NVDA,Parent" @ 0x1f91 │ │││││││ 0x00001956 b90c000000 mov ecx, 0xc │ │││││││ 0x0000195b 4c89ef mov rdi, r13 │ │││││││ 0x0000195e ff9088020000 call qword [rax + 0x288] │ │││││││ 0x00001964 498b4500 mov rax, qword [r13] │ │││││││ 0x00001968 488d352e0600. lea rsi, [rip + 0x62e] ; 0x1f9d ; str.model ; "model" @ 0x1f9d │ │││││││ 0x0000196f 488d152d0600. lea rdx, [rip + 0x62d] ; 0x1fa3 ; str.NVIDIA_Chip_Model ; "NVIDIA Chip Model" @ 0x1fa3 │ │││││││ 0x00001976 b912000000 mov ecx, 0x12 │ │││││││ 0x0000197b 4c89ef mov rdi, r13 │ │││││││ 0x0000197e ff9088020000 call qword [rax + 0x288] │ │││││││ 0x00001984 498b4500 mov rax, qword [r13] │ │││││││ 0x00001988 488d35cf0500. lea rsi, [rip + 0x5cf] ; 0x1f5e ; str.name ; "name" @ 0x1f5e │ │││││││ 0x0000198f 488d15dd0500. lea rdx, [rip + 0x5dd] ; 0x1f73 ; str.display ; "display" @ 0x1f73 │ │││││││ 0x00001996 b908000000 mov ecx, 8 │ │││││││ 0x0000199b 4c89ef mov rdi, r13 │ │││││││ 0x0000199e ff9088020000 call qword [rax + 0x288] │ │││││││ 0x000019a4 498b4500 mov rax, qword [r13] │ │││││││ 0x000019a8 488d35060600. lea rsi, [rip + 0x606] ; 0x1fb5 ; str.rom_revision ; "rom-revision" @ 0x1fb5 │ │││││││ 0x000019af 488d150c0600. lea rdx, [rip + 0x60c] ; 0x1fc2 ; str.preset_1.0.0 ; "preset 1.0.0" @ 0x1fc2 │ │││││││ 0x000019b6 b90d000000 mov ecx, 0xd │ │││││││ 0x000019bb 4c89ef mov rdi, r13 │ │││││││ 0x000019be ff9088020000 call qword [rax + 0x288] │ │││││││ 0x000019c4 498b4500 mov rax, qword [r13] │ │││││││ 0x000019c8 488d35000600. lea rsi, [rip + 0x600] ; 0x1fcf ; str.NVCAP ; "NVCAP" @ 0x1fcf │ │││││││ 0x000019cf 488d9530ffff. lea rdx, [rbp - local_d0h] │ │││││││ 0x000019d6 b914000000 mov ecx, 0x14 │ │││││││ 0x000019db 4c89ef mov rdi, r13 │ │││││││ 0x000019de ff9088020000 call qword [rax + 0x288] │ │││││││ 0x000019e4 498b4500 mov rax, qword [r13] │ │││││││ 0x000019e8 488d35e60500. lea rsi, [rip + 0x5e6] ; 0x1fd5 ; str.NVDA_Features ; "NVDA,Features" @ 0x1fd5 │ │││││││ 0x000019ef 488d952cffff. lea rdx, [rbp - local_d4h] │ │││││││ 0x000019f6 b904000000 mov ecx, 4 │ │││││││ 0x000019fb 4c89ef mov rdi, r13 │ │││││││ 0x000019fe ff9088020000 call qword [rax + 0x288] │ │││││││ 0x00001a04 498b4500 mov rax, qword [r13] │ │││││││ 0x00001a08 488d35d40500. lea rsi, [rip + 0x5d4] ; 0x1fe3 ; str.NVDA_noEFI ; "NVDA,noEFI" @ 0x1fe3 │ │││││││ 0x00001a0f 488d15d80500. lea rdx, [rip + 0x5d8] ; 0x1fee ; str.true ; "true" @ 0x1fee │ │││││││ 0x00001a16 b905000000 mov ecx, 5 │ │││││││ 0x00001a1b 4c89ef mov rdi, r13 │ │││││││ 0x00001a1e ff9088020000 call qword [rax + 0x288] │ ────────> 0x00001a24 488d3d6c0400. lea rdi, [rip + 0x46c] ; 0x1e97 ; str.IOService ; "IOService" @ 0x1e97 │ │││││││ 0x00001a2b e800000000 call 0x1a30 │ │││││││ ; CALL XREF from 0x00001a2b (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001a30 488b0de10500. mov rcx, qword [rip + 0x5e1] ; [0x2018:8]=0 │ │││││││ 0x00001a37 4c8b39 mov r15, qword [rcx] │ │││││││ 0x00001a3a 4889c7 mov rdi, rax │ │││││││ 0x00001a3d 4c89fe mov rsi, r15 │ │││││││ 0x00001a40 e800000000 call 0x1a45 │ │││││││ ; CALL XREF from 0x00001a40 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001a45 4889c3 mov rbx, rax │ │││││││ 0x00001a48 4885db test rbx, rbx │ ────────< 0x00001a4b 0f847d010000 je 0x1bce │ │││││││ 0x00001a51 488b03 mov rax, qword [rbx] │ │││││││ 0x00001a54 31f6 xor esi, esi │ │││││││ 0x00001a56 4889df mov rdi, rbx │ │││││││ 0x00001a59 ff9048020000 call qword [rax + 0x248] │ │││││││ 0x00001a5f 84c0 test al, al │ ────────< 0x00001a61 0f8467010000 je 0x1bce │ │││││││ 0x00001a67 488b03 mov rax, qword [rbx] │ │││││││ 0x00001a6a 4889df mov rdi, rbx │ │││││││ 0x00001a6d 4c89ee mov rsi, r13 │ │││││││ 0x00001a70 ff9070060000 call qword [rax + 0x670] │ │││││││ 0x00001a76 488b03 mov rax, qword [rbx] │ │││││││ 0x00001a79 488d35210400. lea rsi, [rip + 0x421] ; 0x1ea1 ; str.NVDAHal ; "NVDAHal" @ 0x1ea1 │ │││││││ 0x00001a80 31d2 xor edx, edx │ │││││││ 0x00001a82 4889df mov rdi, rbx │ │││││││ 0x00001a85 4989f6 mov r14, rsi │ │││││││ 0x00001a88 ff90b0030000 call qword [rax + 0x3b0] │ │││││││ 0x00001a8e 488b03 mov rax, qword [rbx] │ │││││││ 0x00001a91 488d35110400. lea rsi, [rip + 0x411] ; 0x1ea9 ; str.nubType ; "nubType" @ 0x1ea9 │ │││││││ 0x00001a98 4889df mov rdi, rbx │ │││││││ 0x00001a9b 4c89f2 mov rdx, r14 │ │││││││ 0x00001a9e 4c8bb508ffff. mov r14, qword [rbp - local_f8h] │ │││││││ 0x00001aa5 ff9070020000 call qword [rax + 0x270] ; "@ " │ │││││││ 0x00001aab 488b03 mov rax, qword [rbx] │ │││││││ 0x00001aae 488d357c0300. lea rsi, [rip + 0x37c] ; 0x1e31 ; str.NVDAType ; "NVDAType" @ 0x1e31 │ │││││││ 0x00001ab5 488d55b0 lea rdx, [rbp - local_50h] │ │││││││ 0x00001ab9 4889df mov rdi, rbx │ │││││││ 0x00001abc ff9070020000 call qword [rax + 0x270] ; "@ " │ │││││││ 0x00001ac2 488b03 mov rax, qword [rbx] │ │││││││ 0x00001ac5 488d35c40300. lea rsi, [rip + 0x3c4] ; 0x1e90 ; str.NVArch ; "NVArch" @ 0x1e90 │ │││││││ 0x00001acc 4889df mov rdi, rbx │ │││││││ 0x00001acf 4c89f2 mov rdx, r14 │ │││││││ 0x00001ad2 ff9070020000 call qword [rax + 0x270] ; "@ " │ │││││││ 0x00001ad8 488b03 mov rax, qword [rbx] │ │││││││ 0x00001adb 488d35cf0300. lea rsi, [rip + 0x3cf] ; 0x1eb1 ; str.unmatched ; "unmatched" @ 0x1eb1 │ │││││││ 0x00001ae2 488d15d20300. lea rdx, [rip + 0x3d2] ; 0x1ebb ; "yes" │ │││││││ 0x00001ae9 4889df mov rdi, rbx │ │││││││ 0x00001aec ff9070020000 call qword [rax + 0x270] ; "@ " │ │││││││ 0x00001af2 488b03 mov rax, qword [rbx] │ │││││││ 0x00001af5 31f6 xor esi, esi │ │││││││ 0x00001af7 4889df mov rdi, rbx │ │││││││ 0x00001afa ff90b0050000 call qword [rax + 0x5b0] │ │││││││ 0x00001b00 488d3d900300. lea rdi, [rip + 0x390] ; 0x1e97 ; str.IOService ; "IOService" @ 0x1e97 │ │││││││ 0x00001b07 e800000000 call 0x1b0c │ │││││││ ; CALL XREF from 0x00001b07 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001b0c 4889c7 mov rdi, rax │ │││││││ 0x00001b0f 4c89fe mov rsi, r15 │ │││││││ 0x00001b12 e800000000 call 0x1b17 │ │││││││ ; CALL XREF from 0x00001b12 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001b17 4889c3 mov rbx, rax │ │││││││ 0x00001b1a 4885db test rbx, rbx │ ────────< 0x00001b1d 0f84ab000000 je 0x1bce │ │││││││ 0x00001b23 488b03 mov rax, qword [rbx] │ │││││││ 0x00001b26 31f6 xor esi, esi │ │││││││ 0x00001b28 4889df mov rdi, rbx │ │││││││ 0x00001b2b ff9048020000 call qword [rax + 0x248] │ │││││││ 0x00001b31 84c0 test al, al │ ────────< 0x00001b33 0f8495000000 je 0x1bce │ │││││││ 0x00001b39 488b03 mov rax, qword [rbx] │ │││││││ 0x00001b3c 4889df mov rdi, rbx │ │││││││ 0x00001b3f 4c89ee mov rsi, r13 │ │││││││ 0x00001b42 ff9070060000 call qword [rax + 0x670] │ │││││││ 0x00001b48 488b03 mov rax, qword [rbx] │ │││││││ 0x00001b4b 4d89f7 mov r15, r14 │ │││││││ 0x00001b4e 4c8d356a0300. lea r14, [rip + 0x36a] ; 0x1ebf ; str.NVDAgl ; "NVDAgl" @ 0x1ebf │ │││││││ 0x00001b55 31d2 xor edx, edx │ │││││││ 0x00001b57 4889df mov rdi, rbx │ │││││││ 0x00001b5a 4c89f6 mov rsi, r14 │ │││││││ 0x00001b5d ff90b0030000 call qword [rax + 0x3b0] │ │││││││ 0x00001b63 488b03 mov rax, qword [rbx] │ │││││││ 0x00001b66 488d353c0300. lea rsi, [rip + 0x33c] ; 0x1ea9 ; str.nubType ; "nubType" @ 0x1ea9 │ │││││││ 0x00001b6d 4889df mov rdi, rbx │ │││││││ 0x00001b70 4c89f2 mov rdx, r14 │ │││││││ 0x00001b73 ff9070020000 call qword [rax + 0x270] ; "@ " │ │││││││ 0x00001b79 488b03 mov rax, qword [rbx] │ │││││││ 0x00001b7c 488d35ae0200. lea rsi, [rip + 0x2ae] ; 0x1e31 ; str.NVDAType ; "NVDAType" @ 0x1e31 │ │││││││ 0x00001b83 488d55b0 lea rdx, [rbp - local_50h] │ │││││││ 0x00001b87 4889df mov rdi, rbx │ │││││││ 0x00001b8a ff9070020000 call qword [rax + 0x270] ; "@ " │ │││││││ 0x00001b90 488b03 mov rax, qword [rbx] │ │││││││ 0x00001b93 488d35f60200. lea rsi, [rip + 0x2f6] ; 0x1e90 ; str.NVArch ; "NVArch" @ 0x1e90 │ │││││││ 0x00001b9a 4889df mov rdi, rbx │ │││││││ 0x00001b9d 4c89fa mov rdx, r15 │ │││││││ 0x00001ba0 ff9070020000 call qword [rax + 0x270] ; "@ " │ │││││││ 0x00001ba6 488b03 mov rax, qword [rbx] │ │││││││ 0x00001ba9 488d35010300. lea rsi, [rip + 0x301] ; 0x1eb1 ; str.unmatched ; "unmatched" @ 0x1eb1 │ │││││││ 0x00001bb0 488d15040300. lea rdx, [rip + 0x304] ; 0x1ebb ; "yes" │ │││││││ 0x00001bb7 4889df mov rdi, rbx │ │││││││ 0x00001bba ff9070020000 call qword [rax + 0x270] ; "@ " │ │││││││ 0x00001bc0 488b03 mov rax, qword [rbx] │ │││││││ 0x00001bc3 31f6 xor esi, esi │ │││││││ 0x00001bc5 4889df mov rdi, rbx │ │││││││ 0x00001bc8 ff90b0050000 call qword [rax + 0x5b0] │ └└└└└└└─> 0x00001bce 498b0424 mov rax, qword [r12] │ 0x00001bd2 483b45d0 cmp rax, qword [rbp - local_30h] │ ┌─< 0x00001bd6 7514 jne 0x1bec │ │ 0x00001bd8 31c0 xor eax, eax │ │ 0x00001bda 4881c4d80000. add rsp, 0xd8 │ │ 0x00001be1 5b pop rbx │ │ 0x00001be2 415c pop r12 │ │ 0x00001be4 415d pop r13 │ │ 0x00001be6 415e pop r14 │ │ 0x00001be8 415f pop r15 │ │ 0x00001bea 5d pop rbp │ │ 0x00001beb c3 ret │ └─> 0x00001bec e800000000 call 0x1bf1 │ ; CALL XREF from 0x00001bec (sym.NVDAStartup::NVDAStartup) │ ; CALL XREF from 0x00001648 (sym.NVDAStartup::NVDAStartup) │ ; CALL XREF from 0x00001754 (sym.NVDAStartup::NVDAStartup) │ 0x00001bf1 55 push rbp │ 0x00001bf2 4889e5 mov rbp, rsp │ 0x00001bf5 4156 push r14 │ 0x00001bf7 53 push rbx │ 0x00001bf8 4989ce mov r14, rcx │ 0x00001bfb 4889d3 mov rbx, rdx │ 0x00001bfe 488b07 mov rax, qword [rdi] │ 0x00001c01 ff90b8020000 call qword [rax + 0x2b8] │ 0x00001c07 488b0dfa0300. mov rcx, qword [rip + 0x3fa] ; [0x2008:8]=0 │ 0x00001c0e 488b31 mov rsi, qword [rcx] │ 0x00001c11 4889c7 mov rdi, rax │ 0x00001c14 e800000000 call 0x1c19 │ ; CALL XREF from 0x00001c14 (sym.NVDAStartup::NVDAStartup) │ 0x00001c19 4885c0 test rax, rax │ ┌─< 0x00001c1c 741e je 0x1c3c │ │ 0x00001c1e 488b08 mov rcx, qword [rax] │ │ 0x00001c21 4889c7 mov rdi, rax │ │ 0x00001c24 ff9148010000 call qword [rcx + 0x148] │ │ 0x00001c2a 4889df mov rdi, rbx │ │ 0x00001c2d 4889c6 mov rsi, rax │ │ 0x00001c30 4c89f2 mov rdx, r14 │ │ 0x00001c33 5b pop rbx │ │ 0x00001c34 415e pop r14 │ │ 0x00001c36 5d pop rbp │ ┌──< 0x00001c37 e900000000 jmp 0x1c3c │ ││ ; JMP XREF from 0x00001c37 (sym.NVDAStartup::NVDAStartup) │ └└─> 0x00001c3c c60300 mov byte [rbx], 0 │ 0x00001c3f 5b pop rbx │ 0x00001c40 415e pop r14 │ 0x00001c42 5d pop rbp ╘ 0x00001c43 c3 ret NVDAStartup_11.12.1 ╒ (fcn) sym.NVDAStartup::probe 2309 │ ; var int local_d8h @ rbp-0xd8 │ ; var int local_cch @ rbp-0xcc │ ; var int local_c8h @ rbp-0xc8 │ ; var int local_c0h @ rbp-0xc0 │ ; var int local_bch @ rbp-0xbc │ ; var int local_b8h @ rbp-0xb8 │ ; var int local_b4h @ rbp-0xb4 │ ; var int local_b0h @ rbp-0xb0 │ ; var int local_aah @ rbp-0xaa │ ; var int local_a8h @ rbp-0xa8 │ ; var int local_a1h @ rbp-0xa1 │ ; var int local_a0h @ rbp-0xa0 │ ; var int local_98h @ rbp-0x98 │ ; var int local_90h @ rbp-0x90 │ ; var int local_80h @ rbp-0x80 │ ; var int local_78h @ rbp-0x78 │ ; var int local_70h @ rbp-0x70 │ ; var int local_68h @ rbp-0x68 │ ; var int local_60h @ rbp-0x60 │ ; var int local_50h @ rbp-0x50 │ ; var int local_48h @ rbp-0x48 │ ; var int local_40h @ rbp-0x40 │ ; var int local_30h @ rbp-0x30 │ 0x00001332 55 push rbp │ 0x00001333 4889e5 mov rbp, rsp │ 0x00001336 4157 push r15 │ 0x00001338 4156 push r14 │ 0x0000133a 4155 push r13 │ 0x0000133c 4154 push r12 │ 0x0000133e 53 push rbx │ 0x0000133f 4881ecb80000. sub rsp, 0xb8 │ 0x00001346 4989f7 mov r15, rsi │ 0x00001349 4989fe mov r14, rdi │ 0x0000134c 488b05dd0c00. mov rax, qword [rip + 0xcdd] ; [0x2030:8]=0 │ 0x00001353 488b00 mov rax, qword [rax] │ 0x00001356 488945d0 mov qword [rbp - local_30h], rax │ 0x0000135a 31c0 xor eax, eax │ 0x0000135c 8945c0 mov dword [rbp - local_40h], eax │ 0x0000135f 48c745b80000. mov qword [rbp - local_48h], 0 │ 0x00001367 48c745b00000. mov qword [rbp - local_50h], 0 │ 0x0000136f 48c745a00000. mov qword [rbp - local_60h], 0 │ 0x00001377 48c745980000. mov qword [rbp - local_68h], 0 │ 0x0000137f 48c745900000. mov qword [rbp - local_70h], 0 │ 0x00001387 48c745880000. mov qword [rbp - local_78h], 0 │ 0x0000138f 48c745800000. mov qword [rbp - local_80h], 0 │ 0x00001397 898540ffffff mov dword [rbp - local_c0h], eax │ 0x0000139d 488b05840c00. mov rax, qword [rip + 0xc84] ; [0x2028:8]=0 │ 0x000013a4 ff90c8050000 call qword [rax + 0x5c8] │ 0x000013aa 4885c0 test rax, rax │ ┌─< 0x000013ad 0f8408080000 je 0x1bbb │ │ 0x000013b3 498b07 mov rax, qword [r15] │ │ 0x000013b6 488d35640a00. lea rsi, [rip + 0xa64] ; 0x1e21 ; str.NVDAType ; "NVDAType" @ 0x1e21 │ │ 0x000013bd 4c89ff mov rdi, r15 │ │ 0x000013c0 ff90b8020000 call qword [rax + 0x2b8] │ │ 0x000013c6 4885c0 test rax, rax │ ┌──< 0x000013c9 0f85ec070000 jne 0x1bbb │ ││ 0x000013cf 498b07 mov rax, qword [r15] │ ││ 0x000013d2 488d35510a00. lea rsi, [rip + 0xa51] ; 0x1e2a ; str.NVCLASS ; "NVCLASS" @ 0x1e2a │ ││ 0x000013d9 4c89ff mov rdi, r15 │ ││ 0x000013dc ff90b8020000 call qword [rax + 0x2b8] │ ││ 0x000013e2 4885c0 test rax, rax │ ┌───< 0x000013e5 0f85d0070000 jne 0x1bbb │ │││ 0x000013eb 488b050e0c00. mov rax, qword [rip + 0xc0e] ; [0x2000:8]=0 LEA section.2.__got ; section.2.__got │ │││ 0x000013f2 488b30 mov rsi, qword [rax] │ │││ 0x000013f5 4c89ff mov rdi, r15 │ │││ 0x000013f8 e800000000 call 0x13fd │ │││ ; CALL XREF from 0x000013f8 (sym.NVDAStartup::NVDAStartup) │ │││ 0x000013fd 4889c3 mov rbx, rax │ │││ 0x00001400 4885db test rbx, rbx │ ┌────< 0x00001403 0f84b2070000 je 0x1bbb │ ││││ 0x00001409 488b03 mov rax, qword [rbx] │ ││││ 0x0000140c be01000000 mov esi, 1 │ ││││ 0x00001411 4889df mov rdi, rbx │ ││││ 0x00001414 ff90c8080000 call qword [rax + 0x8c8] │ ││││ 0x0000141a 488b03 mov rax, qword [rbx] │ ││││ 0x0000141d be10000000 mov esi, 0x10 │ ││││ 0x00001422 31d2 xor edx, edx │ ││││ 0x00001424 4889df mov rdi, rbx │ ││││ 0x00001427 ff9008090000 call qword [rax + 0x908] │ ││││ 0x0000142d 4989c5 mov r13, rax │ ││││ 0x00001430 4d85ed test r13, r13 │ ┌─────< 0x00001433 0f8482070000 je 0x1bbb │ │││││ 0x00001439 498b4500 mov rax, qword [r13] │ │││││ 0x0000143d 4c89ef mov rdi, r13 │ │││││ 0x00001440 ff9018010000 call qword [rax + 0x118] │ │││││ 0x00001446 4885c0 test rax, rax │ ┌──────< 0x00001449 0f846c070000 je 0x1bbb │ ││││││ 0x0000144f 440fb6a0030a. movzx r12d, byte [rax + 0xa03] ; [0xa03:1]=0 │ ││││││ 0x00001457 4183e41f and r12d, 0x1f │ ┌───────< 0x0000145b 7509 jne 0x1466 │ │││││││ 0x0000145d 440fb66003 movzx r12d, byte [rax + 3] ; [0x3:1]=254 │ │││││││ 0x00001462 4183e41f and r12d, 0x1f │ └───────> 0x00001466 4183fc0d cmp r12d, 0xd │ ││││││ 0x0000146a 0f97c0 seta al │ ││││││ 0x0000146d 0fb6c0 movzx eax, al │ ││││││ 0x00001470 8d440002 lea eax, [rax + rax + 2] ; 0x2 │ ││││││ 0x00001474 898534ffffff mov dword [rbp - local_cch], eax │ ││││││ 0x0000147a 418d4424fb lea eax, [r12 - 5] │ ││││││ 0x0000147f 83f807 cmp eax, 7 │ ┌───────< 0x00001482 7313 jae 0x1497 │ │││││││ 0x00001484 488d1d0e0b00. lea rbx, [rip + 0xb0e] ; 0x1f99 ; str.NVDATesla ; "NVDATesla" @ 0x1f99 │ │││││││ 0x0000148b 4c8d25020b00. lea r12, [rip + 0xb02] ; 0x1f94 ; str.NV50 ; "NV50" @ 0x1f94 │ ────────< 0x00001492 e981000000 jmp 0x1518 │ └───────> 0x00001497 4489e0 mov eax, r12d │ ││││││ 0x0000149a 83e01e and eax, 0x1e │ ││││││ 0x0000149d 488d1d050b00. lea rbx, [rip + 0xb05] ; 0x1fa9 ; str.NVDA ; "NVDA" @ 0x1fa9 │ ││││││ 0x000014a4 83f80c cmp eax, 0xc │ ┌───────< 0x000014a7 7509 jne 0x14b2 │ │││││││ 0x000014a9 4c8d25f30a00. lea r12, [rip + 0xaf3] ; 0x1fa3 ; str.GF100 ; "GF100" @ 0x1fa3 │ ────────< 0x000014b0 eb66 jmp 0x1518 │ └───────> 0x000014b2 418d4424f2 lea eax, [r12 - 0xe] │ ││││││ 0x000014b7 83f803 cmp eax, 3 │ ┌───────< 0x000014ba 7309 jae 0x14c5 │ │││││││ 0x000014bc 4c8d25eb0a00. lea r12, [rip + 0xaeb] ; 0x1fae ; str.GK100 ; "GK100" @ 0x1fae │ ────────< 0x000014c3 eb53 jmp 0x1518 │ └───────> 0x000014c5 418d4424ef lea eax, [r12 - 0x11] │ ││││││ 0x000014ca 83f801 cmp eax, 1 │ ┌───────< 0x000014cd 771d ja 0x14ec │ │││││││ 0x000014cf 4183fc11 cmp r12d, 0x11 │ │││││││ 0x000014d3 0f97c0 seta al │ │││││││ 0x000014d6 0fb6c0 movzx eax, al │ │││││││ 0x000014d9 8d440004 lea eax, [rax + rax + 4] ; 0x4 │ │││││││ 0x000014dd 898534ffffff mov dword [rbp - local_cch], eax │ │││││││ 0x000014e3 4c8d25700900. lea r12, [rip + 0x970] ; 0x1e5a ; str.GM100 ; "GM100" @ 0x1e5a │ ────────< 0x000014ea eb2c jmp 0x1518 │ └───────> 0x000014ec 488d1dc10a00. lea rbx, [rip + 0xac1] ; 0x1fb4 ; str.Architecture_couldn_t_be_recognized__PMC_BOOT_0____p__PMC_BOOT_42___0x_08x_n ; "Architecture couldn't be recognized! PMC_BOOT_0 = %p, PMC_BOOT_42 = 0x%08x." @ 0x1fb4 │ ││││││ 0x000014f3 31c0 xor eax, eax │ ││││││ 0x000014f5 4889df mov rdi, rbx │ ││││││ 0x000014f8 4c89ee mov rsi, r13 │ ││││││ 0x000014fb 4489e2 mov edx, r12d │ ││││││ 0x000014fe e800000000 call 0x1503 │ ││││││ ; CALL XREF from 0x000014fe (sym.NVDAStartup::NVDAStartup) │ ││││││ 0x00001503 31c0 xor eax, eax │ ││││││ 0x00001505 4889df mov rdi, rbx │ ││││││ 0x00001508 4c89ee mov rsi, r13 │ ││││││ 0x0000150b 4489e2 mov edx, r12d │ ││││││ 0x0000150e 4531e4 xor r12d, r12d │ ││││││ 0x00001511 e800000000 call 0x1516 │ ││││││ ; CALL XREF from 0x00001511 (sym.NVDAStartup::NVDAStartup) │ ││││││ 0x00001516 31db xor ebx, ebx │ ││││││ ; JMP XREF from 0x000014ea (sym.NVDAStartup::NVDAStartup) │ ││││││ ; JMP XREF from 0x000014c3 (sym.NVDAStartup::NVDAStartup) │ ││││││ ; JMP XREF from 0x000014b0 (sym.NVDAStartup::NVDAStartup) │ ││││││ ; JMP XREF from 0x00001492 (sym.NVDAStartup::NVDAStartup) │ ────────> 0x00001518 498b4500 mov rax, qword [r13] │ ││││││ 0x0000151c 4c89ef mov rdi, r13 │ ││││││ 0x0000151f ff5028 call qword [rax + 0x28] ; '(' ; "__TEXT" │ ││││││ 0x00001522 4d85e4 test r12, r12 │ ┌───────< 0x00001525 0f8490060000 je 0x1bbb │ │││││││ 0x0000152b 4989dd mov r13, rbx │ │││││││ 0x0000152e 488d3dfd0800. lea rdi, [rip + 0x8fd] ; 0x1e32 ; str.nvda_drv ; "nvda_drv" @ 0x1e32 │ │││││││ 0x00001535 488db540ffff. lea rsi, [rbp - local_c0h] │ │││││││ 0x0000153c ba04000000 mov edx, 4 │ │││││││ 0x00001541 e800000000 call 0x1546 │ │││││││ ; CALL XREF from 0x00001541 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001546 488d35ee0800. lea rsi, [rip + 0x8ee] ; 0x1e3b ; str.NVDARequiredOS ; "NVDARequiredOS" @ 0x1e3b │ │││││││ 0x0000154d 488d5d80 lea rbx, [rbp - local_80h] │ │││││││ 0x00001551 b928000000 mov ecx, 0x28 ; '(' ; "__TEXT" │ │││││││ 0x00001556 4c89f7 mov rdi, r14 │ │││││││ 0x00001559 4889da mov rdx, rbx │ │││││││ 0x0000155c e883060000 call 0x1be4 │ │││││││ 0x00001561 4889df mov rdi, rbx │ │││││││ 0x00001564 e800000000 call 0x1569 │ │││││││ ; CALL XREF from 0x00001564 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001569 4885c0 test rax, rax │ ────────< 0x0000156c 0f84da000000 je 0x164c │ │││││││ 0x00001572 48c78570ffff. mov qword [rbp - local_90h], 0 │ │││││││ 0x0000157d 48c78568ffff. mov qword [rbp - local_98h], 0 │ │││││││ 0x00001588 48c78560ffff. mov qword [rbp - local_a0h], 0 │ │││││││ 0x00001593 48c78558ffff. mov qword [rbp - local_a8h], 0 │ │││││││ 0x0000159e 48c78550ffff. mov qword [rbp - local_b0h], 0 │ │││││││ 0x000015a9 48c78538ffff. mov qword [rbp - local_c8h], 0x28 │ │││││││ 0x000015b4 488d3d8f0800. lea rdi, [rip + 0x88f] ; 0x1e4a ; str.kern.osversion ; "kern.osversion" @ 0x1e4a │ │││││││ 0x000015bb 31db xor ebx, ebx │ │││││││ 0x000015bd 488db550ffff. lea rsi, [rbp - local_b0h] │ │││││││ 0x000015c4 488d9538ffff. lea rdx, [rbp - local_c8h] │ │││││││ 0x000015cb 31c9 xor ecx, ecx │ │││││││ 0x000015cd 4531c0 xor r8d, r8d │ │││││││ 0x000015d0 e800000000 call 0x15d5 │ │││││││ ; CALL XREF from 0x000015d0 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x000015d5 4883bd38ffff. cmp qword [rbp - local_c8h], 0 │ ────────< 0x000015dd 746f je 0x164e │ │││││││ 0x000015df 488dbd50ffff. lea rdi, [rbp - local_b0h] │ │││││││ 0x000015e6 488d7580 lea rsi, [rbp - local_80h] │ │││││││ 0x000015ea ba28000000 mov edx, 0x28 ; '(' ; "__TEXT" │ │││││││ 0x000015ef e800000000 call 0x15f4 │ │││││││ ; CALL XREF from 0x000015ef (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x000015f4 85c0 test eax, eax │ ────────< 0x000015f6 7454 je 0x164c │ │││││││ 0x000015f8 488d7d80 lea rdi, [rbp - local_80h] │ │││││││ 0x000015fc e800000000 call 0x1601 │ │││││││ ; CALL XREF from 0x000015fc (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001601 4883f803 cmp rax, 3 │ ────────< 0x00001605 7519 jne 0x1620 │ │││││││ 0x00001607 488dbd50ffff. lea rdi, [rbp - local_b0h] │ │││││││ 0x0000160e 488d7580 lea rsi, [rbp - local_80h] │ │││││││ 0x00001612 ba03000000 mov edx, 3 │ │││││││ 0x00001617 e800000000 call 0x161c │ │││││││ ; CALL XREF from 0x00001617 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x0000161c 85c0 test eax, eax │ ────────< 0x0000161e 742c je 0x164c │ ────────> 0x00001620 488d7d80 lea rdi, [rbp - local_80h] │ │││││││ 0x00001624 e800000000 call 0x1629 │ │││││││ ; CALL XREF from 0x00001624 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001629 4883f802 cmp rax, 2 │ ────────< 0x0000162d 7519 jne 0x1648 │ │││││││ 0x0000162f 488dbd50ffff. lea rdi, [rbp - local_b0h] │ │││││││ 0x00001636 488d7580 lea rsi, [rbp - local_80h] │ │││││││ 0x0000163a ba02000000 mov edx, 2 │ │││││││ 0x0000163f e800000000 call 0x1644 │ │││││││ ; CALL XREF from 0x0000163f (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001644 85c0 test eax, eax │ ────────< 0x00001646 7404 je 0x164c │ ────────> 0x00001648 b301 mov bl, 1 │ ────────< 0x0000164a eb02 jmp 0x164e │ ────────> 0x0000164c 31db xor ebx, ebx │ │││││││ ; JMP XREF from 0x0000164a (sym.NVDAStartup::NVDAStartup) │ ────────> 0x0000164e 488d35cc0700. lea rsi, [rip + 0x7cc] ; 0x1e21 ; str.NVDAType ; "NVDAType" @ 0x1e21 │ │││││││ 0x00001655 488d55b0 lea rdx, [rbp - local_50h] │ │││││││ 0x00001659 b914000000 mov ecx, 0x14 │ │││││││ 0x0000165e 4c89f7 mov rdi, r14 │ │││││││ 0x00001661 e87e050000 call 0x1be4 │ │││││││ 0x00001666 84db test bl, bl │ ────────< 0x00001668 751b jne 0x1685 │ │││││││ 0x0000166a 8b8540ffffff mov eax, dword [rbp - local_c0h] │ │││││││ 0x00001670 85c0 test eax, eax │ ────────< 0x00001672 7411 je 0x1685 │ │││││││ 0x00001674 488d3dde0700. lea rdi, [rip + 0x7de] ; 0x1e59 │ │││││││ 0x0000167b e800000000 call 0x1680 │ │││││││ ; CALL XREF from 0x0000167b (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001680 4885c0 test rax, rax │ ────────< 0x00001683 7559 jne 0x16de │ ────────> 0x00001685 4c89e7 mov rdi, r12 │ │││││││ 0x00001688 e800000000 call 0x168d │ │││││││ ; CALL XREF from 0x00001688 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x0000168d 488d35c60700. lea rsi, [rip + 0x7c6] ; 0x1e5a ; str.GM100 ; "GM100" @ 0x1e5a │ │││││││ 0x00001694 4c89e7 mov rdi, r12 │ │││││││ 0x00001697 4889c2 mov rdx, rax │ │││││││ 0x0000169a e800000000 call 0x169f │ │││││││ ; CALL XREF from 0x0000169a (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x0000169f 85c0 test eax, eax │ ────────< 0x000016a1 0f84fa040000 je 0x1ba1 │ │││││││ 0x000016a7 4c89e7 mov rdi, r12 │ │││││││ 0x000016aa e800000000 call 0x16af │ │││││││ ; CALL XREF from 0x000016aa (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x000016af 488d35aa0700. lea rsi, [rip + 0x7aa] ; 0x1e60 ; str.GP100 ; "GP100" @ 0x1e60 │ │││││││ 0x000016b6 4c89e7 mov rdi, r12 │ │││││││ 0x000016b9 4889c2 mov rdx, rax │ │││││││ 0x000016bc e800000000 call 0x16c1 │ │││││││ ; CALL XREF from 0x000016bc (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x000016c1 85c0 test eax, eax │ ────────< 0x000016c3 0f84d8040000 je 0x1ba1 │ │││││││ 0x000016c9 488d35a20700. lea rsi, [rip + 0x7a2] ; 0x1e72 ; str.Official ; "Official" @ 0x1e72 │ │││││││ 0x000016d0 488d7db0 lea rdi, [rbp - local_50h] │ │││││││ 0x000016d4 ba14000000 mov edx, 0x14 │ │││││││ 0x000016d9 e800000000 call 0x16de │ │││││││ ; CALL XREF from 0x000016d9 (sym.NVDAStartup::NVDAStartup) │ ────────> 0x000016de 84db test bl, bl │ │││││││ 0x000016e0 488d05a70700. lea rax, [rip + 0x7a7] ; 0x1e8e ; str._forced_ ; " (forced)" @ 0x1e8e │ │││││││ 0x000016e7 488d156b0700. lea rdx, [rip + 0x76b] ; 0x1e59 │ │││││││ 0x000016ee 480f45d0 cmovne rdx, rax │ │││││││ 0x000016f2 488d3d820700. lea rdi, [rip + 0x782] ; 0x1e7b ; str.NVDAStartup:__s_s_n ; "NVDAStartup: %s%s." @ 0x1e7b │ │││││││ 0x000016f9 31db xor ebx, ebx │ │││││││ 0x000016fb 4c8d75b0 lea r14, [rbp - local_50h] │ │││││││ 0x000016ff 31c0 xor eax, eax │ │││││││ 0x00001701 4c89f6 mov rsi, r14 │ │││││││ 0x00001704 e800000000 call 0x1709 │ │││││││ ; CALL XREF from 0x00001704 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001709 498b07 mov rax, qword [r15] │ │││││││ 0x0000170c 488d350e0700. lea rsi, [rip + 0x70e] ; 0x1e21 ; str.NVDAType ; "NVDAType" @ 0x1e21 │ │││││││ 0x00001713 4c89ff mov rdi, r15 │ │││││││ 0x00001716 4c89f2 mov rdx, r14 │ │││││││ 0x00001719 ff9070020000 call qword [rax + 0x270] ; "H " │ │││││││ 0x0000171f 498b07 mov rax, qword [r15] │ │││││││ 0x00001722 488d356f0700. lea rsi, [rip + 0x76f] ; 0x1e98 ; str.NVArch ; "NVArch" @ 0x1e98 │ │││││││ 0x00001729 4c89ff mov rdi, r15 │ │││││││ 0x0000172c 4c89e2 mov rdx, r12 │ │││││││ 0x0000172f 4c89a528ffff. mov qword [rbp - local_d8h], r12 │ │││││││ 0x00001736 ff9070020000 call qword [rax + 0x270] ; "H " │ │││││││ 0x0000173c 498b07 mov rax, qword [r15] │ │││││││ 0x0000173f 488d35e40600. lea rsi, [rip + 0x6e4] ; 0x1e2a ; str.NVCLASS ; "NVCLASS" @ 0x1e2a │ │││││││ 0x00001746 4c89ff mov rdi, r15 │ │││││││ 0x00001749 4c89ea mov rdx, r13 │ │││││││ 0x0000174c ff9070020000 call qword [rax + 0x270] ; "H " │ │││││││ 0x00001752 899d38ffffff mov dword [rbp - local_c8h], ebx │ │││││││ 0x00001758 899d4cffffff mov dword [rbp - local_b4h], ebx │ │││││││ 0x0000175e 488dbd50ffff. lea rdi, [rbp - local_b0h] │ │││││││ 0x00001765 be14000000 mov esi, 0x14 │ │││││││ 0x0000176a e800000000 call 0x176f │ │││││││ ; CALL XREF from 0x0000176a (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x0000176f c68550ffffff. mov byte [rbp - local_b0h], 5 │ │││││││ 0x00001776 c6855fffffff. mov byte [rbp - local_a1h], 0xe │ │││││││ 0x0000177d c78548ffffff. mov dword [rbp - local_b8h], 0x800 │ │││││││ 0x00001787 c78556ffffff. mov dword [rbp - local_aah], 0xffffffff │ │││││││ 0x00001791 488d3d360700. lea rdi, [rip + 0x736] ; 0x1ece ; str.nv_force_preset ; "nv_force_preset" @ 0x1ece │ │││││││ 0x00001798 488db538ffff. lea rsi, [rbp - local_c8h] │ │││││││ 0x0000179f ba04000000 mov edx, 4 │ │││││││ 0x000017a4 e800000000 call 0x17a9 │ │││││││ ; CALL XREF from 0x000017a4 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x000017a9 399d38ffffff cmp dword [rbp - local_c8h], ebx ; [0x15:4]=0x85000003 │ ────────< 0x000017af 0f85b3000000 jne 0x1868 │ │││││││ 0x000017b5 498b07 mov rax, qword [r15] │ │││││││ 0x000017b8 488d351f0700. lea rsi, [rip + 0x71f] ; 0x1ede ; str.device_type ; "device_type" @ 0x1ede │ │││││││ 0x000017bf 4c89ff mov rdi, r15 │ │││││││ 0x000017c2 ff90b8020000 call qword [rax + 0x2b8] │ │││││││ 0x000017c8 4885c0 test rax, rax │ ────────< 0x000017cb 0f8497000000 je 0x1868 │ │││││││ 0x000017d1 498b07 mov rax, qword [r15] │ │││││││ 0x000017d4 488d35030700. lea rsi, [rip + 0x703] ; 0x1ede ; str.device_type ; "device_type" @ 0x1ede │ │││││││ 0x000017db 4c89ff mov rdi, r15 │ │││││││ 0x000017de ff90b8020000 call qword [rax + 0x2b8] │ │││││││ 0x000017e4 4885c0 test rax, rax │ ────────< 0x000017e7 0f840a020000 je 0x19f7 │ │││││││ 0x000017ed 498b07 mov rax, qword [r15] │ │││││││ 0x000017f0 488d35550700. lea rsi, [rip + 0x755] ; 0x1f4c ; str.rom_revision ; "rom-revision" @ 0x1f4c │ │││││││ 0x000017f7 4c89ff mov rdi, r15 │ │││││││ 0x000017fa ff90b8020000 call qword [rax + 0x2b8] │ │││││││ 0x00001800 488b0d010800. mov rcx, qword [rip + 0x801] ; [0x2008:8]=0 │ │││││││ 0x00001807 488b31 mov rsi, qword [rcx] │ │││││││ 0x0000180a 4889c7 mov rdi, rax │ │││││││ 0x0000180d e800000000 call 0x1812 │ │││││││ ; CALL XREF from 0x0000180d (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001812 31db xor ebx, ebx │ │││││││ 0x00001814 899d44ffffff mov dword [rbp - local_bch], ebx │ │││││││ 0x0000181a 488b08 mov rcx, qword [rax] │ │││││││ 0x0000181d 4889c7 mov rdi, rax │ │││││││ 0x00001820 ff9178010000 call qword [rcx + 0x178] ; "8" │ │││││││ 0x00001826 4889c1 mov rcx, rax │ │││││││ 0x00001829 488d355a0700. lea rsi, [rip + 0x75a] ; 0x1f8a ; "%d" │ │││││││ 0x00001830 488d9544ffff. lea rdx, [rbp - local_bch] │ │││││││ 0x00001837 31c0 xor eax, eax │ │││││││ 0x00001839 4889cf mov rdi, rcx │ │││││││ 0x0000183c e800000000 call 0x1841 │ │││││││ ; CALL XREF from 0x0000183c (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001841 399d44ffffff cmp dword [rbp - local_bch], ebx ; [0x15:4]=0x85000003 │ ────────< 0x00001847 0f85aa010000 jne 0x19f7 │ │││││││ 0x0000184d 498b07 mov rax, qword [r15] │ │││││││ 0x00001850 488d35150700. lea rsi, [rip + 0x715] ; 0x1f6c ; str.NVDA_Features ; "NVDA,Features" @ 0x1f6c │ │││││││ 0x00001857 488d9548ffff. lea rdx, [rbp - local_b8h] │ │││││││ 0x0000185e b904000000 mov ecx, 4 │ ────────< 0x00001863 e986010000 jmp 0x19ee │ ────────> 0x00001868 488d3d7b0600. lea rdi, [rip + 0x67b] ; 0x1eea ; str.nv_numNdrv ; "nv_numNdrv" @ 0x1eea │ │││││││ 0x0000186f 488db54cffff. lea rsi, [rbp - local_b4h] │ │││││││ 0x00001876 ba04000000 mov edx, 4 │ │││││││ 0x0000187b e800000000 call 0x1880 │ │││││││ ; CALL XREF from 0x0000187b (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001880 85c0 test eax, eax │ │││││││ 0x00001882 448bad34ffff. mov r13d, dword [rbp - local_cch] │ │││││││ 0x00001889 440f45ad4cff. cmovne r13d, dword [rbp - local_b4h] │ │││││││ 0x00001891 4585ed test r13d, r13d │ ────────< 0x00001894 746c je 0x1902 │ │││││││ 0x00001896 41bc00000041 mov r12d, 0x41000000 │ │││││││ 0x0000189c 4c8d357a0600. lea r14, [rip + 0x67a] ; 0x1f1d ; str.NVDA_NVMac ; "NVDA,NVMac" @ 0x1f1d │ ────────> 0x000018a3 4589e0 mov r8d, r12d │ │││││││ 0x000018a6 41c1f818 sar r8d, 0x18 │ │││││││ 0x000018aa 31c0 xor eax, eax │ │││││││ 0x000018ac 4c89ff mov rdi, r15 │ │││││││ 0x000018af 89de mov esi, ebx │ │││││││ 0x000018b1 488d153d0600. lea rdx, [rip + 0x63d] ; 0x1ef5 ; str.name ; "name" @ 0x1ef5 │ │││││││ 0x000018b8 488d0d3b0600. lea rcx, [rip + 0x63b] ; 0x1efa ; str.NVDA_Display__c ; "NVDA,Display-%c" @ 0x1efa │ │││││││ 0x000018bf e87e030000 call 0x1c42 │ │││││││ 0x000018c4 31c0 xor eax, eax │ │││││││ 0x000018c6 4c89ff mov rdi, r15 │ │││││││ 0x000018c9 89de mov esi, ebx │ │││││││ 0x000018cb 488d150c0600. lea rdx, [rip + 0x60c] ; 0x1ede ; str.device_type ; "device_type" @ 0x1ede │ │││││││ 0x000018d2 488d0d310600. lea rcx, [rip + 0x631] ; 0x1f0a ; str.display ; "display" @ 0x1f0a │ │││││││ 0x000018d9 e864030000 call 0x1c42 │ │││││││ 0x000018de 31c0 xor eax, eax │ │││││││ 0x000018e0 4c89ff mov rdi, r15 │ │││││││ 0x000018e3 89de mov esi, ebx │ │││││││ 0x000018e5 488d15260600. lea rdx, [rip + 0x626] ; 0x1f12 ; str.compatible ; "compatible" @ 0x1f12 │ │││││││ 0x000018ec 4c89f1 mov rcx, r14 │ │││││││ 0x000018ef e84e030000 call 0x1c42 │ │││││││ 0x000018f4 ffc3 inc ebx │ │││││││ 0x000018f6 4181c4000000. add r12d, 0x1000000 │ │││││││ 0x000018fd 4139dd cmp r13d, ebx │ ────────< 0x00001900 75a1 jne 0x18a3 │ ────────> 0x00001902 498b07 mov rax, qword [r15] │ │││││││ 0x00001905 488d35d20500. lea rsi, [rip + 0x5d2] ; 0x1ede ; str.device_type ; "device_type" @ 0x1ede │ │││││││ 0x0000190c 4c89ff mov rdi, r15 │ │││││││ 0x0000190f ff90b8020000 call qword [rax + 0x2b8] │ │││││││ 0x00001915 4885c0 test rax, rax │ ────────< 0x00001918 0f85d9000000 jne 0x19f7 │ │││││││ 0x0000191e 498b07 mov rax, qword [r15] │ │││││││ 0x00001921 488d35b60500. lea rsi, [rip + 0x5b6] ; 0x1ede ; str.device_type ; "device_type" @ 0x1ede │ │││││││ 0x00001928 488d15f90500. lea rdx, [rip + 0x5f9] ; 0x1f28 ; str.NVDA_Parent ; "NVDA,Parent" @ 0x1f28 │ │││││││ 0x0000192f b90c000000 mov ecx, 0xc │ │││││││ 0x00001934 4c89ff mov rdi, r15 │ │││││││ 0x00001937 ff9088020000 call qword [rax + 0x288] │ │││││││ 0x0000193d 498b07 mov rax, qword [r15] │ │││││││ 0x00001940 488d35ed0500. lea rsi, [rip + 0x5ed] ; 0x1f34 ; str.model ; "model" @ 0x1f34 │ │││││││ 0x00001947 488d15ec0500. lea rdx, [rip + 0x5ec] ; 0x1f3a ; str.NVIDIA_Chip_Model ; "NVIDIA Chip Model" @ 0x1f3a │ │││││││ 0x0000194e b912000000 mov ecx, 0x12 │ │││││││ 0x00001953 4c89ff mov rdi, r15 │ │││││││ 0x00001956 ff9088020000 call qword [rax + 0x288] │ │││││││ 0x0000195c 498b07 mov rax, qword [r15] │ │││││││ 0x0000195f 488d358f0500. lea rsi, [rip + 0x58f] ; 0x1ef5 ; str.name ; "name" @ 0x1ef5 │ │││││││ 0x00001966 488d159d0500. lea rdx, [rip + 0x59d] ; 0x1f0a ; str.display ; "display" @ 0x1f0a │ │││││││ 0x0000196d b908000000 mov ecx, 8 │ │││││││ 0x00001972 4c89ff mov rdi, r15 │ │││││││ 0x00001975 ff9088020000 call qword [rax + 0x288] │ │││││││ 0x0000197b 498b07 mov rax, qword [r15] │ │││││││ 0x0000197e 488d35c70500. lea rsi, [rip + 0x5c7] ; 0x1f4c ; str.rom_revision ; "rom-revision" @ 0x1f4c │ │││││││ 0x00001985 488d15cd0500. lea rdx, [rip + 0x5cd] ; 0x1f59 ; str.preset_1.0.0 ; "preset 1.0.0" @ 0x1f59 │ │││││││ 0x0000198c b90d000000 mov ecx, 0xd │ │││││││ 0x00001991 4c89ff mov rdi, r15 │ │││││││ 0x00001994 ff9088020000 call qword [rax + 0x288] │ │││││││ 0x0000199a 498b07 mov rax, qword [r15] │ │││││││ 0x0000199d 488d35c20500. lea rsi, [rip + 0x5c2] ; 0x1f66 ; str.NVCAP ; "NVCAP" @ 0x1f66 │ │││││││ 0x000019a4 488d9550ffff. lea rdx, [rbp - local_b0h] │ │││││││ 0x000019ab b914000000 mov ecx, 0x14 │ │││││││ 0x000019b0 4c89ff mov rdi, r15 │ │││││││ 0x000019b3 ff9088020000 call qword [rax + 0x288] │ │││││││ 0x000019b9 498b07 mov rax, qword [r15] │ │││││││ 0x000019bc 488d35a90500. lea rsi, [rip + 0x5a9] ; 0x1f6c ; str.NVDA_Features ; "NVDA,Features" @ 0x1f6c │ │││││││ 0x000019c3 488d9548ffff. lea rdx, [rbp - local_b8h] │ │││││││ 0x000019ca b904000000 mov ecx, 4 │ │││││││ 0x000019cf 4c89ff mov rdi, r15 │ │││││││ 0x000019d2 ff9088020000 call qword [rax + 0x288] │ │││││││ 0x000019d8 498b07 mov rax, qword [r15] │ │││││││ 0x000019db 488d35980500. lea rsi, [rip + 0x598] ; 0x1f7a ; str.NVDA_noEFI ; "NVDA,noEFI" @ 0x1f7a │ │││││││ 0x000019e2 488d159c0500. lea rdx, [rip + 0x59c] ; 0x1f85 ; str.true ; "true" @ 0x1f85 │ │││││││ 0x000019e9 b905000000 mov ecx, 5 │ │││││││ ; JMP XREF from 0x00001863 (sym.NVDAStartup::NVDAStartup) │ ────────> 0x000019ee 4c89ff mov rdi, r15 │ │││││││ 0x000019f1 ff9088020000 call qword [rax + 0x288] │ ────────> 0x000019f7 488d3da10400. lea rdi, [rip + 0x4a1] ; 0x1e9f ; str.IOService ; "IOService" @ 0x1e9f │ │││││││ 0x000019fe e800000000 call 0x1a03 │ │││││││ ; CALL XREF from 0x000019fe (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001a03 488b0d160600. mov rcx, qword [rip + 0x616] ; [0x2020:8]=0 │ │││││││ 0x00001a0a 4c8b21 mov r12, qword [rcx] │ │││││││ 0x00001a0d 4889c7 mov rdi, rax │ │││││││ 0x00001a10 4c89e6 mov rsi, r12 │ │││││││ 0x00001a13 e800000000 call 0x1a18 │ │││││││ ; CALL XREF from 0x00001a13 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001a18 4889c3 mov rbx, rax │ │││││││ 0x00001a1b 4885db test rbx, rbx │ ────────< 0x00001a1e 0f8497010000 je 0x1bbb │ │││││││ 0x00001a24 488b03 mov rax, qword [rbx] │ │││││││ 0x00001a27 31f6 xor esi, esi │ │││││││ 0x00001a29 4889df mov rdi, rbx │ │││││││ 0x00001a2c ff9048020000 call qword [rax + 0x248] │ │││││││ 0x00001a32 84c0 test al, al │ ────────< 0x00001a34 0f8481010000 je 0x1bbb │ │││││││ 0x00001a3a 488b03 mov rax, qword [rbx] │ │││││││ 0x00001a3d 4889df mov rdi, rbx │ │││││││ 0x00001a40 4c89fe mov rsi, r15 │ │││││││ 0x00001a43 ff9070060000 call qword [rax + 0x670] │ │││││││ 0x00001a49 488b03 mov rax, qword [rbx] │ │││││││ 0x00001a4c 4c8d35560400. lea r14, [rip + 0x456] ; 0x1ea9 ; str.NVDAHal ; "NVDAHal" @ 0x1ea9 │ │││││││ 0x00001a53 31d2 xor edx, edx │ │││││││ 0x00001a55 4889df mov rdi, rbx │ │││││││ 0x00001a58 4c89f6 mov rsi, r14 │ │││││││ 0x00001a5b ff90b0030000 call qword [rax + 0x3b0] │ │││││││ 0x00001a61 488b03 mov rax, qword [rbx] │ │││││││ 0x00001a64 488d35460400. lea rsi, [rip + 0x446] ; 0x1eb1 ; str.nubType ; "nubType" @ 0x1eb1 │ │││││││ 0x00001a6b 4889df mov rdi, rbx │ │││││││ 0x00001a6e 4c89f2 mov rdx, r14 │ │││││││ 0x00001a71 ff9070020000 call qword [rax + 0x270] ; "H " │ │││││││ 0x00001a77 488b03 mov rax, qword [rbx] │ │││││││ 0x00001a7a 488d35a00300. lea rsi, [rip + 0x3a0] ; 0x1e21 ; str.NVDAType ; "NVDAType" @ 0x1e21 │ │││││││ 0x00001a81 488d55b0 lea rdx, [rbp - local_50h] │ │││││││ 0x00001a85 4889df mov rdi, rbx │ │││││││ 0x00001a88 ff9070020000 call qword [rax + 0x270] ; "H " │ │││││││ 0x00001a8e 488b03 mov rax, qword [rbx] │ │││││││ 0x00001a91 488d35000400. lea rsi, [rip + 0x400] ; 0x1e98 ; str.NVArch ; "NVArch" @ 0x1e98 │ │││││││ 0x00001a98 4889df mov rdi, rbx │ │││││││ 0x00001a9b 488b9528ffff. mov rdx, qword [rbp - local_d8h] │ │││││││ 0x00001aa2 ff9070020000 call qword [rax + 0x270] ; "H " │ │││││││ 0x00001aa8 488b03 mov rax, qword [rbx] │ │││││││ 0x00001aab 488d35070400. lea rsi, [rip + 0x407] ; 0x1eb9 ; str.unmatched ; "unmatched" @ 0x1eb9 │ │││││││ 0x00001ab2 488d150a0400. lea rdx, [rip + 0x40a] ; 0x1ec3 ; "yes" │ │││││││ 0x00001ab9 4889df mov rdi, rbx │ │││││││ 0x00001abc ff9070020000 call qword [rax + 0x270] ; "H " │ │││││││ 0x00001ac2 488b03 mov rax, qword [rbx] │ │││││││ 0x00001ac5 31f6 xor esi, esi │ │││││││ 0x00001ac7 4889df mov rdi, rbx │ │││││││ 0x00001aca ff90b0050000 call qword [rax + 0x5b0] │ │││││││ 0x00001ad0 488d3dc80300. lea rdi, [rip + 0x3c8] ; 0x1e9f ; str.IOService ; "IOService" @ 0x1e9f │ │││││││ 0x00001ad7 e800000000 call 0x1adc │ │││││││ ; CALL XREF from 0x00001ad7 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001adc 4889c7 mov rdi, rax │ │││││││ 0x00001adf 4c89e6 mov rsi, r12 │ │││││││ 0x00001ae2 e800000000 call 0x1ae7 │ │││││││ ; CALL XREF from 0x00001ae2 (sym.NVDAStartup::NVDAStartup) │ │││││││ 0x00001ae7 4889c3 mov rbx, rax │ │││││││ 0x00001aea 4885db test rbx, rbx │ ────────< 0x00001aed 0f84c8000000 je 0x1bbb │ │││││││ 0x00001af3 488b03 mov rax, qword [rbx] │ │││││││ 0x00001af6 31f6 xor esi, esi │ │││││││ 0x00001af8 4889df mov rdi, rbx │ │││││││ 0x00001afb ff9048020000 call qword [rax + 0x248] │ │││││││ 0x00001b01 84c0 test al, al │ ────────< 0x00001b03 0f84b2000000 je 0x1bbb │ │││││││ 0x00001b09 488b03 mov rax, qword [rbx] │ │││││││ 0x00001b0c 4889df mov rdi, rbx │ │││││││ 0x00001b0f 4c89fe mov rsi, r15 │ │││││││ 0x00001b12 ff9070060000 call qword [rax + 0x670] │ │││││││ 0x00001b18 488b03 mov rax, qword [rbx] │ │││││││ 0x00001b1b 4c8d35a50300. lea r14, [rip + 0x3a5] ; 0x1ec7 ; str.NVDAgl ; "NVDAgl" @ 0x1ec7 │ │││││││ 0x00001b22 31d2 xor edx, edx │ │││││││ 0x00001b24 4889df mov rdi, rbx │ │││││││ 0x00001b27 4c89f6 mov rsi, r14 │ │││││││ 0x00001b2a ff90b0030000 call qword [rax + 0x3b0] │ │││││││ 0x00001b30 488b03 mov rax, qword [rbx] │ │││││││ 0x00001b33 488d35770300. lea rsi, [rip + 0x377] ; 0x1eb1 ; str.nubType ; "nubType" @ 0x1eb1 │ │││││││ 0x00001b3a 4889df mov rdi, rbx │ │││││││ 0x00001b3d 4c89f2 mov rdx, r14 │ │││││││ 0x00001b40 ff9070020000 call qword [rax + 0x270] ; "H " │ │││││││ 0x00001b46 488b03 mov rax, qword [rbx] │ │││││││ 0x00001b49 488d35d10200. lea rsi, [rip + 0x2d1] ; 0x1e21 ; str.NVDAType ; "NVDAType" @ 0x1e21 │ │││││││ 0x00001b50 488d55b0 lea rdx, [rbp - local_50h] │ │││││││ 0x00001b54 4889df mov rdi, rbx │ │││││││ 0x00001b57 ff9070020000 call qword [rax + 0x270] ; "H " │ │││││││ 0x00001b5d 488b03 mov rax, qword [rbx] │ │││││││ 0x00001b60 488d35310300. lea rsi, [rip + 0x331] ; 0x1e98 ; str.NVArch ; "NVArch" @ 0x1e98 │ │││││││ 0x00001b67 4889df mov rdi, rbx │ │││││││ 0x00001b6a 488b9528ffff. mov rdx, qword [rbp - local_d8h] │ │││││││ 0x00001b71 ff9070020000 call qword [rax + 0x270] ; "H " │ │││││││ 0x00001b77 488b03 mov rax, qword [rbx] │ │││││││ 0x00001b7a 488d35380300. lea rsi, [rip + 0x338] ; 0x1eb9 ; str.unmatched ; "unmatched" @ 0x1eb9 │ │││││││ 0x00001b81 488d153b0300. lea rdx, [rip + 0x33b] ; 0x1ec3 ; "yes" │ │││││││ 0x00001b88 4889df mov rdi, rbx │ │││││││ 0x00001b8b ff9070020000 call qword [rax + 0x270] ; "H " │ │││││││ 0x00001b91 488b03 mov rax, qword [rbx] │ │││││││ 0x00001b94 31f6 xor esi, esi │ │││││││ 0x00001b96 4889df mov rdi, rbx │ │││││││ 0x00001b99 ff90b0050000 call qword [rax + 0x5b0] │ ────────< 0x00001b9f eb1a jmp 0x1bbb │ ────────> 0x00001ba1 498b07 mov rax, qword [r15] │ │││││││ 0x00001ba4 488d35760200. lea rsi, [rip + 0x276] ; 0x1e21 ; str.NVDAType ; "NVDAType" @ 0x1e21 │ │││││││ 0x00001bab 488d15b40200. lea rdx, [rip + 0x2b4] ; 0x1e66 ; str.Unsupported ; "Unsupported" @ 0x1e66 │ │││││││ 0x00001bb2 4c89ff mov rdi, r15 │ │││││││ 0x00001bb5 ff9070020000 call qword [rax + 0x270] ; "H " │ │││││││ ; JMP XREF from 0x00001b9f (sym.NVDAStartup::NVDAStartup) │ └└└└└└└─> 0x00001bbb 488b056e0400. mov rax, qword [rip + 0x46e] ; [0x2030:8]=0 │ 0x00001bc2 488b00 mov rax, qword [rax] │ 0x00001bc5 483b45d0 cmp rax, qword [rbp - local_30h] │ ┌─< 0x00001bc9 7514 jne 0x1bdf │ │ 0x00001bcb 31c0 xor eax, eax │ │ 0x00001bcd 4881c4b80000. add rsp, 0xb8 │ │ 0x00001bd4 5b pop rbx │ │ 0x00001bd5 415c pop r12 │ │ 0x00001bd7 415d pop r13 │ │ 0x00001bd9 415e pop r14 │ │ 0x00001bdb 415f pop r15 │ │ 0x00001bdd 5d pop rbp │ │ 0x00001bde c3 ret │ └─> 0x00001bdf e800000000 call 0x1be4 │ ; CALL XREF from 0x00001bdf (sym.NVDAStartup::NVDAStartup) │ ; CALL XREF from 0x0000155c (sym.NVDAStartup::NVDAStartup) │ ; CALL XREF from 0x00001661 (sym.NVDAStartup::NVDAStartup) │ 0x00001be4 55 push rbp │ 0x00001be5 4889e5 mov rbp, rsp │ 0x00001be8 4156 push r14 │ 0x00001bea 53 push rbx │ 0x00001beb 4989ce mov r14, rcx │ 0x00001bee 4889d3 mov rbx, rdx │ 0x00001bf1 488b07 mov rax, qword [rdi] │ 0x00001bf4 ff90b8020000 call qword [rax + 0x2b8] │ 0x00001bfa 488b0d0f0400. mov rcx, qword [rip + 0x40f] ; [0x2010:8]=0 │ 0x00001c01 488b31 mov rsi, qword [rcx] │ 0x00001c04 4889c7 mov rdi, rax │ 0x00001c07 e800000000 call 0x1c0c │ ; CALL XREF from 0x00001c07 (sym.NVDAStartup::NVDAStartup) │ 0x00001c0c 4885c0 test rax, rax │ ┌─< 0x00001c0f 741e je 0x1c2f │ │ 0x00001c11 488b08 mov rcx, qword [rax] │ │ 0x00001c14 4889c7 mov rdi, rax │ │ 0x00001c17 ff9148010000 call qword [rcx + 0x148] │ │ 0x00001c1d 4889df mov rdi, rbx │ │ 0x00001c20 4889c6 mov rsi, rax │ │ 0x00001c23 4c89f2 mov rdx, r14 │ │ 0x00001c26 5b pop rbx │ │ 0x00001c27 415e pop r14 │ │ 0x00001c29 5d pop rbp │ ┌──< 0x00001c2a e900000000 jmp 0x1c2f │ ││ ; JMP XREF from 0x00001c2a (sym.NVDAStartup::NVDAStartup) │ └└─> 0x00001c2f c60300 mov byte [rbx], 0 │ 0x00001c32 5b pop rbx │ 0x00001c33 415e pop r14 │ 0x00001c35 5d pop rbp ╘ 0x00001c36 c3 ret Hardware: GT-330M Any clues? NVDAStartup_11.11.6.txt NVDAStartup_11.12.1.txt 1 Link to comment Share on other sites More sharing options...
mrjayviper Posted November 18, 2016 Share Posted November 18, 2016 hello must extract and patch again ur dsdt and generate a new ssdt good hack So I used an Ubuntu USB installer to generate my DSDT. I then patched it. And tried the patched DSDT with Sierra USB install. Same results. Any more ideas? Thanks a lot edit1: just tried El Capitan USB installer and same results edit2: I'm typing this on the hackintosh using the old x5570. Perhaps some CPUs are just incompatible with OS X? edit3: I forgot to say on both the x5570 and L5640, I am using the SSDT generated my MaciASL. Perhaps that's my problem? though I never had issues with it on the x5570. Link to comment Share on other sites More sharing options...
xtraa Posted November 18, 2016 Share Posted November 18, 2016 Hi Clover-team, Slice et al., I have a request: Can you make it possible to hotpatch frameworks from Clover like the .kexts, too? For example, I have z170 HD530 with a resolution of 2560x1080 over HDMI. What is not possible natively. I patched CoreDisplayFramework using this method on github and it works. But what the patch basically does is using xcode cmdline tools and replacing oToolCoreDisplayUnpatched=( 49cd8062ed1c8f610b71e9a3231cf804 '10.12 16A254g' 1 8e1030235b90d6ab0644bd7a1b6f9cdb '10.12 16A284a' 1 f4c6e84ffa97e06624e5504edd87bf7d '10.12 16A284a' 1 # I don't know why these two are different 4cba52b41ceee7bc658020c9e58780a3 '10.12 16A294a' 1 d41d8cd98f00b204e9800998ecf8427e '10.12 16A313a' 1 aa7607dd72a2a4ca70ce094a2fc39cce '10.12 ' 1 # Sierra 10.12 release 172b7e2fe2e45e99b078e69684dd3c10 '10.12.1' 2 0657d9fee305e1beeea8ddf0c833d9d5 '10.12.2 BETA: 16C32f' 3 with this oToolCoreDisplayPatched=( 4e469fbf1c36d96fc25fb931c6670649 '10.12 16A254g' b6ee4943c2fce505faceb568e1c8f4b1 '10.12 16A284a' 82f97933a3ae90d47054316fa8259f6c '10.12 16A284a' 1371f71ca7949cfbe01ede8e8b52e61d '10.12 16A294a' f9c185d9e4c4ba12d5ecf41483055e39 '10.12 16A313a' eb27b5d68e9fb15aa65ea0153637eae2 '10.12 ' # Sierra 10.12 release cf8373138af4671a561c1a4d6cdba771 '10.12.1' b57e581f4d047848cf288a8a6c39c7ce '10.12.2 BETA: 16C32f' ) It would be so much safer and convenient if you could add a feature for future framework-patching to your beautiful bootloader. Another option would be to hardlink the framework executeable in a fake.kext but duh Too messy. xtraa Link to comment Share on other sites More sharing options...
Slice Posted November 18, 2016 Share Posted November 18, 2016 Clover doesn't patch files. It can patch only memory. Kernel and kexts can be patched because they are loaded into memory. I may recommend you to look on Shiki patcher. May be it is that you need. Shiki — userspace patcher 2 Link to comment Share on other sites More sharing options...
Micky1979 Posted November 18, 2016 Share Posted November 18, 2016 mmmh, Clover can patch the kernel that start the OS... but is the kernel that load framenworks.. IMHO is not possible.Off course is ok for "NVDAGK100Hal.kext" Link to comment Share on other sites More sharing options...
Slice Posted November 18, 2016 Share Posted November 18, 2016 No, application will load frameworks later. Clover will patch kernel before it starts. Link to comment Share on other sites More sharing options...
big bartl Posted November 18, 2016 Share Posted November 18, 2016 Hi, I have managed to upgrade my machine to Sierra. After having messy partitions I have decided to make a scratch installation. That means, that I have completely reset my SSD. Unfortunately I did not backup my clover efi partition which was running fine as it was not that problem last time to set it up. Now I have the problem, that my clover installation is not working from internal SSD (USB disk is doing fine). I have tried all installer variants - efi, legacy - driver combinations - non of them is working? I have googled any instructions but no help so far. I am trying a new clover release: v2.3k r3922 If I configure my bios to boot efi by specifying the file in /efi/boot/bootx64.efi it does not find the boot loader (or cannot load it) and reopens my boot device selection screen. In legacy mode it comes to a black screen with a blinking cursor. (In the case when I recreate the EFI partition with newfs_msdos -v EFI /dev/disk0s1 and reinstall with EFI option - and start in legacy mode I get an error output Boot0af: error) From my usb disk everything is doing fine. So I am running out of options how to continue. Anyone can help me? Thanks. Link to comment Share on other sites More sharing options...
Sherlocks Posted November 19, 2016 Share Posted November 19, 2016 @Slice i wonder have you plan about update platformdata.c? updated imac, macpro in platformdata.c but not update macbook, macbook pro, macbook air latest info. thanks in advance Link to comment Share on other sites More sharing options...
Recommended Posts