Chameleon

Chameleon Commit Details

Date:2010-12-19 21:46:57 (13 years 4 months ago)
Author:Sergey Slice
Commit:681
Parents: 680
Message:CPU detections
Changes:
M/branches/slice/ChamMek/ChamMek.xcodeproj/slice.pbxuser
M/branches/slice/i386/boot2/drivers.c
M/branches/slice/revision
M/branches/slice/ChamMek/ChamMek.xcodeproj/slice.mode1v3
M/branches/slice/i386/boot2/boot.c
M/branches/slice/i386/libsaio/cpu.c
M/branches/slice/i386/libsaio/platform.h
M/branches/slice/i386/modules/GraphicsEnabler/nvidia.c
M/branches/slice/i386/modules/KextPatcher/kext_patcher.c
M/branches/slice/i386/boot2/boot.h
M/branches/slice/i386/boot2/modules.c
M/branches/slice/i386/modules/NVRAM/NVRAM.c

File differences

branches/slice/i386/libsaio/cpu.c
1010
1111
1212
13
13
1414
1515
1616
......
9898
9999
100100
101
101
102102
103103
104104
......
200200
201201
202202
203
203
204204
205205
206206
......
215215
216216
217217
218
219
218
219
220
220221
222
221223
222224
223225
......
230232
231233
232234
233
234
235235
236236
237237
......
262262
263263
264264
265
266265
267266
268
267
269268
270
271
269
270
272271
272
273
274
275
276
273277
274278
275279
......
462466
463467
464468
465
469
466470
467471
468472
......
471475
472476
473477
474
478
475479
476480
477481
#include "cpu.h"
#ifndef DEBUG_CPU
#define DEBUG_CPU 0
#define DEBUG_CPU 1
#endif
#if DEBUG_CPU
PlatformInfo_t *p = Platform;
int i = 0;
uint64_ttscFrequency, fsbFrequency, cpuFrequency;
uint64_tmsr, flex_ratio;
uint64_tmsr; //, flex_ratio;
uint8_tmaxcoef, maxdiv, currcoef, currdiv, mindiv;
maxcoef = maxdiv = currcoef = currdiv = mindiv = 0;
DBG("msr(0x%04x): platform_info %08x-%08x\n", MSR_PLATFORM_INFO,
(msr >> 32) & 0xffffffff, msr & 0xffffffff);
mindiv = (msr >> 40) & 0xff;
flex_ratio = (msr >> 8) & 0xff;
maxcoef = (msr >> 8) & 0xff;
//Slice - doesn't work
/*
msr = rdmsr64(MSR_FLEX_RATIO);
if (msr) {
currcoef = msr & 0x1f;
}
if (currcoef < flex_ratio) {
currcoef = flex_ratio;
if (!currcoef) {
currcoef = maxcoef;
}
if (currcoef < mindiv) {
currcoef = mindiv;
}
else //not nehalem
{
//Slice - it is not FSB frequency. It is System Bus Speed: FSB = SBS * 4;
//crash with i7?
#if 1 //NOTI7
if (p->CPU.Family != 0x0d){
msr = rdmsr64(MSR_FSB_FREQ);
switch (msr & 7) {
}
DBG("msr(0x%04x): MSR_FSB_FREQ %dMHz\n", MSR_FSB_FREQ, fsbFrequency/MEGA);
}
#endif
msr = rdmsr64(MSR_PLATFORM_INFO);
uint32_t m2 = msr & 0xffffffff;
uint32_t m2 = msr >> 32;
DBG("msr(0x%04x): platform_info %08x-%08x\n", MSR_PLATFORM_INFO,
(msr >> 32) & 0xffffffff, m2);
currcoef = (msr >> 40) & 0xff;
m2 & 0xffffffff, msr & 0xffffffff);
msr = rdmsr64(MSR_IA32_PERF_STATUS);
m2 = msr >> 32;
DBG("msr(0x%04x): MSR_IA32_PERF_STATUS %08x-%08x\n", MSR_IA32_PERF_STATUS,
m2 & 0xffffffff, msr & 0xffffffff);
currcoef = (msr >> 8) & 0x1f;
mindiv = (msr >> 24) & 0xf;
if (currcoef < mindiv) {
currcoef = mindiv;
msglog("CPU: fsb=0 ! using the default value 100MHz !\n");
}
/*
p->CPU.Vendor= p->CPU.CPUID[CPUID_0][1];
p->CPU.Signature= p->CPU.CPUID[CPUID_1][0];
p->CPU.Stepping= bitfield(p->CPU.CPUID[CPUID_1][0], 3, 0);
p->CPU.ExtModel= bitfield(p->CPU.CPUID[CPUID_1][0], 19, 16);
p->CPU.ExtFamily= bitfield(p->CPU.CPUID[CPUID_1][0], 27, 20);
p->CPU.NoThreads= bitfield(p->CPU.CPUID[CPUID_1][1], 23, 16);
*/
p->CPU.MaxCoef = maxcoef;
branches/slice/i386/libsaio/platform.h
128128
129129
130130
131
132
131
132
133133
134134
135
135
136136
137137
138138
uint32_tNoCores;// No Cores per Package
uint32_tNoThreads;// Threads per Package
uint8_tMaxCoef;// Max Multiplier
uint8_tMaxDiv;
uint8_tMinCoef;
uint8_tMaxDiv;// Possible 0,5
uint8_tMinCoef;// Min Multiplier
uint8_tCurrCoef;// Current Multiplier
uint8_tCurrDiv;
floatMaxRatio;
floatMaxRatio;// non-integer ratio
floatCurrRatio;
uint64_tTSCFrequency;// TSC Frequency Hz
uint64_tFSBFrequency;// FSB Frequency Hz
branches/slice/i386/boot2/boot.c
9191
9292
9393
94
94
9595
9696
9797
......
547547
548548
549549
550
550
551551
552
553
552
553
554554
555
555
556556
557557
558558
......
733733
734734
735735
736
736
737737
738738
739739
......
759759
760760
761761
762
BVRef bvChain;
//static void selectBiosDevice(void);
static unsigned long Adler32(unsigned char *buffer, long length);
//static unsigned long Adler32(unsigned char *buffer, long length);
static bool getOSVersion(char *str);
#ifndef OPTION_ROM
} else {
if(gMacOSVersion[3] == '6')
sprintf(gBootKernelCacheFile, "%s_%s.%08lX", kDefaultCachePathSnow, (archCpuType == CPU_TYPE_I386) ? "i386" : "x86_64", adler32);
else if(gMacOSVersion[3] == '5')
else //if(gMacOSVersion[3] == '5')
sprintf(gBootKernelCacheFile, "%s", kDefaultCachePath);
else
sprintf(gBootKernelCacheFile, "%s", kDefaultCachePathTiger);
//else
//sprintf(gBootKernelCacheFile, "%s", kDefaultCachePathTiger);
}
verbose("Try cache %s\n", gBootKernelCacheFile);
msglog("Try cache %s\n", gBootKernelCacheFile);
// Check for cache file.
trycache = (((gBootMode & kBootModeSafe) == 0) &&
!gOverrideKernel &&
#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2);
#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4);
#define DO16(buf) DO8(buf,0); DO8(buf,8);
/*
unsigned long Adler32(unsigned char *buf, long len)
{
unsigned long s1 = 1; // adler & 0xffff;
result = (s2 << 16) | s1;
return OSSwapHostToBigInt32(result);
}
*/
branches/slice/i386/boot2/modules.c
840840
841841
842842
843
844
843
844
845845
846846
847847
......
927927
928928
929929
930
931
932
933
934
935
936
937
938
930939
931940
932941
......
935944
936945
937946
938
947
939948
940949
950
941951
942952
943953
......
957967
958968
959969
960
970
971
972
973
974
975
961976
962977
963978
......
969984
970985
971986
987
972988
973989
974990
......
976992
977993
978994
979
995
996
997
998
999
1000
9801001
9811002
9821003
......
9881009
9891010
9901011
1012
9911013
9921014
9931015
......
10241046
10251047
10261048
1049
1050
1051
1052
1053
1054
10271055
10281056
1029
1057
10301058
10311059
10321060
1033
1061
10341062
1063
1064
1065
1066
1067
1068
10351069
10361070
10371071
1072
10381073
10391074
10401075
......
11721207
11731208
11741209
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
11861210
11871211
11881212
......
11971221
11981222
11991223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
12001236
1201
1202
12031237
12041238
1205
12061239
12071240
12081241
......
13051338
13061339
13071340
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1341
case BIND_OPCODE_SET_DYLIB_SPECIAL_IMM:
// NOTE: this is wrong, fortunately we don't use it
libraryOrdinal = -immediate;
//DBG("BIND_OPCODE_SET_DYLIB_SPECIAL_IMM: %d\n", libraryOrdinal);
libraryOrdinal = immediate ? (SInt8)(BIND_OPCODE_MASK | immediate) : immediate;
//printf("BIND_OPCODE_SET_DYLIB_SPECIAL_IMM: %d\n", libraryOrdinal);
break;
case BIND_OPCODE_DO_BIND:
//DBG("BIND_OPCODE_DO_BIND\n");
if(libraryOrdinal == BIND_SPECIAL_DYLIB_FLAT_LOOKUP && type == BIND_TYPE_POINTER)
{
// HACK(ish)
// Internal symbol, don't bind
}
else
{
//printf("Binding symbol %s, libraryOrdinal = %d, symboFlags = %d, type = %d\n", symbolName, libraryOrdinal, symboFlags, type);
if(symbolAddr != 0xFFFFFFFF)
{
address = segmentAddress + (UInt32)base;
}
else //if(strcmp(symbolName, SYMBOL_DYLD_STUB_BINDER) != 0)
{
printf("Unable to bind symbol %s\n", symbolName);
printf("Unable to bind symbol %s, libraryOrdinal = %d, symboFlags = %d, type = %d\n", symbolName, libraryOrdinal, symboFlags, type);
getc();
}
}
segmentAddress += sizeof(void*);
break;
while(bind_stream[i] & 0x80);
if(libraryOrdinal == BIND_SPECIAL_DYLIB_FLAT_LOOKUP && type == BIND_TYPE_POINTER)
{
// Internal symbol, don't bind
}
else
{
if(symbolAddr != 0xFFFFFFFF)
{
address = segmentAddress + (UInt32)base;
printf("Unable to bind symbol %s\n", symbolName);
getc();
}
}
segmentAddress += tmp + sizeof(void*);
case BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED:
//DBG("BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED\n");
if(libraryOrdinal == BIND_SPECIAL_DYLIB_FLAT_LOOKUP && type == BIND_TYPE_POINTER)
{
// Internal symbol, don't bind
}
else
{
if(symbolAddr != 0xFFFFFFFF)
{
address = segmentAddress + (UInt32)base;
printf("Unable to bind symbol %s\n", symbolName);
getc();
}
}
segmentAddress += (immediate * sizeof(void*)) + sizeof(void*);
{
address = segmentAddress + (UInt32)base;
if(libraryOrdinal == BIND_SPECIAL_DYLIB_FLAT_LOOKUP && type == BIND_TYPE_POINTER)
{
// Internal symbol, don't bind
}
else
{
bind_location((UInt32*)address, (char*)symbolAddr, addend, BIND_TYPE_POINTER);
}
segmentAddress += tmp2 + sizeof(void*);
}
}
else //if(strcmp(symbolName, SYMBOL_DYLD_STUB_BINDER) != 0)
else
{
if(libraryOrdinal == BIND_SPECIAL_DYLIB_FLAT_LOOKUP && type == BIND_TYPE_POINTER)
{
// Internal symbol, don't bind
}
else
{
printf("Unable to bind symbol %s\n", symbolName);
getc();
}
}
break;
unsigned int lookup_all_symbols(const char* name)
{
unsigned int addr = 0xFFFFFFFF;
if(lookup_symbol && (UInt32)lookup_symbol != 0xFFFFFFFF)
{
addr = lookup_symbol(name);
if(addr != 0xFFFFFFFF)
{
//DBG("Internal symbol %s located at 0x%X\n", name, addr);
return addr;
}
}
symbolList_t* entry = moduleSymbols;
while(entry)
{
}
}
if(lookup_symbol && (UInt32)lookup_symbol != 0xFFFFFFFF)
{
addr = lookup_symbol(name);
if(addr != 0xFFFFFFFF)
{
//DBG("Internal symbol %s located at 0x%X\n", name, addr);
return addr;
}
}
#if DEBUG_MODULES
//if(strcmp(name, SYMBOL_DYLD_STUB_BINDER) != 0)
//{
verbose("Unable to locate symbol %s\n", name);
getc();
//}
#endif
return 0xFFFFFFFF;
}
{
// TODO: actualy impliment this function (asm)
stop("ERROR: dyld_stub_binder was called, should have been take care of by the linker.\n");
}
/* Nedded to divide 64bit numbers correctly. TODO: look into why modules need this
* And why it isn't needed when compiled into boot2
*/
uint64_t __udivdi3(uint64_t numerator, uint64_t denominator)
{
uint64_t quotient = 0, qbit = 1;
if (denominator)
{
while ((int64_t) denominator >= 0)
{
denominator <<= 1;
qbit <<= 1;
}
while (denominator)
{
if (denominator <= numerator)
{
numerator -= denominator;
quotient += qbit;
}
denominator >>= 1;
qbit >>= 1;
}
return quotient;
}
else {
stop("Divide by 0");
return 0;
}
}
}
branches/slice/i386/boot2/boot.h
213213
214214
215215
216
216217
217218
218219
allows other code to cause additional drivers to be loaded.
*/
extern long (*LoadExtraDrivers_p)(FileLoadDrivers_t FileLoadDrivers_p);
extern unsigned long Adler32( unsigned char * buffer, long length );
/*
* options.c
branches/slice/i386/boot2/drivers.c
4747
4848
4949
50
50
5151
5252
5353
......
7474
7575
7676
77
77
7878
7979
8080
......
386386
387387
388388
389
389
390390
391391
392392
......
786786
787787
788788
789
789
790790
791791
792792
long (*LoadExtraDrivers_p)(FileLoadDrivers_t FileLoadDrivers_p);
#endif
unsigned long Mkext_Alder32( unsigned char * buffer, long length );
//extern unsigned long Adler32( unsigned char * buffer, long length );
long FileLoadDrivers(char *dirSpec, long plugin);
#ifndef OPTION_ROM
char * gFileName;
unsigned long
Mkext_Alder32( unsigned char * buffer, long length )
Adler32( unsigned char * buffer, long length )
{
long cnt;
unsigned long result, lowHalf, highHalf;
( GetPackageElement(signature2) != kDriverPackageSignature2) ||
( GetPackageElement(length) > kLoadSize ) ||
( GetPackageElement(alder32) !=
Mkext_Alder32((unsigned char *)&package->version, GetPackageElement(length) - 0x10) ) )
Adler32((unsigned char *)&package->version, GetPackageElement(length) - 0x10) ) )
{
return -1;
}
return -1;
}
if (OSSwapBigToHostInt32(kernel_header->adler32) !=
Mkext_Alder32(binary, uncompressed_size)) {
Adler32(binary, uncompressed_size)) {
printf("adler mismatch\n");
return -1;
}
branches/slice/i386/modules/KextPatcher/kext_patcher.c
8989
9090
9191
92
92
9393
9494
9595
......
161161
162162
163163
164
164
165165
166
166167
167168
168169
......
319320
320321
321322
322
323
323324
324325
325326
}
unsigned long Mkext_Alder32( unsigned char * buffer, long length );
//unsigned long Adler32( unsigned char * buffer, long length );
void KextPatcher_hook(void* current, void* arg2, void* arg3, void* arg4);
( MKEXT_GET_SIGNATURE(package)!= MKEXT_SIGN ) ||
( MKEXT_GET_LENGTH(package)> kLoadSize ) ||
( MKEXT_GET_CHECKSUM(package) !=
Mkext_Alder32((unsigned char *)&package->version, MKEXT_GET_LENGTH(package) - 0x10) ) )
Adler32((unsigned char *)&package->version, MKEXT_GET_LENGTH(package) - 0x10) ) )
{
msglog("mkext verification failed, do not patch\n");
return;
// Don't try to patch a b
}
// re alder32 the new mkext2 package
MKEXT_HDR_CAST(package)->adler32 =
MKEXT_SWAP(Mkext_Alder32((unsigned char *)&package->version,
MKEXT_SWAP(Adler32((unsigned char *)&package->version,
MKEXT_GET_LENGTH(package) - 0x10));
}
}
branches/slice/i386/modules/NVRAM/NVRAM.c
6565
6666
6767
68
68
6969
70
70
7171
7272
7373
char*bnName;
EFI_GUID*ret = 0;
uint16_tbootOptionNumber = 0;
msglog("NVRAM is not implemented yet\n");
//msglog("NVRAM is not implemented yet\n");
return;
//return;
msglog("NVRAM started\n");
branches/slice/i386/modules/GraphicsEnabler/nvidia.c
374374
375375
376376
377
378377
379378
380379
......
472471
473472
474473
475
474
476475
477476
478477
......
834833
835834
836835
837
836
838837
839838
840839
{ 0x10DE06C4, "GeForce GTX 465" },
{ 0x10DE06CA, "GeForce GTX 480M" },
{ 0x10DE06CD, "GeForce GTX 470" },
{ 0x10DE06DD, "Quadro 4000" },
{ 0x10DE06D1, "Tesla C2050" },// TODO: sub-device id: 0x0771
{ 0x10DE06D1, "Tesla C2070" },// TODO: sub-device id: 0x0772
{ 0x10DE06D2, "Tesla M2070" },
{ 0x10DE1082, "D13U" },
{ 0x10DE1083, "D13U" },
{ 0x10DE1098, "D13U" },
{ 0x10DE109A, "N12E-Q5" },
{ 0x10DE109A, "N12E-Q5" }
};
static uint16_t swap16(uint16_t x)
devicepath);
rom = malloc(NVIDIA_ROM_SIZE);
sprintf(nvFilename, "/Extra/%04x_%04x.rom", (uint16_t)nvda_dev->vendor_id, (uint16_t)nvda_dev->device_id);
sprintf(nvFilename, "bt(0,0)/Extra/%04x_%04x.rom", (uint16_t)nvda_dev->vendor_id, (uint16_t)nvda_dev->device_id);
if (getBoolForKey(kUseNvidiaROM, &doit, &bootInfo->bootConfig) && doit) {
verbose("Looking for nvidia video bios file %s\n", nvFilename);
nvBiosOveride = load_nvidia_bios_file(nvFilename, rom, NVIDIA_ROM_SIZE);
branches/slice/revision
1
1
673
676:678
branches/slice/ChamMek/ChamMek.xcodeproj/slice.pbxuser
4848
4949
5050
51
52
51
52
53
54
55
56
57
58
59
60
61
62
63
64
5365
5466
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
97
98
99
100
101
102
103
104
105
106
107
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
108123
109124
110125
......
212227
213228
214229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
215247
216248
217249
......
324356
325357
326358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
327438
328439
329440
......
593704
594705
595706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
596724
597725
598726
......
792920
793921
794922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
795957
796958
797959
......
9081070
9091071
9101072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
9111090
9121091
9131092
......
9351114
9361115
9371116
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
9651117
9661118
9671119
9681120
9691121
9701122
971
972
973
974
975
9761123
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
10611124
10621125
10631126
PBXFileDataSource_Target_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 314278898;
PBXWorkspaceStateSaveDate = 314278898;
PBXConfiguration.PBXFileTableDataSource3.PBXFindDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFindDataSource_LocationID;
PBXFileTableDataSourceColumnWidthsKey = (
200,
739,
);
PBXFileTableDataSourceColumnsKey = (
PBXFindDataSource_MessageID,
PBXFindDataSource_LocationID,
);
};
PBXPerProjectTemplateStateSaveDate = 314481806;
PBXWorkspaceStateSaveDate = 314481806;
};
perUserProjectItems = {
120DFB1712BA3A4D00C7EAC8 = 120DFB1712BA3A4D00C7EAC8 /* PBXTextBookmark */;
120DFB1812BA3A4D00C7EAC8 = 120DFB1812BA3A4D00C7EAC8 /* PBXTextBookmark */;
120DFF6B12BA3BF500C7EAC8 = 120DFF6B12BA3BF500C7EAC8 /* PBXTextBookmark */;
12121ED112B261EA00207E55 = 12121ED112B261EA00207E55 /* PBXTextBookmark */;
1216139E12B65BB50019961E = 1216139E12B65BB50019961E /* PBXTextBookmark */;
121613FF12B65D970019961E = 121613FF12B65D970019961E /* PBXTextBookmark */;
124C493212B8D846005AA276 = 124C493212B8D846005AA276 /* PBXTextBookmark */;
124C493712B8D846005AA276 = 124C493712B8D846005AA276 /* PBXTextBookmark */;
124C494212B8E8C2005AA276 = 124C494212B8E8C2005AA276 /* PBXTextBookmark */;
124C494312B8E8C2005AA276 = 124C494312B8E8C2005AA276 /* PBXTextBookmark */;
124C494512B8E8C2005AA276 = 124C494512B8E8C2005AA276 /* PBXTextBookmark */;
124C494B12B8EA5D005AA276 = 124C494B12B8EA5D005AA276 /* PBXTextBookmark */;
1267813012B7B13E00A25CED = 1267813012B7B13E00A25CED /* PBXTextBookmark */;
1299A51F12B3C328007ED516 = 1299A51F12B3C328007ED516 /* PBXTextBookmark */;
1299A55612B3C4DF007ED516 = 1299A55612B3C4DF007ED516 /* PBXTextBookmark */;
12AB04BD12B663F5005A745F = 12AB04BD12B663F5005A745F /* PBXTextBookmark */;
12AB04EC12B665EA005A745F = 12AB04EC12B665EA005A745F /* PBXTextBookmark */;
12AF764312BA614B003BBFD3 = 12AF764312BA614B003BBFD3 /* PBXTextBookmark */;
12B46E6612B75631006C2B9C = 12B46E6612B75631006C2B9C /* PBXTextBookmark */;
12B46E6812B75631006C2B9C = 12B46E6812B75631006C2B9C /* PBXTextBookmark */;
12B46E6912B75631006C2B9C = 12B46E6912B75631006C2B9C /* PBXTextBookmark */;
12B46E6A12B75631006C2B9C = 12B46E6A12B75631006C2B9C /* PBXTextBookmark */;
12B90A2012B2A7E200FE287A = 12B90A2012B2A7E200FE287A /* PBXTextBookmark */;
12B90A2B12B2A86B00FE287A = 12B90A2B12B2A86B00FE287A /* PBXTextBookmark */;
12B90A4D12B2AE1300FE287A = 12B90A4D12B2AE1300FE287A /* PBXTextBookmark */;
12B90A4F12B2AE1300FE287A = 12B90A4F12B2AE1300FE287A /* PBXTextBookmark */;
12B90A5212B2AE1300FE287A = 12B90A5212B2AE1300FE287A /* PBXTextBookmark */;
12B9F42612B29A4A00FE287A = 12B9F42612B29A4A00FE287A /* PBXTextBookmark */;
12BF14DA12B3CF8E00D798FE = 12BF14DA12B3CF8E00D798FE /* PBXTextBookmark */;
12C7009812B7BCE7006BD382 = 12C7009812B7BCE7006BD382 /* PBXTextBookmark */;
12C7009912B7BCE7006BD382 = 12C7009912B7BCE7006BD382 /* PBXTextBookmark */;
12C704E512B7BD3E006BD382 = 12C704E512B7BD3E006BD382 /* PBXTextBookmark */;
12C7FC4D12B7BCD3006BD382 = 12C7FC4D12B7BCD3006BD382 /* PBXTextBookmark */;
12C7FC4E12B7BCD3006BD382 = 12C7FC4E12B7BCD3006BD382 /* PlistBookmark */;
12C8CB6812B5529D003DA1E4 = 12C8CB6812B5529D003DA1E4 /* PBXTextBookmark */;
12CC44C812B3947B007E0C76 = 12CC44C812B3947B007E0C76 /* PBXTextBookmark */;
12D6232512BA5F380032F367 = 12D6232512BA5F380032F367 /* PBXTextBookmark */;
12D6232612BA5F380032F367 = 12D6232612BA5F380032F367 /* PBXTextBookmark */;
12E17AE612B2BA9B00607D8E = 12E17AE612B2BA9B00607D8E /* PBXTextBookmark */;
12E6FB5712BB458400C2A021 = 12E6FB5712BB458400C2A021 /* PBXTextBookmark */;
12EFD98A12B510D9002A1712 = 12EFD98A12B510D9002A1712 /* PBXTextBookmark */;
12EFE2FD12B51ED5002A1712 = 12EFE2FD12B51ED5002A1712 /* PBXTextBookmark */;
12EFE65A12B547A7002A1712 = 12EFE65A12B547A7002A1712 /* PBXTextBookmark */;
12EFE95E12B549B6002A1712 = 12EFE95E12B549B6002A1712 /* PBXTextBookmark */;
12FC0E7512BB4B5200E9CFA8 = 12FC0E7512BB4B5200E9CFA8 /* PBXTextBookmark */;
12FC0E9412BB65A800E9CFA8 = 12FC0E9412BB65A800E9CFA8 /* PBXTextBookmark */;
12FC14AE12BB730100E9CFA8 = 12FC14AE12BB730100E9CFA8 /* PBXTextBookmark */;
12FC25E712BB825300E9CFA8 = 12FC25E712BB825300E9CFA8 /* PBXTextBookmark */;
12FC291212BB848E00E9CFA8 /* PBXTextBookmark */ = 12FC291212BB848E00E9CFA8 /* PBXTextBookmark */;
12FC291412BB848E00E9CFA8 /* PBXTextBookmark */ = 12FC291412BB848E00E9CFA8 /* PBXTextBookmark */;
12FC291612BB848E00E9CFA8 /* PBXTextBookmark */ = 12FC291612BB848E00E9CFA8 /* PBXTextBookmark */;
12FC291812BB848E00E9CFA8 /* PBXTextBookmark */ = 12FC291812BB848E00E9CFA8 /* PBXTextBookmark */;
12FC291F12BB84B200E9CFA8 /* PBXTextBookmark */ = 12FC291F12BB84B200E9CFA8 /* PBXTextBookmark */;
120DFB1712BA3A4D00C7EAC8 /* PBXTextBookmark */ = 120DFB1712BA3A4D00C7EAC8 /* PBXTextBookmark */;
120DFB1812BA3A4D00C7EAC8 /* PBXTextBookmark */ = 120DFB1812BA3A4D00C7EAC8 /* PBXTextBookmark */;
120DFF6B12BA3BF500C7EAC8 /* PBXTextBookmark */ = 120DFF6B12BA3BF500C7EAC8 /* PBXTextBookmark */;
12121ED112B261EA00207E55 /* PBXTextBookmark */ = 12121ED112B261EA00207E55 /* PBXTextBookmark */;
1216139E12B65BB50019961E /* PBXTextBookmark */ = 1216139E12B65BB50019961E /* PBXTextBookmark */;
121613FF12B65D970019961E /* PBXTextBookmark */ = 121613FF12B65D970019961E /* PBXTextBookmark */;
1236A82312BD6023003F1DA9 /* PBXTextBookmark */ = 1236A82312BD6023003F1DA9 /* PBXTextBookmark */;
124C493212B8D846005AA276 /* PBXTextBookmark */ = 124C493212B8D846005AA276 /* PBXTextBookmark */;
124C493712B8D846005AA276 /* PBXTextBookmark */ = 124C493712B8D846005AA276 /* PBXTextBookmark */;
124C494212B8E8C2005AA276 /* PBXTextBookmark */ = 124C494212B8E8C2005AA276 /* PBXTextBookmark */;
124C494312B8E8C2005AA276 /* PBXTextBookmark */ = 124C494312B8E8C2005AA276 /* PBXTextBookmark */;
124C494512B8E8C2005AA276 /* PBXTextBookmark */ = 124C494512B8E8C2005AA276 /* PBXTextBookmark */;
124C494B12B8EA5D005AA276 /* PBXTextBookmark */ = 124C494B12B8EA5D005AA276 /* PBXTextBookmark */;
1267813012B7B13E00A25CED /* PBXTextBookmark */ = 1267813012B7B13E00A25CED /* PBXTextBookmark */;
12679BA312BE822E00E3637F /* PBXTextBookmark */ = 12679BA312BE822E00E3637F /* PBXTextBookmark */;
1269260612BC99AD004D09F1 /* PBXTextBookmark */ = 1269260612BC99AD004D09F1 /* PBXTextBookmark */;
1299583012BEA42800C307EC /* PBXTextBookmark */ = 1299583012BEA42800C307EC /* PBXTextBookmark */;
1299583112BEA42800C307EC /* PBXTextBookmark */ = 1299583112BEA42800C307EC /* PBXTextBookmark */;
1299583312BEA42800C307EC /* PBXTextBookmark */ = 1299583312BEA42800C307EC /* PBXTextBookmark */;
1299A51F12B3C328007ED516 /* PBXTextBookmark */ = 1299A51F12B3C328007ED516 /* PBXTextBookmark */;
1299A55612B3C4DF007ED516 /* PBXTextBookmark */ = 1299A55612B3C4DF007ED516 /* PBXTextBookmark */;
12AB04BD12B663F5005A745F /* PBXTextBookmark */ = 12AB04BD12B663F5005A745F /* PBXTextBookmark */;
12AB04EC12B665EA005A745F /* PBXTextBookmark */ = 12AB04EC12B665EA005A745F /* PBXTextBookmark */;
12AF764312BA614B003BBFD3 /* PBXTextBookmark */ = 12AF764312BA614B003BBFD3 /* PBXTextBookmark */;
12B46E6612B75631006C2B9C /* PBXTextBookmark */ = 12B46E6612B75631006C2B9C /* PBXTextBookmark */;
12B46E6812B75631006C2B9C /* PBXTextBookmark */ = 12B46E6812B75631006C2B9C /* PBXTextBookmark */;
12B46E6912B75631006C2B9C /* PBXTextBookmark */ = 12B46E6912B75631006C2B9C /* PBXTextBookmark */;
12B46E6A12B75631006C2B9C /* PBXTextBookmark */ = 12B46E6A12B75631006C2B9C /* PBXTextBookmark */;
12B90A2012B2A7E200FE287A /* PBXTextBookmark */ = 12B90A2012B2A7E200FE287A /* PBXTextBookmark */;
12B90A2B12B2A86B00FE287A /* PBXTextBookmark */ = 12B90A2B12B2A86B00FE287A /* PBXTextBookmark */;
12B90A4D12B2AE1300FE287A /* PBXTextBookmark */ = 12B90A4D12B2AE1300FE287A /* PBXTextBookmark */;
12B90A4F12B2AE1300FE287A /* PBXTextBookmark */ = 12B90A4F12B2AE1300FE287A /* PBXTextBookmark */;
12B90A5212B2AE1300FE287A /* PBXTextBookmark */ = 12B90A5212B2AE1300FE287A /* PBXTextBookmark */;
12B9F42612B29A4A00FE287A /* PBXTextBookmark */ = 12B9F42612B29A4A00FE287A /* PBXTextBookmark */;
12BB721512BE659500B11948 /* PBXTextBookmark */ = 12BB721512BE659500B11948 /* PBXTextBookmark */;
12BF14DA12B3CF8E00D798FE /* PBXTextBookmark */ = 12BF14DA12B3CF8E00D798FE /* PBXTextBookmark */;
12C7009812B7BCE7006BD382 /* PBXTextBookmark */ = 12C7009812B7BCE7006BD382 /* PBXTextBookmark */;
12C7009912B7BCE7006BD382 /* PBXTextBookmark */ = 12C7009912B7BCE7006BD382 /* PBXTextBookmark */;
12C704E512B7BD3E006BD382 /* PBXTextBookmark */ = 12C704E512B7BD3E006BD382 /* PBXTextBookmark */;
12C7FC4D12B7BCD3006BD382 /* PBXTextBookmark */ = 12C7FC4D12B7BCD3006BD382 /* PBXTextBookmark */;
12C7FC4E12B7BCD3006BD382 /* PlistBookmark */ = 12C7FC4E12B7BCD3006BD382 /* PlistBookmark */;
12C8CB6812B5529D003DA1E4 /* PBXTextBookmark */ = 12C8CB6812B5529D003DA1E4 /* PBXTextBookmark */;
12CC44C812B3947B007E0C76 /* PBXTextBookmark */ = 12CC44C812B3947B007E0C76 /* PBXTextBookmark */;
12D6232512BA5F380032F367 /* PBXTextBookmark */ = 12D6232512BA5F380032F367 /* PBXTextBookmark */;
12D6232612BA5F380032F367 /* PBXTextBookmark */ = 12D6232612BA5F380032F367 /* PBXTextBookmark */;
12DCD38E12BBA5D600A20635 /* PBXTextBookmark */ = 12DCD38E12BBA5D600A20635 /* PBXTextBookmark */;
12DCD38F12BBA5D600A20635 /* PBXTextBookmark */ = 12DCD38F12BBA5D600A20635 /* PBXTextBookmark */;
12E17AE612B2BA9B00607D8E /* PBXTextBookmark */ = 12E17AE612B2BA9B00607D8E /* PBXTextBookmark */;
12E6FB5712BB458400C2A021 /* PBXTextBookmark */ = 12E6FB5712BB458400C2A021 /* PBXTextBookmark */;
12EFD98A12B510D9002A1712 /* PBXTextBookmark */ = 12EFD98A12B510D9002A1712 /* PBXTextBookmark */;
12EFE2FD12B51ED5002A1712 /* PBXTextBookmark */ = 12EFE2FD12B51ED5002A1712 /* PBXTextBookmark */;
12EFE65A12B547A7002A1712 /* PBXTextBookmark */ = 12EFE65A12B547A7002A1712 /* PBXTextBookmark */;
12EFE95E12B549B6002A1712 /* PBXTextBookmark */ = 12EFE95E12B549B6002A1712 /* PBXTextBookmark */;
12F7FF0012BB9F3200949DEC /* PBXTextBookmark */ = 12F7FF0012BB9F3200949DEC /* PBXTextBookmark */;
12FC0E7512BB4B5200E9CFA8 /* PBXTextBookmark */ = 12FC0E7512BB4B5200E9CFA8 /* PBXTextBookmark */;
12FC0E9412BB65A800E9CFA8 /* PBXTextBookmark */ = 12FC0E9412BB65A800E9CFA8 /* PBXTextBookmark */;
};
sourceControlManager = 12C26D3712B0DDFC00AF7F4B /* Source Control */;
userBuildSettings = {
path = /Users/slice/Projects/fakesmc/Chameleon/RC5m/i386/libsaio/smbios_patcher.c;
sourceTree = "<absolute>";
};
1236A82312BD6023003F1DA9 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 1269260B12BC9B1B004D09F1 /* acpi_patcher.c */;
name = "acpi_patcher.c: 137";
rLen = 6;
rLoc = 3329;
rType = 0;
vrLen = 588;
vrLoc = 2933;
};
1236A82C12BD6023003F1DA9 /* gui.c */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.c.c;
name = gui.c;
path = /Users/slice/Projects/Chameleons/chameleon/branches/slice/i386/modules/GUI/gui.c;
sourceTree = "<absolute>";
};
124C492812B8C915005AA276 /* Memory.c */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.c.c;
vrLen = 637;
vrLoc = 0;
};
12679BA312BE822E00E3637F /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12BB721912BE659500B11948 /* nvidia.c */;
name = "nvidia.c: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 894;
vrLoc = 14871;
};
12679BA712BE822E00E3637F /* boot.c */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.c.c;
name = boot.c;
path = /Users/slice/Projects/Chameleons/chameleon/branches/slice/i386/boot2/boot.c;
sourceTree = "<absolute>";
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {903, 9698}}";
sepNavSelRange = "{16367, 7}";
sepNavVisRange = "{15853, 1136}";
};
};
1269260612BC99AD004D09F1 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12DCD39312BBA5D600A20635 /* NVRAM.c */;
name = "NVRAM.c: 147";
rLen = 14;
rLoc = 4792;
rType = 0;
vrLen = 574;
vrLoc = 4564;
};
1269260B12BC9B1B004D09F1 /* acpi_patcher.c */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.c.c;
name = acpi_patcher.c;
path = /Users/slice/Projects/Chameleons/chameleon/branches/slice/i386/modules/ACPIPatcher/acpi_patcher.c;
sourceTree = "<absolute>";
};
1299583012BEA42800C307EC /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12679BA712BE822E00E3637F /* boot.c */;
name = "boot.c: 549";
rLen = 7;
rLoc = 16367;
rType = 0;
vrLen = 1136;
vrLoc = 15853;
};
1299583112BEA42800C307EC /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 1299583212BEA42800C307EC /* cpu.c */;
rLen = 8;
rLoc = 4274;
rType = 0;
};
1299583212BEA42800C307EC /* cpu.c */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.c.c;
name = cpu.c;
path = /Users/slice/Projects/Chameleons/chameleon/branches/slice/i386/libsaio/cpu.c;
sourceTree = "<absolute>";
};
1299583312BEA42800C307EC /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 1299583412BEA42800C307EC /* cpu.c */;
name = "cpu.c: 133";
rLen = 8;
rLoc = 4274;
rType = 0;
vrLen = 967;
vrLoc = 3935;
};
1299583412BEA42800C307EC /* cpu.c */ = {
isa = PBXFileReference;
name = cpu.c;
path = /Users/slice/Projects/Chameleons/chameleon/branches/slice/i386/libsaio/cpu.c;
sourceTree = "<absolute>";
};
1299A51F12B3C328007ED516 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12CC4AEF12B39FC7007E0C76 /* zutil.h */;
path = /Users/slice/Projects/fakesmc/Chameleon/RC5m/i386/modules/Memory/spd.c;
sourceTree = "<absolute>";
};
12BB721512BE659500B11948 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 1236A82C12BD6023003F1DA9 /* gui.c */;
name = "gui.c: 728";
rLen = 16;
rLoc = 22079;
rType = 0;
vrLen = 909;
vrLoc = 21674;
};
12BB721912BE659500B11948 /* nvidia.c */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.c.c;
name = nvidia.c;
path = /Users/slice/Projects/Chameleons/chameleon/branches/slice/i386/modules/GraphicsEnabler/nvidia.c;
sourceTree = "<absolute>";
};
12BF14DA12B3CF8E00D798FE /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 1299A55A12B3C4DF007ED516 /* Symbols.c */;
vrLen = 419;
vrLoc = 398;
};
12DCD38A12BBA53700A20635 /* modules.c */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.c.c;
name = modules.c;
path = /Users/slice/Projects/Chameleons/chameleon/branches/slice/i386/boot2/modules.c;
sourceTree = "<absolute>";
};
12DCD38E12BBA5D600A20635 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12F7FF0412BB9F3200949DEC /* ntfs_private.h */;
name = "ntfs_private.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 1189;
vrLoc = 0;
};
12DCD38F12BBA5D600A20635 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12DCD38A12BBA53700A20635 /* modules.c */;
name = "modules.c: 1274";
rLen = 10;
rLoc = 29698;
rType = 0;
vrLen = 855;
vrLoc = 29322;
};
12DCD39312BBA5D600A20635 /* NVRAM.c */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.c.c;
name = NVRAM.c;
path = /Users/slice/Projects/Chameleons/chameleon/branches/slice/i386/modules/NVRAM/NVRAM.c;
sourceTree = "<absolute>";
};
12E17AE612B2BA9B00607D8E /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12B90A5712B2AE1300FE287A /* 915resolution.h */;
path = /Users/slice/Projects/fakesmc/Chameleon/RC5m/i386/libsaio/pci_root.c;
sourceTree = "<absolute>";
};
12F7FF0012BB9F3200949DEC /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12FC25E812BB825300E9CFA8 /* drivers.c */;
name = "drivers.c: 77";
rLen = 13;
rLoc = 2379;
rType = 0;
vrLen = 570;
vrLoc = 2251;
};
12F7FF0412BB9F3200949DEC /* ntfs_private.h */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.c.h;
name = ntfs_private.h;
path = /Users/slice/Projects/Chameleons/chameleon/branches/slice/i386/libsaio/ntfs_private.h;
sourceTree = "<absolute>";
};
12FC0E7512BB4B5200E9CFA8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12E6FB5B12BB458400C2A021 /* load.c */;
vrLen = 362;
vrLoc = 4873;
};
12FC14AE12BB730100E9CFA8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12FC14AF12BB730100E9CFA8 /* drivers.c */;
name = "drivers.c: 77";
rLen = 8;
rLoc = 2385;
rType = 0;
vrLen = 456;
vrLoc = 2046;
};
12FC14AF12BB730100E9CFA8 /* drivers.c */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.c.c;
name = drivers.c;
path = /Users/slice/Projects/fakesmc/Chameleon/RC5m/i386/boot2/drivers.c;
sourceTree = "<absolute>";
};
12FC25E712BB825300E9CFA8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12FC25E812BB825300E9CFA8 /* drivers.c */;
name = "drivers.c: 77";
rLen = 8;
rLoc = 2385;
rType = 0;
vrLen = 411;
vrLoc = 2046;
};
12FC25E812BB825300E9CFA8 /* drivers.c */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.c.c;
name = drivers.c;
path = /Users/slice/Projects/fakesmc/Chameleon/RC5m/i386/boot2/drivers.c;
sourceTree = "<absolute>";
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {903, 10686}}";
sepNavSelRange = "{2385, 8}";
sepNavVisRange = "{2046, 386}";
};
};
12FC291212BB848E00E9CFA8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12FC291312BB848E00E9CFA8 /* Makefile */;
name = "Makefile: 33";
rLen = 8;
rLoc = 650;
rType = 0;
vrLen = 792;
vrLoc = 320;
};
12FC291312BB848E00E9CFA8 /* Makefile */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.make;
name = Makefile;
path = /Users/slice/Projects/Chameleons/chameleon/branches/slice/Makefile;
sourceTree = "<absolute>";
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {903, 1794}}";
sepNavSelRange = "{991, 1}";
sepNavVisRange = "{942, 325}";
};
};
12FC291412BB848E00E9CFA8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12FC291512BB848E00E9CFA8 /* buildpkg */;
name = "buildpkg: 288";
rLen = 8;
rLoc = 10528;
rType = 0;
vrLen = 1412;
vrLoc = 9179;
};
12FC291512BB848E00E9CFA8 /* buildpkg */ = {
isa = PBXFileReference;
name = buildpkg;
path = /Users/slice/Projects/Chameleons/chameleon/branches/slice/package/buildpkg;
sourceTree = "<absolute>";
};
12FC291612BB848E00E9CFA8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12FC291712BB848E00E9CFA8 /* Makefile */;
rLen = 8;
rLoc = 4153;
rType = 0;
};
12FC291712BB848E00E9CFA8 /* Makefile */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.make;
name = Makefile;
path = /Users/slice/Projects/Chameleons/chameleon/branches/slice/i386/boot2/Makefile;
sourceTree = "<absolute>";
};
12FC291812BB848E00E9CFA8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12FC291912BB848E00E9CFA8 /* Makefile */;
name = "Makefile: 117";
rLen = 13;
rLoc = 4165;
rType = 0;
vrLen = 1365;
vrLoc = 3485;
};
12FC291912BB848E00E9CFA8 /* Makefile */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.make;
name = Makefile;
path = /Users/slice/Projects/Chameleons/chameleon/branches/slice/i386/boot2/Makefile;
sourceTree = "<absolute>";
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1018, 2106}}";
sepNavSelRange = "{4165, 13}";
sepNavVisRange = "{3485, 1365}";
};
};
12FC291F12BB84B200E9CFA8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 12FC25E812BB825300E9CFA8 /* drivers.c */;
name = "drivers.c: 77";
rLen = 8;
rLoc = 2385;
rType = 0;
vrLen = 386;
vrLoc = 2046;
};
8DD76FA90486AB0100D96B5E /* ChamMek */ = {
activeExec = 0;
executables = (
branches/slice/ChamMek/ChamMek.xcodeproj/slice.mode1v3
274274
275275
276276
277
278
279
280277
281278
282279
......
302299
303300
304301
305
302
306303
307304
308305
......
313310
314311
315312
316
317
318313
319314
320315
321316
322317
323
318
324319
325320
326321
......
328323
329324
330325
331
326
332327
333328
334329
335
330
336331
337332
338333
......
381376
382377
383378
384
379
380
381
382
383
384
385
386
387
385388
386389
387390
......
393396
394397
395398
396
399
397400
398
401
399402
400403
401404
402405
403
406
404407
405408
409
410
406411
407412
408413
......
413418
414419
415420
416
421
417422
418
423
419424
420425
421426
422427
423
428
424429
425430
426431
......
439444
440445
441446
442
447
443448
444
449
445450
446451
447452
......
584589
585590
586591
587
592
588593
589594
590595
......
661666
662667
663668
664
669
665670
666671
667672
......
783788
784789
785790
786
791
787792
788
789
790
791
792
793
794
795
796
797
793798
794799
795800
......
816821
817822
818823
824
825
819826
820827
821828
822829
823830
824
831
825832
826833
827834
828835
829836
830837
831
838
832839
833
840
834841
835842
836843
837844
838
845
839846
840847
841848
842
849
843850
844851
845852
......
852859
853860
854861
855
862
856863
857
864
858865
859866
860867
......
863870
864871
865872
866
873
867874
868875
869876
......
877884
878885
879886
880
881
887
888
882889
883890
884891
885892
886
893
887894
888895
889896
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
<integer>10</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
</array>
</array>
<real>164</real>
</array>
<key>RubberWindowFrame</key>
<string>152 173 1172 694 0 0 1440 878 </string>
<string>174 184 1172 694 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Dock</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CE0B20306471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>drivers.c</string>
<string>cpu.c</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<key>PBXProjectModuleGUID</key>
<string>1CE0B20406471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string>drivers.c</string>
<string>cpu.c</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>12FC291F12BB84B200E9CFA8</string>
<string>1299583312BEA42800C307EC</string>
<key>history</key>
<array>
<string>12121ED112B261EA00207E55</string>
<string>12E6FB5712BB458400C2A021</string>
<string>12FC0E7512BB4B5200E9CFA8</string>
<string>12FC0E9412BB65A800E9CFA8</string>
<string>12FC25E712BB825300E9CFA8</string>
<string>12F7FF0012BB9F3200949DEC</string>
<string>12DCD38E12BBA5D600A20635</string>
<string>12DCD38F12BBA5D600A20635</string>
<string>1269260612BC99AD004D09F1</string>
<string>1236A82312BD6023003F1DA9</string>
<string>12BB721512BE659500B11948</string>
<string>12679BA312BE822E00E3637F</string>
<string>1299583012BEA42800C307EC</string>
<string>1299583112BEA42800C307EC</string>
</array>
</dict>
<key>SplitCount</key>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {964, 185}}</string>
<string>{{0, 0}, {964, 351}}</string>
<key>RubberWindowFrame</key>
<string>152 173 1172 694 0 0 1440 878 </string>
<string>174 184 1172 694 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>185pt</string>
<string>351pt</string>
</dict>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 190}, {964, 463}}</string>
<string>{{0, 356}, {964, 297}}</string>
<key>RubberWindowFrame</key>
<string>152 173 1172 694 0 0 1440 878 </string>
<string>174 184 1172 694 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
<key>Proportion</key>
<string>463pt</string>
<string>297pt</string>
</dict>
</array>
<key>Proportion</key>
</array>
<key>TableOfContents</key>
<array>
<string>12FC292012BB84B200E9CFA8</string>
<string>1299583512BEA42800C307EC</string>
<string>1CE0B1FE06471DED0097A5F4</string>
<string>12FC292112BB84B200E9CFA8</string>
<string>1299583612BEA42800C307EC</string>
<string>1CE0B20306471E060097A5F4</string>
<string>1CE0B20506471E060097A5F4</string>
</array>
<string>/Users/slice/Projects/Chameleons/chameleon/branches/slice/ChamMek/ChamMek.xcodeproj</string>
</array>
<key>WindowString</key>
<string>152 173 1172 694 0 0 1440 878 </string>
<string>174 184 1172 694 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
<key>TableOfContents</key>
<array>
<string>12C26D3512B0DDFC00AF7F4B</string>
<string>12FC291012BB848E00E9CFA8</string>
<string>1299582212BEA40900C307EC</string>
<string>1CD0528F0623707200166675</string>
<string>XCMainBuildResultsModuleGUID</string>
</array>
<key>TableOfContents</key>
<array>
<string>1CD10A99069EF8BA00B06720</string>
<string>12FC0E7C12BB4B5200E9CFA8</string>
<string>1236A82512BD6023003F1DA9</string>
<string>1C162984064C10D400B95A72</string>
<string>12FC0E7D12BB4B5200E9CFA8</string>
<string>12FC0E7E12BB4B5200E9CFA8</string>
<string>12FC0E7F12BB4B5200E9CFA8</string>
<string>12FC0E8012BB4B5200E9CFA8</string>
<string>12FC0E8112BB4B5200E9CFA8</string>
<string>1236A82612BD6023003F1DA9</string>
<string>1236A82712BD6023003F1DA9</string>
<string>1236A82812BD6023003F1DA9</string>
<string>1236A82912BD6023003F1DA9</string>
<string>1236A82A12BD6023003F1DA9</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugV3</string>
<key>Dock</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CDD528C0622207200134675</string>
<key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</string>
<string>cpu.c</string>
<key>StatusBarVisibility</key>
<true/>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {1079, 456}}</string>
<string>{{0, 0}, {1109, 510}}</string>
<key>RubberWindowFrame</key>
<string>297 75 1079 762 0 0 1440 878 </string>
<string>254 61 1109 816 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>1079pt</string>
<string>1109pt</string>
</dict>
</array>
<key>Proportion</key>
<string>456pt</string>
<string>510pt</string>
</dict>
<dict>
<key>ContentConfiguration</key>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 461}, {1079, 260}}</string>
<string>{{0, 515}, {1109, 260}}</string>
<key>RubberWindowFrame</key>
<string>297 75 1079 762 0 0 1440 878 </string>
<string>254 61 1109 816 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXProjectFindModule</string>
</dict>
</array>
<key>Proportion</key>
<string>721pt</string>
<string>775pt</string>
</dict>
</array>
<key>Name</key>
<key>TableOfContents</key>
<array>
<string>1C530D57069F1CE1000CFCEE</string>
<string>12FC291A12BB848E00E9CFA8</string>
<string>12FC291B12BB848E00E9CFA8</string>
<string>1299582C12BEA40900C307EC</string>
<string>1299582D12BEA40900C307EC</string>
<string>1CDD528C0622207200134675</string>
<string>1CD0528E0623707200166675</string>
</array>
<key>WindowString</key>
<string>297 75 1079 762 0 0 1440 878 </string>
<string>254 61 1109 816 0 0 1440 878 </string>
<key>WindowToolGUID</key>
<string>1C530D57069F1CE1000CFCEE</string>
<key>WindowToolIsVisible</key>

Archive Download the corresponding diff file

Revision: 681