__text:001A3FD7 _tsc_init proc near ; CODE XREF: __text:00197F18p __text:001A3FD7 __text:001A3FD7 var_98 = dword ptr -98h __text:001A3FD7 var_94 = dword ptr -94h __text:001A3FD7 var_90 = dword ptr -90h __text:001A3FD7 var_8C = dword ptr -8Ch __text:001A3FD7 var_88 = dword ptr -88h __text:001A3FD7 var_84 = dword ptr -84h __text:001A3FD7 var_80 = dword ptr -80h __text:001A3FD7 var_7C = dword ptr -7Ch __text:001A3FD7 var_78 = dword ptr -78h __text:001A3FD7 var_60 = dword ptr -60h __text:001A3FD7 var_5C = dword ptr -5Ch __text:001A3FD7 var_50 = dword ptr -50h __text:001A3FD7 var_4C = dword ptr -4Ch __text:001A3FD7 var_48 = dword ptr -48h __text:001A3FD7 var_44 = dword ptr -44h __text:001A3FD7 var_40 = dword ptr -40h __text:001A3FD7 var_3C = dword ptr -3Ch __text:001A3FD7 var_2C = dword ptr -2Ch __text:001A3FD7 var_28 = dword ptr -28h __text:001A3FD7 var_24 = dword ptr -24h __text:001A3FD7 var_20 = dword ptr -20h __text:001A3FD7 var_1C = dword ptr -1Ch __text:001A3FD7 __text:001A3FD7 push ebp __text:001A3FD8 mov ebp, esp __text:001A3FDA push edi __text:001A3FDB push esi __text:001A3FDC push ebx __text:001A3FDD sub esp, 8Ch __text:001A3FE3 lea ebx, [ebp+var_1C] __text:001A3FE6 mov [esp+98h+var_94], ebx __text:001A3FEA mov [esp+98h+var_98], offset aG ; "-g" __text:001A3FF1 call _PE_parse_boot_arg __text:001A3FF6 test eax, eax __text:001A3FF8 jz short loc_1A4014 __text:001A3FFA xor eax, eax __text:001A3FFC mov edx, 0Ah __text:001A4001 mov ebx, 0F31DC461h __text:001A4006 mov esi, 2Ah __text:001A400B mov [ebp+var_40], 64h __text:001A4012 jmp short loc_1A408E __text:001A4014 ; --------------------------------------------------------------------------- __text:001A4014 __text:001A4014 loc_1A4014: ; CODE XREF: _tsc_init+21j __text:001A4014 mov [esp+98h+var_94], ebx __text:001A4018 mov [esp+98h+var_98], offset aY ; "-y" __text:001A401F call _PE_parse_boot_arg __text:001A4024 test eax, eax __text:001A4026 jz short loc_1A4045 __text:001A4028 mov eax, 84CFE133h __text:001A402D mov edx, 7 __text:001A4032 mov ebx, 4B013556h __text:001A4037 mov esi, 20h __text:001A403C mov [ebp+var_40], 85h __text:001A4043 jmp short loc_1A408E __text:001A4045 ; --------------------------------------------------------------------------- __text:001A4045 __text:001A4045 loc_1A4045: ; CODE XREF: _tsc_init+4Fj __text:001A4045 mov [esp+98h+var_94], ebx __text:001A4049 mov [esp+98h+var_98], offset aZ ; "-z" __text:001A4050 call _PE_parse_boot_arg __text:001A4055 test eax, eax __text:001A4057 jz short loc_1A4076 __text:001A4059 mov eax, 62B2E43h __text:001A405E mov edx, 6 __text:001A4063 mov ebx, 0DF9063CBh __text:001A4068 mov esi, 19h __text:001A406D mov [ebp+var_40], 0A6h __text:001A4074 jmp short loc_1A408E __text:001A4076 ; --------------------------------------------------------------------------- __text:001A4076 __text:001A4076 loc_1A4076: ; CODE XREF: _tsc_init+80j __text:001A4076 xor eax, eax __text:001A4078 mov edx, 5 __text:001A407D mov ebx, 798EE230h __text:001A4082 mov esi, 15h __text:001A4087 mov [ebp+var_40], 0C8h __text:001A408E __text:001A408E loc_1A408E: ; CODE XREF: _tsc_init+3Bj __text:001A408E ; _tsc_init+6Cj ... __text:001A408E mov [ebp+var_3C], 0 __text:001A4095 mov ds:_busFCvtt2n, eax __text:001A409A mov ds:dword_43936C, edx __text:001A40A0 mov [esp+98h+var_90], eax __text:001A40A4 mov [esp+98h+var_8C], edx __text:001A40A8 mov [esp+98h+var_98], 0FFFFFFFFh __text:001A40AF mov [esp+98h+var_94], 0FFFFFFFFh __text:001A40B7 call sub_3C72CD __text:001A40BC mov ds:_busFCvtn2t, eax __text:001A40C1 mov ds:dword_439364, edx __text:001A40C7 mov [esp+98h+var_90], ebx __text:001A40CB mov [esp+98h+var_8C], esi __text:001A40CF mov [esp+98h+var_98], 0A4C68000h __text:001A40D6 mov [esp+98h+var_94], 38D7Eh __text:001A40DE call _tmrCvt __text:001A40E3 mov ecx, ds:_busFCvtn2t __text:001A40E9 mov ebx, ds:dword_439364 __text:001A40EF mov esi, ds:_busFCvtt2n __text:001A40F5 mov edi, ds:dword_43936C __text:001A40FB mov [esp+98h+var_78], eax __text:001A40FF mov eax, edx __text:001A4101 xor edx, edx __text:001A4103 mov [esp+98h+var_7C], eax __text:001A4107 mov [esp+98h+var_80], ecx __text:001A410B mov ecx, ebx __text:001A410D mov [esp+98h+var_84], ecx __text:001A4111 mov [esp+98h+var_88], esi __text:001A4115 mov esi, edi __text:001A4117 mov [esp+98h+var_8C], esi __text:001A411B mov [esp+98h+var_90], 0 __text:001A4123 mov eax, [ebp+var_40] __text:001A4126 mov [esp+98h+var_94], eax __text:001A412A mov [esp+98h+var_98], offset aBusFrequency6d ; " BUS: Frequency = %6d.%04dMHz, cvtt2n ="... __text:001A4131 call _kprintf __text:001A4136 mov eax, 1 __text:001A413B cpuid __text:001A413D mov [ebp+var_2C], eax __text:001A4140 mov [ebp+var_28], ebx __text:001A4143 mov [ebp+var_24], ecx __text:001A4146 mov [ebp+var_20], edx __text:001A4149 mov ecx, 198h __text:001A414E rdmsr __text:001A4150 mov eax, edx __text:001A4152 shr eax, 8 __text:001A4155 and eax, 1Fh __text:001A4158 mov [ebp+var_48], eax __text:001A415B mov [ebp+var_44], 0 __text:001A4162 mov eax, [ebp+var_48] __text:001A4165 mov edx, [ebp+var_44] __text:001A4168 mov ds:_tscGranularity, eax __text:001A416D mov ds:dword_439344, edx __text:001A4173 mov [esp+98h+var_90], eax __text:001A4177 mov [esp+98h+var_8C], edx __text:001A417B mov eax, ds:_busFCvtt2n __text:001A4180 mov edx, ds:dword_43936C __text:001A4186 mov [esp+98h+var_98], eax __text:001A4189 mov [esp+98h+var_94], edx __text:001A418D call sub_3C72CD __text:001A4192 mov ebx, eax __text:001A4194 mov esi, edx __text:001A4196 mov ds:_tscFCvtt2n, eax __text:001A419B mov ds:dword_439354, edx __text:001A41A1 mov [esp+98h+var_90], eax __text:001A41A5 mov [esp+98h+var_8C], edx __text:001A41A9 mov [esp+98h+var_98], 0 __text:001A41B0 mov [esp+98h+var_94], 3B9ACA00h __text:001A41B8 call sub_3C72CD __text:001A41BD mov [ebp+var_50], eax __text:001A41C0 mov [ebp+var_4C], edx __text:001A41C3 mov ds:_tscFreq, eax __text:001A41C8 mov ds:dword_43935C, edx __text:001A41CE mov [esp+98h+var_90], ebx __text:001A41D2 mov [esp+98h+var_8C], esi __text:001A41D6 mov [esp+98h+var_98], 0FFFFFFFFh __text:001A41DD mov [esp+98h+var_94], 0FFFFFFFFh __text:001A41E5 call sub_3C72CD __text:001A41EA mov [ebp+var_60], eax __text:001A41ED mov [ebp+var_5C], edx __text:001A41F0 mov ds:_tscFCvtn2t, eax __text:001A41F5 mov ds:dword_43934C, edx __text:001A41FB mov eax, [ebp+var_48] __text:001A41FE mov edx, [ebp+var_44] __text:001A4201 mov [esp+98h+var_7C], eax __text:001A4205 mov [esp+98h+var_78], edx __text:001A4209 mov edx, [ebp+var_60] __text:001A420C mov [esp+98h+var_80], edx __text:001A4210 mov edx, [ebp+var_5C] __text:001A4213 mov eax, edx __text:001A4215 mov [esp+98h+var_84], eax __text:001A4219 mov [esp+98h+var_88], ebx __text:001A421D mov ebx, esi __text:001A421F mov [esp+98h+var_8C], ebx __text:001A4223 mov esi, [esp+98h+var_8C] __text:001A4227 mov [esp+98h+var_90], 0F4240h __text:001A422F mov [esp+98h+var_8C], 0 __text:001A4237 mov eax, [ebp+var_50] __text:001A423A mov edx, [ebp+var_4C] __text:001A423D mov [esp+98h+var_98], eax __text:001A4240 mov [esp+98h+var_94], edx __text:001A4244 call sub_3C742E __text:001A4249 mov [esp+98h+var_8C], esi __text:001A424D mov [esp+98h+var_90], eax __text:001A4251 mov ebx, [esp+98h+var_90] __text:001A4255 mov esi, [esp+98h+var_8C] __text:001A4259 mov [esp+98h+var_90], 0F4240h __text:001A4261 mov [esp+98h+var_8C], 0 __text:001A4269 mov eax, [ebp+var_50] __text:001A426C mov edx, [ebp+var_4C] __text:001A426F mov [esp+98h+var_98], eax __text:001A4272 mov [esp+98h+var_94], edx __text:001A4276 call sub_3C72CD __text:001A427B mov [esp+98h+var_90], ebx __text:001A427F mov [esp+98h+var_8C], esi __text:001A4283 mov [esp+98h+var_94], eax __text:001A4287 mov [esp+98h+var_98], offset aTscFrequency6d ; " TSC: Frequency = %6d.%04dMHz, cvtt2n ="... __text:001A428E call _kprintf __text:001A4293 mov eax, ds:_tscFCvtn2t __text:001A4298 mov edx, ds:dword_43934C __text:001A429E mov [esp+98h+var_90], eax __text:001A42A2 mov [esp+98h+var_8C], edx __text:001A42A6 mov eax, ds:_busFCvtt2n __text:001A42AB mov edx, ds:dword_43936C __text:001A42B1 mov [esp+98h+var_98], eax __text:001A42B4 mov [esp+98h+var_94], edx __text:001A42B8 call _tmrCvt __text:001A42BD mov ds:_bus2tsc, eax __text:001A42C2 mov ds:dword_43933C, edx __text:001A42C8 add esp, 8Ch __text:001A42CE pop ebx __text:001A42CF pop esi __text:001A42D0 pop edi __text:001A42D1 pop ebp __text:001A42D2 retn __text:001A42D2 _tsc_init endp