Chameleon

Chameleon Commit Details

Date:2017-03-23 00:52:45 (7 years 6 days ago)
Author:ErmaC
Commit:2849
Parents: 2848
Message:General Enoch Branch update
Changes:
M/branches/ErmaC/Enoch/i386/config/lxdialog/check-lxdialog.sh
M/branches/ErmaC/Enoch/i386/libsaio/smbios.c
M/branches/ErmaC/Enoch/i386/libsaio/smbios_decode.c
M/branches/ErmaC/Enoch/i386/libsaio/smbios.h
M/branches/ErmaC/Enoch/package/OptionalSettings/Control.txt
M/branches/ErmaC/Enoch/i386/libsaio/gma.c
M/branches/ErmaC/Enoch/package/po/it.po
M/branches/ErmaC/Enoch/package/po/pt.po
M/branches/ErmaC/Enoch/i386/libsaio/stringTable.c
M/branches/ErmaC/Enoch/i386/libsaio/memvendors.h
M/branches/ErmaC/Enoch/i386/libsaio/saio_types.h
M/branches/ErmaC/Enoch/i386/libsaio/smbios_getters.c
M/branches/ErmaC/Enoch/i386/config/lxdialog/dialog.h
M/branches/ErmaC/Enoch/i386/libsaio/device_inject.c
M/branches/ErmaC/Enoch/i386/libsaio/hda.c
M/branches/ErmaC/Enoch/i386/libsaio/smbios_getters.h
M/branches/ErmaC/Enoch/i386/libsaio/xml.c
M/branches/ErmaC/Enoch/i386/libsaio/hda.h
M/branches/ErmaC/Enoch/i386/libsaio/console.c
M/branches/ErmaC/Enoch/doc/BootHelp.txt
M/branches/ErmaC/Enoch/i386/libsaio/xml.h
M/branches/ErmaC/Enoch/i386/boot2/boot.c
M/branches/ErmaC/Enoch/package/po/chameleon.pot
M/branches/ErmaC/Enoch/i386/libsaio/nvidia.c
M/branches/ErmaC/Enoch/i386/boot2/boot.h
M/branches/ErmaC/Enoch/Cconfig
M/branches/ErmaC/Enoch/i386/libsaio/ati.c
M/branches/ErmaC/Enoch/i386/libsaio/bootstruct.h
M/branches/ErmaC/Enoch/package/po/pt-BR.po
M/branches/ErmaC/Enoch/i386/libsaio/nvidia.h
M/branches/ErmaC/Enoch/i386/boot2/drivers.c
M/branches/ErmaC/Enoch/i386/libsaio/ati.h
M/branches/ErmaC/Enoch/package/Scripts.templates/Post/postinstall
M/branches/ErmaC/Enoch/i386/libsaio/bootargs.h
M/branches/ErmaC/Enoch/i386/libsaio/spd.c
M/branches/ErmaC/Enoch/i386/libsaio/cpu.c
M/branches/ErmaC/Enoch/i386/libsaio/disk.c

File differences

branches/ErmaC/Enoch/i386/libsaio/smbios_getters.h
3333
3434
3535
36
36
37
3738
3839
3940
extern bool getProcessorInformationExternalClock(returnType *value);
extern bool getProcessorInformationMaximumClock(returnType *value);
extern bool getSMBOemProcessorBusSpeed(returnType *value);
//extern bool getSMBOemPlatformFeature(returnType *value);
extern bool getSMBOemPlatformFeature(returnType *value);
//external bool getSMBOemSMCVersion(returnType *value);
extern bool getSMBOemProcessorType(returnType *value);
extern bool getSMBMemoryDeviceMemoryType(returnType *value);
extern bool getSMBMemoryDeviceMemoryErrorHandle(returnType *value);
branches/ErmaC/Enoch/i386/libsaio/xml.c
912912
913913
914914
915
915
916916
917917
918918
//==========================================================================
// ParseTagData
static long ParseTagData( char *buffer, TagPtr *tag )
static long ParseTagData( char *buffer, TagPtr *tag)
{
intactuallen = 0;
longlength = 0;
branches/ErmaC/Enoch/i386/libsaio/console.c
207207
208208
209209
210
211
212
213
214
215210
216211
217212
......
228223
229224
230225
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249226
250227
251228
int getchar()
{
register int c = getc();
//if ( c == '\r' ) c = '\n';
//if ( c >= ' ' && c < 0x7f) putchar(c);
return (c);
}
{
vprf(fmt, ap);
}
/*
{
// Kabyl: BooterLog
struct putc_info pi;
if (!msgbuf) {
return 0;
}
if (((cursor - msgbuf) > (BOOTER_LOG_SIZE - SAFE_LOG_SIZE))) {
return 0;
}
pi.str = cursor;
pi.last_str = 0;
prf(fmt, ap, sputc, &pi);
cursor += strlen((char *)cursor);
}
*/
va_end(ap);
return 0;
}
branches/ErmaC/Enoch/i386/libsaio/xml.h
115115
116116
117117
118
119118
// ParseTag*
long ParseTagBoolean( char *buffer, TagPtr *tag, long type );
#endif /* __LIBSAIO_XML_H */
branches/ErmaC/Enoch/i386/libsaio/bootstruct.h
136136
137137
138138
139
139140
140141
141142
config_file_t helperConfig;// boot helper partition's boot.plist
config_file_t ramdiskConfig;// RAMDisk.plist
config_file_t kernelConfig;// kernel.plist
config_file_t kextConfig;// kext.plist
bool memDetect;
} PrivateBootInfo_t;
branches/ErmaC/Enoch/i386/libsaio/bootargs.h
140140
141141
142142
143
144
145
146
147
148
149
150
143
144
145
146
147
148
149
150
151
151152
152153
153154
......
156157
157158
158159
159
160
161
160162
161163
162164
/* Rootless configuration flags */
// http://www.idelta.info/archives/kext-to-check-sip-rootless-status-on-el-capitan/
#define CSR_ALLOW_UNTRUSTED_KEXTS(1 << 0) /* Allow untrusted kexts */
#define CSR_ALLOW_UNRESTRICTED_FS(1 << 1) /* Allow unrestricted file system. */
#define CSR_ALLOW_TASK_FOR_PID(1 << 2) /* Allow test_for_pid() */
#define CSR_ALLOW_KERNEL_DEBUGGER(1 << 3)
#define CSR_ALLOW_APPLE_INTERNAL(1 << 4)
#define CSR_ALLOW_UNRESTRICTED_DTRACE(1 << 5) /* Allow unrestricted dtrace */
#define CSR_ALLOW_UNRESTRICTED_NVRAM(1 << 6) /* Allow unrestricted NVRAM */
#define CSR_ALLOW_DEVICE_CONFIGURATION(1 << 7) /* Allow device configuration */
#define CSR_ALLOW_UNTRUSTED_KEXTS(1 << 0) /* Allow untrusted kexts */
#define CSR_ALLOW_UNRESTRICTED_FS(1 << 1) /* Allow unrestricted file system. */
#define CSR_ALLOW_TASK_FOR_PID(1 << 2) /* Allow test_for_pid() */
#define CSR_ALLOW_KERNEL_DEBUGGER(1 << 3)
#define CSR_ALLOW_APPLE_INTERNAL(1 << 4)
#define CSR_ALLOW_UNRESTRICTED_DTRACE(1 << 5) /* Allow unrestricted dtrace */
#define CSR_ALLOW_UNRESTRICTED_NVRAM(1 << 6) /* Allow unrestricted NVRAM */
#define CSR_ALLOW_DEVICE_CONFIGURATION(1 << 7) /* Allow device configuration */
#define CSR_DISABLE_BASESYSTEM_VERIFICATION(1 << 8)
#define CSR_VALID_FLAGS (CSR_ALLOW_UNTRUSTED_KEXTS | \
CSR_ALLOW_UNRESTRICTED_FS | \
CSR_ALLOW_APPLE_INTERNAL | \
CSR_ALLOW_UNRESTRICTED_DTRACE | \
CSR_ALLOW_UNRESTRICTED_NVRAM | \
CSR_ALLOW_DEVICE_CONFIGURATION)
CSR_ALLOW_DEVICE_CONFIGURATION | \
CSR_DISABLE_BASESYSTEM_VERIFICATION)
typedef struct boot_args
{
branches/ErmaC/Enoch/i386/libsaio/spd.c
6464
6565
6666
67
6768
6869
6970
7071
7172
73
7274
7375
7476
#define rdtsc(low,high) \
__asm__ __volatile__("rdtsc" : "=a" (low), "=d" (high))
// Intel SMB reg offsets
#define SMBHSTSTS 0
#define SMBHSTCNT 2
#define SMBHSTCMD 3
#define SMBHSTADD 4
#define SMBHSTDAT 5
#define SMBHSTDAT1 6
#define SBMBLKDAT 7
int spd_indexes[] = {
branches/ErmaC/Enoch/i386/libsaio/gma.c
443443
444444
445445
446
446
447447
448448
449449
{GMA_SKYLAKE_ULX_GT1,HD_GRAPHICS },/* 190E */
{GMA_SKYLAKE_ULX_GT2,HD_GRAPHICS_515 },/* 191E */
{GMA_SKYLAKE_DT_GT2,HD_GRAPHICS_530 },/* 1912 */
{GMA_SKYLAKE_1921,HD_GRAPHICS_520 },/* 1921 */
{GMA_SKYLAKE_1921,HD_GRAPHICS_520 },/* 1921 */
{GMA_SKYLAKE_ULT_GT3_E,IRIS_540 },/* 1926 */
{GMA_SKYLAKE_ULT_GT3,HD_GRAPHICS_535 },/* 1923 */
{GMA_SKYLAKE_ULT_GT3_28W,HD_GRAPHICS_550 },/* 1927 */
branches/ErmaC/Enoch/i386/libsaio/memvendors.h
887887
888888
889889
890
890891
891892
892893
{ 6, 0xf2, "Muscle Power"},
{ 6, 0x73, "Energy Micro"},
{ 6, 0xf4, "Innofidei"},
{ 0x85, 0x9B, "Crucial Technology"},
{ 9, 0xff, ""}
};
branches/ErmaC/Enoch/i386/libsaio/device_inject.c
170170
171171
172172
173
173
174174
175
175
176176
177177
178178
179179
180
180
181181
182182
183
183
184184
185
185
186186
187187
188188
189189
190190
191191
192
192
193193
194194
195195
196
196
197197
198198
199199
free(device);
return NULL;
}
device->numentries = 0x00;
device->acpi_dev_path.length= 0x0c;
device->acpi_dev_path.type= 0x02;
device->acpi_dev_path.subtype= 0x01;
device->acpi_dev_path._HID= 0xd041030a; // 0x0a0341d0
device->num_pci_devpaths = numpaths;
device->length = 24 + (6*numpaths);
inti;
for(i = 0; i < numpaths; i++)
{
device->pci_dev_path[i].length = 0x06;
device->pci_dev_path[i].type = 0x01;
device->pci_dev_path[i].subtype = 0x01;
}
device->path_end.length = 0x04;
device->path_end.type = 0x7f;
device->path_end.subtype = 0xff;
device->string = string;
device->data = NULL;
branches/ErmaC/Enoch/i386/libsaio/hda.c
120120
121121
122122
123
123124
124125
125126
......
134135
135136
136137
138
137139
138140
139141
......
144146
145147
146148
149
147150
151
152
153
154
148155
149156
150157
......
335342
336343
337344
345
338346
339347
340348
......
356364
357365
358366
359
360
361
362
363
364
367
368
369
370
371
372
365373
366374
367375
......
578586
579587
580588
589
590
581591
582592
583593
......
597607
598608
599609
610
611
612
600613
601614
602615
{ HDA_INTEL_HSW2,"Haswell"/*, 0, 0 */ },
{ HDA_INTEL_HSW3,"Haswell"/*, 0, 0 */ },
{ HDA_INTEL_BDW,"Broadwell"/*, 0, 0 */ },
{ HDA_INTEL_BROXTON_T,"Broxton-T"/*, 0, 0 */ },
{ HDA_INTEL_CPT,"Cougar Point"/*, 0, 0 */ },
{ HDA_INTEL_PATSBURG,"Patsburg"/*, 0, 0 */ },
{ HDA_INTEL_PPT1,"Panther Point"/*, 0, 0 */ },
{ HDA_INTEL_82801JD,"82801JD"/*, 0, 0 */ },
{ HDA_INTEL_PCH,"5 Series/3400 Series"/*, 0, 0 */ },
{ HDA_INTEL_PCH2,"5 Series/3400 Series"/*, 0, 0 */ },
{ HDA_INTEL_BROXTON_P,"Apollolake"/*, 0, 0 */ }, // Broxton-P
{ HDA_INTEL_SCH,"SCH"/*, 0, 0 */ },
{ HDA_INTEL_LPT1,"Lynx Point"/*, 0, 0 */ },
{ HDA_INTEL_LPT2,"Lynx Point"/*, 0, 0 */ },
{ HDA_INTEL_LPTLP1,"Lynx Point-LP"/*, 0, 0 */ },
{ HDA_INTEL_LPTLP2,"Lynx Point-LP"/*, 0, 0 */ },
{ HDA_INTEL_SRSPLP,"Sunrise Point-LP"/*, 0, 0 */ },
{ HDA_INTEL_KABYLAKE_LP, "Kabylake-LP"/*, 0, 0 */ }, // Kabylake-LP
{ HDA_INTEL_SRSP,"Sunrise Point"/*, 0, 0 */ },
{ HDA_INTEL_KABYLAKE,"Kabylake"/*, 0, 0 */ }, // Kabylake
{ HDA_INTEL_LEWISBURG1,"Lewisburg"/*, 0, 0 */ }, // Lewisburg
{ HDA_INTEL_LEWISBURG2,"Lewisburg"/*, 0, 0 */ }, // Lewisburg
{ HDA_INTEL_UNPT,"Union Point"/*, 0, 0 */ }, // Kabylake-H
//10de NVIDIA Corporation
{ HDA_NVIDIA_MCP51,"MCP51" /*, 0, HDAC_QUIRK_MSI */ },
{ HDA_CODEC_ALC898, 0, "ALC898" },
//{ HDA_CODEC_ALC899, 0,"ALC899" },
{ HDA_CODEC_ALC900, 0, "ALC1150" },
{ HDA_CODEC_ALCS1220A, 0,"ALCS1220A" },
{ HDA_CODEC_ALC1220, 0, "ALC1220" },
{ HDA_CODEC_AD1882, 0, "AD1882" },
{ HDA_CODEC_AD1989B, 0x0300,"AD2000B" }, // Revision Id: 0x100300
{ HDA_CODEC_AD1989B, 0, "AD1989B" },
{ HDA_CODEC_XFIEA, 0, "Creative X-Fi Extreme A" },
{ HDA_CODEC_XFIED, 0, "Creative X-Fi Extreme D" },
{ HDA_CODEC_CA0132, 0, "Creative CA0132" },
{ HDA_CODEC_SB0880, 0, "Creative SB0880 X-Fi" },
{ HDA_CODEC_CMI9880, 0, "CMedia CMI9880" },
{ HDA_CODEC_CMI98802, 0, "CMedia CMI9880" },
{ HDA_CODEC_XFIEA, 0, "X-Fi Extreme A" },
{ HDA_CODEC_XFIED, 0, "X-Fi Extreme D" },
{ HDA_CODEC_CA0132, 0, "CA0132" },
{ HDA_CODEC_SB0880, 0, "SB0880 X-Fi" },
{ HDA_CODEC_CMI9880, 0, "CMI9880" },
{ HDA_CODEC_CMI98802, 0, "CMI9880" },
{ HDA_CODEC_CXD9872RDK, 0, "CXD9872RD/K" },
{ HDA_CODEC_CXD9872AKD, 0, "CXD9872AKD" },
{ HDA_CODEC_INTELLLP, 0, "Haswell" },
{ HDA_CODEC_INTELBRW, 0, "Broadwell" },
{ HDA_CODEC_INTELSKL, 0, "Skylake" },
{ HDA_CODEC_INTELBRO, 0, "Broxton" },
{ HDA_CODEC_INTELKAB, 0, "Kabylake" },
{ HDA_CODEC_INTELCDT, 0, "CedarTrail" },
{ HDA_CODEC_INTELVLV, 0, "Valleyview2" },
{ HDA_CODEC_INTELBSW, 0, "Braswell" },
{ HDA_CODEC_CSXXXX, 0, "Cirrus Logic" },
{ HDA_CODEC_CXXXXX, 0, "Conexant" },
{ HDA_CODEC_CHXXXX, 0, "Chrontel" },
//{ HDA_CODEC_LGXXXX, 0, "LG" },
//{ HDA_CODEC_WMXXXX, 0, "Wolfson Microelectronics" },
//{ HDA_CODEC_QEMUXXXX, 0, "QEMU" },
{ HDA_CODEC_IDTXXXX, 0, "IDT" },
{ HDA_CODEC_INTELXXXX, 0, "Intel" },
{ HDA_CODEC_MOTOXXXX, 0, "Motorola" },
branches/ErmaC/Enoch/i386/libsaio/hda.h
9696
9797
9898
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
119121
120
121
122
123
124
125
126
127
128
129
130
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
131138
132139
133140
134141
135
136
137142
138143
139144
......
157162
158163
159164
160
165
161166
162167
163168
......
177182
178183
179184
180
181
182
183
184
185
186
187
188
189
190
191
192
193
185194
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
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
209225
210226
211227
212228
213
229
214230
215231
216232
217
233
234
235
218236
219237
220238
221239
222
240
223241
224242
225243
226244
227
245
228246
229247
230
248
249
250
231251
232
233
252
253
254
234255
235
236
237
238
239
240
241
242
243
244
245
246
247
248
256
257
249258
250
251
252
253
254
255
256
257
258
259
259
260
260261
261
262
263
264
262
263
265264
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
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
387265
388266
389267
......
456334
457335
458336
337
459338
460339
461340
......
497376
498377
499378
379
500380
501381
502382
......
620500
621501
622502
623
503
624504
625505
626506
......
734614
735615
736616
617
618
619
620
621
622
623
624
625
626
627
628
737629
738630
739631
......
745637
746638
747639
640
641
748642
749643
750644
/* Intel */
#define INTEL_VENDORIDPCI_VENDOR_ID_INTEL
#define HDA_INTEL_OAKHDA_MODEL_CONSTRUCT(INTEL, 0x080a)
#define HDA_INTEL_BAYHDA_MODEL_CONSTRUCT(INTEL, 0x0f04)
#define HDA_INTEL_HSW1HDA_MODEL_CONSTRUCT(INTEL, 0x0a0c)
#define HDA_INTEL_HSW2HDA_MODEL_CONSTRUCT(INTEL, 0x0c0c)
#define HDA_INTEL_HSW3HDA_MODEL_CONSTRUCT(INTEL, 0x0d0c)
#define HDA_INTEL_BDWHDA_MODEL_CONSTRUCT(INTEL, 0x160c)
#define HDA_INTEL_CPTHDA_MODEL_CONSTRUCT(INTEL, 0x1c20)
#define HDA_INTEL_PATSBURGHDA_MODEL_CONSTRUCT(INTEL, 0x1d20)
#define HDA_INTEL_PPT1HDA_MODEL_CONSTRUCT(INTEL, 0x1e20) // Macmini6,2
#define HDA_INTEL_BRASWELL HDA_MODEL_CONSTRUCT(INTEL, 0x2284)
#define HDA_INTEL_82801FHDA_MODEL_CONSTRUCT(INTEL, 0x2668)
#define HDA_INTEL_63XXESBHDA_MODEL_CONSTRUCT(INTEL, 0x269a)
#define HDA_INTEL_82801GHDA_MODEL_CONSTRUCT(INTEL, 0x27d8)
#define HDA_INTEL_82801HHDA_MODEL_CONSTRUCT(INTEL, 0x284b)
#define HDA_INTEL_82801IHDA_MODEL_CONSTRUCT(INTEL, 0x293e)
#define HDA_INTEL_ICH9HDA_MODEL_CONSTRUCT(INTEL, 0x293f)
#define HDA_INTEL_82801JIHDA_MODEL_CONSTRUCT(INTEL, 0x3a3e)
#define HDA_INTEL_82801JDHDA_MODEL_CONSTRUCT(INTEL, 0x3a6e)
#define HDA_INTEL_PCHHDA_MODEL_CONSTRUCT(INTEL, 0x3b56)
#define HDA_INTEL_PCH2HDA_MODEL_CONSTRUCT(INTEL, 0x3b57)
#define HDA_INTEL_OAKHDA_MODEL_CONSTRUCT(INTEL, 0x080a) /* Oaktrail */
#define HDA_INTEL_BAYHDA_MODEL_CONSTRUCT(INTEL, 0x0f04) /* BayTrail */
#define HDA_INTEL_HSW1HDA_MODEL_CONSTRUCT(INTEL, 0x0a0c) /* Haswell */
#define HDA_INTEL_HSW2HDA_MODEL_CONSTRUCT(INTEL, 0x0c0c) /* Haswell */
#define HDA_INTEL_HSW3HDA_MODEL_CONSTRUCT(INTEL, 0x0d0c) /* Haswell */
#define HDA_INTEL_BDWHDA_MODEL_CONSTRUCT(INTEL, 0x160c) /* Broadwell */
#define HDA_INTEL_BROXTON_THDA_MODEL_CONSTRUCT(INTEL, 0x1a98) /* Broxton-T */
#define HDA_INTEL_CPTHDA_MODEL_CONSTRUCT(INTEL, 0x1c20) /* CPT */
#define HDA_INTEL_PATSBURGHDA_MODEL_CONSTRUCT(INTEL, 0x1d20) /* PBG */
#define HDA_INTEL_PPT1HDA_MODEL_CONSTRUCT(INTEL, 0x1e20) /* Panther Point */
#define HDA_INTEL_BRASWELL HDA_MODEL_CONSTRUCT(INTEL, 0x2284) /* Braswell */
#define HDA_INTEL_82801FHDA_MODEL_CONSTRUCT(INTEL, 0x2668) /* ICH6 */
#define HDA_INTEL_63XXESBHDA_MODEL_CONSTRUCT(INTEL, 0x269a) /* ESB2 */
#define HDA_INTEL_82801GHDA_MODEL_CONSTRUCT(INTEL, 0x27d8) /* ICH7 */
#define HDA_INTEL_82801HHDA_MODEL_CONSTRUCT(INTEL, 0x284b) /* ICH8 */
#define HDA_INTEL_82801IHDA_MODEL_CONSTRUCT(INTEL, 0x293e) /* ICH9 */
#define HDA_INTEL_ICH9HDA_MODEL_CONSTRUCT(INTEL, 0x293f) /* ICH9 */
#define HDA_INTEL_82801JIHDA_MODEL_CONSTRUCT(INTEL, 0x3a3e) /* ICH10 */
#define HDA_INTEL_82801JDHDA_MODEL_CONSTRUCT(INTEL, 0x3a6e) /* ICH10 */
#define HDA_INTEL_PCHHDA_MODEL_CONSTRUCT(INTEL, 0x3b56) /* 5 Series/3400 */
#define HDA_INTEL_PCH2HDA_MODEL_CONSTRUCT(INTEL, 0x3b57) /* 5 Series/3400 */
#define HDA_INTEL_BROXTON_PHDA_MODEL_CONSTRUCT(INTEL, 0x5a98) /* Broxton-P(Apollolake) */
#define HDA_INTEL_MACBOOKPRO92HDA_MODEL_CONSTRUCT(INTEL, 0x7270)
#define HDA_INTEL_SCHHDA_MODEL_CONSTRUCT(INTEL, 0x811b)
#define HDA_INTEL_LPT1HDA_MODEL_CONSTRUCT(INTEL, 0x8c20)
#define HDA_INTEL_LPT2HDA_MODEL_CONSTRUCT(INTEL, 0x8c21)
#define HDA_INTEL_WCPTHDA_MODEL_CONSTRUCT(INTEL, 0x8ca0)
#define HDA_INTEL_WELLS1HDA_MODEL_CONSTRUCT(INTEL, 0x8d20)
#define HDA_INTEL_WELLS2HDA_MODEL_CONSTRUCT(INTEL, 0x8d21)
#define HDA_INTEL_WCPTLP HDA_MODEL_CONSTRUCT(INTEL, 0x9ca0)
#define HDA_INTEL_LPTLP1HDA_MODEL_CONSTRUCT(INTEL, 0x9c20)
#define HDA_INTEL_LPTLP2HDA_MODEL_CONSTRUCT(INTEL, 0x9c21)
#define HDA_INTEL_SRSPLP HDA_MODEL_CONSTRUCT(INTEL, 0x9d70)
#define HDA_INTEL_SRSPHDA_MODEL_CONSTRUCT(INTEL, 0xa170)
#define HDA_INTEL_SCHHDA_MODEL_CONSTRUCT(INTEL, 0x811b) /* Poulsbo */
#define HDA_INTEL_LPT1HDA_MODEL_CONSTRUCT(INTEL, 0x8c20) /* Lynx Point */
#define HDA_INTEL_LPT2HDA_MODEL_CONSTRUCT(INTEL, 0x8c21) /* Lynx Point */
#define HDA_INTEL_WCPTHDA_MODEL_CONSTRUCT(INTEL, 0x8ca0) /* 9 Series */
#define HDA_INTEL_WELLS1HDA_MODEL_CONSTRUCT(INTEL, 0x8d20) /* Wellsburg */
#define HDA_INTEL_WELLS2HDA_MODEL_CONSTRUCT(INTEL, 0x8d21) /* Wellsburg */
#define HDA_INTEL_WCPTLP HDA_MODEL_CONSTRUCT(INTEL, 0x9ca0) /* Wildcat Point-LP */
#define HDA_INTEL_LPTLP1HDA_MODEL_CONSTRUCT(INTEL, 0x9c20) /* Lynx Point-LP */
#define HDA_INTEL_LPTLP2HDA_MODEL_CONSTRUCT(INTEL, 0x9c21) /* Lynx Point-LP */
#define HDA_INTEL_SRSPLP HDA_MODEL_CONSTRUCT(INTEL, 0x9d70) /* Sunrise Point-LP */
#define HDA_INTEL_KABYLAKE_LPHDA_MODEL_CONSTRUCT(INTEL, 0x9d71) /* Kabylake-LP */
#define HDA_INTEL_SRSPHDA_MODEL_CONSTRUCT(INTEL, 0xa170) /* Sunrise Point */
#define HDA_INTEL_KABYLAKEHDA_MODEL_CONSTRUCT(INTEL, 0xa171) /* Kabylake */
#define HDA_INTEL_LEWISBURG1HDA_MODEL_CONSTRUCT(INTEL, 0xa1f0) /* Lewisburg */
#define HDA_INTEL_LEWISBURG2HDA_MODEL_CONSTRUCT(INTEL, 0xa270) /* Lewisburg */
#define HDA_INTEL_UNPTHDA_MODEL_CONSTRUCT(INTEL, 0xa2f0) /* Kabylake-H */
#define HDA_INTEL_ALLHDA_MODEL_CONSTRUCT(INTEL, 0xffff)
/* Nvidia */
#define NVIDIA_VENDORIDPCI_VENDOR_ID_NVIDIA
// AppleHDA binary contain 0a00de10 (10de000a)
// AppleHDAController binary contain de10ea0b (10de0bea)
#define HDA_NVIDIA_MCP51HDA_MODEL_CONSTRUCT(NVIDIA, 0x026c)
#define HDA_NVIDIA_MCP55HDA_MODEL_CONSTRUCT(NVIDIA, 0x0371)
#define HDA_NVIDIA_MCP61_1HDA_MODEL_CONSTRUCT(NVIDIA, 0x03e4)
#define HDA_NVIDIA_0BE4HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be4) // [GeForge GT 240] HDACodec 10de000d (0d00de10)
#define HDA_NVIDIA_GT100HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be5) // [GeForge GTX 470] HDACodec 10de0010 (1000de10)
#define HDA_NVIDIA_GT106HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be9)
#define HDA_NVIDIA_GT108HDA_MODEL_CONSTRUCT(NVIDIA, 0x0bea) // HDACodec
#define HDA_NVIDIA_GT108HDA_MODEL_CONSTRUCT(NVIDIA, 0x0bea) // HDACodec
#define HDA_NVIDIA_GT104HDA_MODEL_CONSTRUCT(NVIDIA, 0x0beb)
#define HDA_NVIDIA_GT116HDA_MODEL_CONSTRUCT(NVIDIA, 0x0bee)
#define HDA_NVIDIA_MCP89_1HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d94)
/* ATI */
#define ATI_VENDORIDPCI_VENDOR_ID_ATI
#define HDA_ATI_SB450HDA_MODEL_CONSTRUCT(ATI, 0x437b)
#define HDA_ATI_SB600HDA_MODEL_CONSTRUCT(ATI, 0x4383)
#define HDA_ATI_HUDSONHDA_MODEL_CONSTRUCT(ATI, 0x780d)
#define HDA_ATI_RS600HDA_MODEL_CONSTRUCT(ATI, 0x793b)
#define HDA_ATI_RS690HDA_MODEL_CONSTRUCT(ATI, 0x7919)
//#define HDA_ATI_0002HDA_MODEL_CONSTRUCT(ATI, 0x0002) /* ATI HDMI */
//#define HDA_ATI_1308HDA_MODEL_CONSTRUCT(ATI, 0x1308) /* ATI HDMI */
//#define HDA_ATI_177AHDA_MODEL_CONSTRUCT(ATI, 0x157a) /* ATI HDMI */
//#define HDA_ATI_15B3HDA_MODEL_CONSTRUCT(ATI, 0x15b3) /* ATI HDMI */
#define HDA_ATI_SB450HDA_MODEL_CONSTRUCT(ATI, 0x437b) /* ATI SB 450/600/700/800/900 */
#define HDA_ATI_SB600HDA_MODEL_CONSTRUCT(ATI, 0x4383) /* ATI SB 450/600/700/800/900 */
#define HDA_ATI_HUDSONHDA_MODEL_CONSTRUCT(ATI, 0x780d) /* PCI_DEVICE(0x1022, 0x780d) */
#define HDA_ATI_RS600HDA_MODEL_CONSTRUCT(ATI, 0x793b) /* ATI HDMI */
#define HDA_ATI_RS690HDA_MODEL_CONSTRUCT(ATI, 0x7919) /* ATI HDMI */
#define HDA_ATI_RS780HDA_MODEL_CONSTRUCT(ATI, 0x960f)
#define HDA_ATI_RS880HDA_MODEL_CONSTRUCT(ATI, 0x970f)
#define HDA_ATI_TRINITYHDA_MODEL_CONSTRUCT(ATI, 0x9902)
#define HDA_ATI_R600HDA_MODEL_CONSTRUCT(ATI, 0xaa00)
#define HDA_ATI_RV630HDA_MODEL_CONSTRUCT(ATI, 0xaa08)
#define HDA_ATI_RV610HDA_MODEL_CONSTRUCT(ATI, 0xaa10)
#define HDA_ATI_RV670HDA_MODEL_CONSTRUCT(ATI, 0xaa18)
#define HDA_ATI_RV635HDA_MODEL_CONSTRUCT(ATI, 0xaa20)
#define HDA_ATI_RV620HDA_MODEL_CONSTRUCT(ATI, 0xaa28)
#define HDA_ATI_RV770HDA_MODEL_CONSTRUCT(ATI, 0xaa30)
#define HDA_ATI_RV730HDA_MODEL_CONSTRUCT(ATI, 0xaa38)
#define HDA_ATI_RV710HDA_MODEL_CONSTRUCT(ATI, 0xaa40)
#define HDA_ATI_RV740HDA_MODEL_CONSTRUCT(ATI, 0xaa48)
#define HDA_ATI_RV870HDA_MODEL_CONSTRUCT(ATI, 0xaa50)
#define HDA_ATI_RV840HDA_MODEL_CONSTRUCT(ATI, 0xaa58) // Codec 021001aa (1002aa01)
#define HDA_ATI_RV830HDA_MODEL_CONSTRUCT(ATI, 0xaa60)
#define HDA_ATI_RV810HDA_MODEL_CONSTRUCT(ATI, 0xaa68)
#define HDA_ATI_RV970HDA_MODEL_CONSTRUCT(ATI, 0xaa80)
#define HDA_ATI_RV940HDA_MODEL_CONSTRUCT(ATI, 0xaa88)
#define HDA_ATI_RV930HDA_MODEL_CONSTRUCT(ATI, 0xaa90)
#define HDA_ATI_RV910HDA_MODEL_CONSTRUCT(ATI, 0xaa98)
#define HDA_ATI_R1000HDA_MODEL_CONSTRUCT(ATI, 0xaaa0)
#define HDA_ATI_SIHDA_MODEL_CONSTRUCT(ATI, 0xaaa8)
#define HDA_ATI_VERDEHDA_MODEL_CONSTRUCT(ATI, 0xaab0)
#define HDA_ATI_RS880HDA_MODEL_CONSTRUCT(ATI, 0x970f) /* ATI HDMI */
//#define HDA_ATI_9840HDA_MODEL_CONSTRUCT(ATI, 0x9840) /* ATI HDMI */
#define HDA_ATI_TRINITYHDA_MODEL_CONSTRUCT(ATI, 0x9902) /* ATI HDMI */
#define HDA_ATI_R600HDA_MODEL_CONSTRUCT(ATI, 0xaa00) /* ATI HDMI */
#define HDA_ATI_RV630HDA_MODEL_CONSTRUCT(ATI, 0xaa08) /* ATI HDMI */
#define HDA_ATI_RV610HDA_MODEL_CONSTRUCT(ATI, 0xaa10) /* ATI HDMI */
#define HDA_ATI_RV670HDA_MODEL_CONSTRUCT(ATI, 0xaa18) /* ATI HDMI */
#define HDA_ATI_RV635HDA_MODEL_CONSTRUCT(ATI, 0xaa20) /* ATI HDMI */
#define HDA_ATI_RV620HDA_MODEL_CONSTRUCT(ATI, 0xaa28) /* ATI HDMI */
#define HDA_ATI_RV770HDA_MODEL_CONSTRUCT(ATI, 0xaa30) /* ATI HDMI */
#define HDA_ATI_RV730HDA_MODEL_CONSTRUCT(ATI, 0xaa38) /* ATI HDMI */
#define HDA_ATI_RV710HDA_MODEL_CONSTRUCT(ATI, 0xaa40) /* ATI HDMI */
#define HDA_ATI_RV740HDA_MODEL_CONSTRUCT(ATI, 0xaa48) /* ATI HDMI */
#define HDA_ATI_RV870HDA_MODEL_CONSTRUCT(ATI, 0xaa50) /* ATI HDMI */
#define HDA_ATI_RV840HDA_MODEL_CONSTRUCT(ATI, 0xaa58) /* ATI HDMI */
#define HDA_ATI_RV830HDA_MODEL_CONSTRUCT(ATI, 0xaa60) /* ATI HDMI */
#define HDA_ATI_RV810HDA_MODEL_CONSTRUCT(ATI, 0xaa68) /* ATI HDMI */
#define HDA_ATI_RV970HDA_MODEL_CONSTRUCT(ATI, 0xaa80) /* ATI HDMI */
#define HDA_ATI_RV940HDA_MODEL_CONSTRUCT(ATI, 0xaa88) /* ATI HDMI */
#define HDA_ATI_RV930HDA_MODEL_CONSTRUCT(ATI, 0xaa90) /* ATI HDMI */
#define HDA_ATI_RV910HDA_MODEL_CONSTRUCT(ATI, 0xaa98) /* ATI HDMI */
#define HDA_ATI_R1000HDA_MODEL_CONSTRUCT(ATI, 0xaaa0) /* ATI HDMI */
#define HDA_ATI_SIHDA_MODEL_CONSTRUCT(ATI, 0xaaa8) /* ATI HDMI */
#define HDA_ATI_VERDEHDA_MODEL_CONSTRUCT(ATI, 0xaab0) /* ATI HDMI */
//#define HDA_ATI_AAC0HDA_MODEL_CONSTRUCT(ATI, 0xaac0) /* ATI HDMI */
//#define HDA_ATI_AAC8HDA_MODEL_CONSTRUCT(ATI, 0xaac8) /* ATI HDMI */
//#define HDA_ATI_AAD8HDA_MODEL_CONSTRUCT(ATI, 0xaad8) /* ATI HDMI */
//#define HDA_ATI_AAE8HDA_MODEL_CONSTRUCT(ATI, 0xaae8) /* ATI HDMI */
//#define HDA_ATI_AAE0HDA_MODEL_CONSTRUCT(ATI, 0xaae0) /* ATI HDMI */
//#define HDA_ATI_AAF0HDA_MODEL_CONSTRUCT(ATI, 0xaaf0) /* ATI HDMI */
#define HDA_ATI_ALLHDA_MODEL_CONSTRUCT(ATI, 0xffff)
/* RDC */
#define RDC_VENDORID0x17f3
#define HDA_RDC_M3010HDA_MODEL_CONSTRUCT(RDC, 0x3010)
#define HDA_RDC_M3010HDA_MODEL_CONSTRUCT(RDC, 0x3010) /* Vortex86MX */
/* VIA */
#define VIA_VENDORID0x1106
#define HDA_VIA_VT82XXHDA_MODEL_CONSTRUCT(VIA, 0x3288)
#define HDA_VIA_VT82XXHDA_MODEL_CONSTRUCT(VIA, 0x3288) /* VIA VT8251/VT8237A */
//#define HDA_VIA_VT71XXHDA_MODEL_CONSTRUCT(VIA, 0x9170) /* VIA GFX VT7122/VX900 */
//#define HDA_VIA_VT61XXHDA_MODEL_CONSTRUCT(VIA, 0x9140) /* VIA GFX VT6122/VX11 */
#define HDA_VIA_ALLHDA_MODEL_CONSTRUCT(VIA, 0xffff)
/* SiS */
#define SIS_VENDORID0x1039
#define HDA_SIS_966HDA_MODEL_CONSTRUCT(SIS, 0x7502)
#define HDA_SIS_966HDA_MODEL_CONSTRUCT(SIS, 0x7502) /* SIS966 */
#define HDA_SIS_ALLHDA_MODEL_CONSTRUCT(SIS, 0xffff)
/* ULI */
#define ULI_VENDORID0x10b9
#define HDA_ULI_M5461HDA_MODEL_CONSTRUCT(ULI, 0x5461)
#define HDA_ULI_M5461HDA_MODEL_CONSTRUCT(ULI, 0x5461) /* ULI M5461 */
#define HDA_ULI_ALLHDA_MODEL_CONSTRUCT(ULI, 0xffff)
/* OEM/subvendors */
/* Teradici */
//{ PCI_DEVICE(0x6549, 0x1200),
//{ PCI_DEVICE(0x6549, 0x2200}
/* Intel */
#define INTEL_D101GGC_SUBVENDORHDA_MODEL_CONSTRUCT(INTEL, 0xd600)
/* CTHDA chips */
//{ PCI_DEVICE(0x1102, 0x0010),
//{ PCI_DEVICE(0x1102, 0x0012),
/* HP/Compaq */
#define HP_VENDORID0x103c
#define HP_V3000_SUBVENDORHDA_MODEL_CONSTRUCT(HP, 0x30b5)
#define HP_NX7400_SUBVENDORHDA_MODEL_CONSTRUCT(HP, 0x30a2)
#define HP_NX6310_SUBVENDORHDA_MODEL_CONSTRUCT(HP, 0x30aa)
#define HP_NX6325_SUBVENDORHDA_MODEL_CONSTRUCT(HP, 0x30b0)
#define HP_XW4300_SUBVENDORHDA_MODEL_CONSTRUCT(HP, 0x3013)
#define HP_3010_SUBVENDORHDA_MODEL_CONSTRUCT(HP, 0x3010)
#define HP_DV5000_SUBVENDORHDA_MODEL_CONSTRUCT(HP, 0x30a5)
#define HP_DC7700S_SUBVENDORHDA_MODEL_CONSTRUCT(HP, 0x2801)
#define HP_DC7700_SUBVENDORHDA_MODEL_CONSTRUCT(HP, 0x2802)
#define HP_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(HP, 0xffff)
/* What is wrong with XN 2563 anyway? (Got the picture ?) */
#define HP_NX6325_SUBVENDORX0x103c30b0
/* this entry seems still valid -- i.e. without emu20kx chip */
//{ PCI_DEVICE(0x1102, 0x0009
/* Dell */
#define DELL_VENDORID0x1028
#define DELL_D630_SUBVENDORHDA_MODEL_CONSTRUCT(DELL, 0x01f9)
#define DELL_D820_SUBVENDORHDA_MODEL_CONSTRUCT(DELL, 0x01cc)
#define DELL_V1400_SUBVENDORHDA_MODEL_CONSTRUCT(DELL, 0x0227)
#define DELL_V1500_SUBVENDORHDA_MODEL_CONSTRUCT(DELL, 0x0228)
#define DELL_I1300_SUBVENDORHDA_MODEL_CONSTRUCT(DELL, 0x01c9)
#define DELL_XPSM1210_SUBVENDORHDA_MODEL_CONSTRUCT(DELL, 0x01d7)
#define DELL_OPLX745_SUBVENDORHDA_MODEL_CONSTRUCT(DELL, 0x01da)
#define DELL_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(DELL, 0xffff)
/* CM8888 */
//{ PCI_DEVICE(0x13f6, 0x5011),
/* Clevo */
#define CLEVO_VENDORID0x1558
#define CLEVO_D900T_SUBVENDORHDA_MODEL_CONSTRUCT(CLEVO, 0x0900)
#define CLEVO_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(CLEVO, 0xffff)
/* VMware HDAudio */
//{ PCI_DEVICE(0x15ad, 0x1977),
/* Acer */
#define ACER_VENDORID0x1025
#define ACER_A5050_SUBVENDORHDA_MODEL_CONSTRUCT(ACER, 0x010f)
#define ACER_A4520_SUBVENDORHDA_MODEL_CONSTRUCT(ACER, 0x0127)
#define ACER_A4710_SUBVENDORHDA_MODEL_CONSTRUCT(ACER, 0x012f)
#define ACER_A4715_SUBVENDORHDA_MODEL_CONSTRUCT(ACER, 0x0133)
#define ACER_3681WXM_SUBVENDORHDA_MODEL_CONSTRUCT(ACER, 0x0110)
#define ACER_T6292_SUBVENDORHDA_MODEL_CONSTRUCT(ACER, 0x011b)
#define ACER_T5320_SUBVENDORHDA_MODEL_CONSTRUCT(ACER, 0x011f)
#define ACER_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(ACER, 0xffff)
/* Asus */
#define ASUS_VENDORID0x1043
#define ASUS_A8X_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x1153)
#define ASUS_U5F_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x1263)
#define ASUS_W6F_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x1263)
#define ASUS_A7M_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x1323)
#define ASUS_F3JC_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x1338)
#define ASUS_G2K_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x1339)
#define ASUS_A7T_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x13c2)
#define ASUS_W2J_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x1971)
#define ASUS_M5200_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x1993)
#define ASUS_P5PL2_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x817f)
#define ASUS_P1AH2_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x81cb)
#define ASUS_M2NPVMX_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x81cb)
#define ASUS_M2V_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x81e7)
#define ASUS_P5BWD_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x81ec)
#define ASUS_M2N_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0x8234)
#define ASUS_A8NVMCSM_SUBVENDORHDA_MODEL_CONSTRUCT(NVIDIA, 0xcb84)
#define ASUS_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(ASUS, 0xffff)
/* IBM / Lenovo */
#define IBM_VENDORID0x1014
#define IBM_M52_SUBVENDORHDA_MODEL_CONSTRUCT(IBM, 0x02f6)
#define IBM_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(IBM, 0xffff)
/* Lenovo */
#define LENOVO_VENDORID0x17aa
#define LENOVO_3KN100_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0x2066)
#define LENOVO_3KN200_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0x384e)
#define LENOVO_B450_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0x3a0d)
#define LENOVO_TCA55_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0x1015)
#define LENOVO_X300_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0x20ac)
#define LENOVO_X1_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0x21e8)
#define LENOVO_X1CRBN_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0x21f9)
#define LENOVO_X220_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0x21da)
#define LENOVO_T420_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0x21ce)
#define LENOVO_T430_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0x21f3)
#define LENOVO_T430S_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0x21fb)
#define LENOVO_T520_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0x21cf)
#define LENOVO_T530_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0x21f6)
#define LENOVO_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(LENOVO, 0xffff)
/* Samsung */
#define SAMSUNG_VENDORID0x144d
#define SAMSUNG_Q1_SUBVENDORHDA_MODEL_CONSTRUCT(SAMSUNG, 0xc027)
#define SAMSUNG_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(SAMSUNG, 0xffff)
/* Medion ? */
#define MEDION_VENDORID0x161f
#define MEDION_MD95257_SUBVENDORHDA_MODEL_CONSTRUCT(MEDION, 0x203d)
#define MEDION_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(MEDION, 0xffff)
/* Apple Computer Inc. */
#define APPLE_VENDORIDPCI_VENDOR_ID_APPLE
#define APPLE_MB3_SUBVENDORHDA_MODEL_CONSTRUCT(APPLE, 0x00a1)
/* Sony */
#define SONY_VENDORID0x104d
#define SONY_S5_SUBVENDORHDA_MODEL_CONSTRUCT(SONY, 0x81cc)
#define SONY_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(SONY, 0xffff)
/*
* Apple Intel MacXXXX seems using Sigmatel codec/vendor id
* instead of their own, which is beyond my comprehension
* (see HDA_CODEC_STAC9221 below).
*/
#define APPLE_INTEL_MAC 0x76808384
#define APPLE_MACBOOKAIR31 0x0d9410de
#define APPLE_MACBOOKPRO55 0xcb7910de
#define APPLE_MACBOOKPRO71 0xcb8910de
/* LG Electronics */
#define LG_VENDORID0x1854
#define LG_LW20_SUBVENDORHDA_MODEL_CONSTRUCT(LG, 0x0018)
#define LG_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(LG, 0xffff)
/* Fujitsu Siemens */
#define FS_VENDORID0x1734
#define FS_PA1510_SUBVENDORHDA_MODEL_CONSTRUCT(FS, 0x10b8)
#define FS_SI1848_SUBVENDORHDA_MODEL_CONSTRUCT(FS, 0x10cd)
#define FS_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(FS, 0xffff)
/* Fujitsu Limited */
#define FL_VENDORID0x10cf
#define FL_S7020D_SUBVENDORHDA_MODEL_CONSTRUCT(FL, 0x1326)
#define FL_U1010_SUBVENDORHDA_MODEL_CONSTRUCT(FL, 0x142d)
#define FL_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(FL, 0xffff)
/* Toshiba */
#define TOSHIBA_VENDORID0x1179
#define TOSHIBA_U200_SUBVENDORHDA_MODEL_CONSTRUCT(TOSHIBA, 0x0001)
#define TOSHIBA_A135_SUBVENDORHDA_MODEL_CONSTRUCT(TOSHIBA, 0xff01)
#define TOSHIBA_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(TOSHIBA, 0xffff)
/* Micro-Star International (MSI) */
#define MSI_VENDORID0x1462
#define MSI_MS1034_SUBVENDORHDA_MODEL_CONSTRUCT(MSI, 0x0349)
#define MSI_MS034A_SUBVENDORHDA_MODEL_CONSTRUCT(MSI, 0x034a)
#define MSI_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(MSI, 0xffff)
/* Giga-Byte Technology */
#define GB_VENDORID0x1458
#define GB_G33S2H_SUBVENDORHDA_MODEL_CONSTRUCT(GB, 0xa022)
#define GP_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(GB, 0xffff)
/* Uniwill ? */
#define UNIWILL_VENDORID0x1584
#define UNIWILL_9075_SUBVENDORHDA_MODEL_CONSTRUCT(UNIWILL, 0x9075)
#define UNIWILL_9080_SUBVENDORHDA_MODEL_CONSTRUCT(UNIWILL, 0x9080)
//#define HDEF_PATH "PciRoot(0x0)/Pci(0x1b,0x0)"
//#define PINCONF_LEN ( sizeof(default_PinConfiguration) / sizeof(uint8_t) )
#define HDA0_LEN ( sizeof(default_HDEF_layout_id) / sizeof(uint8_t) )
//#define HDA_CODEC_ALC898 HDA_CODEC_CONSTRUCT(REALTEK, 0x0898)
//#define HDA_CODEC_ALC899 HDA_CODEC_CONSTRUCT(REALTEK, 0x0899)
#define HDA_CODEC_ALC900 HDA_CODEC_CONSTRUCT(REALTEK, 0x0900)
#define HDA_CODEC_ALCS1220AHDA_CODEC_CONSTRUCT(REALTEK, 0x1168)
#define HDA_CODEC_ALC1220 HDA_CODEC_CONSTRUCT(REALTEK, 0x1220)
#define HDA_CODEC_ALCXXXX HDA_CODEC_CONSTRUCT(REALTEK, 0xffff)
#define HDA_CODEC_CMI9880 HDA_CODEC_CONSTRUCT(CMEDIA, 0x9880)
#define HDA_CODEC_CMIXXXX HDA_CODEC_CONSTRUCT(CMEDIA, 0xffff)
/* CMedia */
#define CMEDIA2_VENDORID 0x434d
#define HDA_CODEC_CMI98802 HDA_CODEC_CONSTRUCT(CMEDIA2, 0x4980)
#define HDA_CODEC_CMIXXXX2 HDA_CODEC_CONSTRUCT(CMEDIA2, 0xffff)
#define HDA_CODEC_SII1392 HDA_CODEC_CONSTRUCT(SII, 0x1392)
#define HDA_CODEC_SIIXXXX HDA_CODEC_CONSTRUCT(SII, 0xffff)
/* Lucent/Agere */
/* LSI - Lucent/Agere */
#define AGERE_VENDORID 0x11c1
#define HDA_CODEC_AGEREXXXX HDA_CODEC_CONSTRUCT(AGERE, 0xffff)
#define CHRONTEL_VENDORID 0x17e8
#define HDA_CODEC_CHXXXX HDA_CODEC_CONSTRUCT(CHRONTEL, 0xffff)
/* LG */
#define LG_VENDORID 0x1854
#define HDA_CODEC_LGXXXX HDA_CODEC_CONSTRUCT(LG, 0xffff)
/* Wolfson Microelectronics */
#define WOLFSON_VENDORID 0x14ec
#define HDA_CODEC_WMXXXX HDA_CODEC_CONSTRUCT(WOLFSON, 0xffff)
/* QEMU */
#define QEMU_VENDORID 0x1af4
#define HDA_CODEC_QEMUXXXX HDA_CODEC_CONSTRUCT(QEMU, 0xffff)
/* INTEL */
#define HDA_CODEC_INTELIPHDA_CODEC_CONSTRUCT(INTEL, 0x0054)
#define HDA_CODEC_INTELBLHDA_CODEC_CONSTRUCT(INTEL, 0x2801)
#define HDA_CODEC_INTELLLPHDA_CODEC_CONSTRUCT(INTEL, 0x2807) // Haswell HDMI
#define HDA_CODEC_INTELBRWHDA_CODEC_CONSTRUCT(INTEL, 0x2808) // Broadwell HDMI
#define HDA_CODEC_INTELSKLHDA_CODEC_CONSTRUCT(INTEL, 0x2809) // Skylake HDMI
#define HDA_CODEC_INTELBROHDA_CODEC_CONSTRUCT(INTEL, 0x280a) // Broxton HDMI
#define HDA_CODEC_INTELKABHDA_CODEC_CONSTRUCT(INTEL, 0x280b) // Kabylake HDMI
#define HDA_CODEC_INTELCDTHDA_CODEC_CONSTRUCT(INTEL, 0x2880) // CedarTrail HDMI
#define HDA_CODEC_INTELVLVHDA_CODEC_CONSTRUCT(INTEL, 0x2882) // Valleyview2 HDMI
#define HDA_CODEC_INTELBSWHDA_CODEC_CONSTRUCT(INTEL, 0x2883) // Braswell HDMI
branches/ErmaC/Enoch/i386/libsaio/nvidia.c
172172
173173
174174
175
175
176176
177177
178178
......
19271927
19281928
19291929
1930
1930
19311931
19321932
1933
1933
19341934
19351935
19361936
......
19401940
19411941
19421942
1943
1943
19441944
19451945
19461946
......
19571957
19581958
19591959
1960
1960
19611961
19621962
19631963
19641964
1965
1965
19661966
19671967
1968
1968
19691969
19701970
19711971
......
21462146
21472147
21482148
2149
2149
21502150
21512151
21522152
};
static nvidia_pci_info_t nvidia_card_generic[] = {
// 0000 - 0040
// 0000 - 0040
{ 0x10DE0000,"Unknown" },
// 0040 - 004F
/*
{
if (nvidia_card_generic[i].device == device_id)
{
return nvidia_card_generic[i].name;
return nvidia_card_generic[i].name_model;
}
}
return nvidia_card_generic[0].name;
return nvidia_card_generic[0].name_model;
}
// Then check the exceptions table
{
if ((nvidia_card_exceptions[i].device == device_id) && (nvidia_card_exceptions[i].subdev == subsys_id))
{
return nvidia_card_exceptions[i].name;
return nvidia_card_exceptions[i].name_model;
}
}
}
if (nvidia_card_vendors[j].device == (subsys_id & 0xffff0000))
{
snprintf(generic_name, 128, "%s %s", // sizeof(generic_name), "%s %s",
nvidia_card_vendors[j].name, nvidia_card_generic[i].name);
nvidia_card_vendors[j].name_model, nvidia_card_generic[i].name_model);
return &generic_name[0];
}
}
}
return nvidia_card_generic[i].name;
return nvidia_card_generic[i].name_model;
}
}
return nvidia_card_generic[0].name;
return nvidia_card_generic[0].name_model;
}
static int devprop_add_nvidia_template(DevPropDevice *device)
break;
}
DBG("mem_detected %ld\n", vram_size);
DBG("mem_detected %ldMb\n", (vram_size >> 20));
return vram_size;
}
branches/ErmaC/Enoch/i386/libsaio/ati.c
309309
310310
311311
312
312
313313
314314
315315
......
321321
322322
323323
324
325
326
327
328
329
330
331
332
324333
325334
326335
......
909918
910919
911920
921
912922
913923
914924
......
14601470
14611471
14621472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
14631520
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
15141521
15151522
15161523
......
15181525
15191526
15201527
1521
1528
15221529
15231530
15241531
......
15651572
15661573
15671574
1568
1569
1575
1576
15701577
15711578
15721579
......
16041611
16051612
16061613
1607
1614
16081615
16091616
16101617
16111618
1612
1619
16131620
16141621
16151622
......
16551662
16561663
16571664
1658
1659
1660
1665
16611666
16621667
16631668
......
16691674
16701675
16711676
1672
1673
1674
1677
16751678
16761679
16771680
{ 0x67CA, 0x00000000, CHIP_FAMILY_ELLESMERE, "AMD Radeon Polaris 10", kNull },
{ 0x67CC, 0x00000000, CHIP_FAMILY_ELLESMERE, "AMD Radeon Polaris 10", kNull },
{ 0x67CF, 0x00000000, CHIP_FAMILY_ELLESMERE, "AMD Radeon Polaris 10", kNull },
{ 0x67DF, 0x00000000, CHIP_FAMILY_ELLESMERE, "AMD Radeon RX480", kDayman },
{ 0x67DF, 0x00000000, CHIP_FAMILY_ELLESMERE, "AMD Radeon RX480", kBaladi },
// Polaris 11
{ 0x67E0, 0x00000000, CHIP_FAMILY_BAFFIN, "AMD Radeon RX460", kAcre },
{ 0x67EB, 0x00000000, CHIP_FAMILY_BAFFIN, "AMD Radeon Polaris 11", kNull },
{ 0x67EF, 0x00000000, CHIP_FAMILY_BAFFIN, "AMD Radeon RX460", kAcre },
{ 0x67FF, 0x00000000, CHIP_FAMILY_BAFFIN, "AMD Radeon Polaris 11", kNull },
// Polaris 12
{ 0x6980, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12", kNull },
{ 0x6981, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12", kNull },
{ 0x6985, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12", kNull },
{ 0x6986, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12", kNull },
{ 0x6987, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12", kNull },
{ 0x699F, 0x00000000, CHIP_FAMILY_GREENLAND, "AMD Radeon Polaris 12", kNull },
// PITCAIRN
{ 0x6800,0x00000000, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD 7970M",kBuri}, // Mobile
{ 0x6801,0x00000000, CHIP_FAMILY_PITCAIRN,"AMD Radeon HD 8970M Series",kFutomaki}, // Mobile
"Tobago",
"Ellesmere",
"Baffin",
"Greenland",
""
};
RegWrite32(AVIVO_D2VGA_CONTROL, d2vga_control);
RegWrite32(AVIVO_VGA_RENDER_CONTROL, vga_render_control);
RegWrite32(R600_ROM_CNTL, rom_cntl);
} else if (chip_family >= CHIP_FAMILY_R600) {
uint32_t viph_control= RegRead32(RADEON_VIPH_CONTROL);
uint32_t bus_cntl= RegRead32(RADEON_BUS_CNTL);
uint32_t d1vga_control= RegRead32(AVIVO_D1VGA_CONTROL);
uint32_t d2vga_control= RegRead32(AVIVO_D2VGA_CONTROL);
uint32_t vga_render_control= RegRead32(AVIVO_VGA_RENDER_CONTROL);
uint32_t rom_cntl= RegRead32(R600_ROM_CNTL);
uint32_t general_pwrmgt= RegRead32(R600_GENERAL_PWRMGT);
uint32_t low_vid_lower_gpio_cntl= RegRead32(R600_LOW_VID_LOWER_GPIO_CNTL);
uint32_t medium_vid_lower_gpio_cntl= RegRead32(R600_MEDIUM_VID_LOWER_GPIO_CNTL);
uint32_t high_vid_lower_gpio_cntl= RegRead32(R600_HIGH_VID_LOWER_GPIO_CNTL);
uint32_t ctxsw_vid_lower_gpio_cntl= RegRead32(R600_CTXSW_VID_LOWER_GPIO_CNTL);
uint32_t lower_gpio_enable= RegRead32(R600_LOWER_GPIO_ENABLE);
// disable VIP
RegWrite32(RADEON_VIPH_CONTROL, (viph_control & ~RADEON_VIPH_EN));
// enable the rom
RegWrite32(RADEON_BUS_CNTL, (bus_cntl & ~RADEON_BUS_BIOS_DIS_ROM));
// Disable VGA mode
RegWrite32(AVIVO_D1VGA_CONTROL, (d1vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE | AVIVO_DVGA_CONTROL_TIMING_SELECT)));
RegWrite32(AVIVO_D2VGA_CONTROL, (d2vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE | AVIVO_DVGA_CONTROL_TIMING_SELECT)));
RegWrite32(AVIVO_VGA_RENDER_CONTROL, (vga_render_control & ~AVIVO_VGA_VSTATUS_CNTL_MASK));
RegWrite32(R600_ROM_CNTL, ((rom_cntl & ~R600_SCK_PRESCALE_CRYSTAL_CLK_MASK) | (1 << R600_SCK_PRESCALE_CRYSTAL_CLK_SHIFT) | R600_SCK_OVERWRITE));
RegWrite32(R600_GENERAL_PWRMGT, (general_pwrmgt & ~R600_OPEN_DRAIN_PADS));
RegWrite32(R600_LOW_VID_LOWER_GPIO_CNTL, (low_vid_lower_gpio_cntl & ~0x400));
RegWrite32(R600_MEDIUM_VID_LOWER_GPIO_CNTL, (medium_vid_lower_gpio_cntl & ~0x400));
RegWrite32(R600_HIGH_VID_LOWER_GPIO_CNTL, (high_vid_lower_gpio_cntl & ~0x400));
RegWrite32(R600_CTXSW_VID_LOWER_GPIO_CNTL, (ctxsw_vid_lower_gpio_cntl & ~0x400));
RegWrite32(R600_LOWER_GPIO_ENABLE, (lower_gpio_enable | 0x400));
ret = read_vbios(true);
// restore regs
RegWrite32(RADEON_VIPH_CONTROL, viph_control);
RegWrite32(RADEON_BUS_CNTL, bus_cntl);
RegWrite32(AVIVO_D1VGA_CONTROL, d1vga_control);
RegWrite32(AVIVO_D2VGA_CONTROL, d2vga_control);
RegWrite32(AVIVO_VGA_RENDER_CONTROL, vga_render_control);
RegWrite32(R600_ROM_CNTL, rom_cntl);
RegWrite32(R600_GENERAL_PWRMGT, general_pwrmgt);
RegWrite32(R600_LOW_VID_LOWER_GPIO_CNTL, low_vid_lower_gpio_cntl);
RegWrite32(R600_MEDIUM_VID_LOWER_GPIO_CNTL, medium_vid_lower_gpio_cntl);
RegWrite32(R600_HIGH_VID_LOWER_GPIO_CNTL, high_vid_lower_gpio_cntl);
RegWrite32(R600_CTXSW_VID_LOWER_GPIO_CNTL, ctxsw_vid_lower_gpio_cntl);
RegWrite32(R600_LOWER_GPIO_ENABLE, lower_gpio_enable);
}
else
if (chip_family >= CHIP_FAMILY_R600)
{
uint32_t viph_control= RegRead32(RADEON_VIPH_CONTROL);
uint32_t bus_cntl= RegRead32(RADEON_BUS_CNTL);
uint32_t d1vga_control= RegRead32(AVIVO_D1VGA_CONTROL);
uint32_t d2vga_control= RegRead32(AVIVO_D2VGA_CONTROL);
uint32_t vga_render_control= RegRead32(AVIVO_VGA_RENDER_CONTROL);
uint32_t rom_cntl= RegRead32(R600_ROM_CNTL);
uint32_t general_pwrmgt= RegRead32(R600_GENERAL_PWRMGT);
uint32_t low_vid_lower_gpio_cntl= RegRead32(R600_LOW_VID_LOWER_GPIO_CNTL);
uint32_t medium_vid_lower_gpio_cntl= RegRead32(R600_MEDIUM_VID_LOWER_GPIO_CNTL);
uint32_t high_vid_lower_gpio_cntl= RegRead32(R600_HIGH_VID_LOWER_GPIO_CNTL);
uint32_t ctxsw_vid_lower_gpio_cntl= RegRead32(R600_CTXSW_VID_LOWER_GPIO_CNTL);
uint32_t lower_gpio_enable= RegRead32(R600_LOWER_GPIO_ENABLE);
// disable VIP
RegWrite32(RADEON_VIPH_CONTROL, (viph_control & ~RADEON_VIPH_EN));
// enable the rom
RegWrite32(RADEON_BUS_CNTL, (bus_cntl & ~RADEON_BUS_BIOS_DIS_ROM));
// Disable VGA mode
RegWrite32(AVIVO_D1VGA_CONTROL, (d1vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE | AVIVO_DVGA_CONTROL_TIMING_SELECT)));
RegWrite32(AVIVO_D2VGA_CONTROL, (d2vga_control & ~(AVIVO_DVGA_CONTROL_MODE_ENABLE | AVIVO_DVGA_CONTROL_TIMING_SELECT)));
RegWrite32(AVIVO_VGA_RENDER_CONTROL, (vga_render_control & ~AVIVO_VGA_VSTATUS_CNTL_MASK));
RegWrite32(R600_ROM_CNTL, ((rom_cntl & ~R600_SCK_PRESCALE_CRYSTAL_CLK_MASK) | (1 << R600_SCK_PRESCALE_CRYSTAL_CLK_SHIFT) | R600_SCK_OVERWRITE));
RegWrite32(R600_GENERAL_PWRMGT, (general_pwrmgt & ~R600_OPEN_DRAIN_PADS));
RegWrite32(R600_LOW_VID_LOWER_GPIO_CNTL, (low_vid_lower_gpio_cntl & ~0x400));
RegWrite32(R600_MEDIUM_VID_LOWER_GPIO_CNTL, (medium_vid_lower_gpio_cntl & ~0x400));
RegWrite32(R600_HIGH_VID_LOWER_GPIO_CNTL, (high_vid_lower_gpio_cntl & ~0x400));
RegWrite32(R600_CTXSW_VID_LOWER_GPIO_CNTL, (ctxsw_vid_lower_gpio_cntl & ~0x400));
RegWrite32(R600_LOWER_GPIO_ENABLE, (lower_gpio_enable | 0x400));
ret = read_vbios(true);
// restore regs
RegWrite32(RADEON_VIPH_CONTROL, viph_control);
RegWrite32(RADEON_BUS_CNTL, bus_cntl);
RegWrite32(AVIVO_D1VGA_CONTROL, d1vga_control);
RegWrite32(AVIVO_D2VGA_CONTROL, d2vga_control);
RegWrite32(AVIVO_VGA_RENDER_CONTROL, vga_render_control);
RegWrite32(R600_ROM_CNTL, rom_cntl);
RegWrite32(R600_GENERAL_PWRMGT, general_pwrmgt);
RegWrite32(R600_LOW_VID_LOWER_GPIO_CNTL, low_vid_lower_gpio_cntl);
RegWrite32(R600_MEDIUM_VID_LOWER_GPIO_CNTL, medium_vid_lower_gpio_cntl);
RegWrite32(R600_HIGH_VID_LOWER_GPIO_CNTL, high_vid_lower_gpio_cntl);
RegWrite32(R600_CTXSW_VID_LOWER_GPIO_CNTL, ctxsw_vid_lower_gpio_cntl);
RegWrite32(R600_LOWER_GPIO_ENABLE, lower_gpio_enable);
}
return ret;
}
bool radeon_card_posted(void)
{
uint32_t reg;
// first check CRTCs
reg = RegRead32(RADEON_CRTC_GEN_CNTL) | RegRead32(RADEON_CRTC2_GEN_CNTL);
if (reg & RADEON_CRTC_EN)
static bool init_card(pci_dt_t *pci_dev)
{
booladd_vbios = true;
inti;
intn_ports = 0;
inti;
intn_ports = 0;
card = malloc(sizeof(card_t));
if (!card)
DBG("Framebuffer @0x%08X MMIO @0x%08XI/O Port @0x%08X ROM Addr @0x%08X\n",
(unsigned) card->fb, (unsigned) card->mmio, (unsigned) card->io, pci_config_read32(pci_dev->dev.addr, PCI_ROM_ADDRESS));
card->posted = radeon_card_posted();
DBG("ATI card %s, ", card->posted ? "POSTed" : "non-POSTed");
DBG("\n");
get_vram_size();
getBoolForKey(kATYbinimage, &add_vbios, &bootInfo->chameleonConfig);
if (add_vbios)
// which means one of the fb's or kNull
DBG("Framebuffer set to device's default: %s\n", card->cfg_name);
}
else
{
} else {
// else, use the fb name returned by AtiConfig.
verbose("(AtiConfig) Framebuffer set to: %s\n", card->cfg_name);
}
{
card->ports = (uint8_t)n_ports; // use it.
DBG("(AtiPorts) Nr of ports set to: %d\n", card->ports);
}
else
{
} else {
// else, match cfg_name with card_configs list and retrive default nr of ports.
for (i = 0; i < kCfgEnd; i++)
{
branches/ErmaC/Enoch/i386/libsaio/nvidia.h
5555
5656
5757
58
58
5959
6060
6161
6262
6363
6464
65
65
6666
6767
6868
struct nvidia_pci_info_t;
typedef struct {
uint32_t device; // VendorID + DeviceID
char *name;
char *name_model;
} nvidia_pci_info_t;
struct nvidia_card_info_t;
typedef struct {
uint32_t device; // VendorID + DeviceID
uint32_t subdev; // SubdeviceID + SubvendorID
char *name;
char *name_model;
//bool kEnableHDMIAudio //HDMi
//VRAM
} nvidia_card_info_t;
branches/ErmaC/Enoch/i386/libsaio/ati.h
107107
108108
109109
110
110111
111112
112113
CHIP_FAMILY_TOBAGO,
CHIP_FAMILY_ELLESMERE, /* Polaris 10 */
CHIP_FAMILY_BAFFIN, /* Polaris 11 */
CHIP_FAMILY_GREENLAND, /* Polaris 12 */
CHIP_FAMILY_LAST
} ati_chip_family_t;
branches/ErmaC/Enoch/i386/libsaio/cpu.c
284284
285285
286286
287
287
288288
289289
290290
......
408408
409409
410410
411
411
412412
413
413
414
415
414416
415
417
416418
417419
418420
......
469471
470472
471473
474
472475
473476
474477
......
587590
588591
589592
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
611614
612615
613616
*
* -- zenith432, May 22nd, 2016
*/
void* memcpy_interruptible(void* dst, const void* src, size_t len)
void *memcpy_interruptible(void *dst, const void *src, size_t len)
{
uint64_t tscFreq, lastTsc;
uint32_t eflags, threshold;
* The BrandString 48 bytes (max), guaranteed to
* be NULL terminated.
*/
do_cpuid(0x80000002, reg);
do_cpuid(0x80000002, reg); // Processor Brand String
memcpy(&str[0], (char *)reg, 16);
do_cpuid(0x80000003, reg);
do_cpuid(0x80000003, reg); // Processor Brand String
memcpy(&str[16], (char *)reg, 16);
do_cpuid(0x80000004, reg);
do_cpuid(0x80000004, reg); // Processor Brand String
memcpy(&str[32], (char *)reg, 16);
for (s = str; *s != '\0'; s++)
{
break;
}
}
void scan_cpu(PlatformInfo_t *p)
{
verbose("[ CPU INFO ]\n");
case CPUID_MODEL_CLARKDALE: // Intel Core i3, i5, i7 LGA1156 (32nm)
case CPUID_MODEL_NEHALEM_EX:
case CPUID_MODEL_JAKETOWN:
case CPUID_MODEL_SANDYBRIDGE:
case CPUID_MODEL_IVYBRIDGE:
case CPUID_MODEL_IVYBRIDGE_XEON:
case CPUID_MODEL_HASWELL_U5:
case CPUID_MODEL_HASWELL:
case CPUID_MODEL_HASWELL_SVR:
case CPUID_MODEL_HASWELL_ULT:
case CPUID_MODEL_HASWELL_ULX:
case CPUID_MODEL_BROADWELL_HQ:
case CPUID_MODEL_BRASWELL:
case CPUID_MODEL_AVOTON:
case CPUID_MODEL_SKYLAKE:
case CPUID_MODEL_BRODWELL_SVR:
case CPUID_MODEL_BRODWELL_MSVR:
case CPUID_MODEL_KNIGHT:
case CPUID_MODEL_ANNIDALE:
case CPUID_MODEL_GOLDMONT:
case CPUID_MODEL_VALLEYVIEW:
case CPUID_MODEL_SKYLAKE_S:
case CPUID_MODEL_SKYLAKE_AVX:
case CPUID_MODEL_CANNONLAKE:
case CPUID_MODEL_SANDYBRIDGE: // 0x2A
case CPUID_MODEL_IVYBRIDGE: // 0x3A
case CPUID_MODEL_IVYBRIDGE_XEON:// 0x3E
case CPUID_MODEL_HASWELL_U5: // 0x3D
case CPUID_MODEL_HASWELL: // 0x3C
case CPUID_MODEL_HASWELL_SVR: // 0x3F
case CPUID_MODEL_HASWELL_ULT: // 0x45
case CPUID_MODEL_HASWELL_ULX: // 0x46
case CPUID_MODEL_BROADWELL_HQ: // 0x47
case CPUID_MODEL_BRASWELL:// 0x4C
case CPUID_MODEL_AVOTON: // 0x4D
case CPUID_MODEL_SKYLAKE: // 0x4E
case CPUID_MODEL_BRODWELL_SVR: // 0x4F
case CPUID_MODEL_BRODWELL_MSVR: // 0x56
case CPUID_MODEL_KNIGHT: // 0x57
case CPUID_MODEL_ANNIDALE: // 0x5A
case CPUID_MODEL_GOLDMONT: // 0x5C
case CPUID_MODEL_VALLEYVIEW: // 0x5D
case CPUID_MODEL_SKYLAKE_S: // 0x5E
case CPUID_MODEL_SKYLAKE_AVX: // 0x55
case CPUID_MODEL_CANNONLAKE: // 0x66
msr = rdmsr64(MSR_CORE_THREAD_COUNT); // 0x35
p->CPU.NoCores= (uint32_t)bitfield((uint32_t)msr, 31, 16);
p->CPU.NoThreads= (uint32_t)bitfield((uint32_t)msr, 15, 0);
branches/ErmaC/Enoch/i386/libsaio/disk.c
22272227
22282228
22292229
2230
2231
2232
2233
2230
2231
22342232
22352233
22362234
22372235
2238
2239
2240
2236
22412237
22422238
22432239
22442240
22452241
2246
2247
2248
2242
22492243
22502244
22512245
......
22552249
22562250
22572251
2258
2259
2260
2252
22612253
22622254
22632255
......
22692261
22702262
22712263
2272
2273
2274
2275
2276
2264
2265
22772266
22782267
22792268
......
22892278
22902279
22912280
2292
2293
2294
2281
22952282
22962283
22972284
22982285
22992286
2300
2301
2302
2287
23032288
23042289
23052290
val = XMLDecode(raw);
}
/*
* Traverse gDISKBVmap to get references for
* individual bvr chains of each drive.
*/
// Traverse gDISKBVmap to get references for
// individual bvr chains of each drive.
for (map = gDiskBVMap; map; map = map->next)
{
for (bvr = map->bvr; bvr; bvr = bvr->next)
{
/*
* Save the last bvr.
*/
// Save the last bvr.
if (newBVR)
{
prevBVR = newBVR;
}
/*
* Allocate and copy the matched bvr entry into a new one.
*/
// Allocate and copy the matched bvr entry into a new one.
newBVR = (BVRef) malloc(sizeof(*newBVR));
if (!newBVR)
{
bcopy(bvr, newBVR, sizeof(*newBVR));
/*
* Adjust the new bvr's fields.
*/
// Adjust the new bvr's fields.
newBVR->next = NULL;
newBVR->filtered = true;
newBVR->visible = true;
}
/*
* Looking for "Hide Partition" entries in 'hd(x,y)|uuid|"label" hd(m,n)|uuid|"label"' format,
* to be able to hide foreign partitions from the boot menu.
*
*/
// Looking for "Hide Partition" entries in 'hd(x,y)|uuid|"label" hd(m,n)|uuid|"label"' format,
// to be able to hide foreign partitions from the boot menu.
if ( (newBVR->flags & kBVFlagForeignBoot) )
{
char *start, *next = val;
while ( next && *next );
}
/*
* Use the first bvr entry as the starting chain pointer.
*/
// Use the first bvr entry as the starting chain pointer.
if (!chain)
{
chain = newBVR;
}
/*
* Update the previous bvr's link pointer to use the new memory area.
*/
// Update the previous bvr's link pointer to use the new memory area.
if (prevBVR)
{
prevBVR->next = newBVR;
branches/ErmaC/Enoch/i386/libsaio/smbios.c
1313
1414
1515
16
16
1717
1818
1919
20
20
2121
22
22
2323
2424
2525
......
108108
109109
110110
111
112
113
111
112
113
114114
115
116
117
118
115119
116120
117121
......
127131
128132
129133
134
135
136
137
138
139
130140
131141
132142
......
372382
373383
374384
385
386
387
388
389
390
375391
376392
377393
......
384400
385401
386402
403
404
405
406
407
387408
409
388410
389411
390412
......
418440
419441
420442
421
422
423443
424444
425445
426
427
428446
429447
430448
431449
432450
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452451
453452
454
455453
456454
457455
......
461459
462460
463461
464
465
466
467462
468463
469464
470465
471466
472467
473
474
475
476
477
478
479
480
481
482
483468
484469
485
486470
487471
488472
489473
490474
491475
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515476
516477
517
518478
519479
520480
......
528488
529489
530490
531
532
533491
534492
535493
......
537495
538496
539497
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563498
564499
565
566
567500
568501
569502
570503
571
572504
573
574505
575506
576507
......
578509
579510
580511
581
582512
583
584
585
586513
587514
588515
589516
590517
591
592518
593
594
595519
596520
597521
598522
599523
600
601524
602
603525
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618526
619527
620528
......
1091999
10921000
10931001
1094
1002
10951003
10961004
10971005
10981006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
10991026
1100
11011027
11021028
11031029
......
12411167
12421168
12431169
1244
1170
1171
12451172
12461173
12471174
......
12691196
12701197
12711198
1199
12721200
12731201
12741202
#include "convert.h"
#ifndef DEBUG_SMBIOS
#define DEBUG_SMBIOS 0
#define DEBUG_SMBIOS 0
#endif
#if DEBUG_SMBIOS
#define DBG(x...)printf(x)
#define DBG(x...)printf(x)
#else
#define DBG(x...)msglog(x)
#define DBG(x...)msglog(x)
#endif
#define SMBPlist&bootInfo->smbiosConfig
// Bungo:
#define kSMBMemoryDeviceAssetTagKey"SMmemassettag" //
/* ===========================================
Memory SPD Data (Apple Specific - Type 130)
============================================= */
/* =====================================================
Firmware Volume Description (Apple Specific - Type 128)
======================================================= */
/* =========================================
Memory SPD Data (Apple Specific - Type 130)
=========================================== */
/* ============================================
OEM Processor Type (Apple Specific - Type 131)
============================================== */
================================================ */
//#define kSMBOemPlatformFeatureKey"SMoemplatformfeature"
/* ==========================================
OEM Platform SMC (Apple Specific - Type 134)
============================================ */
//#define kSMBOemSMCKey "SMoemsmc"
/* ==================================================*/
#define getFieldOffset(struct, field)((uint8_t)(uint32_t)&(((struct *)0)->field))
Apple Specific
============== */
// Firmware Volume Description (Apple Specific - Type 128)
// kSMBTypeFirmwareVolume
// Memory SPD Data (Apple Specific - Type 130)
// kSMBTypeMemorySPD
// OEM Processor Type (Apple Specific - Type 131)
{kSMBTypeOemProcessorType,kSMBWord,getFieldOffset(SMBOemProcessorType, ProcessorType),kSMBOemProcessorTypeKey,
getSMBOemProcessorType,NULL},
/*
{kSMBTypeOemPlatformFeature,kSMBWord,getFieldOffset(SMBOemPlatformFeature, PlatformFeature),kSMBOemPlatformFeatureKey,
getSMBOemPlatformFeature,NULL}
// OEM Platform Feature (Apple Specific - Type 134)
{kSMBTypeOemSMCVersion,kSMBWord,getFieldOffset(SMBOemSMCVersion, SMCVersion),kSMBOemSMCVersionKey,
getSMBOemSMCVersion,NULL}
*/
};
int numOfSetters = sizeof(SMBSetters) / sizeof(SMBValueSetter);
//#define kDefaultBoardProcessorType"11" // 0xB
#define kDefaultSystemVersion"1.0"
#define kDefaultBIOSRelease256 // 256 = 0x0100 -> swap bytes: 0x0001 -> Release: 0.1 (see SMBIOS spec. table Type 0)
//#define kDefaultLocatioInChassis"Part Component"
//#define KDefaultBoardSerialNumber"C02140302D5DMT31M" // new C07019501PLDCVHAD - C02032101R5DC771H
//=========== Mac mini ===========
#define kDefaultMacMiniFamily"Napa Mac" // Macmini2,1 family = "Napa Mac" not "Mac mini"
//#define kDefaultMacMiniBoardAssetTagNumber"Mini-Aluminum"
#define kDefaultMacMini"Macmini2,1"
#define kDefaultMacMiniBIOSVersion" MM21.88Z.009A.B00.0706281359"
#define kDefaultMacMiniBIOSReleaseDate"06/28/07"
#define kDefaultMacMiniBoardProduct"Mac-F4208EAA"
// MacMini5,1 Mac-8ED6AF5B48C039E1 - MM51.88Z.0077.B0F.1110201309
// MacMini5,2 Mac-4BC72D62AD45599E
// MacMini5,3
// Bios: MM51.88Z.0077.B10.1201241549
// Board: Mac-F65AE981FFA204ED
// Data: 01/24/2012
// MacMini 6,1
// Bios: MM61.88Z.0106.B03.1211161202
// Board: Mac-F65AE981FFA204ED
// Data: 10/14/2012
// MacMini 6,2
// Bios: MM61.88Z.0106.B03.1211161202
// Board: Mac-FC02E91DDD3FA6A4
// Data: 10/14/2012
//=========== MacBook ===========
#define kDefaultMacBookFamily"MacBook"
//#define kDefaultMacBookBoardAssetTagNumber"MacBook-Black"
#define kDefaultMacBook"MacBook4,1"
#define kDefaultMacBookBIOSVersion" MB41.88Z.00C1.B00.0802091535"
//=========== MacBookAir ===========
#define kDefaultMacBookAirFamily"MacBook Air"
// MacBookAir4,1 - Mac-C08A6BB70A942AC2
// MacBookAir4,2 - Mac-742912EFDBEE19B3
// MacBookAir5,2
#define kDefaultMacBookAir"MacBookAir5,2"
#define kDefaultMacBookAirBIOSVersion" MBA51.88Z.00EF.B00.1205221442"
#define kDefaultMacBookAirBIOSReleaseDate"05/10/12"
#define kDefaultMacBookBoardAirProduct"Mac-2E6FAB96566FE58C"
// MacBookAir6,1
// Bios: MBA61.88Z.0099.B04.1309271229
// Board: Mac-35C1E88140C3E6CF
// Data: 24/06/13
// MacBookAir6,2
// Bios: MBA62.88Z.00EF.B00.1205221442
// Board: Mac-7DF21CB3ED6977E5
// Data: 24/06/13
//=========== MacBookPro ===========
#define kDefaultMacBookProFamily"MacBook Pro"
//#define kDefaultMacBookProBoardAssetTagNumber"MacBook-Aluminum"
#define kDefaultMacBookPro"MacBookPro4,1"
#define kDefaultMacBookProBIOSVersion" MBP41.88Z.00C1.B03.0802271651"
#define kDefaultMacBookProBIOSReleaseDate"02/27/08"
#define kDefaultMacBookProBoardProduct"Mac-F42C89C8"
// MacBookPro8,1
// Bios: MBP81.88Z.0047.B24.1110141131
// Board: Mac-94245B3640C91C81
// Data: 10/14/11
// MacBookPro8,2
// Bios:
// Board: Mac_94245A3940C91C80
// Data: 10/14/11
// MacBookPro8,3
// Bios:
// Board: Mac-942459F5819B171B
// Data: 10/31/11
// MacBookPro10,2
// Bios: MBP102.88Z.0106.B01.1208311637
// Board: Mac-AFD8A9D944EA4843
// Data: 10/02/2012
// MacBookPro11,2 - Mac-3CBD00234E554E41 - MBP112.88Z.0138.B03.1310291227
// MacBookPro11,3 - Mac-2BD1B31983FE1663 - MBP112.88Z.0138.B02.1310181745
//=========== iMac ===========
#define kDefaultiMacFamily"iMac"
//#define kDefaultiMacBoardAssetTagNumber"iMac-Aluminum"
#define kDefaultiMac"iMac8,1"
#define kDefaultiMacBIOSVersion" IM81.88Z.00C1.B00.0903051113"
#define kDefaultiMacNehalemBIOSVersion" IM111.88Z.0034.B02.1003171314"
#define kDefaultiMacNehalemBIOSReleaseDate"03/17/10"
#define kDefaultiMacNehalemBoardProduct"Mac-F2268DAE"
// iMac11,2
// iMac11,3
// iMac12,1
#define kDefaultiMacSandy"iMac12,1"
#define kDefaultiMacSandyBIOSReleaseDate"04/22/11"
#define kDefaultiMacSandyBoardProduct"Mac-942B5BF58194151B"
// iMac12,2
// Bios: IM121.88Z.0047.B1D.1110171110"
// Data: 10/17/11
// Board: Mac-942B59F58194171B"
// iMac13,1
// Bios: IM131.88Z.010A.B05.1211151146
// Data: 11/15/2012
// Board: Mac-00BE6ED71E35EB86
// iMac13,2
// Bios: IM131.88Z.00CE.B00.1203281326
// Data: 03/28/2012
// Board: Mac-FC02E91DDD3FA6A4
// iMac14,1
// iMac14,2
// iMac14,3
// iMac14,4
// Bios: IM144.88Z.0179.B03.1405241029
// Data: 05/20/2014
// Board: Mac-81E3E92DD6088272
//=========== MacPro ===========
#define kDefaultMacProFamily"MacPro" // MacPro's family = "MacPro" not "Mac Pro"
//#define KDefauktMacProBoardAssetTagNumber"Pro-Enclosure"
//#define kDefaultMacProBoardType"0x0B" // 11
#define kDefaultMacPro"MacPro3,1"
#define kDefaultMacProBIOSVersion" MP31.88Z.006C.B05.0903051113"
#define kDefaultMacProBIOSReleaseDate"08/03/2010"
//#define kDefaultMacProSystemVersion"1.3"
#define kDefaultMacProBoardProduct"Mac-F42C88C8"
//#define KDefaultMacProBoardSerialNumber"J593902RA4MFE"
// Mac Pro 4,1 core i7/Xeon
#define kDefaultMacProNahWestSystemVersion"0.0"
#define kDefaultMacProNehalem"MacPro4,1"
#define kDefaultMacProNehalemBIOSVersion" MP41.88Z.0081.B07.0910130729"
#define kDefaultMacProNehalemBIOSReleaseDate"10/13/09"
//#define kDefaultMacProNehalemSystemVersion"1.4"
#define kDefaultMacProNehalemBoardProduct"Mac-F221BEC8"
//#define KDefaultMacProNehalemBoardSerialNumber"J593004RB1LUE"
//"J591302R61LUC " // 2-cpu board
//"J591002JV4MFB " // 1-cpu board
// Mac Pro 5,1 core i7/Xeon
#define kDefaultMacProWestmere"MacPro5,1"
#define kDefaultMacProWestmereBIOSVersion" MP51.88Z.007F.B03.1010071432"
#define kDefaultMacProWestmereBIOSReleaseDate"10/07/10"
//#define kDefaultMacProWestmereSystemVersion"1.2"
#define kDefaultMacProWestmereBoardProduct"Mac-F221BEC8"
//#define KDefaultMacProWestmereBoardSerialNumber"J522700H7BH8C"
//"J503104H1BH8A " // 2-cpu board
// Mac Pro 6,1
#define kDefaultMacProHaswell"MacPro6,1"
#define kDefaultMacProHaswellBIOSVersion"MP61.88Z.0116.B04.1312061508"
#define kDefaultMacProHaswellBIOSReleaseDate"12/06/2013"
//#define kDefaultMacProHaswellSystemVersion"1.?"
#define kDefaultMacProHaswellBoardProduct"Mac-F60DEB81FF30ACF6"
//#define KDefaultMacProHaswellBoardSerialNumber"F5K3474008JFNN215"
//#define KDefaultBoardSerialNumber"C02140302D5DMT31M"
// "C07019501PLDCVHAD"
// "C02032101R5DC771H"
// J593902RA4MFE 3,1
// J5031046RCZJA 5,1
// J521101A5CZJC 3,1
// J593004RB1LUE MacPro4,1
// J513401PZBH8C 5,1
// J590802LC4ACB 3,1
// J594900AH1LUE 4,1
// J512500HZBH8C 5,1
// J522700H7BH8C MacPro5,1
/* ============================================ */
bool useSMBIOSdefaults = true;// Bungo
setSMBValue(structPtr, numOfSetters - 2 , (returnType *)&(p->PlatformFeature));
structPtr->new = (SMBStructHeader *)((uint8_t *)structPtr->new + sizeof(SMBOemPPlatformFeature) + 2);
structPtr->new = (SMBStructHeader *)((uint8_t *)structPtr->new + sizeof(SMBOemPlatformFeature) + 2);
tableLength += sizeof(SMBOemPlatformFeature) + 2;
structureCount++;
}
*/
/* =========================================
OEM SMC Version (Apple Specific - Type 134)
=========================================== */
/*
void addSMBOemSMCVersion(SMBStructPtrs *structPtr)
{
SMBOemSMCVersion *p = (SMBOemSMCVersion *)structPtr->new;
p->header.type= kSMBTypeOemSMCVersion;
p->header.length= sizeof(SMBOemSMCVersion);
p->header.handle= handle++;
setSMBValue(structPtr, numOfSetters - 2 , (returnType *)&(p->SMCVersion));
structPtr->new = (SMBStructHeader *)((uint8_t *)structPtr->new + sizeof(SMBOemSMCVersion) + 2);
tableLength += sizeof(SMBOemSMCVersion) + 2;
structureCount++;
}
*/
/* ==============================================
EndOfTable
================================================ */
case kSMBTypeOemProcessorType:
case kSMBTypeOemProcessorBusSpeed:
//case kSMBTypeOemPlatformFeature:
/* And this one too, to be added at the end */
//case kSMBTypeOemSMCVersion:
/* And this one too, to be added at the end */
case kSMBTypeEndOfTable:
break;
addSMBOemProcessorType(structPtr);
addSMBOemProcessorBusSpeed(structPtr);
//addSMBOemPlatformFeature(structPtr);
//addSMBOemSMCVersion(structPtr);
addSMBEndOfTable(structPtr);
}
branches/ErmaC/Enoch/i386/libsaio/smbios_decode.c
9191
9292
9393
94
94
9595
9696
9797
......
103103
104104
105105
106
106
107
108
109
107110
108111
109112
......
167170
168171
169172
170
173
174
175
176
177
171178
172179
173180
......
220227
221228
222229
223
230
231
232
233
234
224235
225236
226237
"Sub Notebook", /* 0Eh */
"Space-saving", /* 0Fh */
"Lunch Box",/* 10h */
"Main Server Chassis",/* 11h */
"Main Server Chassis",/* 11h */ /* CIM_Chassis.ChassisPackageType says "Main System Chassis" */
"Expansion Chassis",/* 12h */
"SubChassis",/* 13h */
"Bus Expansion Chassis",/* 14h */
"Compact PCI",/* 1Ah */
"Advanced TCA",/* 1Bh */
"Blade",/* 1Ch */ // An SMBIOS implementation for a Blade would contain a Type 3 Chassis structure
"Blade Enclosing"/* 1Dh */ // A Blade Enclosure is a specialized chassis that contains a set of Blades.
"Blade Enclosing",/* 1Dh */ // A Blade Enclosure is a specialized chassis that contains a set of Blades.
"Tablet",/* 1Eh */
"Convertible",/* 1Fh */
"Detachable"/* 0x20h */
};
/*====
"Socket FM1",
"Socket FM2",
"Socket LGA2011-3",
"Socket LGA1356-3" /* 2Ch */
"Socket LGA1356-3", /* 2Ch */
"Socket LGA1150",
"Socket BGA1168",
"Socket BGA1234",
"Socket BGA1364" /* 0x30h */
};
static const char *SMBMemoryDeviceFormFactors[] = // Bungo: strings for form factor (Table Type 17 - Memory Device)
"RAM",/* 17h unused */
"DDR3",/* 18h DDR3, chosen in [5776134] */
"FBD2",/* 19h FBD2 */
"DDR4"/* 1Ah DDR4 */
"DDR4",/* 1Ah DDR4 */
"LPDDR",/* 1Bh LPDDR */
"LPDDR2",/* 1Ch LPDDR2 */
"LPDDR3",/* 1Dh LPDDR3 */
"LPDDR4"/* 1Eh LPDDR5 */
};
static const int kSMBMemoryDeviceTypeCount = sizeof(SMBMemoryDeviceTypes) / sizeof(SMBMemoryDeviceTypes[0]);
branches/ErmaC/Enoch/i386/libsaio/smbios.h
135135
136136
137137
138
138139
139140
140141
......
841842
842843
843844
844
845
845846
846847
847848
......
849850
850851
851852
853
854
855
856
857
858
859
860
861
862
863
852864
853865
854866
kSMBTypeOemProcessorType= 131, // Processor Type (Type 131)
kSMBTypeOemProcessorBusSpeed= 132, // Processor Bus Speed (Type 132)
kSMBTypeOemPlatformFeature= 133 // Platform Feature (Type 133)
//kSMBTypeOemSMCVersion= 134 // SMC Version (Type 134)
};
//----------------------------------------------------------------------------------------------------------
/* ==============================================
OEM Platform Feature (Apple Specific - Type 133)
================================================ */
struct SMBOemPlatformFeature
typedef struct SMBOemPlatformFeature
{
SMB_STRUCT_HEADER// Type 133
SMBWord PlatformFeature;
//----------------------------------------------------------------------------------------------------------
/* =========================================
OEM SMC Version (Apple Specific - Type 134)
=========================================== */
typedef struct SMBOemSMCVersion
{
SMB_STRUCT_HEADER// Type 134
SMBWord SMCVersion;
} __attribute__((packed)) SMBOemSMCVersion;
//----------------------------------------------------------------------------------------------------------
#define SMBIOS_ORIGINAL0
#define SMBIOS_PATCHED1
branches/ErmaC/Enoch/i386/libsaio/stringTable.c
361361
362362
363363
364
365
364
365
366366
367367
368368
......
703703
704704
705705
706
706
707707
708708
709709
......
755755
756756
757757
758
758
759759
760760
761761
......
849849
850850
851851
852
852
853853
854854
855855
*/
bool getBoolForKey(const char *key, bool *result_val, config_file_t *config)
{
const char *key_val;
int size;
const char *key_val;
int size;
if (getValueForKey(key, &key_val, &size, config))
{
{
char *dirspec[] = {
"/Extra/org.chameleon.Boot.plist",
"/Extra/com.apple.Boot.plist", /* DEPRECIATED */
"/Extra/com.apple.Boot.plist", /* DEPRECATED */
};
int i;
{
// Check for depreciated file names and annoy the user about it.
if(strstr(full_path, "com.apple.Boot.plist")) {
printf("%s is depreciated.\n", full_path);
printf("%s is deprecated.\n", full_path);
full_path[strlen(full_path) - strlen("com.apple.Boot.plist")] = 0;
printf("Please use the file %sorg.chameleon.Boot.plist instead.\n", full_path);
pause();
else
{
// use rfd
fixedsize = MIN(file_size(rfd), IO_CONFIG_DATA_SIZE);
fixedsize = MIN(file_size(rfd), IO_CONFIG_DATA_SIZE);
count = read(rfd, config->plist, fixedsize);
close(rfd);
if (count != fixedsize) return -1;
branches/ErmaC/Enoch/i386/libsaio/saio_types.h
6060
6161
6262
63
63
64
65
6466
6567
6668
typedef struct Tag
{
longtype;
char *string;
char*string;
uint8_t*data;
longdataLen;
longoffset;
struct Tag *tag;
struct Tag *tagNext;
branches/ErmaC/Enoch/i386/libsaio/smbios_getters.c
110110
111111
112112
113
113
114
114115
115116
116117
117118
118119
119
120
121
122
120
121
123122
124123
125124
......
127126
128127
129128
130
131
132
129
133130
134131
135132
136
133
137134
138
135
139136
140137
141138
......
651648
652649
653650
654
655651
656652
657
658
653
654
655
659656
660657
661658
......
680677
681678
682679
683
int nhm_bus = 0x3F;
static long possible_nhm_bus[] = {0xFF, 0x7F, 0x3F};
unsigned long did, vid;
unsigned int i;
unsigned long qpimult, qpibusspeed = 0;
int i;
// Nehalem supports Scrubbing
// First, locate the PCI bus where the MCH is located
for(i = 0; i < (sizeof(possible_nhm_bus)/sizeof(possible_nhm_bus[0])); i++)
{
vid = pci_config_read16(PCIADDR(possible_nhm_bus[i], 3, 4), 0x00);
did = pci_config_read16(PCIADDR(possible_nhm_bus[i], 3, 4), 0x02);
vid &= 0xFFFF;
did &= 0xFF00;
vid = (pci_config_read16(PCIADDR(possible_nhm_bus[i], 3, 4), 0x00) & 0xFFFF);
did = (pci_config_read16(PCIADDR(possible_nhm_bus[i], 3, 4), 0x02) & 0xFF00);
if(vid == 0x8086 && did >= 0x2C00)
{
}
}
unsigned long qpimult, qpibusspeed;
qpimult = pci_config_read32(PCIADDR(nhm_bus, 2, 1), 0x50);
qpimult &= 0x7F;
qpimult = (pci_config_read32(PCIADDR(nhm_bus, 2, 1), 0x50) & 0x7F);
DBG("qpimult %d\n", qpimult);
qpibusspeed = (qpimult * 2 * (Platform.CPU.FSBFrequency/1000000LL));
// Rek: rounding decimals to match original mac profile info
if (qpibusspeed%100 != 0)
if (qpibusspeed % 100 != 0)
{
qpibusspeed = ((qpibusspeed+50)/100)*100;
qpibusspeed = ((qpibusspeed + 50) / 100) * 100;
}
DBG("qpibusspeed %d\n", qpibusspeed);
value->word = qpibusspeed;
return true;
}
// getting smbios addr with fast compare ops, late checksum testing ...
#define COMPARE_DWORD(a,b) ( *((uint32_t *) a) == *((uint32_t *) b) )
static const char * const SMTAG = "_SM_";
static const char* const DMITAG = "_DMI_";
static const char *const SMTAG = "_SM_";
//static const char *const SM3TAG = "_SM3_"; // smbios3_decode
static const char *const DMITAG = "_DMI_";
SMBEntryPoint *getAddressOfSmbiosTable(void)
{
pause();
return NULL;
}
branches/ErmaC/Enoch/i386/boot2/drivers.c
4646
4747
4848
49
50
5149
5250
5351
......
226224
227225
228226
227
229228
230229
231230
......
259258
260259
261260
262
261
263262
264263
265264
......
496495
497496
498497
499
500
501
502
503
504
505
498
499
500
501
502
503
504
506505
507506
508507
......
686685
687686
688687
689
690
691
692
693
694
695688
696689
697690
......
11381131
11391132
11401133
1141
1134
11421135
11431136
11441137
......
11511144
11521145
11531146
1154
1147
11551148
11561149
11571150
......
11651158
11661159
11671160
1168
1161
11691162
11701163
11711164
#define DBG(x...)msglog(x)
#endif
// extern char gMacOSVersion[8];
struct Module {
struct Module *nextModule;
long willLoad;
}
}
}
if(!gHaveKernelCache)
{
// Don't load main driver (from /System/Library/Extentions) if gHaveKernelCache is set.
}
else
{
verbose("Attempting to loading drivers from standard repositories:\n");
verbose("Attempting to load drivers from standard repositories:\n");
if ( (gMacOSVersion[3] == '9') || ((gMacOSVersion[3] == '1') && ((gMacOSVersion[4] == '0') || (gMacOSVersion[4] == '1') || (gMacOSVersion[4] == '2') ) )) // issue 352
{
// LoadDriverPList
long LoadDriverPList( char *dirSpec, char *name, long bundleType )
{
long length, executablePathLength, bundlePathLength;
ModulePtr module;
TagPtr personalities;
char * buffer = 0;
char * tmpExecutablePath = 0;
char * tmpBundlePath = 0;
long ret = -1;
longlength, executablePathLength, bundlePathLength;
ModulePtrmodule;
TagPtrpersonalities;
char*buffer = 0;
char*tmpExecutablePath = 0;
char*tmpBundlePath = 0;
longret = -1;
do{
// Save the driver path.
if ((length != -1) && executableAddr)
{
//driverModuleAddr = (void *)kLoadAddr;
//if (length != 0)
//{
//ThinFatFile(&driverModuleAddr, &length);
//}
// Make make in the image area.
execute_hook("LoadMatchedModules", module, &length, executableAddr, NULL);
default:kernelOSVer = 0xA0A0500; break; //Last known kernel
}
break;
case 15:
case 15: /* El Capitan */
switch (gDarwinMinor)
{
case 0: kernelOSVer = 0xA0B0000; break;
default:kernelOSVer = 0xA0B0600; break; //Last known kernel (add here updates)
}
break;
case 16:
case 16: /* Sierra */
switch (gDarwinMinor)
{
case 0: kernelOSVer = 0xA0C0000; break;
break;
default:
kernelOSVer = 0xA0C0400;
break;
break; //Last known kernel is Sierra 10.12.4
}
}
else
branches/ErmaC/Enoch/i386/boot2/boot.c
766766
767767
768768
769
769770
771
770772
771773
772774
freeFilteredBVChain(bvChain);
if (gEnableCDROMRescan)
{
rescanBIOSDevice(gBIOSDev);
}
bvChain = newFilteredBVChain(0x80, 0xFF, allowBVFlags, denyBVFlags, &gDeviceCount);
setBootGlobals(bvChain);
branches/ErmaC/Enoch/i386/boot2/boot.h
225225
226226
227227
228
229228
230229
231230
/* Bungo: added this key */
#define kPrivateData"PrivateData"/* smbios_decode.c */
/*
* Flags to the booter or kernel
*/
branches/ErmaC/Enoch/i386/config/lxdialog/dialog.h
163163
164164
165165
166
166
167167
168168
169169
/* item list manipulation for lxdialog use */
#define MAXITEMSTR 200
struct dialog_item {
char str[MAXITEMSTR];/* promtp displayed */
char str[MAXITEMSTR];/* prompt displayed */
char tag;
void *data;/* pointer to menu item - used by menubox+checklist */
int selected;/* Set to 1 by dialog_*() function if selected. */
branches/ErmaC/Enoch/i386/config/lxdialog/check-lxdialog.sh
3838
3939
4040
41
41
4242
4343
4444
# Check if we can link to ncurses
check() {
$cc -xc - -o $tmp 2>/dev/null <<'EOF'
$cc -x c - -o $tmp 2>/dev/null <<'EOF'
#include CURSES_LOC
main() {}
EOF
branches/ErmaC/Enoch/package/Scripts.templates/Post/postinstall
7777
7878
7979
80
80
8181
8282
8383
if [[ $( /usr/libexec/PlistBuddy -c "Print bootloader" ${configFile} ) == "true" ]];then
# if we have installed the bootloader, this is a new log
echo "NOTE: any Themes or modules you have must be there since this now"
echo " is the boot partition. ACPI tables, SMBios.plist and the"
echo " is the boot partition. ACPI tables, SMBios.plist, kernel.plist, kext.plist and the"
echo " org.chameleon.Boot.plist (with custom settings for the target"
echo " OSX must be in each partition that contain it.)"
echo "$mainLine"
branches/ErmaC/Enoch/package/OptionalSettings/Control.txt
2828
2929
3030
31
31
3232
3333
3434
Bool@BootBanner:Boot Banner=No
Bool@GUI:GUI=No
Bool@LegacyLogo:Legacy Logo=Yes
#Bool@RebootOnPanic:RebootOnPanic=No
Bool@RebootOnPanic:RebootOnPanic=No
#Bool@EnableHiDPI:EnableHiDPI=Yes
Bool@BlackMode:BlackMode=Yes
Bool@InstantMenu:Instant Menu=Yes
branches/ErmaC/Enoch/package/po/it.po
2626
2727
2828
29
30
29
3130
3231
3332
......
6766
6867
6968
70
71
72
69
7370
7471
7572
......
7875
7976
8077
81
82
83
84
85
86
87
88
78
79
8980
9081
9182
......
9586
9687
9788
98
99
100
89
10190
10291
10392
104
105
106
107
108
93
94
10995
11096
11197
11298
113
114
115
99
116100
117101
118102
......
121105
122106
123107
124
125
126
127
128
108
109
129110
130111
131112
132113
133
134
135
114
136115
137116
138117
......
142121
143122
144123
145
146
124
147125
148126
149127
......
167145
168146
169147
170
171
148
172149
173150
174151
......
213190
214191
215192
216
217
218
219
220
221
193
194
222195
223196
224197
......
303276
304277
305278
279
280
281
282
306283
307284
308285
......
317294
318295
319296
297
298
320299
321300
322301
......
331310
332311
333312
313
314
334315
335316
336317
......
346327
347328
348329
330
331
332
349333
350334
351335
......
12761260
12771261
12781262
1279
1263
12801264
12811265
12821266
12831267
12841268
1285
1269
12861270
12871271
12881272
12891273
12901274
1291
1275
12921276
12931277
12941278
12951279
12961280
1297
1281
12981282
12991283
13001284
13011285
13021286
1303
1287
13041288
13051289
13061290
13071291
13081292
1309
1293
13101294
13111295
13121296
13131297
13141298
1315
1299
13161300
13171301
13181302
13191303
13201304
1321
1305
13221306
13231307
13241308
13251309
13261310
1327
1311
13281312
13291313
13301314
13311315
13321316
1333
1317
13341318
13351319
13361320
13371321
13381322
1339
1323
13401324
13411325
13421326
13431327
13441328
1345
1329
13461330
13471331
13481332
13491333
13501334
1351
1335
13521336
13531337
13541338
13551339
13561340
1357
1341
13581342
13591343
13601344
13611345
13621346
1363
1347
13641348
13651349
13661350
13671351
13681352
1369
1353
13701354
13711355
13721356
......
35803564
35813565
35823566
3583
3567
35843568
35853569
35863570
35873571
35883572
3589
3573
35903574
35913575
35923576
35933577
35943578
3595
3579
35963580
35973581
35983582
......
36163600
36173601
36183602
3619
3603
36203604
36213605
3622
3623
3624
3606
36253607
36263608
36273609
36283610
3629
3630
3631
3632
3611
3612
36333613
36343614
36353615
36363616
3637
3638
3639
3640
3641
3642
3643
3644
3617
3618
36453619
36463620
36473621
36483622
3649
3650
3651
3652
3653
3654
3655
3656
3623
3624
36573625
36583626
36593627
36603628
3661
3662
3663
3664
3665
3666
3667
3668
3629
3630
36693631
3670
3671
3672
3673
3674
3675
3632
3633
36763634
36773635
36783636
......
36873645
36883646
36893647
3690
3691
3692
3648
36933649
36943650
36953651
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:23
msgid "ErmaC's Branch of Chameleon (%CHAMELEONREVISION%)"
msgstr ""
"La Branch personalizzata di ErmaC basata su Chameleon (%CHAMELEONREVISION%)"
msgstr "La Branch personalizzata di ErmaC basata su Chameleon (%CHAMELEONREVISION%)"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:25
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:36 Resources/templates/Conclusion.html:30
msgid "Package built by: %WHOBUILD%, language translated by: blackosx"
msgstr ""
"Pacchetto compilato da: %WHOBUILD%, tradotto in Italiano da: ErmaC, scrax, "
"Micky1979, Marchrius, Gianfranco Minischetti"
msgstr "Pacchetto compilato da: %WHOBUILD%, tradotto in Italiano da: ErmaC, scrax, Micky1979, Marchrius, Gianfranco Minischetti"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:37 Resources/templates/Conclusion.html:31
#. 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 è un boot loader costruito utilizzando una combinazione di "
"componenti che si sono evoluti dallo sviluppo dell'implementazione del falso "
"EFI aggiunto al progetto boot-123 di Apple da parte di David Elliott."
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 è un boot loader costruito utilizzando una combinazione di componenti che si sono evoluti dallo sviluppo dell'implementazione del falso EFI aggiunto al progetto boot-123 di Apple da parte di David Elliott."
#. 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 ""
"- Interfaccia grafica completamente personalizzabile per dare maggiori "
"colori al Darwin Bootloader."
msgstr "- Interfaccia grafica completamente personalizzabile per dare maggiori colori al Darwin Bootloader."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:23
msgid ""
"- Load a ramdisk to directly boot retail DVDs without additional programs."
msgstr ""
"- Avviare DVD retail semplicemente caricando una immagine ramdisk senza "
"l'utilizzo di programmi aggiuntivi."
msgid "- Load a ramdisk to directly boot retail DVDs without additional programs."
msgstr "- Avviare DVD retail semplicemente caricando una immagine ramdisk senza l'utilizzo di programmi aggiuntivi."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:24
msgid "- Hibernation. Enjoy resuming your Mac OS X with a preview image."
msgstr ""
"- Ibernazione. Godetevi nel risvegliare il vostro Mac OS X con un'immagine "
"di anteprima."
msgstr "- Ibernazione. Godetevi nel risvegliare il vostro Mac OS X con un'immagine di anteprima."
#. 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 ""
"- Sovrascrittura della tabella DSDT, potendo selezionare una ottimizzata che "
"risolve svariate problematiche."
msgid "- DSDT override to use a modified fixed DSDT which can solve several issues."
msgstr "- Sovrascrittura della tabella DSDT, potendo selezionare una ottimizzata che risolve svariate problematiche."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:27
msgid "- Device Property Injection via device-properties string."
msgstr ""
"- Iniezione delle Proprità delle Periferiche con stringhe EFI in device-"
"properties."
msgstr "- Iniezione delle Proprità delle Periferiche con stringhe EFI in device-properties."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:28
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:29
msgid "- Automatic FSB detection code even for recent AMD CPUs."
msgstr ""
"- Riconoscimento automatico della frequenza anche sui recenti processori AMD."
msgstr "- Riconoscimento automatico della frequenza anche sui recenti processori AMD."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:30
#. 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 "- Generazione automatica dei P-State e 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."
msgstr ""
"&nbspper vedere se l'installazione é avvenuta con successo e vedere le "
"operazioni che sono state eseguite."
msgid "&nbsp;to find out if the installation was successful and keep it for a record of what was done."
msgstr "&nbspper vedere se l'installazione é avvenuta con successo e vedere le operazioni che sono state eseguite."
# 80%
#. type: Content of: <html><body><div><p>
"Skipping all stages permit you to leave as is already working boot sectors, especially usefull with 4k drives.\n"
"boot is always copied to the target partition when you are skipping one or more stages."
msgstr ""
"Qui è possibile scegliere se ignorare l'installazione del bootloader completamente o parzialmente.\n"
"Questo può essere utile se si desidera scrivere in Extra, o saltare alcune fasi (0,1 e attivazione della partizione di destinazione).\n"
"Saltare tutte le fasi ti permette di lasciare come sono i settori di avvio, soprattutto utile con unità 4K.\n"
"il boot viene sempre copiato nella partizione di destinazione quando si salta una o più fasi."
#. type: "SkipStage0_title"
#: Resources/templates/Localizable.strings:34
"Avoid writing stage 0 to the target disk.\n"
"Stage 2 is always copied/replaced."
msgstr ""
"Evitare di scrivere stadio 0 sul disco di destinazione.\n"
"Fase 2 viene sempre copiata/sostituita."
#. type: "SkipStage1_title"
#: Resources/templates/Localizable.strings:38
"Avoid writing stage 1 to the partition boot sector.\n"
"Stage 2 is always copied/replaced."
msgstr ""
"Evitare la scrittura della fase 1 per il settore di avvio della partizione.\n"
"Fase 2 viene sempre copiato/sostituito."
#. type: "SkipActivePartition_title"
#: Resources/templates/Localizable.strings:42
"Some old motherboards have a bad implementation of GPT in bios and they can not find partitions if marked active unger Guid Partition Table.\n"
"Stage 2 is always copied/replaced."
msgstr ""
"Impedisce l'attivazione della partizione di destinazione.\n"
"Alcune vecchie schede madri non hanno una buona implementazione GPT nel bios e non riescono a trovare le partizioni se contrassegnate attive sotto Guid Partition Table.\n"
"Fase 2 viene sempre copiato/sostituito."
#. type: "Standard_title"
#: Resources/templates/Localizable.strings:47
#: Resources/templates/Localizable.strings:298
#, no-wrap
msgid "CRS_ALLOW_UNTRUSTED_KEXTS"
msgstr ""
msgstr "CRS_ALLOW_UNTRUSTED_KEXTS"
#. type: "Crs1_description"
#: Resources/templates/Localizable.strings:299
#, no-wrap
msgid "Kext signing: Introduced in 10.9, enhanced in 10.10 (kext signing required for all kexts), now become part of rootless(SIP)."
msgstr ""
msgstr "Firma per gli Kext: introdotta in 10.9, migliorato in 10.10 (la firma per gli kext é necessaria per tutti gli kexts), ora diventato parte del rootless(SIP)."
#. type: "Crs2_title"
#: Resources/templates/Localizable.strings:301
#, no-wrap
msgid "CRS_ALLOW_UNRESTRICTED_FS"
msgstr ""
msgstr "CRS_ALLOW_UNRESTRICTED_FS"
#. type: "Crs2_description"
#: Resources/templates/Localizable.strings:302
#, no-wrap
msgid "Filesystem protection: Important system files are protected and cannot be modified."
msgstr ""
msgstr "Protezione del file System: i file di sistema importanti sono protetti e non possono essere modificati."
#. type: "Crs4_title"
#: Resources/templates/Localizable.strings:304
#, no-wrap
msgid "CRS_ALLOW_TASK_FOR_PID"
msgstr ""
msgstr "CRS_ALLOW_TASK_FOR_PID"
#. type: "Crs4_description"
#: Resources/templates/Localizable.strings:305
#, no-wrap
msgid "Disable CRS_ALLOW_TASK_FOR_PID"
msgstr ""
msgstr "Disattiva CRS_ALLOW_TASK_FOR_PID"
#. type: "Crs8_title"
#: Resources/templates/Localizable.strings:307
#, no-wrap
msgid "CRS_ALLOW_KERNEL_DEBUGGER"
msgstr ""
msgstr "CRS_ALLOW_KERNEL_DEBUGGER"
#. type: "Crs8_description"
#: Resources/templates/Localizable.strings:308
#, no-wrap
msgid "Disable CRS_ALLOW_KERNEL_DEBUGGER"
msgstr ""
msgstr "Disattiva CRS_ALLOW_KERNEL_DEBUGGER"
#. type: "Crs16_title"
#: Resources/templates/Localizable.strings:310
#, no-wrap
msgid "CRS_ALLOW_APPLE_INTERNAL"
msgstr ""
msgstr "CRS_ALLOW_APPLE_INTERNAL"
#. type: "Crs16_description"
#: Resources/templates/Localizable.strings:311
#, no-wrap
msgid "Disable CRS_ALLOW_APPLE_INTERNAL"
msgstr ""
msgstr "Disattiva CRS_ALLOW_APPLE_INTERNAL"
#. type: "Crs32_title"
#: Resources/templates/Localizable.strings:313
#, no-wrap
msgid "CRS_ALLOW_UNRESTRICTED_DTRACE"
msgstr ""
msgstr "CRS_ALLOW_UNRESTRICTED_DTRACE"
#. type: "Crs32_description"
#: Resources/templates/Localizable.strings:314
#, no-wrap
msgid "Disable CRS_ALLOW_UNRESTRICTED_DTRACE"
msgstr ""
msgstr "Disattiva CRS_ALLOW_UNRESTRICTED_DTRACE"
#. type: "Crs64_title"
#: Resources/templates/Localizable.strings:316
#, no-wrap
msgid "CRS_ALLOW_UNRESTRICTED_NVRAM"
msgstr ""
msgstr "CRS_ALLOW_UNRESTRICTED_NVRAM"
#. type: "Crs64_description"
#: Resources/templates/Localizable.strings:317
#, no-wrap
msgid "Disable CRS_ALLOW_UNRESTRICTED_NVRAM"
msgstr ""
msgstr "Disattiva CRS_ALLOW_UNRESTRICTED_NVRAM"
#. type: "Crs128_title"
#: Resources/templates/Localizable.strings:319
#, no-wrap
msgid "CRS_ALLOW_DEVICE_CONFIGURATION"
msgstr ""
msgstr "CRS_ALLOW_DEVICE_CONFIGURATION"
#. type: "Crs128_description"
#: Resources/templates/Localizable.strings:320
#, no-wrap
msgid "Disable CRS_ALLOW_DEVICE_CONFIGURATION"
msgstr ""
msgstr "Disattiva CRS_ALLOW_DEVICE_CONFIGURATION"
#. type: "HDAULayoutIDx01_title"
#: Resources/templates/Localizable.strings:324
#: Resources/templates/Localizable.strings:973
#, no-wrap
msgid "Patch the cpuid_family address to remove the _cpuid_set_info _panic and _tsc_init _panic. For unsupported CPUs"
msgstr ""
msgstr "Patch per l'indirizzo cpuid_family per rimuovere _cpuid_set_info _panic e _tsc_init _panic. Per le CPU non supportate"
#. type: "KernelSSE3_title"
#: Resources/templates/Localizable.strings:976
#, no-wrap
msgid "KernelSSE3"
msgstr "KernelcpuFamily"
msgstr "KernelSSE3"
#. type: "KernelSSE3_description"
#: Resources/templates/Localizable.strings:977
#, no-wrap
msgid "Patch to enable more SSE3 instructions on older CPUs to run newer OSes."
msgstr ""
msgstr "Patch per abilitare ulteriori istruzioni SSE3 sulle vecchie CPU per funzionare su sistemi operativi più recenti."
#. type: "Themes_title"
#: Resources/templates/Localizable.strings:982
#~ msgstr "Intel Azul AAPL,ig-platform-id"
#~ msgid "Set one AAPL,ig-platform-id to use for your Intel HD5000."
#~ msgstr "Scegli un AAPL,ig-platform-id da usare per la tua Intel HD 5000."
#~ msgstr "Scegli un AAPL,ig-platform-id da usare per la tua Intel HD5000."
#~ msgid "Set 0000260c for Intel HD5000 (Mobile) AAPL,ig-platform-id."
#~ msgstr ""
#~ "Imposta l'AAPL,ig-platform-id a 0000260c per schede grafiche Intel HD5000 "
#~ "(Mobile)."
#~ msgstr "Imposta l'AAPL,ig-platform-id a 0000260c per schede grafiche Intel HD5000 (Mobile)."
#~ msgid "Install Type"
#~ msgstr "Tipo di installazione"
#~ msgid ""
#~ "Choose to perform a new installation or upgrade an existing installation."
#~ msgstr ""
#~ "Scegli se fare una nuova installazione o aggiornare una già esistente."
#~ msgid "Choose to perform a new installation or upgrade an existing installation."
#~ msgstr "Scegli se fare una nuova installazione o aggiornare una già esistente."
#~ msgid "New Installation"
#~ msgstr "Nuova Installazione"
#~ msgid ""
#~ "Backup an existing /Extra folder, if found on the target partition. A new "
#~ "one will be created if any options are chosen from the installer, other "
#~ "than the Bootloader."
#~ msgstr ""
#~ "Salva una cartella /Extra, se trovata sulla partizione destinazione. Una "
#~ "nuova verrà creata se scegliete una opzione dall'installer, oltre che al "
#~ "Bootloader."
#~ msgid "Backup an existing /Extra folder, if found on the target partition. A new one will be created if any options are chosen from the installer, other than the Bootloader."
#~ msgstr "Salva una cartella /Extra, se trovata sulla partizione destinazione. Una nuova verrà creata se scegliete una opzione dall'installer, oltre che al Bootloader."
#~ msgid "Upgrade"
#~ msgstr "Aggiornamento"
#~ msgid ""
#~ "Merge an existing /Extra folder, if found on the target, with any options "
#~ "chosen from the installer, other than the Bootloader. The original /Extra "
#~ "folder will be backed up."
#~ msgstr ""
#~ "Fonde una cartella /Extra esistente, se trovata sulla partizione "
#~ "destinazione, con qualsiasi opzione scelta nell'installer, oltre al "
#~ "Bootloader."
#~ msgid "Merge an existing /Extra folder, if found on the target, with any options chosen from the installer, other than the Bootloader. The original /Extra folder will be backed up."
#~ msgstr "Fonde una cartella /Extra esistente, se trovata sulla partizione destinazione, con qualsiasi opzione scelta nell'installer, oltre al Bootloader."
#~ msgid "EFI"
#~ msgstr "Partizione EFI"
#~ msgid ""
#~ "Install Chameleon's files to the normally hidden EFI system partition "
#~ "using either boot0 or boot0md depending on your system and without "
#~ "destroying any existing Windows installation if you have one."
#~ msgstr ""
#~ "Installa Chameleon nella partizione EFI (Normalmente nascosta), usando "
#~ "boot0 o boot0md dipende dal vostro sistema e senza compromettere pre-"
#~ "esistenti installazioni di Windows(Se voi ne possedete una)."
#~ msgid "Install Chameleon's files to the normally hidden EFI system partition using either boot0 or boot0md depending on your system and without destroying any existing Windows installation if you have one."
#~ msgstr "Installa Chameleon nella partizione EFI (Normalmente nascosta), usando boot0 o boot0md dipende dal vostro sistema e senza compromettere pre-esistenti installazioni di Windows(Se voi ne possedete una)."
#~ msgid ""
#~ "This module permits the user to define the keyboard key mappings. This "
#~ "module and associated keymaps are installed by default."
#~ msgstr ""
#~ "Questo modulo permette all'utente di definire la mappatura della propria "
#~ "tastiera."
#~ msgid "This module permits the user to define the keyboard key mappings. This module and associated keymaps are installed by default."
#~ msgstr "Questo modulo permette all'utente di definire la mappatura della propria tastiera."
#~ msgid "Utilities"
#~ msgstr "Utilitá"
#~ msgstr "Installa il Pannello preferenze di Chameleon."
#~ msgid "Copies an example smbios.plist in /Extra/Configuration."
#~ msgstr ""
#~ "Copia o sovrascrive il file smbios.plist in /Extra/Configuration con uno "
#~ "di esempio"
#~ msgstr "Copia o sovrascrive il file smbios.plist in /Extra/Configuration con uno di esempio"
#~ msgid "Documentation"
#~ msgstr "Documentazione"
branches/ErmaC/Enoch/package/po/chameleon.pot
66
77
88
9
10
9
10
1111
1212
1313
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Chameleon 2.3\n"
"POT-Creation-Date: 2015-11-02 13:34+0000\n"
"Project-Id-Version: Chameleon 2.3svn-r\n"
"POT-Creation-Date: 2017-03-22 23:39+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
branches/ErmaC/Enoch/package/po/pt.po
12951295
12961296
12971297
1298
1298
1299
1300
1301
12991302
13001303
13011304
......
13071310
13081311
13091312
1310
1313
1314
1315
13111316
13121317
13131318
......
35813586
35823587
35833588
3584
3589
3590
3591
35853592
35863593
35873594
......
35933600
35943601
35953602
3596
3603
3604
3605
35973606
35983607
35993608
......
36053614
36063615
36073616
3608
3617
3618
3619
36093620
36103621
36113622
#: Resources/templates/Localizable.strings:299
#, no-wrap
msgid "Kext signing: Introduced in 10.9, enhanced in 10.10 (kext signing required for all kexts), now become part of rootless(SIP)."
msgstr "Kext assinatura: Introduzido em 10,9, reforçada em 10,10 (assinatura kext necessária para todas as kexts), agora se tornou parte de desenraizada (SIP)."
msgstr ""
"Kext assinatura: Introduzido em 10,9, reforçada em 10,10 (assinatura kext "
"necessária para todas as kexts), agora se tornou parte de desenraizada "
"(SIP)."
#. type: "Crs2_title"
#: Resources/templates/Localizable.strings:301
#: Resources/templates/Localizable.strings:302
#, no-wrap
msgid "Filesystem protection: Important system files are protected and cannot be modified."
msgstr "Proteção do sistema de arquivos: arquivos de sistema importantes são protegidos e não pode ser modificado."
msgstr ""
"Proteção do sistema de arquivos: arquivos de sistema importantes são "
"protegidos e não pode ser modificado."
#. type: "Crs4_title"
#: Resources/templates/Localizable.strings:304
#: Resources/templates/Localizable.strings:969
#, no-wrap
msgid "Patch for Haswell \\\"E\\\" and \\\"ULT\\\" support on older OSes."
msgstr "Patch para Haswell \\\"E\\\" e support \\\"ULT\\ em sistemas operacionais mais antigos."
msgstr ""
"Patch para Haswell \\\"E\\\" e support \\\"ULT\\ em sistemas operacionais mais "
"antigos."
#. type: "KernelcpuFamily_title"
#: Resources/templates/Localizable.strings:972
#: Resources/templates/Localizable.strings:973
#, no-wrap
msgid "Patch the cpuid_family address to remove the _cpuid_set_info _panic and _tsc_init _panic. For unsupported CPUs"
msgstr "Corrigir o endereço cpuid_family para remover o _cpuid_set_info _panic e _tsc_init _panic. Para CPUs sem suporte"
msgstr ""
"Corrigir o endereço cpuid_family para remover o _cpuid_set_info _panic e "
"_tsc_init _panic. Para CPUs sem suporte"
#. type: "KernelSSE3_title"
#: Resources/templates/Localizable.strings:976
#: Resources/templates/Localizable.strings:977
#, no-wrap
msgid "Patch to enable more SSE3 instructions on older CPUs to run newer OSes."
msgstr "Patch para permitir mais instruções SSE3 em CPUs mais velhos para executar sistemas operacionais mais recentes."
msgstr ""
"Patch para permitir mais instruções SSE3 em CPUs mais velhos para executar "
"sistemas operacionais mais recentes."
#. type: "Themes_title"
#: Resources/templates/Localizable.strings:982
branches/ErmaC/Enoch/package/po/pt-BR.po
7070
7171
7272
73
73
74
7475
7576
7677
......
12951296
12961297
12971298
1298
1299
1300
1301
1302
12991303
13001304
13011305
......
13071311
13081312
13091313
1310
1314
1315
1316
13111317
13121318
13131319
......
31753181
31763182
31773183
3178
3184
3185
3186
3187
3188
31793189
31803190
31813191
......
35813591
35823592
35833593
3584
3594
3595
3596
35853597
35863598
35873599
......
35933605
35943606
35953607
3596
3608
3609
3610
35973611
35983612
35993613
......
36053619
36063620
36073621
3608
3622
3623
3624
36093625
36103626
36113627
#: Resources/templates/Welcome.html:36 Resources/templates/Conclusion.html:30
msgid "Package built by: %WHOBUILD%, language translated by: blackosx"
msgstr ""
"Pacote construída por:% WHOBUILD%, língua traduzida por: artur-pt e FurtiF"
"Pacote construída por:% WHOBUILD%, língua traduzida por: oldnapalm, kyndder, "
"artur-pt e FurtiF"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:37 Resources/templates/Conclusion.html:31
#: Resources/templates/Localizable.strings:299
#, no-wrap
msgid "Kext signing: Introduced in 10.9, enhanced in 10.10 (kext signing required for all kexts), now become part of rootless(SIP)."
msgstr "Kext assinatura: Introduzido em 10,9, reforçada em 10,10 (assinatura kext necessária para todas as kexts), agora se tornou parte de desenraizada (SIP)."
msgstr ""
"Kext assinatura: Introduzido em 10,9, reforçada em 10,10 (assinatura kext "
"necessária para todas as kexts), agora se tornou parte de desenraizada "
"(SIP)."
#. type: "Crs2_title"
#: Resources/templates/Localizable.strings:301
#: Resources/templates/Localizable.strings:302
#, no-wrap
msgid "Filesystem protection: Important system files are protected and cannot be modified."
msgstr "Proteção do sistema de arquivos: arquivos de sistema importantes são protegidos e não pode ser modificado."
msgstr ""
"Proteção do sistema de arquivos: arquivos de sistema importantes são "
"protegidos e não pode ser modificado."
#. type: "Crs4_title"
#: Resources/templates/Localizable.strings:304
#: Resources/templates/Localizable.strings:823
#, no-wrap
msgid "Rootless is a new feature introduced in OS X 10.11 (El Capitan), and it disallows modifying system files. To by-passing this restriction, this strict feature can be disabled by adding a 'rootless=0' boot arg. ('rootless=1' enable it)"
msgstr "Rootless é um novo recurso introduzido no OS X 10.11 (El Capitan), e ele não permite modificações nos arquivos do sistema. Para contornar esta restrição, esse recurso pode ser desativado adicionando um 'rootless = 0' boot arg. ('rootless = 1' habilitá-lo)"
msgstr ""
"Rootless é um novo recurso introduzido no OS X 10.11 (El Capitan), e ele não "
"permite modificações nos arquivos do sistema. Para contornar esta "
"restrição, esse recurso pode ser desativado adicionando um 'rootless = 0' "
"boot arg. ('rootless = 1' habilitá-lo)"
#. type: "Dart0_title"
#: Resources/templates/Localizable.strings:825
#: Resources/templates/Localizable.strings:969
#, no-wrap
msgid "Patch for Haswell \\\"E\\\" and \\\"ULT\\\" support on older OSes."
msgstr "Patch para Haswell \\\"E\\\" e support \\\"ULT\\ em sistemas operacionais mais antigos."
msgstr ""
"Patch para Haswell \\\"E\\\" e support \\\"ULT\\ em sistemas operacionais mais "
"antigos."
#. type: "KernelcpuFamily_title"
#: Resources/templates/Localizable.strings:972
#: Resources/templates/Localizable.strings:973
#, no-wrap
msgid "Patch the cpuid_family address to remove the _cpuid_set_info _panic and _tsc_init _panic. For unsupported CPUs"
msgstr "Corrigir o endereço cpuid_family para remover o _cpuid_set_info _panic e _tsc_init _panic. Para CPUs sem suporte"
msgstr ""
"Corrigir o endereço cpuid_family para remover o _cpuid_set_info _panic e "
"_tsc_init _panic. Para CPUs sem suporte"
#. type: "KernelSSE3_title"
#: Resources/templates/Localizable.strings:976
#: Resources/templates/Localizable.strings:977
#, no-wrap
msgid "Patch to enable more SSE3 instructions on older CPUs to run newer OSes."
msgstr "Patch para permitir mais instruções SSE3 em CPUs mais velhos para executar sistemas operacionais mais recentes."
msgstr ""
"Patch para permitir mais instruções SSE3 em CPUs mais velhos para executar "
"sistemas operacionais mais recentes."
#. type: "Themes_title"
#: Resources/templates/Localizable.strings:982
branches/ErmaC/Enoch/doc/BootHelp.txt
194194
195195
196196
197
198
199
200
197201
198202
199203
(default path: /Extra/Kernel.plist
bt(0,0)/Extra/kernel.plist).
KEXTPlist=<file> Use an alternate kext.plist file
(default path: /Extra/Kext.plist
bt(0,0)/Extra/kext.plist).
"Scan Single Drive" Scan the drive only where the booter got loaded from.
=Yes|No Fix rescan issues when using a DVD reader in AHCI mode.
Rescan=Yes Enable CD-ROM rescan mode.
branches/ErmaC/Enoch/Cconfig
11
2
2
33
4
4
55
66
#
# Chameleon Configuration
# Enoch Configuration
#
mainmenu "Chameleon Configuration"
mainmenu "Enoch Configuration"
source "i386/Cconfig"

Archive Download the corresponding diff file

Revision: 2849