Chameleon

Chameleon Commit Details

Date:2012-04-27 04:29:38 (11 years 10 months ago)
Author:ErmaC
Commit:1926
Parents: 1925
Message:- Update Ati & Nvidia ID list. - Apply patch by Michael Seydl http://forge.voodooprojects.org/p/chameleon/issues/48/ - Apply patch by Michael Seydl http://forge.voodooprojects.org/p/chameleon/issues/247/ - Apply patch by rafi rafi http://forge.voodooprojects.org/p/chameleon/issues/246/ Package: Small update into po file
Changes:
M/branches/ErmaC/Trunk/package/po/zh_TW.po
M/branches/ErmaC/Trunk/i386/libsaio/cpu.c
M/branches/ErmaC/Trunk/i386/libsaio/nvidia.c
M/branches/ErmaC/Trunk/package/po/zh_CN.po
M/branches/ErmaC/Trunk/i386/libsaio/cpu.h
M/branches/ErmaC/Trunk/i386/libsaio/ati.c
M/branches/ErmaC/Trunk/package/po/pt-BR.po
M/branches/ErmaC/Trunk/package/po/pt-PT.po
M/branches/ErmaC/Trunk/package/po/sr.po
M/branches/ErmaC/Trunk/i386/libsaio/aml_generator.c
M/branches/ErmaC/Trunk/package/po/cs.po
M/branches/ErmaC/Trunk/i386/libsaio/acpi_patcher.c
M/branches/ErmaC/Trunk/i386/libsaio/memvendors.h

File differences

branches/ErmaC/Trunk/i386/libsaio/acpi_patcher.c
157157
158158
159159
160
160
161
162
161163
162164
163165
164166
167
168
169
165170
166171
167172
......
195200
196201
197202
203
198204
199205
200206
......
385391
386392
387393
388
394
389395
390396
391397
......
416422
417423
418424
419
425
420426
421427
422428
......
567573
568574
569575
570
571
572
576
577
578
579
580
581
582
583
573584
574585
575586
......
595606
596607
597608
598
609
599610
600611
601612
......
782793
783794
784795
796
797
798
785799
786800
787801
......
810824
811825
812826
813
827
828
829
830
814831
815832
816833
......
918935
919936
920937
938
921939
922940
923941
......
925943
926944
927945
946
928947
929948
930949
void get_acpi_cpu_names(unsigned char* dsdt, uint32_t length)
{
uint32_t i;
// DBG("start finding cpu names. length %d\n", length);
for (i=0; i<length-7; i++)
{
if (dsdt[i] == 0x5B && dsdt[i+1] == 0x83) // ProcessorOP
{
// DBG("dsdt: %x%x\n", dsdt[i], dsdt[i+1]);
uint32_t offset = i + 3 + (dsdt[i+2] >> 6);
bool add_name = true;
}
}
}
// DBG("end finding cpu names: cpu names found: %d\n", acpi_cpu_count);
}
struct acpi_2_ssdt *generate_cst_ssdt(struct acpi_2_fadt* fadt)
aml_destroy_node(root);
//dumpPhysAddr("C-States SSDT content: ", ssdt, ssdt->Length);
// dumpPhysAddr("C-States SSDT content: ", ssdt, ssdt->Length);
verbose ("SSDT with CPU C-States generated successfully\n");
}
if (!(Platform.CPU.Features & CPU_FEATURE_MSR)) {
verbose ("Unsupported CPU: P-States will not be generated !!!\n");
verbose ("Unsupported CPU: P-States will not be generated !!! No MSR support\n");
return NULL;
}
case CPU_MODEL_IVYBRIDGE:// Intel Core i3, i5, i7 LGA1155 (22nm)
case CPU_MODEL_JAKETOWN:// Intel Core i7, Xeon E5 LGA2011 (32nm)
{
maximum.Control = rdmsr64(MSR_IA32_PERF_STATUS) & 0xff; // Seems it always contains maximum multiplier value (with turbo, that's we need)...
minimum.Control = (rdmsr64(MSR_PLATFORM_INFO) >> 40) & 0xff;
if ((Platform.CPU.Model == CPU_MODEL_SANDYBRIDGE) || (Platform.CPU.Model == CPU_MODEL_JAKETOWN))
{
maximum.Control = (rdmsr64(MSR_IA32_PERF_STATUS) >> 8) & 0xff;
} else {
maximum.Control = rdmsr64(MSR_IA32_PERF_STATUS) & 0xff;
}
minimum.Control = (rdmsr64(MSR_PLATFORM_INFO) >> 40) & 0xff;
verbose("P-States: min 0x%x, max 0x%x\n", minimum.Control, maximum.Control);
// Sanity check
break;
}
default:
verbose ("Unsupported CPU: P-States not generated !!!\n");
verbose ("Unsupported CPU: P-States not generated !!! Unknown CPU Type\n");
break;
}
}
char dirSpec[128];
int len = 0;
// always reset cpu count to 0 when injecting new acpi
acpi_cpu_count = 0;
// Try using the file specified with the DSDT option
if (getValueForKey(kDSDT, &filename, &len, &bootInfo->chameleonConfig))
{
getBoolForKey(kDropSSDT, &drop_ssdt, &bootInfo->chameleonConfig);
getBoolForKey(kGeneratePStates, &generate_pstates, &bootInfo->chameleonConfig);
getBoolForKey(kGenerateCStates, &generate_cstates, &bootInfo->chameleonConfig);
// DBG("generating p-states config: %d\n", generate_pstates);
// DBG("generating c-states config: %d\n", generate_cstates);
{
int i;
// Generate _CST SSDT
if (generate_cstates && (new_ssdt[ssdt_count] = generate_cst_ssdt(fadt_mod)))
{
// DBG("c-states generated\n");
generate_cstates = false; // Generate SSDT only once!
ssdt_count++;
}
// Generating _PSS SSDT
if (generate_pstates && (new_ssdt[ssdt_count] = generate_pss_ssdt((void*)fadt_mod->DSDT)))
{
// DBG("p-states generated\n");
generate_pstates = false; // Generate SSDT only once!
ssdt_count++;
}
branches/ErmaC/Trunk/i386/libsaio/aml_generator.c
491491
492492
493493
494
494
495
495496
496497
497498
}
if (offset - old != node->Size)
verbose("Node size incorrect: 0x%x\n", node->Type);
verbose("Node size incorrect: type=0x%x size=%x offset=%x\n",
node->Type, node->Size, (offset - old));
}
return offset;
branches/ErmaC/Trunk/i386/libsaio/memvendors.h
11
22
33
4
4
55
66
77
......
645645
646646
647647
648
648
649649
650650
651651
/*
* Memory module vendors as published by JEDEC 106AA
*
* Special thanks to indi, memtest and theking for the table
* Special thanks to iNDi, memtest and THeKiNG for the table
*
*/
#ifndef __MEMVEN_H
{ 4, 0xfd, "Focus Enhancements"},
{ 4, 0xfe, "Xyratex"},
{ 5, 0x01, "Specular Networks"},
{ 5, 0x02, "PDP Systems"},
{ 5, 0x02, "Patriot Memory (PDP Systems)"},
{ 5, 0x83, "U-Chip Technology Corp."},
{ 5, 0x04, "Silicon Optix"},
{ 5, 0x85, "Greenfield Networks"},
branches/ErmaC/Trunk/i386/libsaio/nvidia.c
113113
114114
115115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133116
134117
135118
......
143126
144127
145128
146
147129
148
149
150
151130
152131
153132
......
171150
172151
173152
174
175153
176154
177155
......
216194
217195
218196
219
220
197
198
221199
222200
223201
......
229207
230208
231209
232
233210
234211
235212
......
248225
249226
250227
251
228
252229
253230
254231
......
258235
259236
260237
261
238
262239
263240
264241
265242
266243
267
244
268245
269246
270247
271248
272
249
273250
274251
275252
......
312289
313290
314291
315
316
317
318
292
293
294
295
319296
320297
321298
322299
323
300
324301
325302
326303
327304
328
305
329306
330307
331308
......
339316
340317
341318
342
319
343320
344321
345
346
322
323
347324
348325
349
326
350327
351328
352329
......
423400
424401
425402
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
442419
443420
444421
......
467444
468445
469446
470
471
447
448
472449
473450
474
475
451
452
476453
477454
478
455
479456
480
481
457
458
482459
483
484
485
486
487
488
489
490
460
461
462
463
464
465
466
467
491468
492469
493
494
495
470
471
472
496473
497474
498475
......
520497
521498
522499
523
500
501
502
503
504
505
506
507
508
509
510
511
512
524513
525514
526515
......
533522
534523
535524
536
525
537526
538527
539528
540529
541
530
542531
543532
544533
545534
546535
547
536
548537
549
538
550539
551540
552
553
541
542
554543
555
544
556545
557546
558
547
559548
560
561
562
563
564
549
550
551
552
553
565554
566555
567556
......
577566
578567
579568
580
569
581570
582571
583572
584573
585574
586575
587
576
588577
589578
590579
591580
592581
593
594
582
583
595584
596585
597586
598587
599588
600589
601
590
602591
603
592
604593
605594
606595
......
608597
609598
610599
611
612
613
600
601
602
603
604
605
606
607
608
609
610
614611
615612
616613
......
634631
635632
636633
637
634
638635
639636
640
637
641638
642
643
644
645
646
647
639
640
641
642
643
644
648645
649646
650647
651648
652
649
653650
654
651
655652
656653
657654
......
659656
660657
661658
662
663659
664660
665
666
667
668
669
670661
671662
672663
......
678669
679670
680671
681
682672
683
684
685
686
687
688
689
690
691
692673
693674
694675
......
696677
697678
698679
699
700
701680
702681
703682
......
710689
711690
712691
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729692
730
693
731694
732695
733696
734697
735
698
736699
737700
738701
......
757720
758721
759722
760
761
723
724
762725
763726
764727
765728
766
729
767730
768
769
731
732
770733
771734
772735
......
788751
789752
790753
791
754
792755
793
756
794757
795758
796
759
797760
798761
799762
......
805768
806769
807770
808
771
772
809773
810774
811775
812776
813
814
777
778
815779
816780
817781
818782
819
783
820784
821785
822786
......
838802
839803
840804
841
805
842806
807
843808
844
845
846
809
810
811
847812
848813
849814
......
867832
868833
869834
870
871
872835
873836
874837
......
890853
891854
892855
893
894
856
857
895858
896859
897860
......
915878
916879
917880
918
919
881
882
920883
921884
922885
923
924
886
887
925888
926889
927
890
928891
929
892
930893
931894
932895
933896
934897
935898
936
937
899
900
938901
939902
940903
......
948911
949912
950913
951
914
952915
953916
954917
......
959922
960923
961924
962
925
963926
964927
965
966
928
929
967930
968931
969932
......
971934
972935
973936
974
937
938
975939
976940
977941
978
942
979943
980944
981945
982
983
946
947
984948
985949
986950
......
1010974
1011975
1012976
977
1013978
1014979
1015980
......
1018983
1019984
1020985
986
1021987
988
1022989
1023990
1024991
1025992
1026
993
1027994
1028995
1029996
1030997
1031998
1032
999
10331000
10341001
10351002
1036
1037
1038
1003
1004
1005
10391006
10401007
10411008
......
10471014
10481015
10491016
1017
1018
10501019
10511020
10521021
10531022
1054
1023
10551024
10561025
10571026
......
10591028
10601029
10611030
1062
1031
10631032
10641033
10651034
......
10701039
10711040
10721041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
10731053
10741054
10751055
......
10851065
10861066
10871067
1068
10881069
10891070
1071
10901072
10911073
10921074
......
11001082
11011083
11021084
1085
11031086
1104
1087
11051088
11061089
11071090
......
11131096
11141097
11151098
1116
1117
1118
11191099
11201100
1121
1122
1123
1124
1101
1102
1103
1104
1105
11251106
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
11601107
11611108
11621109
......
11641111
11651112
11661113
1167
1114
11681115
11691116
11701117
11711118
11721119
1173
1174
1175
1120
1121
1122
11761123
11771124
11781125
......
11891136
11901137
11911138
1192
1139
11931140
11941141
11951142
1196
1143
11971144
11981145
11991146
......
12371184
12381185
12391186
1240
1241
1187
12421188
12431189
12441190
......
15571503
15581504
15591505
1560
1506
15611507
15621508
1563
1509
15641510
15651511
15661512
......
15901536
15911537
15921538
1593
1594
1595
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
15961550
15971551
15981552
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1553
1554
1555
1556
16091557
16101558
16111559
{ 0x00000000,/*0x00000000,*/"Unknown" },
//========================================
// 0000 - 0040
//{ 0x10DE0001,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE0002,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE0003,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE0005,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE0006,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE0007,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE0008,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE0009,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE000A,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE000B,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE000C,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE000D,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE0010,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE0011,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE0012,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE0014,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE0018,/*0x00000000,*/"NVIDIA HDMI Audio" },
// 0040 - 004F
{ 0x10DE0040,/*0x00000000,*/"GeForce 6800 Ultra" },
{ 0x10DE0041,/*0x00000000,*/"GeForce 6800" },
{ 0x10DE004D,/*0x00000000,*/"Quadro FX 3400" },
{ 0x10DE004E,/*0x00000000,*/"Quadro FX 4000" },
// 0050 - 005F
//{ 0x10DE0059,/*0x00000000,*/"CK804 AC'97 Audio Controller" },
// 0060 - 006F
//{ 0x10DE006A,/*0x00000000,*/"nForce2 AC97 Audio Controler (MCP)" },
//{ 0x10DE0067,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE0073,/*0x00000000,*/"NVIDIA HDMI Audio" },
// 0070 - 007F
// 0080 - 008F
// 0090 - 009F
{ 0x10DE00CC,/*0x00000000,*/"Quadro FX Go1400" },
{ 0x10DE00CD,/*0x00000000,*/"Quadro FX 3450/4000 SDI" },
{ 0x10DE00CE,/*0x00000000,*/"Quadro FX 1400" },
//{ 0x10DE00DA,/*0x00000000,*/"nForce3 Audio" },
// 00D0 - 00DF
// 00E0 - 00EF
// 00F0 - 00FF
{ 0x10DE0168,/*0x00000000,*/"GeForce Go 6400" },
{ 0x10DE0169,/*0x00000000,*/"GeForce 6250" },
{ 0x10DE016A,/*0x00000000,*/"GeForce 7100 GS" },
{ 0x10DE016C,/*0x00000000,*/"NVIDIA NV44GLM" }, //
{ 0x10DE016D,/*0x00000000,*/"NVIDIA NV44GLM" }, //
{ 0x10DE016C,/*0x00000000,*/"NVIDIA NV44GLM" },
{ 0x10DE016D,/*0x00000000,*/"NVIDIA NV44GLM" },
// 0170 - 017F
// 0180 - 018F
// 0190 - 019F
{ 0x10DE019E,/*0x00000000,*/"Quadro FX 4600" },
// 01A0 - 01AF
// 01B0 - 01BF
//{ 0x10DE01B1,/*0x00000000,*/"nForce AC'97 Audio Controller" },
// 01C0 - 01CF
// 01D0 - 01DF
{ 0x10DE01D0,/*0x00000000,*/"GeForce 7350 LE" },
{ 0x10DE01DF,/*0x00000000,*/"GeForce 7300 GS" },
// 01E0 - 01EF
// 01F0 - 01FF
{ 0x10DE01F0,/*0x00000000,*/"GeForce4 MX" }, //
{ 0x10DE01F0,/*0x00000000,*/"GeForce4 MX" },
// 0200 - 020F
// 0210 - 021F
{ 0x10DE0211,/*0x00000000,*/"GeForce 6800" },
// 0220 - 022F
{ 0x10DE0221,/*0x00000000,*/"GeForce 6200" },
{ 0x10DE0222,/*0x00000000,*/"GeForce 6200 A-LE" },
{ 0x10DE0228,/*0x00000000,*/"NVIDIA NV44M" }, //
{ 0x10DE0228,/*0x00000000,*/"NVIDIA NV44M" },
// 0230 - 023F
// 0240 - 024F
{ 0x10DE0240,/*0x00000000,*/"GeForce 6150" },
{ 0x10DE0241,/*0x00000000,*/"GeForce 6150 LE" },
{ 0x10DE0242,/*0x00000000,*/"GeForce 6100" },
{ 0x10DE0243,/*0x00000000,*/"NVIDIA C51" }, //
{ 0x10DE0243,/*0x00000000,*/"NVIDIA C51" },
{ 0x10DE0244,/*0x00000000,*/"GeForce Go 6150" },
{ 0x10DE0245,/*0x00000000,*/"Quadro NVS 210S / GeForce 6150LE" },
{ 0x10DE0247,/*0x00000000,*/"GeForce Go 6100" },
// 0250 - 025F
{ 0x10DE025B,/*0x00000000,*/"Quadro4 700 XGL" }, //
{ 0x10DE025B,/*0x00000000,*/"Quadro4 700 XGL" },
// 0260 - 026F
// 0270 - 027F
// 0280 - 028F
{ 0x10DE031B,/*0x00000000,*/"GeForce FX Go5650" },
{ 0x10DE031C,/*0x00000000,*/"Quadro FX Go700" },
// 0320 - 032F
{ 0x10DE0320,/*0x00000000,*/"GeForce FX 5200" }, //
{ 0x10DE0321,/*0x00000000,*/"GeForce FX 5200 Ultra" }, //
{ 0x10DE0322,/*0x00000000,*/"GeForce FX 5200" }, //
{ 0x10DE0323,/*0x00000000,*/"GeForce FX 5200 LE" }, //
{ 0x10DE0320,/*0x00000000,*/"GeForce FX 5200" },
{ 0x10DE0321,/*0x00000000,*/"GeForce FX 5200 Ultra" },
{ 0x10DE0322,/*0x00000000,*/"GeForce FX 5200" },
{ 0x10DE0323,/*0x00000000,*/"GeForce FX 5200 LE" },
{ 0x10DE0324,/*0x00000000,*/"GeForce FX Go5200" },
{ 0x10DE0325,/*0x00000000,*/"GeForce FX Go5250" },
{ 0x10DE0326,/*0x00000000,*/"GeForce FX 5500" },
{ 0x10DE0328,/*0x00000000,*/"GeForce FX Go5200 32M/64M" },
{ 0x10DE0329,/*0x00000000,*/"GeForce FX Go5200" }, //
{ 0x10DE0329,/*0x00000000,*/"GeForce FX Go5200" },
{ 0x10DE032A,/*0x00000000,*/"Quadro NVS 55/280 PCI" },
{ 0x10DE032B,/*0x00000000,*/"Quadro FX 500/600 PCI" },
{ 0x10DE032C,/*0x00000000,*/"GeForce FX Go53xx Series" },
{ 0x10DE032D,/*0x00000000,*/"GeForce FX Go5100" },
//{ 0x10DE032F,/*0x00000000,*/"NVIDIA NV34GL" },//
// { 0x10DE032F,/*0x00000000,*/"NVIDIA NV34GL" },
// 0330 - 033F
{ 0x10DE0330,/*0x00000000,*/"GeForce FX 5900 Ultra" },
{ 0x10DE0331,/*0x00000000,*/"GeForce FX 5900" },
{ 0x10DE0342,/*0x00000000,*/"GeForce FX 5700" },
{ 0x10DE0343,/*0x00000000,*/"GeForce FX 5700LE" },
{ 0x10DE0344,/*0x00000000,*/"GeForce FX 5700VE" },
//{ 0x10DE0345,/*0x00000000,*/"NVIDIA NV36.5" }, //
// { 0x10DE0345,/*0x00000000,*/"NVIDIA NV36.5" },
{ 0x10DE0347,/*0x00000000,*/"GeForce FX Go5700" },
{ 0x10DE0348,/*0x00000000,*/"GeForce FX Go5700" },
//{ 0x10DE0349,/*0x00000000,*/"NVIDIA NV36M Pro" }, //
//{ 0x10DE034B,/*0x00000000,*/"NVIDIA NV36MAP" }, //
// { 0x10DE0349,/*0x00000000,*/"NVIDIA NV36M Pro" },
// { 0x10DE034B,/*0x00000000,*/"NVIDIA NV36MAP" },
{ 0x10DE034C,/*0x00000000,*/"Quadro FX Go1000" },
{ 0x10DE034E,/*0x00000000,*/"Quadro FX 1100" },
//{ 0x10DE034F,/*0x00000000,*/"NVIDIA NV36GL" }, //
// { 0x10DE034F,/*0x00000000,*/"NVIDIA NV36GL" },
// 0350 - 035F
// 0360 - 036F
// 0370 - 037F
// 04A0 - 04AF
// 04B0 - 04BF
// 04C0 - 04CF
{ 0x10DE04C0,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04C1,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04C2,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04C3,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04C4,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04C5,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04C6,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04C7,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04C8,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04C9,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04CA,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04CB,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04CC,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04CD,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04CE,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04CF,/*0x00000000,*/"NVIDIA G78" }, //
{ 0x10DE04C0,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04C1,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04C2,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04C3,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04C4,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04C5,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04C6,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04C7,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04C8,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04C9,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04CA,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04CB,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04CC,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04CD,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04CE,/*0x00000000,*/"NVIDIA G78" },
{ 0x10DE04CF,/*0x00000000,*/"NVIDIA G78" },
// 04D0 - 04DF
// 04E0 - 04EF
// 04F0 - 04FF
{ 0x10DE05E1,/*0x00000000,*/"GeForce GTX 280" },
{ 0x10DE05E2,/*0x00000000,*/"GeForce GTX 260" },
{ 0x10DE05E3,/*0x00000000,*/"GeForce GTX 285" },
{ 0x10DE05E4,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05E5,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05E4,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05E5,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05E6,/*0x00000000,*/"GeForce GTX 275" },
{ 0x10DE05E7,/*0x00000000,*/"Tesla C1060" },
{ 0x10DE05E8,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05E9,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05E8,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05E9,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05EA,/*0x00000000,*/"GeForce GTX 260" },
{ 0x10DE05EB,/*0x00000000,*/"GeForce GTX 295" },
{ 0x10DE05EC,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05EC,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05ED,/*0x00000000,*/"Quadroplex 2200 D2" },
{ 0x10DE05EE,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05EF,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05EE,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05EF,/*0x00000000,*/"NVIDIA GT200" },
// 05F0 - 05FF
{ 0x10DE05F0,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05F1,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05F2,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05F3,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05F4,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05F5,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05F6,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05F7,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05F0,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05F1,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05F2,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05F3,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05F4,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05F5,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05F6,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05F7,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05F8,/*0x00000000,*/"Quadroplex 2200 S4" },
{ 0x10DE05F9,/*0x00000000,*/"Quadro CX" },
{ 0x10DE05FA,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05FB,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05FC,/*0x00000000,*/"NVIDIA GT200" }, //
{ 0x10DE05FA,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05FB,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05FC,/*0x00000000,*/"NVIDIA GT200" },
{ 0x10DE05FD,/*0x00000000,*/"Quadro FX 5800" },
{ 0x10DE05FE,/*0x00000000,*/"Quadro FX 4800" },
{ 0x10DE05FF,/*0x00000000,*/"Quadro FX 3800" },
{ 0x10DE0614,/*0x00000000,*/"GeForce 9800 GT" },
{ 0x10DE0615,/*0x00000000,*/"GeForce GTS 250" },
{ 0x10DE0617,/*0x00000000,*/"GeForce 9800M GTX" },
{ 0x10DE0618,/*0x00000000,*/"GeForce GTX 260M" }, // Subsystem Id: 1043 202B Asus GTX 680
/* START */
{ 0x10DE0618,/*0x00000000,*/"GeForce GTX 260M" },
// { 0x10DE0618,0x1025028E,"GeForce GTX 260M" },
// { 0x10DE0618,0x102802A1,"GeForce GTX 260M" },
// { 0x10DE0618,0x102802A2,"GeForce GTX 260M" },
// { 0x10DE0618,0x10431A52,"GeForce GTX 260M" },
// { 0x10DE0618,0x10432028,"GeForce GTX 260M" },
// { 0x10DE0618,0x1043202B,"Asus GTX 680" }, // Subsystem Id: 1043 202B Asus GTX 680
// { 0x10DE0618,0x10432033,"GeForce GTX 260M" },
// { 0x10DE0618,0x15580481,"GeForce GTX 260M" },
// { 0x10DE0618,0x15580577,"GeForce GTX 260M" },
// { 0x10DE0618,0x15580860,"GeForce GTX 260M" },
/* END */
{ 0x10DE0619,/*0x00000000,*/"Quadro FX 4700 X2" },
{ 0x10DE061A,/*0x00000000,*/"Quadro FX 3700" },
{ 0x10DE061B,/*0x00000000,*/"Quadro VX 200" },
{ 0x10DE0621,/*0x00000000,*/"GeForce GT 230" },
{ 0x10DE0622,/*0x00000000,*/"GeForce 9600 GT" },
{ 0x10DE0623,/*0x00000000,*/"GeForce 9600 GS" },
{ 0x10DE0624,/*0x00000000,*/"NVIDIA G94" }, //
{ 0x10DE0624,/*0x00000000,*/"NVIDIA G94" },
{ 0x10DE0625,/*0x00000000,*/"GeForce 9600 GSO 512"},
{ 0x10DE0626,/*0x00000000,*/"GeForce GT 130" },
{ 0x10DE0627,/*0x00000000,*/"GeForce GT 140" },
{ 0x10DE0628,/*0x00000000,*/"GeForce 9800M GTS" },
{ 0x10DE0629,/*0x00000000,*/"NVIDIA G94" }, //
{ 0x10DE0629,/*0x00000000,*/"NVIDIA G94" },
{ 0x10DE062A,/*0x00000000,*/"GeForce 9700M GTS" },
{ 0x10DE062B,/*0x00000000,*/"GeForce 9800M GS" },
{ 0x10DE062C,/*0x00000000,*/"GeForce 9800M GTS" },
{ 0x10DE062D,/*0x00000000,*/"GeForce 9600 GT" },
{ 0x10DE062E,/*0x00000000,*/"GeForce 9600 GT" },
{ 0x10DE062F,/*0x00000000,*/"GeForce 9800 S" }, //
{ 0x10DE062F,/*0x00000000,*/"GeForce 9800 S" },
// 0630 - 063F
{ 0x10DE0630,/*0x00000000,*/"NVIDIA G94" }, //
{ 0x10DE0630,/*0x00000000,*/"NVIDIA G94" },
{ 0x10DE0631,/*0x00000000,*/"GeForce GTS 160M" },
{ 0x10DE0632,/*0x00000000,*/"GeForce GTS 150M" },
{ 0x10DE0633,/*0x00000000,*/"NVIDIA G94" }, //
{ 0x10DE0634,/*0x00000000,*/"NVIDIA G94" }, //
{ 0x10DE0633,/*0x00000000,*/"NVIDIA G94" },
{ 0x10DE0634,/*0x00000000,*/"NVIDIA G94" },
{ 0x10DE0635,/*0x00000000,*/"GeForce 9600 GSO" },
{ 0x10DE0636,/*0x00000000,*/"NVIDIA G94" }, //
{ 0x10DE0636,/*0x00000000,*/"NVIDIA G94" },
{ 0x10DE0637,/*0x00000000,*/"GeForce 9600 GT" },
{ 0x10DE0638,/*0x00000000,*/"Quadro FX 1800" },
{ 0x10DE0639,/*0x00000000,*/"NVIDIA G94" }, //
{ 0x10DE0639,/*0x00000000,*/"NVIDIA G94" },
{ 0x10DE063A,/*0x00000000,*/"Quadro FX 2700M" },
{ 0x10DE063B,/*0x00000000,*/"NVIDIA G94" }, //
{ 0x10DE063C,/*0x00000000,*/"NVIDIA G94" }, //
{ 0x10DE063D,/*0x00000000,*/"NVIDIA G94" }, //
{ 0x10DE063E,/*0x00000000,*/"NVIDIA G94" }, //
{ 0x10DE063F,/*0x00000000,*/"NVIDIA G94" }, //
{ 0x10DE063B,/*0x00000000,*/"NVIDIA G94" },
{ 0x10DE063C,/*0x00000000,*/"NVIDIA G94" },
{ 0x10DE063D,/*0x00000000,*/"NVIDIA G94" },
{ 0x10DE063E,/*0x00000000,*/"NVIDIA G94" },
{ 0x10DE063F,/*0x00000000,*/"NVIDIA G94" },
// 0640 - 064F
{ 0x10DE0640,/*0x00000000,*/"GeForce 9500 GT" },
{ 0x10DE0641,/*0x00000000,*/"GeForce 9400 GT" },
{ 0x10DE064B,/*0x00000000,*/"GeForce 9500M G" },
{ 0x10DE064C,/*0x00000000,*/"GeForce 9650M GT" },
// 0650 - 065F
{ 0x10DE0650,/*0x00000000,*/"NVIDIA G96-825" }, //
{ 0x10DE0650,/*0x00000000,*/"NVIDIA G96-825" },
{ 0x10DE0651,/*0x00000000,*/"GeForce G 110M" },
{ 0x10DE0652,/*0x00000000,*/"GeForce GT 130M" },
{ 0x10DE0653,/*0x00000000,*/"GeForce GT 120M" },
{ 0x10DE0654,/*0x00000000,*/"GeForce GT 220M" },
{ 0x10DE0655,/*0x00000000,*/"GeForce GT 120" },
{ 0x10DE0656,/*0x00000000,*/"GeForce 9650 S" },
{ 0x10DE0657,/*0x00000000,*/"NVIDIA G96" }, //
{ 0x10DE0657,/*0x00000000,*/"NVIDIA G96" },
{ 0x10DE0658,/*0x00000000,*/"Quadro FX 380" },
{ 0x10DE0659,/*0x00000000,*/"Quadro FX 580" },
{ 0x10DE065A,/*0x00000000,*/"Quadro FX 1700M" },
{ 0x10DE065B,/*0x00000000,*/"GeForce 9400 GT" },
{ 0x10DE065C,/*0x00000000,*/"Quadro FX 770M" },
{ 0x10DE065D,/*0x00000000,*/"NVIDIA G96" }, //
{ 0x10DE065E,/*0x00000000,*/"NVIDIA G96" }, //
{ 0x10DE065D,/*0x00000000,*/"NVIDIA G96" },
{ 0x10DE065E,/*0x00000000,*/"NVIDIA G96" },
{ 0x10DE065F,/*0x00000000,*/"GeForce G210" },
// 0660 - 066F
// 0670 - 067F
// 0680 - 068F
// 0690 - 069F
// 06A0 - 06AF
{ 0x10DE06A0,/*0x00000000,*/"NVIDIA GT214" }, //
{ 0x10DE06A0,/*0x00000000,*/"NVIDIA GT214" },
// 06B0 - 06BF
{ 0x10DE06B0,/*0x00000000,*/"NVIDIA GT214" }, //
{ 0x10DE06B0,/*0x00000000,*/"NVIDIA GT214" },
// 06C0 - 06CF
{ 0x10DE06C0,/*0x00000000,*/"GeForce GTX 480" },
{ 0x10DE06C3,/*0x00000000,*/"GeForce GTX D12U" },
{ 0x10DE06CA,/*0x00000000,*/"GeForce GTX 480M" },
{ 0x10DE06CD,/*0x00000000,*/"GeForce GTX 470" },
// 06D0 - 06DF
{ 0x10DE06D1,/*0x00000000,*/"Tesla C2050" },// TODO: sub-device id: 0x0771
{ 0x10DE06D1,/*0x00000000,*/"Tesla C2070" },// TODO: sub-device id: 0x0772
{ 0x10DE06D2,/*0x00000000,*/"Tesla M2070" },
/* START */
{ 0x10DE06D1,/*0x00000000,*/"Tesla C2050 / C2070" },
// { 0x10DE06D1,0x10DE0771,"Tesla C2050" },
// { 0x10DE06D1,0x10DE0772,"Tesla C2070" },
{ 0x10DE06D2,/*0x00000000,*/"Tesla M2070 / X2070" },
// { 0x10DE06D2,0x10DE0774,"Tesla M2070" },
// { 0x10DE06D2,0x10DE0830,"Tesla M2070" },
// { 0x10DE06D2,0x10DE0842,"Tesla M2070" },
// { 0x10DE06D2,0x10DE088F,"Tesla X2070" },
// { 0x10DE06D2,0x10DE0908,"Tesla M2070" },
/* END */
{ 0x10DE06D8,/*0x00000000,*/"Quadro 6000" },
{ 0x10DE06D9,/*0x00000000,*/"Quadro 5000" },
{ 0x10DE06DA,/*0x00000000,*/"Quadro 5000M" },
{ 0x10DE06EA,/*0x00000000,*/"Quadro NVS 150M" },
{ 0x10DE06EB,/*0x00000000,*/"Quadro NVS 160M" },
{ 0x10DE06EC,/*0x00000000,*/"GeForce G 105M" },
{ 0x10DE06ED,/*0x00000000,*/"NVIDIA G98" }, //
{ 0x10DE06ED,/*0x00000000,*/"NVIDIA G98" },
{ 0x10DE06EF,/*0x00000000,*/"GeForce G 103M" },
// 06F0 - 06FF
{ 0x10DE06F0,/*0x00000000,*/"NVIDIA G98" }, //
{ 0x10DE06F0,/*0x00000000,*/"NVIDIA G98" },
{ 0x10DE06F1,/*0x00000000,*/"GeForce G105M" },
{ 0x10DE06F2,/*0x00000000,*/"NVIDIA G98" }, //
{ 0x10DE06F3,/*0x00000000,*/"NVIDIA G98" }, //
{ 0x10DE06F4,/*0x00000000,*/"NVIDIA G98" }, //
{ 0x10DE06F5,/*0x00000000,*/"NVIDIA G98" }, //
{ 0x10DE06F6,/*0x00000000,*/"NVIDIA G98" }, //
{ 0x10DE06F7,/*0x00000000,*/"NVIDIA G98" }, //
{ 0x10DE06F2,/*0x00000000,*/"NVIDIA G98" },
{ 0x10DE06F3,/*0x00000000,*/"NVIDIA G98" },
{ 0x10DE06F4,/*0x00000000,*/"NVIDIA G98" },
{ 0x10DE06F5,/*0x00000000,*/"NVIDIA G98" },
{ 0x10DE06F6,/*0x00000000,*/"NVIDIA G98" },
{ 0x10DE06F7,/*0x00000000,*/"NVIDIA G98" },
{ 0x10DE06F8,/*0x00000000,*/"Quadro NVS 420" },
{ 0x10DE06F9,/*0x00000000,*/"Quadro FX 370 LP" },
{ 0x10DE06FA,/*0x00000000,*/"Quadro NVS 450" },
{ 0x10DE06FB,/*0x00000000,*/"Quadro FX 370M" },
{ 0x10DE06FC,/*0x00000000,*/"NVIDIA G98" }, //
{ 0x10DE06FC,/*0x00000000,*/"NVIDIA G98" },
{ 0x10DE06FD,/*0x00000000,*/"Quadro NVS 295" },
{ 0x10DE06FE,/*0x00000000,*/"NVIDIA G98" }, //
{ 0x10DE06FE,/*0x00000000,*/"NVIDIA G98" },
{ 0x10DE06FF,/*0x00000000,*/"HICx16 + Graphics" },
// 0700 - 070F
// 0710 - 071F
// 0730 - 073F
// 0740 - 074F
// 0750 - 075F
//{ 0x10DE0759,/*0x00000000,*/"nVidia Standard Dual Channel PCI IDE Controller" },
// 0760 - 076F
// 0770 - 077F
//{ 0x10DE0774,/*0x00000000,*/"nVidia Microsoft UAA Bus Driver for High Definition Audio" },
//{ 0x10DE077B,/*0x00000000,*/"nVidia Standard OpenHCD USB Host Controller" },
//{ 0x10DE077C,/*0x00000000,*/"nVidia Standard Enhanced PCI to USB Host Controller" },
//{ 0x10DE077D,/*0x00000000,*/"nVidia Standard OpenHCD USB Host Controller" },
//{ 0x10DE077E,/*0x00000000,*/"nVidia Standard Enhanced PCI to USB Host Controller" },
// 0780 - 078F
// 0790 - 079F
// 07A0 - 07AF
{ 0x10DE07E1,/*0x00000000,*/"GeForce 7100 / nForce 630i" },
{ 0x10DE07E2,/*0x00000000,*/"GeForce 7050 / nForce 630i" },
{ 0x10DE07E3,/*0x00000000,*/"GeForce 7050 / nForce 610i" },
//{ 0x10DE07E4,/*0x00000000,*/"NVIDIA MCP73" },
{ 0x10DE07E5,/*0x00000000,*/"GeForce 7050 / nForce 620i" },
//{ 0x10DE07E6,/*0x00000000,*/"NVIDIA MCP73" },
//{ 0x10DE07E7,/*0x00000000,*/"NVIDIA MCP73" },
//{ 0x10DE07E8,/*0x00000000,*/"NVIDIA MCP73" },
//{ 0x10DE07E9,/*0x00000000,*/"NVIDIA MCP73" },
//{ 0x10DE07EA,/*0x00000000,*/"NVIDIA MCP73" },
//{ 0x10DE07EB,/*0x00000000,*/"NVIDIA MCP73" },
//{ 0x10DE07ED,/*0x00000000,*/"NVIDIA MCP73" },
//{ 0x10DE07EE,/*0x00000000,*/"NVIDIA MCP73" },
//{ 0x10DE07EF,/*0x00000000,*/"NVIDIA MCP73" },
// 07F0 - 07FF
// 0800 - 080F
// 0810 - 081F
// 0830 - 083F
// 0840 - 084F
{ 0x10DE0840,/*0x00000000,*/"GeForce 8200M" },
//{ 0x10DE0841,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE0842,/*0x00000000,*/"NVIDIA MCP77/78" },
{ 0x10DE0844,/*0x00000000,*/"GeForce 9100M G" },
{ 0x10DE0845,/*0x00000000,*/"GeForce 8200M G" },
{ 0x10DE0846,/*0x00000000,*/"GeForce 9200" },
{ 0x10DE084D,/*0x00000000,*/"nForce 750a SLI" },
{ 0x10DE084F,/*0x00000000,*/"GeForce 8100 / nForce 720a" },
// 0850 - 085F
//{ 0x10DE0850,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE0851,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE0852,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE0853,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE0854,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE0855,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE0856,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE0857,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE0858,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE0859,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE085A,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE085B,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE085C,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE085D,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE085E,/*0x00000000,*/"NVIDIA MCP77/78" },
//{ 0x10DE085F,/*0x00000000,*/"NVIDIA MCP77/78" },
// 0860 - 086F
{ 0x10DE0860,/*0x00000000,*/"GeForce 9300" }, //
{ 0x10DE0860,/*0x00000000,*/"GeForce 9300" },
{ 0x10DE0861,/*0x00000000,*/"GeForce 9400" },
{ 0x10DE0862,/*0x00000000,*/"GeForce 9400M G" },
{ 0x10DE0863,/*0x00000000,*/"GeForce 9400M" },
{ 0x10DE0864,/*0x00000000,*/"GeForce 9300" },
{ 0x10DE0865,/*0x00000000,*/"GeForce 9300" }, //
{ 0x10DE0865,/*0x00000000,*/"GeForce 9300" },
{ 0x10DE0866,/*0x00000000,*/"GeForce 9400M G" },
{ 0x10DE0867,/*0x00000000,*/"GeForce 9400" },
{ 0x10DE0868,/*0x00000000,*/"nForce 760i SLI" },
// 0890 - 089F
// 08A0 - 08AF
{ 0x10DE08A0,/*0x00000000,*/"GeForce 320M" },
//{ 0x10DE08A1,/*0x00000000,*/"NVIDIA MCP89-MZT" },
//{ 0x10DE08A2,/*0x00000000,*/"NVIDIA MCP89-EPT" },
// { 0x10DE08A1,/*0x00000000,*/"NVIDIA MCP89-MZT" },
// { 0x10DE08A2,/*0x00000000,*/"NVIDIA MCP89-EPT" },
{ 0x10DE08A3,/*0x00000000,*/"GeForce 320M" },
{ 0x10DE08A4,/*0x00000000,*/"GeForce 320M" },
{ 0x10DE08A5,/*0x00000000,*/"GeForce 320M" },
// 08B0 - 08BF
//{ 0x10DE08B0,/*0x00000000,*/"Unknown" },
// { 0x10DE08B0,/*0x00000000,*/"MCP83 MMD" },
{ 0x10DE08B1,/*0x00000000,*/"GeForce 300M" },
//{ 0x10DE08B2,/*0x00000000,*/"NVIDIA MCP83-MJ" },
//{ 0x10DE08B3,/*0x00000000,*/"NVIDIA MCP89 MM9" },
// { 0x10DE08B2,/*0x00000000,*/"NVIDIA MCP83-MJ" },
// { 0x10DE08B3,/*0x00000000,*/"NVIDIA MCP89 MM9" },
// 08C0 - 08CF
// 08D0 - 08DF
// 08E0 - 08EF
// 09E0 - 09EF
// 09F0 - 09FF
// 0A00 - 0A0F
//{ 0x10DE0A00,/*0x00000000,*/"NVIDIA GT212" },
// { 0x10DE0A00,/*0x00000000,*/"NVIDIA GT212" },
// 0A10 - 0A1F
//{ 0x10DE0A10,/*0x00000000,*/"NVIDIA GT212" },
// { 0x10DE0A10,/*0x00000000,*/"NVIDIA GT212" },
// 0A20 - 0A2F
{ 0x10DE0A20,/*0x00000000,*/"GeForce GT 220" }, // subsystem 10de:0a20:1043:8311
//{ 0x10DE0A21,/*0x00000000,*/"NVIDIA D10M2-20" },
// { 0x10DE0A21,/*0x00000000,*/"NVIDIA D10M2-20" },
{ 0x10DE0A22,/*0x00000000,*/"GeForce 315" },
{ 0x10DE0A23,/*0x00000000,*/"GeForce 210" },
{ 0x10DE0A26,/*0x00000000,*/"GeForce 405" },
{ 0x10DE0A2C,/*0x00000000,*/"NVS 5100M" },
{ 0x10DE0A2D,/*0x00000000,*/"GeForce GT 320M" },
// 0A30 - 0A3F
//{ 0x10DE0A30,/*0x00000000,*/"NVIDIA GT216" },
// { 0x10DE0A30,/*0x00000000,*/"NVIDIA GT216" },
{ 0x10DE0A32,/*0x00000000,*/"GeForce GT 415" },
{ 0x10DE0A34,/*0x00000000,*/"GeForce GT 240M" },
{ 0x10DE0A35,/*0x00000000,*/"GeForce GT 325M" },
{ 0x10DE0A38,/*0x00000000,*/"Quadro 400" },
{ 0x10DE0A3C,/*0x00000000,*/"Quadro FX 880M" },
//{ 0x10DE0A3D,/*0x00000000,*/"NVIDIA N10P-ES" },
//{ 0x10DE0A3F,/*0x00000000,*/"NVIDIA GT216-INT" },
// { 0x10DE0A3D,/*0x00000000,*/"NVIDIA N10P-ES" },
// { 0x10DE0A3F,/*0x00000000,*/"NVIDIA GT216-INT" },
// 0A40 - 0A4F
// 0A50 - 0A5F
// 0A60 - 0A6F
{ 0x10DE0A60,/*0x00000000,*/"GeForce G210" },
//{ 0x10DE0A61,/*0x00000000,*/"NVIDIA NVS 2100" },
// { 0x10DE0A61,/*0x00000000,*/"NVIDIA NVS 2100" },
{ 0x10DE0A62,/*0x00000000,*/"GeForce 205" },
{ 0x10DE0A63,/*0x00000000,*/"GeForce 310" },
{ 0x10DE0A64,/*0x00000000,*/"ION" },
{ 0x10DE0A75,/*0x00000000,*/"GeForce G310M" },
{ 0x10DE0A76,/*0x00000000,*/"ION" },
{ 0x10DE0A78,/*0x00000000,*/"Quadro FX 380 LP" },
//{ 0x10DE0A79,/*0x00000000,*/"Unknown" },
// { 0x10DE0A79,/*0x00000000,*/"N12M-NS-S" },
{ 0x10DE0A7A,/*0x00000000,*/"GeForce 315M" },
{ 0x10DE0A7B,/*0x00000000,*/"GeForce 505" },
{ 0x10DE0A7C,/*0x00000000,*/"Quadro FX 380M" },
//{ 0x10DE0A7D,/*0x00000000,*/"NVIDIA GT218-ES" },
//{ 0x10DE0A7E,/*0x00000000,*/"NVIDIA GT218-INT-S" },
//{ 0x10DE0A7F,/*0x00000000,*/"NVIDIA GT218-INT-B" },
// { 0x10DE0A7D,/*0x00000000,*/"NVIDIA GT218-ES" },
// { 0x10DE0A7E,/*0x00000000,*/"NVIDIA GT218-INT-S" },
// { 0x10DE0A7F,/*0x00000000,*/"NVIDIA GT218-INT-B" },
// 0A80 - 0A8F
// 0A90 - 0A9F
// 0AA0 - 0AAF
// 0BC0 - 0BCF
// 0BD0 - 0BDF
// 0BE0 - 0BEF
//{ 0x10DE0BE4,/*0x00000000,*/"nVidia High Definition Audio Controller" },
//{ 0x10DE0BE9,/*0x00000000,*/"nVidia High Definition Audio Controller" },
// 0BF0 - 0BFF
// 0C00 - 0C0F
// 0C10 - 0C1F
{ 0x10DE0CA8,/*0x00000000,*/"GeForce GTS 260M" },
{ 0x10DE0CA9,/*0x00000000,*/"GeForce GTS 250M" },
{ 0x10DE0CAC,/*0x00000000,*/"GeForce GT 220" },
//{ 0x10DE0CAD,/*0x00000000,*/"NVIDIA N10E-ES" },
//{ 0x10DE0CAE,/*0x00000000,*/"NVIDIA GT215-INT" },
// { 0x10DE0CAD,/*0x00000000,*/"NVIDIA N10E-ES" },
// { 0x10DE0CAE,/*0x00000000,*/"NVIDIA GT215-INT" },
{ 0x10DE0CAF,/*0x00000000,*/"GeForce GT 335M" },
// 0CB0 - 0CBF
{ 0x10DE0CB0,/*0x00000000,*/"GeForce GTS 350M" },
// 0DB0 - 0DBF
// 0DC0 - 0DCF
{ 0x10DE0DC0,/*0x00000000,*/"GeForce GT 440" },
{ 0x10DE0DC1,/*0x00000000,*/"D12-P1-35" },
{ 0x10DE0DC2,/*0x00000000,*/"D12-P1-35" },
// { 0x10DE0DC1,/*0x00000000,*/"D12-P1-35" },
// { 0x10DE0DC2,/*0x00000000,*/"D12-P1-35" },
{ 0x10DE0DC4,/*0x00000000,*/"GeForce GTS 450" },
{ 0x10DE0DC5,/*0x00000000,*/"GeForce GTS 450" },
{ 0x10DE0DC6,/*0x00000000,*/"GeForce GTS 450" },
{ 0x10DE0DCA,/*0x00000000,*/"GF10x" },
//{ 0x10DE0DCC,/*0x00000000,*/"Unknown" },
// { 0x10DE0DCA,/*0x00000000,*/"GF10x" },
// { 0x10DE0DCC,/*0x00000000,*/"N12E-GS" },
{ 0x10DE0DCD,/*0x00000000,*/"GeForce GT 555M" },
{ 0x10DE0DCE,/*0x00000000,*/"GeForce GT 555M" },
//{ 0x10DE0DCF,/*0x00000000,*/"Unknown" },
// { 0x10DE0DCF,/*0x00000000,*/"N12P-GT-B" },
// 0DD0 - 0DDF
//{ 0x10DE0DD0,/*0x00000000,*/"Unknown" },
// { 0x10DE0DD0,/*0x00000000,*/"N11E-GT" },
{ 0x10DE0DD1,/*0x00000000,*/"GeForce GTX 460M" }, // subsystem 10de:0dd1:1558:8687
{ 0x10DE0DD2,/*0x00000000,*/"GeForce GT 445M" },
{ 0x10DE0DD3,/*0x00000000,*/"GeForce GT 435M" },
{ 0x10DE0DD6,/*0x00000000,*/"GeForce GT 550M" },
{ 0x10DE0DD8,/*0x00000000,*/"Quadro 2000" },
{ 0x10DE0DDA,/*0x00000000,*/"Quadro 2000M" },
{ 0x10DE0DDE,/*0x00000000,*/"GF106-ES" },
{ 0x10DE0DDF,/*0x00000000,*/"GF106-INT" },
// { 0x10DE0DDE,/*0x00000000,*/"GF106-ES" },
// { 0x10DE0DDF,/*0x00000000,*/"GF106-INT" },
// 0DE0 - 0DEF
{ 0x10DE0DE0,/*0x00000000,*/"GeForce GT 440" },
{ 0x10DE0DE1,/*0x00000000,*/"GeForce GT 430" }, // subsystem 10de:0de1:3842:1430
{ 0x10DE0DEC,/*0x00000000,*/"GeForce GT 525M" },
{ 0x10DE0DED,/*0x00000000,*/"GeForce GT 520M" },
{ 0x10DE0DEE,/*0x00000000,*/"GeForce GT 415M" },
//{ 0x10DE0DEF,/*0x00000000,*/"Unknown" },
// { 0x10DE0DEF,/*0x00000000,*/"N13P-NS1-A1" },
// 0DF0 - 0DFF
{ 0x10DE0DF0,/*0x00000000,*/"GeForce GT 425M" },
{ 0x10DE0DF1,/*0x00000000,*/"GeForce GT 420M" },
{ 0x10DE0DF6,/*0x00000000,*/"GeForce GT 550M" },
{ 0x10DE0DF7,/*0x00000000,*/"GeForce GT 520M" },
{ 0x10DE0DF8,/*0x00000000,*/"Quadro 600" },
//{ 0x10DE0DF9,/*0x00000000,*/"Unknown" },
{ 0x10DE0DF9,/*0x00000000,*/"Quadro 500M" },
{ 0x10DE0DFA,/*0x00000000,*/"Quadro 1000M" },
{ 0x10DE0DFC,/*0x00000000,*/"NVS 5200M" },
{ 0x10DE0DFE,/*0x00000000,*/"GF108 ES" },
{ 0x10DE0DFF,/*0x00000000,*/"GF108 INT" },
// { 0x10DE0DFE,/*0x00000000,*/"GF108 ES" },
// { 0x10DE0DFF,/*0x00000000,*/"GF108 INT" },
// 0E00 - 0E0F
// 0E10 - 0E1F
// 0E20 - 0E2F
{ 0x10DE0E22,/*0x00000000,*/"GeForce GTX 460" }, // subsystem 10de:0e22:1462:2322
{ 0x10DE0E23,/*0x00000000,*/"GeForce GTX 460 SE" },
{ 0x10DE0E24,/*0x00000000,*/"GeForce GTX 460" },
{ 0x10DE0E25,/*0x00000000,*/"D12U-50" },
// { 0x10DE0E25,/*0x00000000,*/"D12U-50" },
{ 0x10DE0E28,/*0x00000000,*/"GeForce GTX 460" },
// 0E30 - 0E3F
{ 0x10DE0E30,/*0x00000000,*/"GeForce GTX 470M" },
{ 0x10DE0E31,/*0x00000000,*/"GeForce GTX 485M" },
//{ 0x10DE0E32,/*0x00000000,*/"Unknown" },
// { 0x10DE0E32,/*0x00000000,*/"N12E-GT" },
{ 0x10DE0E38,/*0x00000000,*/"GF104GL" },
{ 0x10DE0E3A,/*0x00000000,*/"Quadro 3000M" },
{ 0x10DE0E3B,/*0x00000000,*/"Quadro 4000M" },
{ 0x10DE0E3E,/*0x00000000,*/"GF104-ES" },
{ 0x10DE0E3F,/*0x00000000,*/"GF104-INT" },
// { 0x10DE0E3E,/*0x00000000,*/"GF104-ES" },
// { 0x10DE0E3F,/*0x00000000,*/"GF104-INT" },
// 0E40 - 0E4F
// 0E50 - 0E5F
// 0E60 - 0E6F
{ 0x10DE0FD1,/*0x00000000,*/"GeForce GT 650M" },
{ 0x10DE0FD2,/*0x00000000,*/"GeForce GT 640M" },
{ 0x10DE0FD4,/*0x00000000,*/"GeForce GTX 660M" },
// { 0x10DE0FDB,/*0x00000000,*/"GK107-ESP-A1" },
// 0FE0 - 0FEF
// 0FF0 - 0FFF
// 1000 - 100F
// 1030 - 103F
// 1040 - 104F
{ 0x10DE1040,/*0x00000000,*/"GeForce GT 520" },
// { 0x10DE1041,/*0x00000000,*/"D13M1-45" },
{ 0x10DE1042,/*0x00000000,*/"GeForce 510" },
{ 0x10DE1048,/*0x00000000,*/"GeForce 605" },
{ 0x10DE1049,/*0x00000000,*/"GeForce GT 620" },
// 1050 - 105F
{ 0x10DE1050,/*0x00000000,*/"GeForce GT 520M" },
{ 0x10DE1051,/*0x00000000,*/"GeForce GT 520MX" },
//{ 0x10DE1052,/*0x00000000,*/"Unknown" },
{ 0x10DE1052,/*0x00000000,*/"GeForce GT 520M" },
{ 0x10DE1054,/*0x00000000,*/"GeForce GT 410M" },
{ 0x10DE1055,/*0x00000000,*/"GeForce 410M" },
{ 0x10DE1056,/*0x00000000,*/"Quadro NVS 4200M" },
{ 0x10DE1057,/*0x00000000,*/"Quadro NVS 4200M" },
{ 0x10DE1058,/*0x00000000,*/"GeForce 610M" },
//{ 0x10DE1059,/*0x00000000,*/"AUDIO" },
{ 0x10DE1059,/*0x00000000,*/"GeForce 610M" },
{ 0x10DE105A,/*0x00000000,*/"GeForce 610M" },
// 1060 - 106F
// 1070 - 107F
//{ 0x10DE107D,/*0x00000000,*/"Unknown" },
//{ 0x10DE107E,/*0x00000000,*/"Unknown" },
{ 0x10DE107F,/*0x00000000,*/"NVIDIA GF119-ES" },
// { 0x10DE107D,/*0x00000000,*/"GF119" },
// { 0x10DE107E,/*0x00000000,*/"GF119-INT" },
// { 0x10DE107F,/*0x00000000,*/"GF119-ES" },
// 1080 - 108F
{ 0x10DE1080,/*0x00000000,*/"GeForce GTX 580" },
{ 0x10DE1081,/*0x00000000,*/"GeForce GTX 570" }, // subsystem 10de:1081:10de:087e
{ 0x10DE1088,/*0x00000000,*/"GeForce GTX 590" },
{ 0x10DE1089,/*0x00000000,*/"GeForce GTX 580" },
{ 0x10DE108B,/*0x00000000,*/"GeForce GTX 590" },
// { 0x10DE108C,/*0x00000000,*/"D13U" },
{ 0x10DE108E,/*0x00000000,*/"Tesla C2090" },
// 1090 - 109F
{ 0x10DE1091,/*0x00000000,*/"Tesla M2090" },
{ 0x10DE1094,/*0x00000000,*/"Tesla M2075 Dual-Slot Computing Processor Module" },
{ 0x10DE1096,/*0x00000000,*/"Tesla C2075" },
{ 0x10DE1098,/*0x00000000,*/"D13U" },
// { 0x10DE1098,/*0x00000000,*/"D13U" },
{ 0x10DE109A,/*0x00000000,*/"Quadro 5010M" },
{ 0x10DE109B,/*0x00000000,*/"Quadro 7000" },
// 10A0 - 10AF
// 10C0 - 10CF
{ 0x10DE10C0,/*0x00000000,*/"GeForce 9300 GS" },
{ 0x10DE10C3,/*0x00000000,*/"GeForce 8400 GS" },
//{ 0x10DE10C4,/*0x00000000,*/"NVIDIA ION" },
{ 0x10DE10C4,/*0x00000000,*/"NVIDIA ION" },
{ 0x10DE10C5,/*0x00000000,*/"GeForce 405" },
// 10D0 - 10DF
{ 0x10DE10D8,/*0x00000000,*/"NVS 300" },
// 1120 - 112F
// 1130 - 113F
// 1140 - 114F
// { 0x10DE1140,/*0x00000000,*/"GF117" },
{ 0x10DE1141,/*0x00000000,*/"GeForce 610M" },
{ 0x10DE1142,/*0x00000000,*/"GeForce 620M" },
// { 0x10DE1143,/*0x00000000,*/"N13P-GV" },
// { 0x10DE1144,/*0x00000000,*/"GF117" },
// { 0x10DE1145,/*0x00000000,*/"GF117" },
// { 0x10DE1146,/*0x00000000,*/"GF117" },
// { 0x10DE1147,/*0x00000000,*/"GF117" },
// { 0x10DE1149,/*0x00000000,*/"GF117-ES" },
// { 0x10DE114A,/*0x00000000,*/"GF117-INT" },
// { 0x10DE114B,/*0x00000000,*/"PCI-GEN3-B" },
// 1150 - 115F
// 1160 - 116F
// 1170 - 117F
// 1200 - 120F
{ 0x10DE1200,/*0x00000000,*/"GeForce GTX 560 Ti" },
{ 0x10DE1201,/*0x00000000,*/"GeForce GTX 560" },
{ 0x10DE1202,/*0x00000000,*/"GeForce GTX 560 Ti" },
{ 0x10DE1203,/*0x00000000,*/"GeForce GTX 460 SE v2" },
{ 0x10DE1205,/*0x00000000,*/"GeForce GTX 460 v2" },
{ 0x10DE1206,/*0x00000000,*/"GeForce GTX 555" },
{ 0x10DE1208,/*0x00000000,*/"GeForce GTX 560 SE" },
{ 0x10DE1210,/*0x00000000,*/"GeForce GTX 570M" },
{ 0x10DE1211,/*0x00000000,*/"GeForce GTX 580M" },
{ 0x10DE1246,/*0x00000000,*/"GeForce GTX 550M" },
{ 0x10DE1247,/*0x00000000,*/"GeForce GT 635M" }, // Subsystem Id: 1043 212C Asus GeForce GT 635M
{ 0x10DE1248,/*0x00000000,*/"GeForce GTX 555M" },
{ 0x10DE124B,/*0x00000000,*/"GeForce GT 640" },
{ 0x10DE124D,/*0x00000000,*/"GeForce GTX 555M" },
//{ 0x10DE1250,/*0x00000000,*/"Unknown" },
// { 0x10DE1250,/*0x00000000,*/"GF116-INT" },
{ 0x10DE1251,/*0x00000000,*/"GeForce GTX 560M" },
// 1260 - 126F
// 1270 - 127F
// 12D0 - 12DF
// 12E0 - 12EF
// 12F0 - 12FF
//{ 0x10DE8001,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE8067,/*0x00000000,*/"NVIDIA HDMI Audio" },
//{ 0x10DE8073,/*0x00000000,*/"NVIDIA HDMI Audio" },
};
static uint16_t swap16(uint16_t x)
{
return (((x & 0x00FF) << 8) | ((x & 0xFF00) >> 8));
}
#define READ_BYTE(rom, offset) (*(u_char *)(rom + offset))
#define READ_LE_SHORT(rom, offset) (READ_BYTE(rom, offset+1) << 8 | READ_BYTE(rom, offset))
#define READ_LE_INT(rom, offset) (READ_LE_SHORT(rom, offset+2) << 16 | READ_LE_SHORT(rom, offset))
#define WRITE_LE_SHORT(data) (((data) << 8 & 0xff00) | ((data) >> 8 & 0x00ff ))
#define WRITE_LE_INT(data) (WRITE_LE_SHORT(data) << 16 | WRITE_LE_SHORT(data >> 16))
static uint16_t read16(uint8_t *ptr, uint16_t offset)
{
uint8_t ret[2];
ret[0] = ptr[offset+1];
ret[1] = ptr[offset];
return *((uint16_t*)&ret);
}
#if 0
static uint32_t swap32(uint32_t x)
{
return ((x & 0x000000FF) << 24) | ((x & 0x0000FF00) << 8 ) | ((x & 0x00FF0000) >> 8 ) | ((x & 0xFF000000) >> 24);
}
static uint8_tread8(uint8_t *ptr, uint16_t offset)
{
return ptr[offset];
}
static uint32_t read32(uint8_t *ptr, uint16_t offset)
{
uint8_t ret[4];
ret[0] = ptr[offset+3];
ret[1] = ptr[offset+2];
ret[2] = ptr[offset+1];
ret[3] = ptr[offset];
return *((uint32_t*)&ret);
}
#endif
static int patch_nvidia_rom(uint8_t *rom)
{
if (!rom || (rom[0] != 0x55 && rom[1] != 0xaa)) {
return PATCH_ROM_FAILED;
}
uint16_t dcbptr = swap16(read16(rom, 0x36));
uint16_t dcbptr = READ_LE_SHORT(rom, 0x36);
if (!dcbptr) {
printf("no dcb table found\n");
return PATCH_ROM_FAILED;
}
//else
//printf("dcb table at offset 0x%04x\n", dcbptr);
else
printf("dcb table at offset 0x%04x\n", dcbptr);
uint8_t *dcbtable = &rom[dcbptr];
uint8_t dcbtable_version = dcbtable[0];
uint8_t headerlength = 0;
numentries = dcbtable[2];
recordlength = dcbtable[3];
sig = *(uint32_t *)&dcbtable[6];
sig = READ_LE_INT(dcbtable, 6);
}
else
{
sig = *(uint32_t *)&dcbtable[4];
sig = READ_LE_INT(dcbtable, 4);
headerlength = 8;
}
for (i = 0; i < numentries; i++)
{
uint32_t connection;
connection = *(uint32_t *)&dcbtable[headerlength + recordlength * i];
connection = READ_LE_INT(dcbtable,headerlength + recordlength * i);
/* Should we allow discontinuous DCBs? Certainly DCB I2C tables can be discontinuous */
if ((connection & 0x0000000f) == 0x0000000f) /* end of records */
continue;
videoRam = mem_detect(regs, nvCardType, nvda_dev);
model = get_nvidia_model((nvda_dev->vendor_id << 16) | nvda_dev->device_id);
verbose("nVidia %s %dMB NV%02x [%04x:%04x] :: %s\n",
verbose("nVidia %s %dMB NV%02x [%04x:%04x] :: %s device number: %d\n",
model, (uint32_t)(videoRam / 1024 / 1024),
(REG32(0) >> 20) & 0x1ff, nvda_dev->vendor_id, nvda_dev->device_id,
devicepath);
devicepath, devices_number);
rom = malloc(NVIDIA_ROM_SIZE);
sprintf(nvFilename, "/Extra/%04x_%04x.rom", (uint16_t)nvda_dev->vendor_id,
// TODO: we should really check for the signature before copying the rom, i think.
// PRAMIN first
nvRom = (uint8_t*)&regs[NV_PRAMIN_OFFSET];
bcopy((uint32_t *)nvRom, rom, NVIDIA_ROM_SIZE);
// PROM next
// Enable PROM access
(REG32(NV_PBUS_PCI_NV_20)) = NV_PBUS_PCI_NV_20_ROM_SHADOW_DISABLED;
nvRom = (uint8_t*)&regs[NV_PROM_OFFSET];
bcopy((uint8_t *)nvRom, rom, NVIDIA_ROM_SIZE);
// disable PROM access
(REG32(NV_PBUS_PCI_NV_20)) = NV_PBUS_PCI_NV_20_ROM_SHADOW_ENABLED;
// Valid Signature ?
if (rom[0] != 0x55 && rom[1] != 0xaa)
{
// PROM next
// Enable PROM access
(REG32(NV_PBUS_PCI_NV_20)) = NV_PBUS_PCI_NV_20_ROM_SHADOW_DISABLED;
nvRom = (uint8_t*)&regs[NV_PROM_OFFSET];
bcopy((uint8_t *)nvRom, rom, NVIDIA_ROM_SIZE);
// disable PROM access
(REG32(NV_PBUS_PCI_NV_20)) = NV_PBUS_PCI_NV_20_ROM_SHADOW_ENABLED;
// PRAMIN first
nvRom = (uint8_t*)&regs[NV_PRAMIN_OFFSET];
bcopy((uint32_t *)nvRom, rom, NVIDIA_ROM_SIZE);
// Valid Signature ?
if (rom[0] != 0x55 && rom[1] != 0xaa)
{
branches/ErmaC/Trunk/i386/libsaio/ati.c
7373
7474
7575
76
76
7777
7878
7979
......
262262
263263
264264
265
265266
267
266268
267269
268270
......
271273
272274
273275
276
274277
278
275279
276280
277281
278282
283
279284
285
280286
281287
282288
......
286292
287293
288294
295
296
289297
290298
291299
......
296304
297305
298306
307
308
309
310
311
312
299313
300314
301315
......
339353
340354
341355
356
342357
343358
344359
......
372387
373388
374389
375
390
376391
377392
378
393
379394
380395
381396
......
385400
386401
387402
388
403
389404
390405
391406
......
781796
782797
783798
799
784800
785801
786802
......
10781094
10791095
10801096
1097
10811098
10821099
10831100
......
10871104
10881105
10891106
1107
10901108
10911109
10921110
......
10991117
11001118
11011119
1120
11021121
1103
1122
1123
1124
11041125
11051126
11061127
11071128
1108
1129
1130
11091131
11101132
11111133
......
11631185
11641186
11651187
1166
1188
11671189
11681190
11691191
......
11791201
11801202
11811203
1182
1204
11831205
11841206
11851207
......
11921214
11931215
11941216
1217
11951218
11961219
11971220
11981221
11991222
12001223
1224
12011225
12021226
12031227
......
12261250
12271251
12281252
1253
1254
12291255
12301256
12311257
12321258
12331259
12341260
1261
1262
1263
12351264
12361265
1266
1267
12371268
12381269
12391270
......
12631294
12641295
12651296
1266
1267
1297
1298
12681299
12691300
1270
1301
12711302
12721303
12731304
......
12911322
12921323
12931324
1325
1326
1327
1328
12941329
12951330
12961331
CHIP_FAMILY_TURKS,
/* Southern Islands */
CHIP_FAMILY_TAHITI,
//CHIP_FAMILY_PITCAIRN,
CHIP_FAMILY_PITCAIRN,
//CHIP_FAMILY_VERDE,
//CHIP_FAMILY_THAMES,
//CHIP_FAMILY_LOMBOK,
//{ 0x9400,0x021E1043, CHIP_FAMILY_R600,"ATI Radeon HD ????", kNull},
{ 0x9400,0x25521002, CHIP_FAMILY_R600,"ATI Radeon HD 2900 XT", kNull},
{ 0x9400,0x30001002, CHIP_FAMILY_R600,"ATI Radeon HD 2900 PRO", kNull},
{ 0x9400,0x31421002, CHIP_FAMILY_R600,"ATI Radeon HD 2900 XT", kNull},
{ 0x9440,0x05021002, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot},
{ 0x9440,0x0851174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot},
{ 0x9440,0x114A174B, CHIP_FAMILY_RV770,"Sapphire Radeon HD4870 Vapor-X", kCardinal},
{ 0x9440,0x24401682, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot},
{ 0x9440,0x24451682, CHIP_FAMILY_RV770,"ATI Radeon HD 4870", kMotmot},
{ 0x9441,0x24401682, CHIP_FAMILY_RV770,"ATI Radeon HD 4870 X2", kMotmot},
{ 0x9441,0x25421002, CHIP_FAMILY_RV770,"PowerColor HD 4870 X2", kMotmot},
{ 0x9442,0x05021002, CHIP_FAMILY_RV770,"MSI R4850-T2D512", kMotmot},
{ 0x9442,0x080110B0, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x9442,0x24701682, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x9442,0x24711682, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x9442,0xE104174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x9442,0xE810174B, CHIP_FAMILY_RV770,"Sapphire HD 4850", kMotmot},
{ 0x944A,0x02A21028, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x30001043, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x30001458, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x30001462, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x30001787, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944A,0x300017AF, CHIP_FAMILY_RV770,"ATI Radeon HD 4850", kMotmot},
{ 0x944C,0x05021002, CHIP_FAMILY_RV770,"ATI Radeon HD 4830", kMotmot},
{ 0x944C,0x20031787, CHIP_FAMILY_RV770,"ATI Radeon HD 4830", kMotmot},
{ 0x944C,0x24801682, CHIP_FAMILY_RV770,"ATI Radeon HD 4830", kMotmot},
{ 0x944C,0x24811682, CHIP_FAMILY_RV770,"ATI Radeon HD 4830", kMotmot},
{ 0x944E,0x3261174B, CHIP_FAMILY_RV770,"ATI Radeon HD 4810", kMotmot},
{ 0x9480,0x01211025, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kGliff},
{ 0x9480,0x03111025, CHIP_FAMILY_RV730,"ATI Radeon HD 5165M", kNull},
{ 0x9480,0x03121025, CHIP_FAMILY_RV730,"ATI Radeon HD 5165M", kNull},
{ 0x9480,0x031C1025, CHIP_FAMILY_RV730,"ATI Radeon HD 5165M", kNull},
{ 0x9480,0x031D1025, CHIP_FAMILY_RV730,"ATI Radeon HD 5165M", kNull},
{ 0x9480,0x036C1025, CHIP_FAMILY_RV730,"ATI Radeon HD 5165M", kNull},
{ 0x9480,0x036D1025, CHIP_FAMILY_RV730,"ATI Radeon HD 5165M", kNull},
{ 0x9480,0x3628103C, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kGliff},
{ 0x9480,0x9035104D, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kGliff},
{ 0x9480,0xFD001179, CHIP_FAMILY_RV730,"ATI Radeon HD 4650M", kNull},
{ 0x94C1,0x11101462, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 XT", kNull},
{ 0x94C3,0x03421002, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
{ 0x94C3,0x94C31002, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
{ 0x94C3,0x01011A93, CHIP_FAMILY_RV610,"Qimonda Radeon HD 2400 PRO",kNull},
{ 0x94C3,0x03021028, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 PRO", kNull},
//{ 0x9505,0x024A1043, CHIP_FAMILY_RV670,"ATI Radeon HD ???", kNull},
{ 0x9505,0x25421002, CHIP_FAMILY_RV670,"ATI Radeon HD 3850", kNull},
{ 0x9505,0x30001002, CHIP_FAMILY_RV670,"ATI Radeon HD 3690", kNull},
{ 0x9505,0x30001002, CHIP_FAMILY_RV630,"ATI Radeon HD 3690", kNull},
{ 0x9505,0x3000148C, CHIP_FAMILY_RV670,"ATI Radeon HD 3850", kNull},
{ 0x9505,0x3000174B, CHIP_FAMILY_RV670,"Sapphire Radeon HD 3690", kNull},
{ 0x9505,0x30001787, CHIP_FAMILY_RV670,"ATI Radeon HD 3690", kNull},
{ 0x9505,0x30001787, CHIP_FAMILY_RV630,"ATI Radeon HD 3690", kNull},
{ 0x9505,0x30011043, CHIP_FAMILY_RV670,"ATI Radeon HD 4730", kNull},
{ 0x9505,0x3001148C, CHIP_FAMILY_RV670,"ATI Radeon HD 4730", kNull},
{ 0x9505,0x3001174B, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull},
{ 0x9505,0x3010174B, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull},
{ 0x9505,0x301017AF, CHIP_FAMILY_RV670,"ATI Radeon HD 4750", kNull},
{ 0x9505,0x4730174B, CHIP_FAMILY_RV670,"ATI Radeon HD 4730", kNull},
{ 0x9540,0x30501787, CHIP_FAMILY_RV710,"ATI Radeon HD 4590", kNull},
{ 0x9540,0x4590174B, CHIP_FAMILY_RV710,"ATI Radeon HD 4590", kNull},
{ 0x6739,0x31101682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x31131682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x31141682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x31171682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0x67391002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0xAA881002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x6739,0xE174174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850", kDuckweed},
{ 0x9488,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4650 Series",kGliff},
{ 0x9490,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4600 Series",kFlicker},
{ 0x9498,0x00000000, CHIP_FAMILY_RV730,"ATI Radeon HD 4600 Series",kFlicker},
{ 0x94B3,0x00000000, CHIP_FAMILY_RV740,"ATI Radeon HD 4770", kFlicker},
{ 0x94C1,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94C3,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94C4,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94C5,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x94C6,0x00000000, CHIP_FAMILY_RV610,"ATI Radeon HD 2400 Series", kIago},
{ 0x9500,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3800 Series", kMegalodon},
{ 0x9501,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3800 Series", kMegalodon},
{ 0x9505,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3800 Series", kMegalodon},
{ 0x9507,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3830", kMegalodon},
{ 0x9507,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3850", kMegalodon},
{ 0x950F,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3870 X2", kMegalodon},
{ 0x9511,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3850 X2", kMegalodon},
{ 0x9513,0x00000000, CHIP_FAMILY_RV670,"ATI Radeon HD 3850 X2", kMegalodon},
{ 0x9513,0x00000000, CHIP_FAMILY_RV630,"ATI Radeon HD 3850 X2", kMegalodon},
{ 0x9519,0x00000000, CHIP_FAMILY_RV670,"AMD FireStream 9170", kMegalodon},
{ 0x9540,0x00000000, CHIP_FAMILY_RV710,"ATI Radeon HD 4550", kNull},
{ 0x68A1,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Mobility Radeon HD 5800 Series", kNomascus}, // CHIP_FAMILY_BROADWAY ??
{ 0x68A8,0x00000000, CHIP_FAMILY_JUNIPER,"AMD Mobility Radeon HD 6800 Series", kUakari},
//{ 0x68A9,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD ??? Series",kNull},
//{ 0x68A9,0x00000000, CHIP_FAMILY_JUNIPER,"FirePro V5800 (FireGL) Graphics Adapter",kNull},
{ 0x68B0,0x00000000, CHIP_FAMILY_CYPRESS,"ATI Mobility Radeon HD 5800 Series", kNull}, // CHIP_FAMILY_BROADWAY ??
{ 0x68C0,0x00000000, CHIP_FAMILY_REDWOOD,"AMD Radeon HD 6570M/5700 Series",kNull},
{ 0x68C1,0x00000000, CHIP_FAMILY_REDWOOD,"AMD Radeon HD 6500M/5600/5700 Series", kNull},
{ 0x68C8,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5650 Series",kVervet},
//{ 0x68C9,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD ??? Series",kNull},
//{ 0x68C9,0x00000000, CHIP_FAMILY_REDWOOD,"FirePro V3800 (FireGL",kNull},
{ 0x68D8,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5600 Series",kBaboon},
{ 0x68D9,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Radeon HD 5500/5600 Series",kBaboon},
{ 0x68E1,0x00000000, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5400 Series", kEulemur},
{ 0x68E4,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6300M Series",kNull},
{ 0x68E5,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6300M Series",kNull},
//{ 0x68E8,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series",kNull},
//{ 0x68E9,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series",kNull},
//{ 0x68F8,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series",kNull},
{ 0x68F9,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5400 Series",kNull},
{ 0x68FA,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 7300 Series",kNull},
//{ 0x68FE,0x00000000, CHIP_FAMILY_CEDAR,"ATI Radeon HD ??? Series",kNull},
{ 0x6758,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6670 Series",kBulrushes},
{ 0x6759,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 6570/7570 Series",kNull},
{ 0x675D,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 7500 Series",kNull},
{ 0x675F,0x00000000, CHIP_FAMILY_TURKS,"AMD Radeon HD 5500 Series",kNull},
{ 0x6760,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6400M Series",kNull},
{ 0x6761,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6430M Series",kNull},
{ 0x6770,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6400 Series",kNull},
{ 0x6772,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 7400A Series",kNull},
{ 0x6778,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 7000 Series",kNull},
{ 0x6779,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450 Series",kBulrushes},
{ 0x677B,0x00000000, CHIP_FAMILY_CAICOS,"AMD Radeon HD 7400 Series",kNull},
/* Southen Islands */
//{ 0x6780,0x00000000, CHIP_FAMILY_TAHITI,"AMD Radeon HD ??? Series", kNull},
{ 0x6818,0x00000000, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD 7800 Series", kNull},
{ 0x6819,0x00000000, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD 7800 Series", kNull},
//{ 0x6820,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD ???M Series", kNull},
//{ 0x6821,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD ???M Series", kNull},
//{ 0x6820,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7800M Series", kNull},
//{ 0x6821,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7800M Series", kNull},
//{ 0x6823,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD ???M Series", kNull},
//{ 0x6824,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD ???M Series", kNull},
//{ 0x6824,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700M Series", kNull},
//{ 0x6825,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD ???M Series", kNull},
//{ 0x6826,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD ???M Series", kNull},
//{ 0x6827,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD ???M Series", kNull},
//{ 0x683F,0x00000000, CHIP_FAMILY_VERDE,"AMD Radeon HD 7700 Series", kNull},
//{ 0x6841,0x00000000, CHIP_FAMILY_THAMES,"AMD Radeon HD 7850 Series", kNull},
//{ 0x6843,0x00000000, CHIP_FAMILY_THAMES,"AMD Radeon HD 7670M Series", kNull},
//{ 0x684C,0x00000000, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD ??? Series", kNull},
{ 0x0000,0x00000000, CHIP_FAMILY_UNKNOW,NULL,kNull}
branches/ErmaC/Trunk/i386/libsaio/cpu.c
2020
2121
2222
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
2397
2498
2599
......
281355
282356
283357
358
359
360
361
362
363
364
365
366
284367
285368
286369
......
481564
482565
483566
567
568
569
484570
485571
486572
......
498584
499585
500586
501
587
502588
503589
504590
#endif
/*
* timeRDTSC()
* This routine sets up PIT counter 2 to count down 1/20 of a second.
* It pauses until the value is latched in the counter
* and then reads the time stamp counter to return to the caller.
*/
uint64_t timeRDTSC(void)
{
intattempts = 0;
uint64_t latchTime;
uint64_tsaveTime,intermediate;
unsigned int timerValue, lastValue;
//boolean_tint_enabled;
/*
* Table of correction factors to account for
* - timer counter quantization errors, and
* - undercounts 0..5
*/
#define SAMPLE_CLKS_EXACT(((double) CLKNUM) / 20.0)
#define SAMPLE_CLKS_INT((int) CLKNUM / 20)
#define SAMPLE_NSECS(2000000000LL)
#define SAMPLE_MULTIPLIER(((double)SAMPLE_NSECS)*SAMPLE_CLKS_EXACT)
#define ROUND64(x)((uint64_t)((x) + 0.5))
uint64_tscale[6] = {
ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-0)),
ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-1)),
ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-2)),
ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-3)),
ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-4)),
ROUND64(SAMPLE_MULTIPLIER/(double)(SAMPLE_CLKS_INT-5))
};
//int_enabled = ml_set_interrupts_enabled(FALSE);
restart:
if (attempts >= 9) // increase to up to 9 attempts.
// This will flash-reboot. TODO: Use tscPanic instead.
printf("Timestamp counter calibation failed with %d attempts\n", attempts);
attempts++;
enable_PIT2();// turn on PIT2
set_PIT2(0);// reset timer 2 to be zero
latchTime = rdtsc64();// get the time stamp to time
latchTime = get_PIT2(&timerValue) - latchTime; // time how long this takes
set_PIT2(SAMPLE_CLKS_INT);// set up the timer for (almost) 1/20th a second
saveTime = rdtsc64();// now time how long a 20th a second is...
get_PIT2(&lastValue);
get_PIT2(&lastValue);// read twice, first value may be unreliable
do {
intermediate = get_PIT2(&timerValue);
if (timerValue > lastValue) {
// Timer wrapped
set_PIT2(0);
disable_PIT2();
goto restart;
}
lastValue = timerValue;
} while (timerValue > 5);
printf("timerValue %d\n",timerValue);
printf("intermediate 0x%016llx\n",intermediate);
printf("saveTime 0x%016llx\n",saveTime);
intermediate -= saveTime;// raw count for about 1/20 second
intermediate *= scale[timerValue];// rescale measured time spent
intermediate /= SAMPLE_NSECS;// so its exactly 1/20 a second
intermediate += latchTime;// add on our save fudge
set_PIT2(0);// reset timer 2 to be zero
disable_PIT2();// turn off PIT 2
//ml_set_interrupts_enabled(int_enabled);
return intermediate;
}
/*
* DFE: Measures the TSC frequency in Hz (64-bit) using the ACPI PM timer
*/
static uint64_t measure_tsc_frequency(void)
}
tscFrequency = measure_tsc_frequency();
DBG("cpu freq classic = 0x%016llx\n", tscFrequency);
if ( tscFrequency < 1000 )//TEST
{
tscFrequency = timeRDTSC() * 20;//measure_tsc_frequency();
DBG("cpu freq timeRDTSC = 0x%016llx\n", tscFrequency);
}
else{
DBG("cpu freq timeRDTSC = 0x%016llxn", timeRDTSC() * 20);
}
fsbFrequency = 0;
cpuFrequency = 0;
cpuFrequency = tscFrequency;
DBG("0 ! using the default value for FSB !\n");
}
DBG("cpu freq = 0x%016llxn", timeRDTSC() * 20);
#endif
p->CPU.MaxCoef = maxcoef;
DBG("CPU: MaxCoef/CurrCoef: 0x%x/0x%x\n", p->CPU.MaxCoef, p->CPU.CurrCoef);
DBG("CPU: MaxDiv/CurrDiv: 0x%x/0x%x\n", p->CPU.MaxDiv, p->CPU.CurrDiv);
DBG("CPU: TSCFreq: %dMHz\n", p->CPU.TSCFrequency / 1000000);
DBG("CPU: FSBFreq: %dMHz\n", p->CPU.FSBFrequency / 1000000);
DBG("CPU: FSBFreq: %dMHz\n", (p->CPU.FSBFrequency + 500000) / 1000000);
DBG("CPU: CPUFreq: %dMHz\n", p->CPU.CPUFrequency / 1000000);
DBG("CPU: NoCores/NoThreads: %d/%d\n", p->CPU.NoCores, p->CPU.NoThreads);
DBG("CPU: Features: 0x%08x\n", p->CPU.Features);
branches/ErmaC/Trunk/i386/libsaio/cpu.h
109109
110110
111111
112
112
113
113114
114115
115116
......
120121
121122
122123
123
124
125
124126
125127
126128
......
164166
165167
166168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
167236
* bit 0 gates the clock,
* bit 1 gates output to speaker.
*/
static inline void enable_PIT2(void)
inline static void
enable_PIT2(void)
{
/* Enable gate, disable speaker */
__asm__ volatile(
: : : "%al" );
}
static inline void disable_PIT2(void)
inline static void
disable_PIT2(void)
{
/* Disable gate and output to speaker */
__asm__ volatile(
return count;
}
inline static void
set_PIT2(int value)
{
/*
* First, tell the clock we are going to write 16 bits to the counter
* and enable one-shot mode (command 0xB8 to port 0x43)
* Then write the two bytes into the PIT2 clock register (port 0x42).
* Loop until the value is "realized" in the clock,
* this happens on the next tick.
*/
asm volatile(
" movb $0xB8,%%al \n\t"
" outb %%al,$0x43 \n\t"
" movb %%dl,%%al \n\t"
" outb %%al,$0x42 \n\t"
" movb %%dh,%%al \n\t"
" outb %%al,$0x42 \n"
"1: inb $0x42,%%al \n\t"
" inb $0x42,%%al \n\t"
" cmp %%al,%%dh \n\t"
" jne 1b"
: : "d"(value) : "%al");
}
inline static uint64_t
get_PIT2(unsigned int *value)
{
register uint64_t result;
/*
* This routine first latches the time (command 0x80 to port 0x43),
* then gets the time stamp so we know how long the read will take later.
* Read (from port 0x42) and return the current value of the timer.
*/
#ifdef __i386__
asm volatile(
" xorl %%ecx,%%ecx \n\t"
" movb $0x80,%%al \n\t"
" outb %%al,$0x43 \n\t"
" rdtsc \n\t"
" pushl %%eax \n\t"
" inb $0x42,%%al \n\t"
" movb %%al,%%cl \n\t"
" inb $0x42,%%al \n\t"
" movb %%al,%%ch \n\t"
" popl %%eax "
: "=A"(result), "=c"(*value));
#else /* __x86_64__ */
asm volatile(
" xorq %%rcx,%%rcx \n\t"
" movb $0x80,%%al \n\t"
" outb %%al,$0x43 \n\t"
" rdtsc \n\t"
" pushq %%rax \n\t"
" inb $0x42,%%al \n\t"
" movb %%al,%%cl \n\t"
" inb $0x42,%%al \n\t"
" movb %%al,%%ch \n\t"
" popq %%rax "
: "=A"(result), "=c"(*value));
#endif
return result;
}
#endif /* !__LIBSAIO_CPU_H */
branches/ErmaC/Trunk/package/po/pt-PT.po
6262
6363
6464
65
66
65
6766
6867
6968
7069
71
72
70
7371
7472
7573
7674
7775
78
79
76
77
78
79
80
81
82
83
8084
8185
8286
8387
84
88
89
90
8591
8692
8793
8894
89
95
96
97
9098
9199
92100
93
94
101
102
103
104
105
95106
96107
97108
98109
99
110
111
112
100113
101114
102115
......
105118
106119
107120
108
109
121
122
123
124
125
110126
111127
112128
113129
114
130
131
132
115133
116134
117135
......
135153
136154
137155
138
139156
140157
141158
......
146163
147164
148165
149
150
166
167
168
169
151170
152171
153172
......
157176
158177
159178
160
179
180
161181
162182
163183
......
191211
192212
193213
194
195
214
215
216
217
218
219
196220
197221
198222
......
749773
750774
751775
752
753776
754777
755778
msgstr "%PKGDEV%"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:36
#: Resources/templates/Conclusion.html:30
#: Resources/templates/Welcome.html:36 Resources/templates/Conclusion.html:30
msgid "Package built by: %WHOBUILD%, language translated by: blackosx"
msgstr "Package built by: %WHOBUILD%, language translated by: artur-pt"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:37
#: Resources/templates/Conclusion.html:31
#: Resources/templates/Welcome.html:37 Resources/templates/Conclusion.html:31
msgid "Copyright © %CPRYEAR%"
msgstr "Copyright © %CPRYEAR%"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:18
msgid "Chameleon is a boot loader built using a combination of components which evolved from the development of David Elliott's fake EFI implementation added to Apple's boot-132 project."
msgstr "O Chameleon é um boot loader que combina vários componentes. Ele é baseado na implementação de fake EFI feita por David Elliott, adicionada ao projeto boot-132 da Apple."
msgid ""
"Chameleon is a boot loader built using a combination of components which "
"evolved from the development of David Elliott's fake EFI implementation "
"added to Apple's boot-132 project."
msgstr ""
"O Chameleon é um boot loader que combina vários componentes. Ele é baseado "
"na implementação de fake EFI feita por David Elliott, adicionada ao projeto "
"boot-132 da Apple."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:20
msgid "Chameleon v2 is extended with many features. For example:"
msgstr "O Chameleon é extendido com as seguintes características chave. Novos recursos no Chameleon 2.0:"
msgstr ""
"O Chameleon é extendido com as seguintes características chave. Novos "
"recursos no Chameleon 2.0:"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:22
msgid "- Fully customizable GUI to bring some color to the Darwin Bootloader."
msgstr "- Interface gráfica (GUI) totalmente personalizável para trazer algumas cores ao Bootloader Darwin."
msgstr ""
"- Interface gráfica (GUI) totalmente personalizável para trazer algumas "
"cores ao Bootloader Darwin."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:23
msgid "- Load a ramdisk to directly boot retail DVDs without additional programs."
msgstr "- Inicializa DVDs retail lendo uma imagem ramdisk directamente, sem ajuda de nenhum programa adicional."
msgid ""
"- Load a ramdisk to directly boot retail DVDs without additional programs."
msgstr ""
"- Inicializa DVDs retail lendo uma imagem ramdisk directamente, sem ajuda de "
"nenhum programa adicional."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:24
msgid "- Hibernation. Enjoy resuming your Mac OS X with a preview image."
msgstr "- Hibernação. Desfrute de continuar o seu Mac OS X com uma amostra de imagem da tela."
msgstr ""
"- Hibernação. Desfrute de continuar o seu Mac OS X com uma amostra de imagem "
"da tela."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:25
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:26
msgid "- DSDT override to use a modified fixed DSDT which can solve several issues."
msgstr "- Substituicção de DSDT para usar uma tabela modificada que pode resolver diversos problemas."
msgid ""
"- DSDT override to use a modified fixed DSDT which can solve several issues."
msgstr ""
"- Substituicção de DSDT para usar uma tabela modificada que pode resolver "
"diversos problemas."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:27
msgid "- Device Property Injection via device-properties string."
msgstr "- Injecção de propriedades de dispositivo através do string device-properties."
msgstr ""
"- Injecção de propriedades de dispositivo através do string device-"
"properties."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:28
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:32
#| msgid "Modules"
msgid "- Module support"
msgstr "- Suporte de Modulos"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:34
msgid "- Automatic P-State &amp; C-State generation for native power management."
msgstr "- P-State automático &amp; Geração C-State para gestão de energia nativa."
msgid ""
"- Automatic P-State &amp; C-State generation for native power management."
msgstr ""
"- P-State automático &amp; Geração C-State para gestão de energia nativa."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:35
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:37
msgid "The code is released under version 2 of the Gnu Public License."
msgstr "Este código é distribuido sobre os termos da versão 2 da Gnu Public License."
msgstr ""
"Este código é distribuido sobre os termos da versão 2 da Gnu Public License."
#. type: Content of: <html><body><p><span>
#: Resources/templates/Description.html:40
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:26
msgid "&nbsp;to find out if the installation was successful and keep it for a record of what was done."
msgstr "&nbsp;para verificar se a instalação foi realizada com sucesso e guarde como relatório do que foi realizado."
msgid ""
"&nbsp;to find out if the installation was successful and keep it for a "
"record of what was done."
msgstr ""
"&nbsp;para verificar se a instalação foi realizada com sucesso e guarde como "
"relatório do que foi realizado."
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:28
#. type: "1600x1200x32_description"
#: Resources/templates/Localizable.strings:164
#, no-wrap
#| msgid "Set Graphics Mode to 1600x900x32"
msgid "Set Graphics Mode to 1600x1200x32"
msgstr "Seleciona Modo Gráfico 1600x1200x32"
branches/ErmaC/Trunk/package/po/cs.po
6868
6969
7070
71
71
72
73
7274
7375
7476
......
7880
7981
8082
81
82
83
83
84
85
8486
8587
8688
......
9496
9597
9698
97
99
100
98101
99
100
102
103
101104
102105
103106
......
112115
113116
114117
115
118
119
116120
117
121
122
118123
119124
120125
121126
122
127
128
123129
124130
125131
......
153159
154160
155161
156
162
163
157164
158
165
166
159167
160168
161169
......
185193
186194
187195
188
196
197
189198
190199
191200
......
263272
264273
265274
266
275
276
267277
268278
269279
......
271281
272282
273283
274
275
276
277
278
279
280
281
284
285
282286
283287
284288
......
301305
302306
303307
304
305
306
307
308
309
310
308
309
311310
312311
313312
......
319318
320319
321320
322
323
321
324322
325323
326324
327
328
325
329326
330327
331328
332329
333
330
331
334332
335333
336334
......
339337
340338
341339
342
343
344
345
346
347
340
341
342
348343
349
350
351
352
353
354
355
344
345
346
356347
357348
358349
......
364355
365356
366357
367
368
369
358
370359
371360
372361
373362
374
375
376
363
377364
378365
379366
......
387374
388375
389376
390
391
392
393
394
395
377
378
396379
397380
398381
......
403386
404387
405388
406
407
408
409
410
411
389
390
412391
413392
414393
......
431410
432411
433412
434
435
436
437
438
439
413
414
440415
441416
442417
......
447422
448423
449424
450
451
452
453
454
455
456
457
458
459
425
426
460427
461428
462429
......
479446
480447
481448
482
483
484
485
486
487
488
489
449
450
490451
491452
492453
......
497458
498459
499460
500
501
502
503
504
505
506
507
461
462
508463
509464
510465
......
528483
529484
530485
531
532
533
486
534487
535488
536489
......
554507
555508
556509
557
558
510
559511
560512
561513
......
614566
615567
616568
617
618
619
620
621
622
623
569
570
624571
625572
626573
......
643590
644591
645592
646
647
648
649
650
651
593
594
652595
653596
654597
......
720663
721664
722665
723
724
725
666
726667
727668
728669
......
877818
878819
879820
880
881
882
883
884
885
821
822
886823
887824
888825
......
929866
930867
931868
932
933
934
869
935870
936871
937872
......
955890
956891
957892
958
959
960
961
893
962894
963895
964896
......
970902
971903
972904
973
974
975
905
976906
977907
978908
......
984914
985915
986916
987
988
989
917
990918
991919
992920
......
998926
999927
1000928
1001
1002
1003
929
1004930
1005931
1006932
......
10841010
10851011
10861012
1087
1088
1089
1013
10901014
10911015
10921016
......
11941118
11951119
11961120
1197
1198
1199
1121
12001122
12011123
12021124
......
12101132
12111133
12121134
1213
1214
1135
12151136
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:37 Resources/templates/Conclusion.html:31
msgid "Copyright © %CPRYEAR%"
#, fuzzy
#| msgid "Copyright © %CPRYEAR%"
msgid "Copyright © %CPRYEAR%"
msgstr "Copyright © %CPRYEAR%"
#. type: Content of: <html><body><p>
"evolved from the development of David Elliott's fake EFI implementation "
"added to Apple's boot-132 project."
msgstr ""
"Chameleon je zavaděč systému který vznikl kombinací komponent, které vzešly "
"z vývoje fake EFI implementace Davida Elliota použité v projektu Apple "
"boot-132"
"Chameleon je zavaděč systému který vznikl kombinací komponent, které vzeÅ"
"¡ly z vývoje fake EFI implementace Davida Elliota použité v projektu "
"Apple boot-132"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:20
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:23
msgid "- Load a ramdisk to directly boot retail DVDs without additional programs."
msgid ""
"- Load a ramdisk to directly boot retail DVDs without additional programs."
msgstr ""
"- Načíst ramdisk k umožnění přímého bootu retail DVD bez potřeby dalších "
"programů."
"- Načíst ramdisk k umožnění přímého bootu retail DVD bez potřeby další"
"ch programů."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:24
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:26
msgid "- DSDT override to use a modified fixed DSDT which can solve several issues."
msgid ""
"- DSDT override to use a modified fixed DSDT which can solve several issues."
msgstr ""
"- Možnost změny parametrů DSDT, které mohou pomoct vyřešit některé problémy."
"- Možnost změny parametrů DSDT, které mohou pomoct vyřešit některé "
"problémy."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:27
msgid "- Device Property Injection via device-properties string."
msgstr "- Injektování parametrů zařízení pomocí řetězce device-properties."
msgstr ""
"- Injektování parametrů zařízení pomocí řetězce device-properties."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:28
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:34
msgid "- Automatic P-State &amp; C-State generation for native power management."
msgid ""
"- Automatic P-State &amp; C-State generation for native power management."
msgstr ""
"- Automatické generování P-State &amp; C-State pro nativní správu napájení."
"- Automatické generování P-State &amp; C-State pro nativní správu napÃ"
"¡jení."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:35
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:23
msgid "&nbsp;has been written to the root of your chosen partition."
msgstr "&nbsp;byl zapsán do kořenového adresáře zvolené diskové oblasti."
msgstr ""
"&nbsp;byl zapsán do kořenového adresáře zvolené diskové oblasti."
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:25
"boot2 (v kořenovém adresáři diskového oddílu) k načtení kernelu atd."
#. type: "Default_title"
#: Resources/templates/Localizable.strings:25 Resources/templates/Localizable.strings:242
#: Resources/templates/Localizable.strings:25
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Standard"
msgstr "Standartní"
#. type: "Standard_description"
#: Resources/templates/Localizable.strings:26
#, no-wrap
msgid ""
"Install Chameleon's files to the root of the selected partition using either "
"boot0 or boot0md depending on your system without destroying any existing "
"Windows installation if you have one."
msgstr ""
"Nainstaluje soubory Chameleona do kořenového adresáře zvoleného oddílu za "
"použití buď boot0 nebo boot0md, v závislosti na vašem systému, aniž by "
"zničil existující instalaci Windows, pokud nějakou máte."
msgid "Install Chameleon's files to the root of the selected partition using either boot0 or boot0md depending on your system without destroying any existing Windows installation if you have one."
msgstr "Nainstaluje soubory Chameleona do kořenového adresáře zvoleného oddílu za použití buď boot0 nebo boot0md, v závislosti na vašem systému, aniž by zničil existující instalaci Windows, pokud nějakou máte."
#. type: "noboot_title"
#: Resources/templates/Localizable.strings:28
#. type: "Module_description"
#: Resources/templates/Localizable.strings:36
#, no-wrap
msgid ""
"The modules system incorporated in chameleon allows for a user or developer "
"to extend the core functionality of chameleon without replacing the main "
"boot file."
msgstr ""
"Systém modulů, začleněný v Chameleonu, dovoluje uživateli či vývojáři "
"rozšířit primární funkce zavaděče, bez nutnosti měnit základní boot soubor."
msgid "The modules system incorporated in chameleon allows for a user or developer to extend the core functionality of chameleon without replacing the main boot file."
msgstr "Systém modulů, začleněný v Chameleonu, dovoluje uživateli či vývojáři rozšířit primární funkce zavaděče, bez nutnosti měnit základní boot soubor."
#. type: "klibc_title"
#: Resources/templates/Localizable.strings:38
#: Resources/templates/Localizable.strings:39
#, no-wrap
msgid ""
"This module provides a standard c library for modules to link to if the "
"library provided by chameleon is insufficient.\n"
"This module provides a standard c library for modules to link to if the library provided by chameleon is insufficient.\n"
"This is currently only used by the uClibc++ library.\n"
"Source: http://www.kernel.org/pub/linux/libs/klibc/"
msgstr ""
"Tento modul poskytuje standardní c knihovnu modulům ke slinkování v případě, "
"že knihovna obsažená v chameleonu nedostačuje.\n"
"Tento modul poskytuje standardní c knihovnu modulům ke slinkování v případě, že knihovna obsažená v chameleonu nedostačuje.\n"
"Momentálně ji používá pouze knihovna uClibc++.\n"
"Zdroj: http://www.kernel.org/pub/linux/libs/klibc/"
#. type: "Resolution_title"
#: Resources/templates/Localizable.strings:43 Resources/templates/Localizable.strings:270
#: Resources/templates/Localizable.strings:43
#: Resources/templates/Localizable.strings:270
#, no-wrap
msgid "Resolution"
msgstr "Rozlíšení"
#: Resources/templates/Localizable.strings:44
#, no-wrap
msgid ""
"This module reads the edid information from the monitor attached to the main "
"display.\n"
"The module is currently not integrated into trunk and has minimal uses as it "
"stands.\n"
"Additionally, the module will patch the vesa modes available in pre intel hd "
"graphics cards to provide proper resolution while booting."
"This module reads the edid information from the monitor attached to the main display.\n"
"The module is currently not integrated into trunk and has minimal uses as it stands.\n"
"Additionally, the module will patch the vesa modes available in pre intel hd graphics cards to provide proper resolution while booting."
msgstr ""
"Tento modul čte edid informace z monitoru připojeného k hlavní grafické "
"kartÄ›.\n"
"Modul prozatím není součástí vývojové větve trunk a má v nynější podobě "
"minimum využítí.\n"
"Kromě toho modul zpřístupní vesa módy dostupné v grafických kartách "
"předcházejících éře intel hd a poskytne tak korektní rozlišení obrazu během "
"bootování."
"Tento modul čte edid informace z monitoru připojeného k hlavní grafické kartě.\n"
"Modul prozatím není součástí vývojové větve trunk a má v nynější podobě minimum využítí.\n"
"Kromě toho modul zpřístupní vesa módy dostupné v grafických kartách předcházejících éře intel hd a poskytne tak korektní rozlišení obrazu během bootování."
#. type: "uClibc_title"
#: Resources/templates/Localizable.strings:48
#: Resources/templates/Localizable.strings:49
#, no-wrap
msgid ""
"This module provides a minimalistic c++ runtime library for use in other "
"modules. This does not provide functionality by itself, instead it is used "
"to allow for the c++ language to be used in other modules.\n"
"This module provides a minimalistic c++ runtime library for use in other modules. This does not provide functionality by itself, instead it is used to allow for the c++ language to be used in other modules.\n"
"*Please note that rtti and exceptions has both been disabled.\n"
"Source: http://cxx.uclibc.org/\n"
"Dependencies: klibc"
msgstr ""
"Tento modul poskytuje minimalistickou c++ runtime knihovnu pro použití v "
"jiných modulech. To samo o sobě neposkytuje žádnou funkcionalitu, ale místo "
"toho dovoluje použití jazyka c++ v jiných modulech.\n"
"Tento modul poskytuje minimalistickou c++ runtime knihovnu pro použití v jiných modulech. To samo o sobě neposkytuje žádnou funkcionalitu, ale místo toho dovoluje použití jazyka c++ v jiných modulech.\n"
"*Vemte prosím na vědomí, že rtti a vyjímky jsou vypnuty.\n"
"Zdroj: http://cxx.uclibc.org/\n"
"Závislosti: klibc"
#. type: "Options_description"
#: Resources/templates/Localizable.strings:59
#, no-wrap
msgid ""
"Create an /Extra/org.chameleon.Boot.plist by selecting any of these boot "
"options and kernel flags."
msgstr ""
"Soubor /Extra/org.chameleon.Boot.plist se vytvoří zvolením kterékoliv z "
"těchto boot a kernel možností."
msgid "Create an /Extra/org.chameleon.Boot.plist by selecting any of these boot options and kernel flags."
msgstr "Soubor /Extra/org.chameleon.Boot.plist se vytvoří zvolením kterékoliv z těchto boot a kernel možností."
#. type: "BootBanner_title"
#: Resources/templates/Localizable.strings:61
#. type: "BootBanner_description"
#: Resources/templates/Localizable.strings:62
#, no-wrap
msgid ""
"Hides Chameleon's boot banner in GUI. This is the text that is drawn at the "
"top left corner of the screen displaying the release version etc."
msgstr ""
"Schová Chameleonův boot banner v GUI. To je text který je vykreslen v horním "
"levém rohu obrazovky zobrazující verzi release atd."
msgid "Hides Chameleon's boot banner in GUI. This is the text that is drawn at the top left corner of the screen displaying the release version etc."
msgstr "Schová Chameleonův boot banner v GUI. To je text který je vykreslen v horním levém rohu obrazovky zobrazující verzi release atd."
#. type: "GUI_title"
#: Resources/templates/Localizable.strings:64
#. type: "LegacyLogo_description"
#: Resources/templates/Localizable.strings:68
#, no-wrap
msgid ""
"Use the legacy 'dark grey' apple logo on the light grey screen for the boot "
"process rather than the boot.png in the theme."
msgstr ""
"Použije pro bootování původní 'tmavošedé' apple logo na světlešedém pozadí "
"namísto souboru boot.png ze zvoleného téma."
msgid "Use the legacy 'dark grey' apple logo on the light grey screen for the boot process rather than the boot.png in the theme."
msgstr "Použije pro bootování původní 'tmavošedé' apple logo na světlešedém pozadí namísto souboru boot.png ze zvoleného téma."
#. type: "InstantMenu_title"
#: Resources/templates/Localizable.strings:70
#. type: "InstantMenu_description"
#: Resources/templates/Localizable.strings:71
#, no-wrap
msgid ""
"By default, when Chameleon loads you'll see the icon for the current default "
"partition, along with a timeout progress bar which left alone will count "
"down before Chameleon automatically boots that partition. This options skips "
"that and takes you directly to the device selection screen."
msgstr ""
"Ve výchozím nastavení, když se Chameleon spustí, uvidíte ikonu výchozího "
"oddílu spolu s ukazatelem zbývajícího času, který, pokud nevyvoláte žádnou "
"akci, bude odpočítávat než Chameleon automaticky začne bootovat tento oddíl. "
"Tato volba to zruší a zobrazí se přímo obrazovka s výběrem oddílů."
msgid "By default, when Chameleon loads you'll see the icon for the current default partition, along with a timeout progress bar which left alone will count down before Chameleon automatically boots that partition. This options skips that and takes you directly to the device selection screen."
msgstr "Ve výchozím nastavení, když se Chameleon spustí, uvidíte ikonu výchozího oddílu spolu s ukazatelem zbývajícího času, který, pokud nevyvoláte žádnou akci, bude odpočítávat než Chameleon automaticky začne bootovat tento oddíl. Tato volba to zruší a zobrazí se přímo obrazovka s výběrem oddílů."
#. type: "QuietBoot_title"
#: Resources/templates/Localizable.strings:73
#. type: "ShowInfo_description"
#: Resources/templates/Localizable.strings:77
#, no-wrap
msgid ""
"Enables display of partition and resolution details shown on the left side "
"of the GUI under the boot banner. This is useful information for "
"troubleshooting, though can clash with certain themes."
msgstr ""
"Zapne zobrazení detailů o oddílu a rozlišení obrazu na levé straně GUI pod "
"boot bannerem. To je užitečné při řešení problémů, ale nemusí fungovat "
"správně s některými tématy."
msgid "Enables display of partition and resolution details shown on the left side of the GUI under the boot banner. This is useful information for troubleshooting, though can clash with certain themes."
msgstr "Zapne zobrazení detailů o oddílu a rozlišení obrazu na levé straně GUI pod boot bannerem. To je užitečné při řešení problémů, ale nemusí fungovat správně s některými tématy."
#. type: "Wait_title"
#: Resources/templates/Localizable.strings:79
#. type: "Wait_description"
#: Resources/templates/Localizable.strings:80
#, no-wrap
msgid ""
"Pauses the boot process after Chameleon has finished it's setup then waits "
"for a key press before it starts the mach kernel. Useful when combined with "
"verbose boot for troubleshooting."
msgstr ""
"Pozastaví proces zavádění po té co Chameleon dokončí své nastavení a pak "
"čeká na stisk klávesy než spustí mach kernel. Užitečné v kombinaci s verbose "
"boot při řešení problémů."
msgid "Pauses the boot process after Chameleon has finished it's setup then waits for a key press before it starts the mach kernel. Useful when combined with verbose boot for troubleshooting."
msgstr "Pozastaví proces zavádění po té co Chameleon dokončí své nastavení a pak čeká na stisk klávesy než spustí mach kernel. Užitečné v kombinaci s verbose boot při řešení problémů."
#. type: "arch_title"
#: Resources/templates/Localizable.strings:84
#: Resources/templates/Localizable.strings:88
#, no-wrap
msgid "Enables the option to fix any EHCI ownership issues due to bad bioses."
msgstr ""
"Povolí možnost opravit problémy týkající se vlastnických práv v EHCI "
"způsobené vadnými BIOSy."
msgstr "Povolí možnost opravit problémy týkající se vlastnických práv v EHCI způsobené vadnými BIOSy."
#. type: "EthernetBuiltIn_title"
#: Resources/templates/Localizable.strings:90
#: Resources/templates/Localizable.strings:94
#, no-wrap
msgid "Enables HPET on intel chipsets, for bioses that dont include the option."
msgstr ""
"Povolí HPET na intel chipsetech, pro BIOSy které tuto možnost neobsahují."
msgstr "Povolí HPET na intel chipsetech, pro BIOSy které tuto možnost neobsahují."
#. type: "ForceWake_title"
#: Resources/templates/Localizable.strings:96
#. type: "UseKernelCache_description"
#: Resources/templates/Localizable.strings:109
#, no-wrap
msgid ""
"For Lion only. Enables loading of the pre-linked kernel. This will ignore "
"/E/E and /S/L/E. ONLY use this is you have know it contains everything you "
"need."
msgstr ""
"Pouze pro Lion. Povolí načtení pre-linked kernelu. Ignoruje /E/E a /S/L/E. "
"NEPOUŽÍVEJTE pokud nevíte zda obsahuje vše co potřebujete."
msgid "For Lion only. Enables loading of the pre-linked kernel. This will ignore /E/E and /S/L/E. ONLY use this is you have know it contains everything you need."
msgstr "Pouze pro Lion. Povolí načtení pre-linked kernelu. Ignoruje /E/E a /S/L/E. NEPOUŽÍVEJTE pokud nevíte zda obsahuje vše co potřebujete."
#. type: "Wake_title"
#: Resources/templates/Localizable.strings:111
#. type: "CSTUsingSystemIO_description"
#: Resources/templates/Localizable.strings:117
#, no-wrap
msgid ""
"New C-State _CST generation method using SystemIO registers instead of "
"FixedHW."
msgstr ""
"Nová metoda generování C-State _CST za použití SystemIO registrů namísto "
"FixedHW."
msgid "New C-State _CST generation method using SystemIO registers instead of FixedHW."
msgstr "Nová metoda generování C-State _CST za použití SystemIO registrů namísto FixedHW."
#. type: "DropSSDT_title"
#: Resources/templates/Localizable.strings:119
#: Resources/templates/Localizable.strings:135
#, no-wrap
msgid "Enable auto generation of processor power performance states (P-States)."
msgstr ""
"Zapne automatické generování procesorových power performance stavů "
"(P-States)."
msgstr "Zapne automatické generování procesorových power performance stavů (P-States)."
#. type: "1024x600x32_title"
#: Resources/templates/Localizable.strings:139
#. type: "GraphicsEnabler_description"
#: Resources/templates/Localizable.strings:178
#, no-wrap
msgid ""
"Enables the option to autodetect NVIDIA based GPUs and inject the correct "
"info."
msgstr ""
"Povolí možnost autodetekce graf. karet NVIDIA a vložit o ní korektní "
"informace."
msgid "Enables the option to autodetect NVIDIA based GPUs and inject the correct info."
msgstr "Povolí možnost autodetekce graf. karet NVIDIA a vložit o ní korektní informace."
#. type: "UseAtiROM_title"
#: Resources/templates/Localizable.strings:180
#. type: "Verbose_description"
#: Resources/templates/Localizable.strings:193
#, no-wrap
msgid ""
"Turns on verbose logging and allows you to see messages from both Chameleon "
"and the OS X kernel at boot time. Essential for troubleshooting."
msgid "Turns on verbose logging and allows you to see messages from both Chameleon and the OS X kernel at boot time. Essential for troubleshooting."
msgstr ""
#. type: "Singleusermode_title"
#. type: "Ignorecaches_description"
#: Resources/templates/Localizable.strings:199
#, no-wrap
msgid ""
"Not an option that's needed for everyday booting, but it can be useful if "
"you want OS X to load all files from it's system folders, rather than "
"relying on it's pre-built caches."
msgid "Not an option that's needed for everyday booting, but it can be useful if you want OS X to load all files from it's system folders, rather than relying on it's pre-built caches."
msgstr ""
#. type: "Npci_title"
#. type: "Npci_description"
#: Resources/templates/Localizable.strings:202
#, no-wrap
msgid ""
"For overcoming a hang at 'PCI configuration begin' on some systems. 0x2000 "
"is the kIOPCIConfiguratorPFM64 flag, as seen in the IOPCIFamily source code."
msgid "For overcoming a hang at 'PCI configuration begin' on some systems. 0x2000 is the kIOPCIConfiguratorPFM64 flag, as seen in the IOPCIFamily source code."
msgstr ""
#. type: "Npci3_title"
#. type: "Npci3_description"
#: Resources/templates/Localizable.strings:205
#, no-wrap
msgid ""
"For overcoming a hang at 'PCI configuration begin' on some systems. 0x3000 "
"is the kIOPCIConfiguratorPFM64 flag, as seen in the IOPCIFamily source code."
msgid "For overcoming a hang at 'PCI configuration begin' on some systems. 0x3000 is the kIOPCIConfiguratorPFM64 flag, as seen in the IOPCIFamily source code."
msgstr ""
#. type: "Darkwake_title"
#. type: "Darkwake_description"
#: Resources/templates/Localizable.strings:208
#, no-wrap
msgid ""
"Lion only. Disables the 'low power wake' feature which can sometimes leave "
"the screen black after wake from sleep."
msgid "Lion only. Disables the 'low power wake' feature which can sometimes leave the screen black after wake from sleep."
msgstr ""
#. type: "mac-de_title"
#. type: "Embed_description"
#: Resources/templates/Localizable.strings:237
#, no-wrap
msgid ""
"A smaller simple version of the new default theme used when building a "
"version of Chameleon which requires an embedded theme."
msgid "A smaller simple version of the new default theme used when building a version of Chameleon which requires an embedded theme."
msgstr ""
#. type: "Legacy_title"
#. type: "Keymaps_description"
#: Resources/templates/Localizable.strings:279
#, no-wrap
msgid ""
"Select one keylayout to use. This will also install the Keylayout module and "
"keymaps."
msgid "Select one keylayout to use. This will also install the Keylayout module and keymaps."
msgstr ""
#. type: "Themes_title"
#, no-wrap
msgid ""
"A collection of sample themes\n"
"More themes can be found at "
"http://forum.voodooprojects.org/index.php/board,7.0.html"
"More themes can be found at http://forum.voodooprojects.org/index.php/board,7.0.html"
msgstr ""
branches/ErmaC/Trunk/package/po/pt-BR.po
6262
6363
6464
65
66
65
6766
6867
6968
7069
71
72
70
7371
7472
7573
7674
7775
78
79
76
77
78
79
80
81
82
83
8084
8185
8286
8387
84
88
89
90
8591
8692
8793
8894
89
95
96
97
9098
9199
92100
93
94
101
102
103
104
105
95106
96107
97108
98109
99
110
111
112
100113
101114
102115
......
105118
106119
107120
108
109
121
122
123
124
125
110126
111127
112128
113129
114
130
131
115132
116133
117134
......
135152
136153
137154
138
139155
140156
141157
......
146162
147163
148164
149
150
165
166
167
168
151169
152170
153171
......
157175
158176
159177
160
178
179
161180
162181
163182
......
191210
192211
193212
194
195
213
214
215
216
217
218
196219
197220
198221
......
749772
750773
751774
752
753775
754776
755777
msgstr "%PKGDEV%"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:36
#: Resources/templates/Conclusion.html:30
#: Resources/templates/Welcome.html:36 Resources/templates/Conclusion.html:30
msgid "Package built by: %WHOBUILD%, language translated by: blackosx"
msgstr "Package built by: %WHOBUILD%, language translated by: oldnapalm"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:37
#: Resources/templates/Conclusion.html:31
#: Resources/templates/Welcome.html:37 Resources/templates/Conclusion.html:31
msgid "Copyright © %CPRYEAR%"
msgstr "Copyright © %CPRYEAR%"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:18
msgid "Chameleon is a boot loader built using a combination of components which evolved from the development of David Elliott's fake EFI implementation added to Apple's boot-132 project."
msgstr "O Chameleon é um boot loader que combina vários componentes. Ele é baseado na implementação de fake EFI feita por David Elliott, adicionada ao projeto boot-132 da Apple."
msgid ""
"Chameleon is a boot loader built using a combination of components which "
"evolved from the development of David Elliott's fake EFI implementation "
"added to Apple's boot-132 project."
msgstr ""
"O Chameleon é um boot loader que combina vários componentes. Ele é baseado "
"na implementação de fake EFI feita por David Elliott, adicionada ao projeto "
"boot-132 da Apple."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:20
msgid "Chameleon v2 is extended with many features. For example:"
msgstr "O Chameleon é extendido com as seguintes características chave. Novos recursos no Chameleon 2.0:"
msgstr ""
"O Chameleon é extendido com as seguintes características chave. Novos "
"recursos no Chameleon 2.0:"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:22
msgid "- Fully customizable GUI to bring some color to the Darwin Bootloader."
msgstr "- Interface gráfica (GUI) totalmente personalizável para trazer algumas cores ao Bootloader Darwin."
msgstr ""
"- Interface gráfica (GUI) totalmente personalizável para trazer algumas "
"cores ao Bootloader Darwin."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:23
msgid "- Load a ramdisk to directly boot retail DVDs without additional programs."
msgstr "- Inicializa DVDs retail lendo uma imagem ramdisk diretamente, sem ajuda de nenhum programa adicional."
msgid ""
"- Load a ramdisk to directly boot retail DVDs without additional programs."
msgstr ""
"- Inicializa DVDs retail lendo uma imagem ramdisk diretamente, sem ajuda de "
"nenhum programa adicional."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:24
msgid "- Hibernation. Enjoy resuming your Mac OS X with a preview image."
msgstr "- Hibernação. Aproveite continuar o seu Mac OS X com uma amostra de imagem da tela."
msgstr ""
"- Hibernação. Aproveite continuar o seu Mac OS X com uma amostra de imagem "
"da tela."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:25
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:26
msgid "- DSDT override to use a modified fixed DSDT which can solve several issues."
msgstr "- Substituição de DSDT para usar uma tabela modificada que pode resolver diversos problemas."
msgid ""
"- DSDT override to use a modified fixed DSDT which can solve several issues."
msgstr ""
"- Substituição de DSDT para usar uma tabela modificada que pode resolver "
"diversos problemas."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:27
msgid "- Device Property Injection via device-properties string."
msgstr "- Injeção de propriedades de dispositivo através do string device-properties."
msgstr ""
"- Injeção de propriedades de dispositivo através do string device-properties."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:28
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:32
#| msgid "Modules"
msgid "- Module support"
msgstr "- Suporte de Modulos"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:34
msgid "- Automatic P-State &amp; C-State generation for native power management."
msgstr "- P-State automático &amp; Geração C-State para gestão de energia nativa."
msgid ""
"- Automatic P-State &amp; C-State generation for native power management."
msgstr ""
"- P-State automático &amp; Geração C-State para gestão de energia nativa."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:35
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:37
msgid "The code is released under version 2 of the Gnu Public License."
msgstr "Este código é distribuido sobre os termos da versão 2 da Gnu Public License."
msgstr ""
"Este código é distribuido sobre os termos da versão 2 da Gnu Public License."
#. type: Content of: <html><body><p><span>
#: Resources/templates/Description.html:40
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:26
msgid "&nbsp;to find out if the installation was successful and keep it for a record of what was done."
msgstr "&nbsp;para verificar se a instalação foi realizada com sucesso e guarde como relatório do que foi realizado."
msgid ""
"&nbsp;to find out if the installation was successful and keep it for a "
"record of what was done."
msgstr ""
"&nbsp;para verificar se a instalação foi realizada com sucesso e guarde como "
"relatório do que foi realizado."
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:28
#. type: "1600x1200x32_description"
#: Resources/templates/Localizable.strings:164
#, no-wrap
#| msgid "Set Graphics Mode to 1600x900x32"
msgid "Set Graphics Mode to 1600x1200x32"
msgstr "Seleciona Modo Gráfico 1600x1200x32"
branches/ErmaC/Trunk/package/po/sr.po
1818
1919
2020
21
2221
2322
2423
......
6362
6463
6564
66
67
65
6866
6967
7068
7169
72
73
70
7471
7572
7673
7774
7875
79
80
76
77
78
79
80
81
82
83
8184
8285
8386
......
8790
8891
8992
90
93
94
95
9196
9297
9398
94
95
99
100
101
102
103
96104
97105
98106
99107
100
108
109
101110
102111
103112
......
106115
107116
108117
109
110
118
119
120
121
122
111123
112124
113125
......
136148
137149
138150
139
140151
141152
142153
......
147158
148159
149160
150
151
161
162
163
164
152165
153166
154167
......
192205
193206
194207
195
196
208
209
210
211
212
213
197214
198215
199216
......
203220
204221
205222
206
207223
208224
209225
......
751767
752768
753769
754
755770
756771
757772
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:22
#| msgid "Chameleon Bootloader"
msgid "Chameleon"
msgstr "Chameleon"
msgstr "%PKGDEV%"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:36
#: Resources/templates/Conclusion.html:30
#: Resources/templates/Welcome.html:36 Resources/templates/Conclusion.html:30
msgid "Package built by: %WHOBUILD%, language translated by: blackosx"
msgstr "Package built by: %WHOBUILD%, language translated by: mistudio"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:37
#: Resources/templates/Conclusion.html:31
#: Resources/templates/Welcome.html:37 Resources/templates/Conclusion.html:31
msgid "Copyright © %CPRYEAR%"
msgstr "Copyright © %CPRYEAR%"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:18
msgid "Chameleon is a boot loader built using a combination of components which evolved from the development of David Elliott's fake EFI implementation added to Apple's boot-132 project."
msgstr "Chameleon je kombinacija različitih komponenti bootloadera. On je zasnovan na David Elliottovoj lažnoj EFI implementaciji dodanoj u Apple boot-132 projekat."
msgid ""
"Chameleon is a boot loader built using a combination of components which "
"evolved from the development of David Elliott's fake EFI implementation "
"added to Apple's boot-132 project."
msgstr ""
"Chameleon je kombinacija različitih komponenti bootloadera. On je zasnovan "
"na David Elliottovoj lažnoj EFI implementaciji dodanoj u Apple boot-132 "
"projekat."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:20
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:22
msgid "- Fully customizable GUI to bring some color to the Darwin Bootloader."
msgstr "- Potpuno prilagođen grafički korisinički interfejs donosi vizuelna poboljšanja u Darwin Bootloaderu."
msgstr ""
"- Potpuno prilagođen grafički korisinički interfejs donosi vizuelna "
"poboljšanja u Darwin Bootloaderu."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:23
msgid "- Load a ramdisk to directly boot retail DVDs without additional programs."
msgstr "- Start sa retail DVD-om direktno učitava ramdisk slike bez pomoći dodatnih programa."
msgid ""
"- Load a ramdisk to directly boot retail DVDs without additional programs."
msgstr ""
"- Start sa retail DVD-om direktno učitava ramdisk slike bez pomoći dodatnih "
"programa."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:24
msgid "- Hibernation. Enjoy resuming your Mac OS X with a preview image."
msgstr "- Hibernacija. Uživajte u nastavaku rada vašeg Mac OS X-a sa pregledom slike."
msgstr ""
"- Hibernacija. Uživajte u nastavaku rada vašeg Mac OS X-a sa pregledom slike."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:25
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:26
msgid "- DSDT override to use a modified fixed DSDT which can solve several issues."
msgstr "- DSDT zamena za korišćenje modifikovanog, ispravljenog DSDT-a koji može rešiti nekoliko problema."
msgid ""
"- DSDT override to use a modified fixed DSDT which can solve several issues."
msgstr ""
"- DSDT zamena za korišćenje modifikovanog, ispravljenog DSDT-a koji može "
"rešiti nekoliko problema."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:27
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:32
#| msgid "Modules"
msgid "- Module support"
msgstr "- Modul podrška"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:34
msgid "- Automatic P-State &amp; C-State generation for native power management."
msgstr "- Automatsko generisanje P-State i C-State za izvorno upravljanje energijom."
msgid ""
"- Automatic P-State &amp; C-State generation for native power management."
msgstr ""
"- Automatsko generisanje P-State i C-State za izvorno upravljanje energijom."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:35
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:26
msgid "&nbsp;to find out if the installation was successful and keep it for a record of what was done."
msgstr "&nbsp;kako biste saznali da li je instalacija bila uspešna i čuvajte log radi evidencije o tome šta je učinjeno"
msgid ""
"&nbsp;to find out if the installation was successful and keep it for a "
"record of what was done."
msgstr ""
"&nbsp;kako biste saznali da li je instalacija bila uspešna i čuvajte log "
"radi evidencije o tome šta je učinjeno"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:28
#. type: "Chameleon_Package_Title"
#: Resources/templates/Localizable.strings:4
#, no-wrap
#| msgid "Chameleon Bootloader"
msgid "Chameleon Bootloader Package"
msgstr "Chameleon"
#. type: "1600x1200x32_description"
#: Resources/templates/Localizable.strings:164
#, no-wrap
#| msgid "Set Graphics Mode to 1600x900x32"
msgid "Set Graphics Mode to 1600x1200x32"
msgstr "Podesite Grafičku Rezoluciju na 1600x1200x32"
branches/ErmaC/Trunk/package/po/zh_TW.po
1919
2020
2121
22
2322
2423
2524
......
6463
6564
6665
67
68
66
6967
7068
7169
7270
73
74
71
7572
7673
7774
7875
7976
80
81
77
78
79
80
81
82
83
8284
8385
8486
......
9294
9395
9496
95
97
98
9699
97100
98101
......
107110
108111
109112
110
113
114
111115
112116
113117
......
137141
138142
139143
140
141144
142145
143146
......
148151
149152
150153
151
154
155
152156
153157
154158
......
193197
194198
195199
196
200
201
202
197203
198204
199205
......
204210
205211
206212
207
208213
209214
210215
......
755760
756761
757762
758
759763
760764
761765
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:22
#| msgid "Chameleon Bootloader"
msgid "Chameleon"
msgstr "Chameleon"
msgstr "%PKGDEV%"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:36
#: Resources/templates/Conclusion.html:30
#: Resources/templates/Welcome.html:36 Resources/templates/Conclusion.html:30
msgid "Package built by: %WHOBUILD%, language translated by: blackosx"
msgstr "Package built by: %WHOBUILD%, language 翻譯 : crazybirdy, Ulimate"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:37
#: Resources/templates/Conclusion.html:31
#: Resources/templates/Welcome.html:37 Resources/templates/Conclusion.html:31
msgid "Copyright © %CPRYEAR%"
msgstr "Copyright © %CPRYEAR%"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:18
msgid "Chameleon is a boot loader built using a combination of components which evolved from the development of David Elliott's fake EFI implementation added to Apple's boot-132 project."
msgstr "Chameleon 是一個結合許多組件的開機引導器。這些組件的演變來自於 David Elliott 加入 Apple 的 boot-132 程式項目的 fake EFI 安裝工具。"
msgid ""
"Chameleon is a boot loader built using a combination of components which "
"evolved from the development of David Elliott's fake EFI implementation "
"added to Apple's boot-132 project."
msgstr ""
"Chameleon 是一個結合許多組件的開機引導器。這些組件的演變來自於 David Elliott "
"加入 Apple 的 boot-132 程式項目的 fake EFI 安裝工具。"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:20
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:23
msgid "- Load a ramdisk to directly boot retail DVDs without additional programs."
msgid ""
"- Load a ramdisk to directly boot retail DVDs without additional programs."
msgstr "- 無須其他程式,即可載入 ramdisk 來直接啓動 零售版 DVD。"
#. type: Content of: <html><body><p>
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:26
msgid "- DSDT override to use a modified fixed DSDT which can solve several issues."
msgid ""
"- DSDT override to use a modified fixed DSDT which can solve several issues."
msgstr "- 可使用修正過的 DSDT 覆蓋原始 DSDT,並可解決許多問題。"
#. type: Content of: <html><body><p>
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:32
#| msgid "Modules"
msgid "- Module support"
msgstr "- 支持模組功能。"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:34
msgid "- Automatic P-State &amp; C-State generation for native power management."
msgid ""
"- Automatic P-State &amp; C-State generation for native power management."
msgstr "- 具有自動生成 P-State 及 C-State 的原生電源管理之功能。"
#. type: Content of: <html><body><p>
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:26
msgid "&nbsp;to find out if the installation was successful and keep it for a record of what was done."
msgid ""
"&nbsp;to find out if the installation was successful and keep it for a "
"record of what was done."
msgstr "&nbsp;確認安裝是否成功,並保留安裝紀錄文件備查。"
#. type: Content of: <html><body><div><p>
#. type: "Chameleon_Package_Title"
#: Resources/templates/Localizable.strings:4
#, no-wrap
#| msgid "Chameleon Bootloader"
msgid "Chameleon Bootloader Package"
msgstr "Chameleon"
#. type: "1600x1200x32_description"
#: Resources/templates/Localizable.strings:164
#, no-wrap
#| msgid "Set Graphics Mode to 1600x900x32"
msgid "Set Graphics Mode to 1600x1200x32"
msgstr "設定螢幕解析度為 1600x1200x32"
branches/ErmaC/Trunk/package/po/zh_CN.po
1919
2020
2121
22
2322
2423
2524
......
6463
6564
6665
67
68
66
6967
7068
7169
7270
73
74
71
7572
7673
7774
7875
7976
80
81
77
78
79
80
81
82
83
8284
8385
8486
......
9294
9395
9496
95
97
98
9699
97100
98101
......
107110
108111
109112
110
113
114
111115
112116
113117
......
137141
138142
139143
140
141144
142145
143146
......
148151
149152
150153
151
154
155
152156
153157
154158
......
193197
194198
195199
196
200
201
202
197203
198204
199205
......
204210
205211
206212
207
208213
209214
210215
......
755760
756761
757762
758
759763
760764
761765
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:22
#| msgid "Chameleon Bootloader"
msgid "Chameleon"
msgstr "Chameleon"
msgstr "%PKGDEV%"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:36
#: Resources/templates/Conclusion.html:30
#: Resources/templates/Welcome.html:36 Resources/templates/Conclusion.html:30
msgid "Package built by: %WHOBUILD%, language translated by: blackosx"
msgstr "Package built by: %WHOBUILD%, language 翻译: crazybirdy, Ulimate"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:37
#: Resources/templates/Conclusion.html:31
#: Resources/templates/Welcome.html:37 Resources/templates/Conclusion.html:31
msgid "Copyright © %CPRYEAR%"
msgstr "Copyright © %CPRYEAR%"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:18
msgid "Chameleon is a boot loader built using a combination of components which evolved from the development of David Elliott's fake EFI implementation added to Apple's boot-132 project."
msgstr "Chameleon 是一个结合许多组件的开机引导器。这些组件的演变来自于 David Elliott 加入 Apple 的 boot-132 程序项目的 fake EFI 安装工具。"
msgid ""
"Chameleon is a boot loader built using a combination of components which "
"evolved from the development of David Elliott's fake EFI implementation "
"added to Apple's boot-132 project."
msgstr ""
"Chameleon 是一个结合许多组件的开机引导器。这些组件的演变来自于 David Elliott "
"加入 Apple 的 boot-132 程序项目的 fake EFI 安装工具。"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:20
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:23
msgid "- Load a ramdisk to directly boot retail DVDs without additional programs."
msgid ""
"- Load a ramdisk to directly boot retail DVDs without additional programs."
msgstr "- 无须其他程序,即可载入 ramdisk 来直接启动 零售版 DVD。"
#. type: Content of: <html><body><p>
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:26
msgid "- DSDT override to use a modified fixed DSDT which can solve several issues."
msgid ""
"- DSDT override to use a modified fixed DSDT which can solve several issues."
msgstr "- 可使用修正过的 DSDT 覆盖原始 DSDT,并可解决许多问题。"
#. type: Content of: <html><body><p>
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:32
#| msgid "Modules"
msgid "- Module support"
msgstr "- 支持模组功能。"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:34
msgid "- Automatic P-State &amp; C-State generation for native power management."
msgid ""
"- Automatic P-State &amp; C-State generation for native power management."
msgstr "- 具有自动生成 P-State 及 C-State 的原生电源管理之功能。"
#. type: Content of: <html><body><p>
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:26
msgid "&nbsp;to find out if the installation was successful and keep it for a record of what was done."
msgid ""
"&nbsp;to find out if the installation was successful and keep it for a "
"record of what was done."
msgstr "&nbsp;确认安装是否成功,并保留安装纪录文件备查。"
#. type: Content of: <html><body><div><p>
#. type: "Chameleon_Package_Title"
#: Resources/templates/Localizable.strings:4
#, no-wrap
#| msgid "Chameleon Bootloader"
msgid "Chameleon Bootloader Package"
msgstr "Chameleon"
#. type: "1600x1200x32_description"
#: Resources/templates/Localizable.strings:164
#, no-wrap
#| msgid "Set Graphics Mode to 1600x900x32"
msgid "Set Graphics Mode to 1600x1200x32"
msgstr "设置显示器分辨率为 1600x1200x32"

Archive Download the corresponding diff file

Revision: 1926