Jump to content

Clover General discussion


ErmaC
29,866 posts in this topic

Recommended Posts

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

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

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

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

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

 

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

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

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.

  • Like 1
Link to comment
Share on other sites

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.

 

 

post-21972-0-13930000-1479297811_thumb.jpg

Link to comment
Share on other sites

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

  • Like 1
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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

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

  • Like 1
Link to comment
Share on other sites

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

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 :D Too messy.

 

xtraa

Link to comment
Share on other sites

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

×
×
  • Create New...