Chameleon

Chameleon Commit Details

Date:2014-08-03 23:44:12 (4 years 10 months ago)
Author:MacMan
Commit:2393
Parents: 2392
Message:Final sync of trunk r2378
Changes:
D/branches/Chimera/package/po/pt-PT.po
D/branches/Chimera/Keymaps
A/branches/Chimera/i386/modules/HDAEnabler/Makefile
A/branches/Chimera/i386/modules/KernelPatcher/NEWS
A/branches/Chimera/i386/modules/KernelPatcher/Makefile
A/branches/Chimera/i386/modules/FileNVRAM/LICENSE
A/branches/Chimera/i386/modules/FileNVRAM/include
A/branches/Chimera/package/po/pt.po
A/branches/Chimera/i386/modules/FileNVRAM/FileNVRAM.dylib
A/branches/Chimera/i386/modules/HDAEnabler/include
A/branches/Chimera/i386/modules/KernelPatcher/LICENSE
A/branches/Chimera/i386/modules/FileNVRAM/include/FileNVRAM.h
A/branches/Chimera/package/OptionalSettings/Audio.txt
A/branches/Chimera/package/po/ja.po
A/branches/Chimera/i386/modules/KernelPatcher/KernelPatcher.dylib
A/branches/Chimera/i386/modules/FileNVRAM/README
A/branches/Chimera/i386/modules/FileNVRAM
A/branches/Chimera/i386/modules/KernelPatcher/README
A/branches/Chimera/i386/modules/HDAEnabler
A/branches/Chimera/package/OptionalSettings/IntelAzul.txt
A/branches/Chimera/i386/modules/KernelPatcher
A/branches/Chimera/i386/libsaio/hda.c
A/branches/Chimera/i386/modules/FileNVRAM/Cconfig
A/branches/Chimera/i386/libsaio/hda.h
A/branches/Chimera/i386/modules/HDAEnabler/Cconfig
A/branches/Chimera/i386/modules/KernelPatcher/Cconfig
A/branches/Chimera/package/OptionalSettings/IntelCapri.txt
A/branches/Chimera/i386/modules/HDAEnabler/HDAEnabler.dylib
A/branches/Chimera/package/OptionalSettings/HDEFLayout.txt
A/branches/Chimera/package/OptionalSettings/HDAULayout.txt
A/branches/Chimera/i386/modules/FileNVRAM/NEWS
A/branches/Chimera/i386/modules/FileNVRAM/Makefile
A/branches/Chimera/i386/modules/HDAEnabler/Readme.txt

File differences

branches/Chimera/i386/libsaio/hda.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
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
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
/*
*HDA injector / Audio Enabler
*
*Copyright (C) 2012Chameleon Team
*Edit by Fabio (ErmaC)
*
*HDA injector is free software: you can redistribute it and/or modify
*it under the terms of the GNU General Public License as published by
*the Free Software Foundation, either version 3 of the License, or
*(at your option) any later version.
*
*HDA injector is distributed in the hope that it will be useful,
*but WITHOUT ANY WARRANTY; without even the implied warranty of
*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
*GNU General Public License for more details.
*
*Alternatively you can choose to comply with APSL
*
*Permission is hereby granted, free of charge, to any person obtaining a
*copy of this software and associated documentation files (the "Software"),
*to deal in the Software without restriction, including without limitation
*the rights to use, copy, modify, merge, publish, distribute, sublicense,
*and/or sell copies of the Software, and to permit persons to whom the
*Software is furnished to do so, subject to the following conditions:
*
*The above copyright notice and this permission notice shall be included in
*all copies or substantial portions of the Software.
*
******************************************************************************
* http://www.leidinger.net/FreeBSD/dox/dev_sound/html/df/d54/hdac_8c_source.html
*
* Copyright (c) 2006 Stephane E. Potvin <sepotvin@videotron.ca>
* Copyright (c) 2006 Ariff Abdullah <ariff@FreeBSD.org>
* Copyright (c) 2008-2012 Alexander Motin <mav@FreeBSD.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* Intel High Definition Audio (Controller) driver for FreeBSD.
*
******************************************************************************/
#include "boot.h"
#include "bootstruct.h"
#include "pci.h"
#include "pci_root.h"
#include "platform.h"
#include "device_inject.h"
#include "hda.h"
#include "aml_generator.h"
#ifndef DEBUG_HDA
#define DEBUG_HDA 0
#endif
#if DEBUG_HDA
#define DBG(x...) verbose(x)
#else
#define DBG(x...)
#endif
extern uint32_t devices_number;
const char *hda_slot_name[]={ "AAPL,slot-name", "Built In" };
uint8_t default_HDEF_layout_id[]={0x0C, 0x00, 0x00, 0x00};
#define HDEF_LEN ( sizeof(default_HDEF_layout_id) / sizeof(uint8_t) )
uint8_t default_HDAU_layout_id[]={0x01, 0x00, 0x00, 0x00};
#define HDAU_LEN ( sizeof(default_HDAU_layout_id) / sizeof(uint8_t) )
uint8_t connector_type_value[] ={0x00, 0x08, 0x00, 0x00};
/* Structures */
static hda_controller_devices know_hda_controller[] = {
//8086 Intel Corporation
{ HDA_INTEL_HASWELL, "Haswell" },
{ HDA_INTEL_CRYSTAL, "Crystal Well" },
{ HDA_INTEL_CPT, "6 Series/C200 Series Chipset Family" },
{ HDA_INTEL_PATSBURG,"C600/X79 series chipset" },
{ HDA_INTEL_PPT1, "7 Series/C210 Series Chipset Family" },
{ HDA_INTEL_82801F, "82801FB/FBM/FR/FW/FRW (ICH6 Family)" },
{ HDA_INTEL_63XXESB, "631x/631xESB/632xESB" },
{ HDA_INTEL_82801G, "NM10/ICH7 Family" },
{ HDA_INTEL_82801H, "82801H (ICH8 Family)" },
{ HDA_INTEL_82801I, "82801I (ICH9 Family)" },
{ HDA_INTEL_82801JI, "82801JI (ICH10 Family)" },
{ HDA_INTEL_82801JD, "82801JD/DO (ICH10 Family) " },
{ HDA_INTEL_PCH, "5 Series/3400 Series" },
{ HDA_INTEL_PCH2, "5 Series/3400 Series" },
{ HDA_INTEL_SCH, "System Controller Hub (SCH Poulsbo)" },
{ HDA_INTEL_LPT1, "Lynx Point" },
{ HDA_INTEL_LPT2, "Lynx Point" },
{ HDA_INTEL_LYNX, "Lynx Point-LP" },
{ HDA_INTEL_LYNX2, "Lynx Point-LP" },
//10de NVIDIA Corporation
{ HDA_NVIDIA_MCP51, "MCP51" },
{ HDA_NVIDIA_MCP55, "MCP55" },
{ HDA_NVIDIA_MCP61_1, "MCP61" },
{ HDA_NVIDIA_MCP61_2, "MCP61" },
{ HDA_NVIDIA_MCP65_1, "MCP65" },
{ HDA_NVIDIA_MCP65_2, "MCP65" },
{ HDA_NVIDIA_MCP67_1, "MCP67" },
{ HDA_NVIDIA_MCP67_2, "MCP67" },
{ HDA_NVIDIA_MCP73_1, "MCP73" },
{ HDA_NVIDIA_MCP73_2, "MCP73" },
{ HDA_NVIDIA_MCP78_1, "MCP78" },
{ HDA_NVIDIA_MCP78_2, "MCP78" },
{ HDA_NVIDIA_MCP78_3, "MCP78" },
{ HDA_NVIDIA_MCP78_4, "MCP78" },
{ HDA_NVIDIA_MCP79_1, "MCP79" },
{ HDA_NVIDIA_MCP79_2, "MCP79" },
{ HDA_NVIDIA_MCP79_3, "MCP79" },
{ HDA_NVIDIA_MCP79_4, "MCP79" },
{ HDA_NVIDIA_MCP89_1, "MCP89" },
{ HDA_NVIDIA_MCP89_2, "MCP89" },
{ HDA_NVIDIA_MCP89_3, "MCP89" },
{ HDA_NVIDIA_MCP89_4, "MCP89" },
{ HDA_NVIDIA_0BE2, "(0x0be2)" },
{ HDA_NVIDIA_0BE3, "(0x0be3)" },
{ HDA_NVIDIA_0BE4, "(0x0be4)" },
{ HDA_NVIDIA_GT100, "GT100" },
{ HDA_NVIDIA_GT104, "GT104" },
{ HDA_NVIDIA_GT106, "GT106" },
{ HDA_NVIDIA_GT108, "GT108" },
{ HDA_NVIDIA_GT116, "GT116" },
{ HDA_NVIDIA_GF119, "GF119" },
{ HDA_NVIDIA_GF110, "GF110" },
{ HDA_NVIDIA_GF114, "GF114" }, // HDMi
{ HDA_NVIDIA_GK110, "GK110" },
{ HDA_NVIDIA_GK106, "GK106" },
{ HDA_NVIDIA_GK107, "GK107" },
{ HDA_NVIDIA_GK104, "GK104" },
//1002 Advanced Micro Devices [AMD] nee ATI Technologies Inc
{ HDA_ATI_SB450, "IXP SB4x0" },
{ HDA_ATI_SB600, "SB600" },
{ HDA_ATI_RS600, "RS600" },
{ HDA_ATI_RS690, "RS690" },
{ HDA_ATI_RS780, "RS780" },
{ HDA_ATI_RS880, "RS880" },
{ HDA_ATI_TRINITY, "Trinity" },
{ HDA_ATI_R600, "R600" },
{ HDA_ATI_RV610, "RV610" },
{ HDA_ATI_RV620, "RV620" },
{ HDA_ATI_RV630, "RV630" },
{ HDA_ATI_RV635, "RV635" },
{ HDA_ATI_RV710, "RV710" },
{ HDA_ATI_RV730, "RV730" },
{ HDA_ATI_RV740, "RV740" },
{ HDA_ATI_RV770, "RV770" },
{ HDA_ATI_RV810, "RV810" },
{ HDA_ATI_RV830, "RV830" },
{ HDA_ATI_RV840, "RV840" },
{ HDA_ATI_RV870, "RV870" },
{ HDA_ATI_RV910, "Caicos" },
{ HDA_ATI_RV930, "RV930" },
{ HDA_ATI_RV940, "RV940" },
{ HDA_ATI_RV970, "RV970" },
{ HDA_ATI_R1000, "Tahiti XT" }, // HDMi
{ HDA_ATI_VERDE, "Cape Verde" }, // HDMi
//17f3 RDC Semiconductor, Inc.
{ HDA_RDC_M3010, "M3010" },
//1106 VIA Technologies, Inc.
{ HDA_VIA_VT82XX, "VT8251/8237A" },
//1039 Silicon Integrated Systems [SiS]
{ HDA_SIS_966, "966" },
//10b9 ULi Electronics Inc.(Split off ALi Corporation in 2003)
{ HDA_ULI_M5461, "M5461" },
/* Unknown */
{ HDA_INTEL_ALL, "Unknown Intel device" },
{ HDA_NVIDIA_ALL, "Unknown NVIDIA device" },
{ HDA_ATI_ALL, "Unknown ATI device" },
{ HDA_VIA_ALL, "Unknown VIA device" },
{ HDA_SIS_ALL, "Unknown SiS device" },
{ HDA_ULI_ALL, "Unknown ULI device" },
};
#define HDAC_DEVICES_LEN (sizeof(know_hda_controller) / sizeof(know_hda_controller[0]))
/* CODECs */
// ErmaC: TODO build function to probe the codecID
/*
static hdacc_codecs know_codecs[] = {
{ HDA_CODEC_CS4206, 0, "Cirrus Logic CS4206" },
{ HDA_CODEC_CS4207, 0, "Cirrus Logic CS4207" },
{ HDA_CODEC_CS4210, 0, "Cirrus Logic CS4210" },
{ HDA_CODEC_ALC221, 0, "Realtek ALC221" },
{ HDA_CODEC_ALC260, 0, "Realtek ALC260" },
{ HDA_CODEC_ALC262, 0, "Realtek ALC262" },
{ HDA_CODEC_ALC267, 0, "Realtek ALC267" },
{ HDA_CODEC_ALC268, 0, "Realtek ALC268" },
{ HDA_CODEC_ALC269, 0, "Realtek ALC269" },
{ HDA_CODEC_ALC270, 0, "Realtek ALC270" },
{ HDA_CODEC_ALC272, 0, "Realtek ALC272" },
{ HDA_CODEC_ALC273, 0, "Realtek ALC273" },
{ HDA_CODEC_ALC275, 0, "Realtek ALC275" },
{ HDA_CODEC_ALC276, 0, "Realtek ALC276" },
{ HDA_CODEC_ALC660, 0, "Realtek ALC660-VD" },
{ HDA_CODEC_ALC662, 0x0002, "Realtek ALC662 rev2" },
{ HDA_CODEC_ALC662, 0, "Realtek ALC662" },
{ HDA_CODEC_ALC663, 0, "Realtek ALC663" },
{ HDA_CODEC_ALC665, 0, "Realtek ALC665" },
{ HDA_CODEC_ALC670, 0, "Realtek ALC670" },
{ HDA_CODEC_ALC680, 0, "Realtek ALC680" },
{ HDA_CODEC_ALC861, 0x0340, "Realtek ALC660" },
{ HDA_CODEC_ALC861, 0, "Realtek ALC861" },
{ HDA_CODEC_ALC861VD, 0, "Realtek ALC861-VD" },
{ HDA_CODEC_ALC880, 0, "Realtek ALC880" },
{ HDA_CODEC_ALC882, 0, "Realtek ALC882" },
{ HDA_CODEC_ALC883, 0, "Realtek ALC883" },
{ HDA_CODEC_ALC885, 0x0101, "Realtek ALC889A" },
{ HDA_CODEC_ALC885, 0x0103, "Realtek ALC889A" },
{ HDA_CODEC_ALC885, 0, "Realtek ALC885" },
{ HDA_CODEC_ALC887, 0, "Realtek ALC887" },
{ HDA_CODEC_ALC888, 0x0101, "Realtek ALC1200" },
{ HDA_CODEC_ALC888, 0, "Realtek ALC888" },
{ HDA_CODEC_ALC889, 0, "Realtek ALC889" },
{ HDA_CODEC_ALC892, 0, "Realtek ALC892" },
{ HDA_CODEC_ALC898, 0, "Realtek ALC898" },
{ HDA_CODEC_ALC899, 0, "Realtek ALC899" },
{ HDA_CODEC_ALC900, 0, "Realtek ALC1150" },
{ HDA_CODEC_AD1882, 0, "Analog Devices AD1882" },
{ HDA_CODEC_AD1882A, 0, "Analog Devices AD1882A" },
{ HDA_CODEC_AD1883, 0, "Analog Devices AD1883" },
{ HDA_CODEC_AD1884, 0, "Analog Devices AD1884" },
{ HDA_CODEC_AD1884A, 0, "Analog Devices AD1884A" },
{ HDA_CODEC_AD1981HD, 0, "Analog Devices AD1981HD" },
{ HDA_CODEC_AD1983, 0, "Analog Devices AD1983" },
{ HDA_CODEC_AD1984, 0, "Analog Devices AD1984" },
{ HDA_CODEC_AD1984A, 0, "Analog Devices AD1984A" },
{ HDA_CODEC_AD1984B, 0, "Analog Devices AD1984B" },
{ HDA_CODEC_AD1986A, 0, "Analog Devices AD1986A" },
{ HDA_CODEC_AD1987, 0, "Analog Devices AD1987" },
{ HDA_CODEC_AD1988, 0, "Analog Devices AD1988A" },
{ HDA_CODEC_AD1988B, 0, "Analog Devices AD1988B" },
{ HDA_CODEC_AD1989A, 0, "Analog Devices AD1989A" },
{ HDA_CODEC_AD1989B, 0, "Analog Devices AD1989B" },
{ HDA_CODEC_CA0110, 0, "Creative CA0110-IBG" },
{ HDA_CODEC_CA0110_2, 0, "Creative CA0110-IBG" },
{ 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_CXD9872RDK, 0, "Sigmatel CXD9872RD/K" },
{ HDA_CODEC_CXD9872AKD, 0, "Sigmatel CXD9872AKD" },
{ HDA_CODEC_STAC9200D, 0, "Sigmatel STAC9200D" },
{ HDA_CODEC_STAC9204X, 0, "Sigmatel STAC9204X" },
{ HDA_CODEC_STAC9204D, 0, "Sigmatel STAC9204D" },
{ HDA_CODEC_STAC9205X, 0, "Sigmatel STAC9205X" },
{ HDA_CODEC_STAC9205D, 0, "Sigmatel STAC9205D" },
{ HDA_CODEC_STAC9220, 0, "Sigmatel STAC9220" },
{ HDA_CODEC_STAC9220_A1, 0, "Sigmatel STAC9220_A1" },
{ HDA_CODEC_STAC9220_A2, 0, "Sigmatel STAC9220_A2" },
{ HDA_CODEC_STAC9221, 0, "Sigmatel STAC9221" },
{ HDA_CODEC_STAC9221_A2, 0, "Sigmatel STAC9221_A2" },
{ HDA_CODEC_STAC9221D, 0, "Sigmatel STAC9221D" },
{ HDA_CODEC_STAC922XD, 0, "Sigmatel STAC9220D/9223D" },
{ HDA_CODEC_STAC9227X, 0, "Sigmatel STAC9227X" },
{ HDA_CODEC_STAC9227D, 0, "Sigmatel STAC9227D" },
{ HDA_CODEC_STAC9228X, 0, "Sigmatel STAC9228X" },
{ HDA_CODEC_STAC9228D, 0, "Sigmatel STAC9228D" },
{ HDA_CODEC_STAC9229X, 0, "Sigmatel STAC9229X" },
{ HDA_CODEC_STAC9229D, 0, "Sigmatel STAC9229D" },
{ HDA_CODEC_STAC9230X, 0, "Sigmatel STAC9230X" },
{ HDA_CODEC_STAC9230D, 0, "Sigmatel STAC9230D" },
{ HDA_CODEC_STAC9250, 0, "Sigmatel STAC9250" },
{ HDA_CODEC_STAC9251, 0, "Sigmatel STAC9251" },
{ HDA_CODEC_STAC9255, 0, "Sigmatel STAC9255" },
{ HDA_CODEC_STAC9255D, 0, "Sigmatel STAC9255D" },
{ HDA_CODEC_STAC9254, 0, "Sigmatel STAC9254" },
{ HDA_CODEC_STAC9254D, 0, "Sigmatel STAC9254D" },
{ HDA_CODEC_STAC9271X, 0, "Sigmatel STAC9271X" },
{ HDA_CODEC_STAC9271D, 0, "Sigmatel STAC9271D" },
{ HDA_CODEC_STAC9272X, 0, "Sigmatel STAC9272X" },
{ HDA_CODEC_STAC9272D, 0, "Sigmatel STAC9272D" },
{ HDA_CODEC_STAC9273X, 0, "Sigmatel STAC9273X" },
{ HDA_CODEC_STAC9273D, 0, "Sigmatel STAC9273D" },
{ HDA_CODEC_STAC9274, 0, "Sigmatel STAC9274" },
{ HDA_CODEC_STAC9274D, 0, "Sigmatel STAC9274D" },
{ HDA_CODEC_STAC9274X5NH, 0, "Sigmatel STAC9274X5NH" },
{ HDA_CODEC_STAC9274D5NH, 0, "Sigmatel STAC9274D5NH" },
{ HDA_CODEC_STAC9872AK, 0, "Sigmatel STAC9872AK" },
{ HDA_CODEC_IDT92HD005, 0, "IDT 92HD005" },
{ HDA_CODEC_IDT92HD005D, 0, "IDT 92HD005D" },
{ HDA_CODEC_IDT92HD206X, 0, "IDT 92HD206X" },
{ HDA_CODEC_IDT92HD206D, 0, "IDT 92HD206D" },
{ HDA_CODEC_IDT92HD66B1X5, 0, "IDT 92HD66B1X5" },
{ HDA_CODEC_IDT92HD66B2X5, 0, "IDT 92HD66B2X5" },
{ HDA_CODEC_IDT92HD66B3X5, 0, "IDT 92HD66B3X5" },
{ HDA_CODEC_IDT92HD66C1X5, 0, "IDT 92HD66C1X5" },
{ HDA_CODEC_IDT92HD66C2X5, 0, "IDT 92HD66C2X5" },
{ HDA_CODEC_IDT92HD66C3X5, 0, "IDT 92HD66C3X5" },
{ HDA_CODEC_IDT92HD66B1X3, 0, "IDT 92HD66B1X3" },
{ HDA_CODEC_IDT92HD66B2X3, 0, "IDT 92HD66B2X3" },
{ HDA_CODEC_IDT92HD66B3X3, 0, "IDT 92HD66B3X3" },
{ HDA_CODEC_IDT92HD66C1X3, 0, "IDT 92HD66C1X3" },
{ HDA_CODEC_IDT92HD66C2X3, 0, "IDT 92HD66C2X3" },
{ HDA_CODEC_IDT92HD66C3_65, 0, "IDT 92HD66C3_65" },
{ HDA_CODEC_IDT92HD700X, 0, "IDT 92HD700X" },
{ HDA_CODEC_IDT92HD700D, 0, "IDT 92HD700D" },
{ HDA_CODEC_IDT92HD71B5, 0, "IDT 92HD71B5" },
{ HDA_CODEC_IDT92HD71B5_2, 0, "IDT 92HD71B5" },
{ HDA_CODEC_IDT92HD71B6, 0, "IDT 92HD71B6" },
{ HDA_CODEC_IDT92HD71B6_2, 0, "IDT 92HD71B6" },
{ HDA_CODEC_IDT92HD71B7, 0, "IDT 92HD71B7" },
{ HDA_CODEC_IDT92HD71B7_2, 0, "IDT 92HD71B7" },
{ HDA_CODEC_IDT92HD71B8, 0, "IDT 92HD71B8" },
{ HDA_CODEC_IDT92HD71B8_2, 0, "IDT 92HD71B8" },
{ HDA_CODEC_IDT92HD73C1, 0, "IDT 92HD73C1" },
{ HDA_CODEC_IDT92HD73D1, 0, "IDT 92HD73D1" },
{ HDA_CODEC_IDT92HD73E1, 0, "IDT 92HD73E1" },
{ HDA_CODEC_IDT92HD75B3, 0, "IDT 92HD75B3" },
{ HDA_CODEC_IDT92HD75BX, 0, "IDT 92HD75BX" },
{ HDA_CODEC_IDT92HD81B1C, 0, "IDT 92HD81B1C" },
{ HDA_CODEC_IDT92HD81B1X, 0, "IDT 92HD81B1X" },
{ HDA_CODEC_IDT92HD83C1C, 0, "IDT 92HD83C1C" },
{ HDA_CODEC_IDT92HD83C1X, 0, "IDT 92HD83C1X" },
{ HDA_CODEC_IDT92HD87B1_3, 0, "IDT 92HD87B1/3" },
{ HDA_CODEC_IDT92HD87B2_4, 0, "IDT 92HD87B2/4" },
{ HDA_CODEC_IDT92HD89C3, 0, "IDT 92HD89C3" },
{ HDA_CODEC_IDT92HD89C2, 0, "IDT 92HD89C2" },
{ HDA_CODEC_IDT92HD89C1, 0, "IDT 92HD89C1" },
{ HDA_CODEC_IDT92HD89B3, 0, "IDT 92HD89B3" },
{ HDA_CODEC_IDT92HD89B2, 0, "IDT 92HD89B2" },
{ HDA_CODEC_IDT92HD89B1, 0, "IDT 92HD89B1" },
{ HDA_CODEC_IDT92HD89E3, 0, "IDT 92HD89E3" },
{ HDA_CODEC_IDT92HD89E2, 0, "IDT 92HD89E2" },
{ HDA_CODEC_IDT92HD89E1, 0, "IDT 92HD89E1" },
{ HDA_CODEC_IDT92HD89D3, 0, "IDT 92HD89D3" },
{ HDA_CODEC_IDT92HD89D2, 0, "IDT 92HD89D2" },
{ HDA_CODEC_IDT92HD89D1, 0, "IDT 92HD89D1" },
{ HDA_CODEC_IDT92HD89F3, 0, "IDT 92HD89F3" },
{ HDA_CODEC_IDT92HD89F2, 0, "IDT 92HD89F2" },
{ HDA_CODEC_IDT92HD89F1, 0, "IDT 92HD89F1" },
{ HDA_CODEC_IDT92HD90BXX, 0, "IDT 92HD90BXX" },
{ HDA_CODEC_IDT92HD91BXX, 0, "IDT 92HD91BXX" },
{ HDA_CODEC_IDT92HD93BXX, 0, "IDT 92HD93BXX" },
{ HDA_CODEC_IDT92HD98BXX, 0, "IDT 92HD98BXX" },
{ HDA_CODEC_IDT92HD99BXX, 0, "IDT 92HD99BXX" },
{ HDA_CODEC_CX20549, 0, "Conexant CX20549 (Venice)" },
{ HDA_CODEC_CX20551, 0, "Conexant CX20551 (Waikiki)" },
{ HDA_CODEC_CX20561, 0, "Conexant CX20561 (Hermosa)" },
{ HDA_CODEC_CX20582, 0, "Conexant CX20582 (Pebble)" },
{ HDA_CODEC_CX20583, 0, "Conexant CX20583 (Pebble HSF)" },
{ HDA_CODEC_CX20584, 0, "Conexant CX20584" },
{ HDA_CODEC_CX20585, 0, "Conexant CX20585" },
{ HDA_CODEC_CX20588, 0, "Conexant CX20588" },
{ HDA_CODEC_CX20590, 0, "Conexant CX20590" },
{ HDA_CODEC_CX20631, 0, "Conexant CX20631" },
{ HDA_CODEC_CX20632, 0, "Conexant CX20632" },
{ HDA_CODEC_CX20641, 0, "Conexant CX20641" },
{ HDA_CODEC_CX20642, 0, "Conexant CX20642" },
{ HDA_CODEC_CX20651, 0, "Conexant CX20651" },
{ HDA_CODEC_CX20652, 0, "Conexant CX20652" },
{ HDA_CODEC_CX20664, 0, "Conexant CX20664" },
{ HDA_CODEC_CX20665, 0, "Conexant CX20665" },
{ HDA_CODEC_VT1708_8, 0, "VIA VT1708_8" },
{ HDA_CODEC_VT1708_9, 0, "VIA VT1708_9" },
{ HDA_CODEC_VT1708_A, 0, "VIA VT1708_A" },
{ HDA_CODEC_VT1708_B, 0, "VIA VT1708_B" },
{ HDA_CODEC_VT1709_0, 0, "VIA VT1709_0" },
{ HDA_CODEC_VT1709_1, 0, "VIA VT1709_1" },
{ HDA_CODEC_VT1709_2, 0, "VIA VT1709_2" },
{ HDA_CODEC_VT1709_3, 0, "VIA VT1709_3" },
{ HDA_CODEC_VT1709_4, 0, "VIA VT1709_4" },
{ HDA_CODEC_VT1709_5, 0, "VIA VT1709_5" },
{ HDA_CODEC_VT1709_6, 0, "VIA VT1709_6" },
{ HDA_CODEC_VT1709_7, 0, "VIA VT1709_7" },
{ HDA_CODEC_VT1708B_0, 0, "VIA VT1708B_0" },
{ HDA_CODEC_VT1708B_1, 0, "VIA VT1708B_1" },
{ HDA_CODEC_VT1708B_2, 0, "VIA VT1708B_2" },
{ HDA_CODEC_VT1708B_3, 0, "VIA VT1708B_3" },
{ HDA_CODEC_VT1708B_4, 0, "VIA VT1708B_4" },
{ HDA_CODEC_VT1708B_5, 0, "VIA VT1708B_5" },
{ HDA_CODEC_VT1708B_6, 0, "VIA VT1708B_6" },
{ HDA_CODEC_VT1708B_7, 0, "VIA VT1708B_7" },
{ HDA_CODEC_VT1708S_0, 0, "VIA VT1708S_0" },
{ HDA_CODEC_VT1708S_1, 0, "VIA VT1708S_1" },
{ HDA_CODEC_VT1708S_2, 0, "VIA VT1708S_2" },
{ HDA_CODEC_VT1708S_3, 0, "VIA VT1708S_3" },
{ HDA_CODEC_VT1708S_4, 0, "VIA VT1708S_4" },
{ HDA_CODEC_VT1708S_5, 0, "VIA VT1708S_5" },
{ HDA_CODEC_VT1708S_6, 0, "VIA VT1708S_6" },
{ HDA_CODEC_VT1708S_7, 0, "VIA VT1708S_7" },
{ HDA_CODEC_VT1702_0, 0, "VIA VT1702_0" },
{ HDA_CODEC_VT1702_1, 0, "VIA VT1702_1" },
{ HDA_CODEC_VT1702_2, 0, "VIA VT1702_2" },
{ HDA_CODEC_VT1702_3, 0, "VIA VT1702_3" },
{ HDA_CODEC_VT1702_4, 0, "VIA VT1702_4" },
{ HDA_CODEC_VT1702_5, 0, "VIA VT1702_5" },
{ HDA_CODEC_VT1702_6, 0, "VIA VT1702_6" },
{ HDA_CODEC_VT1702_7, 0, "VIA VT1702_7" },
{ HDA_CODEC_VT1716S_0, 0, "VIA VT1716S_0" },
{ HDA_CODEC_VT1716S_1, 0, "VIA VT1716S_1" },
{ HDA_CODEC_VT1718S_0, 0, "VIA VT1718S_0" },
{ HDA_CODEC_VT1718S_1, 0, "VIA VT1718S_1" },
{ HDA_CODEC_VT1802_0, 0, "VIA VT1802_0" },
{ HDA_CODEC_VT1802_1, 0, "VIA VT1802_1" },
{ HDA_CODEC_VT1812, 0, "VIA VT1812" },
{ HDA_CODEC_VT1818S, 0, "VIA VT1818S" },
{ HDA_CODEC_VT1828S, 0, "VIA VT1828S" },
{ HDA_CODEC_VT2002P_0, 0, "VIA VT2002P_0" },
{ HDA_CODEC_VT2002P_1, 0, "VIA VT2002P_1" },
{ HDA_CODEC_VT2020, 0, "VIA VT2020" },
{ HDA_CODEC_ATIRS600_1, 0, "ATI RS600" },
{ HDA_CODEC_ATIRS600_2, 0, "ATI RS600" },
{ HDA_CODEC_ATIRS690, 0, "ATI RS690/780" },
{ HDA_CODEC_ATIR6XX, 0, "ATI R6xx" },
{ HDA_CODEC_NVIDIAMCP67, 0, "NVIDIA MCP67" },
{ HDA_CODEC_NVIDIAMCP73, 0, "NVIDIA MCP73" },
{ HDA_CODEC_NVIDIAMCP78, 0, "NVIDIA MCP78" },
{ HDA_CODEC_NVIDIAMCP78_2, 0, "NVIDIA MCP78" },
{ HDA_CODEC_NVIDIAMCP78_3, 0, "NVIDIA MCP78" },
{ HDA_CODEC_NVIDIAMCP78_4, 0, "NVIDIA MCP78" },
{ HDA_CODEC_NVIDIAMCP7A, 0, "NVIDIA MCP7A" },
{ HDA_CODEC_NVIDIAGT220, 0, "NVIDIA GT220" },
{ HDA_CODEC_NVIDIAGT21X, 0, "NVIDIA GT21x" },
{ HDA_CODEC_NVIDIAMCP89, 0, "NVIDIA MCP89" },
{ HDA_CODEC_NVIDIAGT240, 0, "NVIDIA GT240" },
{ HDA_CODEC_NVIDIAGTS450, 0, "NVIDIA GTS450" },
{ HDA_CODEC_NVIDIAGT440, 0, "NVIDIA GT440" },
{ HDA_CODEC_NVIDIAGTX550, 0, "NVIDIA GTX550" },
{ HDA_CODEC_NVIDIAGTX570, 0, "NVIDIA GTX570" },
{ HDA_CODEC_INTELIP, 0, "Intel Ibex Peak" },
{ HDA_CODEC_INTELBL, 0, "Intel Bearlake" },
{ HDA_CODEC_INTELCA, 0, "Intel Cantiga" },
{ HDA_CODEC_INTELEL, 0, "Intel Eaglelake" },
{ HDA_CODEC_INTELIP2, 0, "Intel Ibex Peak" },
{ HDA_CODEC_INTELCPT, 0, "Intel Cougar Point" },
{ HDA_CODEC_INTELPPT, 0, "Intel Panther Point" },
{ HDA_CODEC_INTELCL, 0, "Intel Crestline" },
{ HDA_CODEC_SII1390, 0, "Silicon Image SiI1390" },
{ HDA_CODEC_SII1392, 0, "Silicon Image SiI1392" },
// Unknown CODECs
{ HDA_CODEC_ADXXXX, 0, "Analog Devices" },
{ HDA_CODEC_AGEREXXXX, 0, "Lucent/Agere Systems" },
{ HDA_CODEC_ALCXXXX, 0, "Realtek" },
{ HDA_CODEC_ATIXXXX, 0, "ATI" },
{ HDA_CODEC_CAXXXX, 0, "Creative" },
{ HDA_CODEC_CMIXXXX, 0, "CMedia" },
{ HDA_CODEC_CMIXXXX2, 0, "CMedia" },
{ HDA_CODEC_CSXXXX, 0, "Cirrus Logic" },
{ HDA_CODEC_CXXXXX, 0, "Conexant" },
{ HDA_CODEC_CHXXXX, 0, "Chrontel" },
{ HDA_CODEC_IDTXXXX, 0, "IDT" },
{ HDA_CODEC_INTELXXXX, 0, "Intel" },
{ HDA_CODEC_MOTOXXXX, 0, "Motorola" },
{ HDA_CODEC_NVIDIAXXXX, 0, "NVIDIA" },
{ HDA_CODEC_SIIXXXX, 0, "Silicon Image" },
{ HDA_CODEC_STACXXXX, 0, "Sigmatel" },
{ HDA_CODEC_VTXXXX, 0, "VIA" },
};
#define HDACC_CODECS_LEN (sizeof(know_codecs) / sizeof(know_codecs[0]))
*/
/*****************
* Device Methods
*****************/
/* get HDA device name */
static char *get_hda_controller_name(uint16_t controller_device_id, uint16_t controller_vendor_id)
{
static char desc[128];
const char* name_format = "Unknown HD Audio device %s";
uint32_t controller_model = ((controller_device_id << 16) | controller_vendor_id);
int i;
/* Get format for vendor ID */
switch (controller_vendor_id) {
case ATI_VENDORID:
name_format = "ATI %s HDA Controller (HDMi)"; break;
case INTEL_VENDORID:
name_format = "Intel %s High Definition Audio Controller"; break;
case NVIDIA_VENDORID:
name_format = "nVidia %s HDA Controller (HDMi)"; break;
case RDC_VENDORID:
name_format = "RDC %s High Definition Audio Controller"; break;
case SIS_VENDORID:
name_format = "SiS %s HDA Controller"; break;
case ULI_VENDORID:
name_format = "ULI %s HDA Controller"; break;
case VIA_VENDORID:
name_format = "VIA %s HDA Controller"; break;
default:
break;
}
for (i = 0; i < HDAC_DEVICES_LEN; i++) {
if (know_hda_controller[i].model == controller_model) {
snprintf(desc, sizeof(desc), name_format, know_hda_controller[i].desc);
return desc;
}
}
/* Not in table */
snprintf(desc, sizeof(desc),
"Unknown HD Audio device, vendor %04x, model %04x",
controller_vendor_id, controller_device_id);
return desc;
}
static int devprop_add_hda_template(struct DevPropDevice *device)
{
if (!device)
{
return 0;
}
devices_number++;
return 1;
}
bool setup_hda_devprop(pci_dt_t *hda_dev)
{
structDevPropDevice*device = NULL;
char*devicepath = NULL;
char*controller_name = NULL;
int len;
uint8_tBuiltIn = 0x00;
uint16_tcontroller_vendor_id = hda_dev->vendor_id;
uint16_tcontroller_device_id = hda_dev->device_id;
const char*value;
devicepath = get_pci_dev_path(hda_dev);
controller_name = get_hda_controller_name(controller_device_id, controller_vendor_id);
if (!string)
{
string = devprop_create_string();
if (!string)
{
return 0;
}
}
if (!devicepath)
{
return 0;
}
device = devprop_add_device(string, devicepath);
if (!device)
{
return 0;
}
devprop_add_hda_template(device);
verbose("\n--------------------------------\n");
verbose("- AUDIO DEVICE INFO -\n");
verbose("--------------------------------\n");
switch ((controller_device_id << 16) | controller_vendor_id) {
/***********************************************************************
* The above case are intended as for HDEF device at address 0x001B0000
***********************************************************************/
case HDA_INTEL_HASWELL:
case HDA_INTEL_CRYSTAL:
case HDA_INTEL_CPT:
case HDA_INTEL_PATSBURG:
case HDA_INTEL_PPT1:
case HDA_INTEL_82801F:
case HDA_INTEL_63XXESB:
case HDA_INTEL_82801G:
case HDA_INTEL_82801H:
case HDA_INTEL_82801I:
case HDA_INTEL_82801JI:
case HDA_INTEL_82801JD:
case HDA_INTEL_PCH:
case HDA_INTEL_PCH2:
case HDA_INTEL_SCH:
case HDA_INTEL_LPT1:
case HDA_INTEL_LPT2:
case HDA_INTEL_LYNX:
case HDA_INTEL_LYNX2:
/* if the key value kHDEFLayoutID as a value set that value, if not will assign a default layout */
if (getValueForKey(kHDEFLayoutID, &value, &len, &bootInfo->chameleonConfig) && len == HDEF_LEN * 2)
{
uint8_t new_HDEF_layout_id[HDEF_LEN];
if (hex2bin(value, new_HDEF_layout_id, HDEF_LEN) == 0){
memcpy(default_HDEF_layout_id, new_HDEF_layout_id, HDEF_LEN);
verbose("Using user supplied HDEF layout-id: 0x%02x, 0x%02x, 0x%02x, 0x%02x\n",
default_HDEF_layout_id[0], default_HDEF_layout_id[1], default_HDEF_layout_id[2], default_HDEF_layout_id[3]);
}
}
else
{
verbose("Using default HDEF layout-id: 0x%02x, 0x%02x, 0x%02x, 0x%02x\n",
default_HDEF_layout_id[0], default_HDEF_layout_id[1], default_HDEF_layout_id[2], default_HDEF_layout_id[3]);
}
devprop_add_value(device, "layout-id", default_HDEF_layout_id, HDEF_LEN);
devprop_add_value(device, "built-in", &BuiltIn, 1);
devprop_add_value(device, "hda-gfx", (uint8_t *)"onboard-1", 10);
break;
/****************************************************************************************************************
* The above case are intended as for HDAU (NVIDIA) device onboard audio for GFX card with Audio controller HDMi
****************************************************************************************************************/
case HDA_NVIDIA_GK107:
case HDA_NVIDIA_GF114:
case HDA_NVIDIA_GK106:
case HDA_NVIDIA_GK104:
case HDA_NVIDIA_GF110:
case HDA_NVIDIA_GF119:
case HDA_NVIDIA_GT116:
case HDA_NVIDIA_GT104:
case HDA_NVIDIA_GT108:
case HDA_NVIDIA_GT106:
case HDA_NVIDIA_GT100:
case HDA_NVIDIA_0BE4:
case HDA_NVIDIA_0BE3:
case HDA_NVIDIA_0BE2:
/* if the key value kHDAULayoutID as a value set that value, if not will assign a default layout */
if (getValueForKey(kHDAULayoutID, &value, &len, &bootInfo->chameleonConfig) && len == HDAU_LEN * 2)
{
uint8_t new_HDAU_layout_id[HDAU_LEN];
if (hex2bin(value, new_HDAU_layout_id, HDAU_LEN) == 0)
{
memcpy(default_HDAU_layout_id, new_HDAU_layout_id, HDAU_LEN);
verbose("Using user supplied HDAU layout-id: 0x%02x, 0x%02x, 0x%02x, 0x%02x\n",
default_HDAU_layout_id[0], default_HDAU_layout_id[1], default_HDAU_layout_id[2], default_HDAU_layout_id[3]);
}
}
else
{
verbose("Using default HDAU layout-id: 0x%02x, 0x%02x, 0x%02x, 0x%02x\n",
default_HDAU_layout_id[0], default_HDAU_layout_id[1], default_HDAU_layout_id[2], default_HDAU_layout_id[3]);
}
devprop_add_value(device, "layout-id", default_HDAU_layout_id, HDAU_LEN); /*FIX ME*/
devprop_add_value(device, "@0,connector-type", connector_type_value, 4);
devprop_add_value(device, "@1,connector-type", connector_type_value, 4);
devprop_add_value(device, "hda-gfx", (uint8_t *)"onboard-2", 10);
devprop_add_value(device, "built-in", &BuiltIn, 1);
break;
/*************************************************************************************************************
* The above case are intended as for HDAU (ATi) device onboard audio for GFX card with Audio controller HDMi
*************************************************************************************************************/
case HDA_ATI_SB450:
case HDA_ATI_SB600:
case HDA_ATI_RS600:
case HDA_ATI_RS690:
case HDA_ATI_RS780:
case HDA_ATI_R600:
case HDA_ATI_RV630:
case HDA_ATI_RV610:
case HDA_ATI_RV670:
case HDA_ATI_RV635:
case HDA_ATI_RV620:
case HDA_ATI_RV770:
case HDA_ATI_RV730:
case HDA_ATI_RV710:
case HDA_ATI_RV740:
case HDA_ATI_RV870:
case HDA_ATI_RV840:
case HDA_ATI_RV830:
case HDA_ATI_RV810:
case HDA_ATI_RV970:
case HDA_ATI_RV940:
case HDA_ATI_RV930:
case HDA_ATI_RV910:
case HDA_ATI_R1000:
case HDA_ATI_VERDE:
/* if the key value kHDAULayoutID as a value set that value, if not will assign a default layout */
if (getValueForKey(kHDAULayoutID, &value, &len, &bootInfo->chameleonConfig) && len == HDAU_LEN * 2)
{
uint8_t new_HDAU_layout_id[HDAU_LEN];
if (hex2bin(value, new_HDAU_layout_id, HDAU_LEN) == 0)
{
memcpy(default_HDAU_layout_id, new_HDAU_layout_id, HDAU_LEN);
verbose("Using user supplied HDAU layout-id: 0x%02x, 0x%02x, 0x%02x, 0x%02x\n",
default_HDAU_layout_id[0], default_HDAU_layout_id[1], default_HDAU_layout_id[2], default_HDAU_layout_id[3]);
}
}
else
{
verbose("Using default HDAU layout-id: 0x%02x, 0x%02x, 0x%02x, 0x%02x\n",
default_HDAU_layout_id[0], default_HDAU_layout_id[1], default_HDAU_layout_id[2], default_HDAU_layout_id[3]);
}
devprop_add_value(device, "layout-id", default_HDAU_layout_id, HDAU_LEN); /*FIX ME*/
devprop_add_value(device, "hda-gfx", (uint8_t *)"onboard-2", 10);
devprop_add_value(device, "built-in", &BuiltIn, 1);
break;
default:
break;
}
verbose("Class code: [%04x]\nModel name: %s [%04x:%04x] (rev %02x)\nSubsystem: [%04x:%04x]\n%s\ndevice number: %d\n",
hda_dev->class_id, controller_name, hda_dev->vendor_id, hda_dev->device_id, hda_dev->revision_id,
hda_dev->subsys_id.subsys.vendor_id, hda_dev->subsys_id.subsys.device_id, devicepath, devices_number);
verbose("--------------------------------\n");
stringdata = malloc(sizeof(uint8_t) * string->length);
memcpy(stringdata, (uint8_t*)devprop_generate_string(string), string->length);
stringlength = string->length;
return true;
}
branches/Chimera/i386/libsaio/hda.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
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
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
/*
*HDA injector / Audio Enabler
*
*Copyright (C) 2012Chameleon Team
*Edit by Fabio (ErmaC)
*
*HDA injector is free software: you can redistribute it and/or modify
*it under the terms of the GNU General Public License as published by
*the Free Software Foundation, either version 3 of the License, or
*(at your option) any later version.
*
*HDA injector is distributed in the hope that it will be useful,
*but WITHOUT ANY WARRANTY; without even the implied warranty of
*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
*GNU General Public License for more details.
*
*Alternatively you can choose to comply with APSL
*
*Permission is hereby granted, free of charge, to any person obtaining a
*copy of this software and associated documentation files (the "Software"),
*to deal in the Software without restriction, including without limitation
*the rights to use, copy, modify, merge, publish, distribute, sublicense,
*and/or sell copies of the Software, and to permit persons to whom the
*Software is furnished to do so, subject to the following conditions:
*
*The above copyright notice and this permission notice shall be included in
*all copies or substantial portions of the Software.
*
******************************************************************************
* http://www.leidinger.net/FreeBSD/dox/dev_sound/html/df/d54/hdac_8c_source.html
*
* Copyright (c) 2006 Stephane E. Potvin <sepotvin@videotron.ca>
* Copyright (c) 2006 Ariff Abdullah <ariff@FreeBSD.org>
* Copyright (c) 2008-2012 Alexander Motin <mav@FreeBSD.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* Intel High Definition Audio (Controller) driver for FreeBSD.
*
******************************************************************************/
#ifndef __LIBSAIO_HDA_H
#define __LIBSAIO_HDA_H
bool setup_hda_devprop(pci_dt_t *hda_dev);
struct hda_controller_devices;
typedef struct {
uint32_tmodel;
char*desc;
// charquirks_on;
// charquirks_off;
} hda_controller_devices;
/*
struct hdacc_codecs;
typedef struct {
uint32_t cid;
uint16_t revid;
char *name;
} hdacc_codecs;
*/
/****************************************************************************
* Miscellanious defines
****************************************************************************/
/* Controller models */
#define HDA_MODEL_CONSTRUCT(vendor, model) (((uint32_t)(model) << 16) | ((vendor##_VENDORID) & 0xffff))
/* Intel */
#define INTEL_VENDORID0x8086
#define HDA_INTEL_HASWELLHDA_MODEL_CONSTRUCT(INTEL, 0x0c0c)
#define HDA_INTEL_CRYSTALHDA_MODEL_CONSTRUCT(INTEL, 0x0d0c)
#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_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_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_SCHHDA_MODEL_CONSTRUCT(INTEL, 0x811b)
#define HDA_INTEL_LPT1HDA_MODEL_CONSTRUCT(INTEL, 0x8d20)
#define HDA_INTEL_LPT2HDA_MODEL_CONSTRUCT(INTEL, 0x8d21)
#define HDA_INTEL_LYNX HDA_MODEL_CONSTRUCT(INTEL, 0x9c20)
#define HDA_INTEL_LYNX2 HDA_MODEL_CONSTRUCT(INTEL, 0x9c21)
#define HDA_INTEL_ALLHDA_MODEL_CONSTRUCT(INTEL, 0xffff)
/* Nvidia */
#define NVIDIA_VENDORID0x10de
// 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_MCP61_2HDA_MODEL_CONSTRUCT(NVIDIA, 0x03f0)
#define HDA_NVIDIA_MCP65_1HDA_MODEL_CONSTRUCT(NVIDIA, 0x044a)
#define HDA_NVIDIA_MCP65_2HDA_MODEL_CONSTRUCT(NVIDIA, 0x044b)
#define HDA_NVIDIA_MCP67_1HDA_MODEL_CONSTRUCT(NVIDIA, 0x055c)
#define HDA_NVIDIA_MCP67_2HDA_MODEL_CONSTRUCT(NVIDIA, 0x055d)
#define HDA_NVIDIA_MCP78_1HDA_MODEL_CONSTRUCT(NVIDIA, 0x0774)
#define HDA_NVIDIA_MCP78_2HDA_MODEL_CONSTRUCT(NVIDIA, 0x0775)
#define HDA_NVIDIA_MCP78_3HDA_MODEL_CONSTRUCT(NVIDIA, 0x0776)
#define HDA_NVIDIA_MCP78_4HDA_MODEL_CONSTRUCT(NVIDIA, 0x0777)
#define HDA_NVIDIA_MCP73_1HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fc)
#define HDA_NVIDIA_MCP73_2HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fd)
#define HDA_NVIDIA_MCP79_1HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac0)
#define HDA_NVIDIA_MCP79_2HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac1)
#define HDA_NVIDIA_MCP79_3HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac2)
#define HDA_NVIDIA_MCP79_4HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac3)
#define HDA_NVIDIA_0BE2HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be2)
#define HDA_NVIDIA_0BE3HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be3) // [GeForce 210] HDAcodec
#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_GT104HDA_MODEL_CONSTRUCT(NVIDIA, 0x0beb)
#define HDA_NVIDIA_GT116HDA_MODEL_CONSTRUCT(NVIDIA, 0x0bee)
#define HDA_NVIDIA_MCP89_1HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d94)
#define HDA_NVIDIA_MCP89_2HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d95)
#define HDA_NVIDIA_MCP89_3HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d96)
#define HDA_NVIDIA_MCP89_4HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d97)
#define HDA_NVIDIA_GF119HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e08)
#define HDA_NVIDIA_GF110HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e09)
#define HDA_NVIDIA_GK104HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e0a)
#define HDA_NVIDIA_GK106HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e0b)
#define HDA_NVIDIA_GF114HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e0c) // HDACodec de101600 (10de0016), Controller Binary de100c0e x2
#define HDA_NVIDIA_GK110HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e1a)
#define HDA_NVIDIA_GK107HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e1b) // HDACodec de104200 (10de0042)
#define HDA_NVIDIA_ALLHDA_MODEL_CONSTRUCT(NVIDIA, 0xffff)
/* ATI */
#define ATI_VENDORID0x1002
#define HDA_ATI_SB450HDA_MODEL_CONSTRUCT(ATI, 0x437b)
#define HDA_ATI_SB600HDA_MODEL_CONSTRUCT(ATI, 0x4383)
#define HDA_ATI_RS600HDA_MODEL_CONSTRUCT(ATI, 0x793b)
#define HDA_ATI_RS690HDA_MODEL_CONSTRUCT(ATI, 0x7919)
#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_VERDEHDA_MODEL_CONSTRUCT(ATI, 0xaab0)
#define HDA_ATI_ALLHDA_MODEL_CONSTRUCT(ATI, 0xffff)
/* RDC */
#define RDC_VENDORID0x17f3
#define HDA_RDC_M3010HDA_MODEL_CONSTRUCT(RDC, 0x3010)
/* VIA */
#define VIA_VENDORID0x1106
#define HDA_VIA_VT82XXHDA_MODEL_CONSTRUCT(VIA, 0x3288)
#define HDA_VIA_ALLHDA_MODEL_CONSTRUCT(VIA, 0xffff)
/* SiS */
#define SIS_VENDORID0x1039
#define HDA_SIS_966HDA_MODEL_CONSTRUCT(SIS, 0x7502)
#define HDA_SIS_ALLHDA_MODEL_CONSTRUCT(SIS, 0xffff)
/* ULI */
#define ULI_VENDORID0x10b9
#define HDA_ULI_M5461HDA_MODEL_CONSTRUCT(ULI, 0x5461)
#define HDA_ULI_ALLHDA_MODEL_CONSTRUCT(ULI, 0xffff)
/* OEM/subvendors */
/* Intel */
#define INTEL_D101GGC_SUBVENDORHDA_MODEL_CONSTRUCT(INTEL, 0xd600)
/* 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
/* 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)
/* Clevo */
#define CLEVO_VENDORID0x1558
#define CLEVO_D900T_SUBVENDORHDA_MODEL_CONSTRUCT(CLEVO, 0x0900)
#define CLEVO_ALL_SUBVENDORHDA_MODEL_CONSTRUCT(CLEVO, 0xffff)
/* 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_VENDORID0x106b
#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_MAC0x76808384
#define APPLE_MACBOOKPRO550xcb7910de
/* 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 HDA1_LEN ( sizeof(default_HDAU_layout_id) / sizeof(uint8_t) )
/* codec information */
#define HDA_CODEC_CONSTRUCT(vendor, id) (((uint32_t)(vendor##_VENDORID) << 16) | ((id) & 0xffff))
/* Cirrus Logic */
#define CIRRUSLOGIC_VENDORID 0x1013
#define HDA_CODEC_CS4206 HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0x4206)
#define HDA_CODEC_CS4207 HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0x4207)
#define HDA_CODEC_CS4210 HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0x4210)
#define HDA_CODEC_CSXXXX HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0xffff)
/* Realtek */
#define REALTEK_VENDORID 0x10ec
#define HDA_CODEC_ALC221 HDA_CODEC_CONSTRUCT(REALTEK, 0x0221)
#define HDA_CODEC_ALC260 HDA_CODEC_CONSTRUCT(REALTEK, 0x0260)
#define HDA_CODEC_ALC262 HDA_CODEC_CONSTRUCT(REALTEK, 0x0262)
#define HDA_CODEC_ALC267 HDA_CODEC_CONSTRUCT(REALTEK, 0x0267)
#define HDA_CODEC_ALC268 HDA_CODEC_CONSTRUCT(REALTEK, 0x0268)
#define HDA_CODEC_ALC269 HDA_CODEC_CONSTRUCT(REALTEK, 0x0269)
#define HDA_CODEC_ALC270 HDA_CODEC_CONSTRUCT(REALTEK, 0x0270)
#define HDA_CODEC_ALC272 HDA_CODEC_CONSTRUCT(REALTEK, 0x0272)
#define HDA_CODEC_ALC273 HDA_CODEC_CONSTRUCT(REALTEK, 0x0273)
#define HDA_CODEC_ALC275 HDA_CODEC_CONSTRUCT(REALTEK, 0x0275)
#define HDA_CODEC_ALC276 HDA_CODEC_CONSTRUCT(REALTEK, 0x0276)
#define HDA_CODEC_ALC660 HDA_CODEC_CONSTRUCT(REALTEK, 0x0660)
#define HDA_CODEC_ALC662 HDA_CODEC_CONSTRUCT(REALTEK, 0x0662)
#define HDA_CODEC_ALC663 HDA_CODEC_CONSTRUCT(REALTEK, 0x0663)
#define HDA_CODEC_ALC665 HDA_CODEC_CONSTRUCT(REALTEK, 0x0665)
#define HDA_CODEC_ALC670 HDA_CODEC_CONSTRUCT(REALTEK, 0x0670)
#define HDA_CODEC_ALC680 HDA_CODEC_CONSTRUCT(REALTEK, 0x0680)
#define HDA_CODEC_ALC861 HDA_CODEC_CONSTRUCT(REALTEK, 0x0861)
#define HDA_CODEC_ALC861VD HDA_CODEC_CONSTRUCT(REALTEK, 0x0862)
#define HDA_CODEC_ALC880 HDA_CODEC_CONSTRUCT(REALTEK, 0x0880)
#define HDA_CODEC_ALC882 HDA_CODEC_CONSTRUCT(REALTEK, 0x0882)
#define HDA_CODEC_ALC883 HDA_CODEC_CONSTRUCT(REALTEK, 0x0883)
#define HDA_CODEC_ALC885 HDA_CODEC_CONSTRUCT(REALTEK, 0x0885)
#define HDA_CODEC_ALC887 HDA_CODEC_CONSTRUCT(REALTEK, 0x0887)
#define HDA_CODEC_ALC888 HDA_CODEC_CONSTRUCT(REALTEK, 0x0888)
#define HDA_CODEC_ALC889 HDA_CODEC_CONSTRUCT(REALTEK, 0x0889)
#define HDA_CODEC_ALC892 HDA_CODEC_CONSTRUCT(REALTEK, 0x0892)
#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_ALCXXXX HDA_CODEC_CONSTRUCT(REALTEK, 0xffff)
/* Motorola */
#define MOTO_VENDORID 0x1057
#define HDA_CODEC_MOTOXXXX HDA_CODEC_CONSTRUCT(MOTO, 0xffff)
/* Creative */
#define CREATIVE_VENDORID 0x1102
#define HDA_CODEC_CA0110 HDA_CODEC_CONSTRUCT(CREATIVE, 0x000a)
#define HDA_CODEC_CA0110_2 HDA_CODEC_CONSTRUCT(CREATIVE, 0x000b)
#define HDA_CODEC_SB0880 HDA_CODEC_CONSTRUCT(CREATIVE, 0x000d)
#define HDA_CODEC_CA0132 HDA_CODEC_CONSTRUCT(CREATIVE, 0x0011)
#define HDA_CODEC_CAXXXX HDA_CODEC_CONSTRUCT(CREATIVE, 0xffff)
/* Analog Devices */
#define ANALOGDEVICES_VENDORID 0x11d4
#define HDA_CODEC_AD1884A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x184a)
#define HDA_CODEC_AD1882 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1882)
#define HDA_CODEC_AD1883 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1883)
#define HDA_CODEC_AD1884 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1884)
#define HDA_CODEC_AD1984A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194a)
#define HDA_CODEC_AD1984B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194b)
#define HDA_CODEC_AD1981HD HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1981)
#define HDA_CODEC_AD1983 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1983)
#define HDA_CODEC_AD1984 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1984)
#define HDA_CODEC_AD1986A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1986)
#define HDA_CODEC_AD1987 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1987)
#define HDA_CODEC_AD1988 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1988)
#define HDA_CODEC_AD1988B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x198b)
#define HDA_CODEC_AD1882A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x882a)
#define HDA_CODEC_AD1989A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x989a)
#define HDA_CODEC_AD1989B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x989b)
#define HDA_CODEC_ADXXXX HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0xffff)
/* CMedia */
#define CMEDIA_VENDORID 0x13f6
#define HDA_CODEC_CMI9880 HDA_CODEC_CONSTRUCT(CMEDIA, 0x9880)
#define HDA_CODEC_CMIXXXX HDA_CODEC_CONSTRUCT(CMEDIA, 0xffff)
#define CMEDIA2_VENDORID 0x434d
#define HDA_CODEC_CMI98802 HDA_CODEC_CONSTRUCT(CMEDIA2, 0x4980)
#define HDA_CODEC_CMIXXXX2 HDA_CODEC_CONSTRUCT(CMEDIA2, 0xffff)
/* Sigmatel */
#define SIGMATEL_VENDORID 0x8384
#define HDA_CODEC_STAC9230X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7612)
#define HDA_CODEC_STAC9230D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7613)
#define HDA_CODEC_STAC9229X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7614)
#define HDA_CODEC_STAC9229D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7615)
#define HDA_CODEC_STAC9228X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7616)
#define HDA_CODEC_STAC9228D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7617)
#define HDA_CODEC_STAC9227X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7618)
#define HDA_CODEC_STAC9227D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7619)
#define HDA_CODEC_STAC9274 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7620)
#define HDA_CODEC_STAC9274D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7621)
#define HDA_CODEC_STAC9273X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7622)
#define HDA_CODEC_STAC9273D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7623)
#define HDA_CODEC_STAC9272X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7624)
#define HDA_CODEC_STAC9272D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7625)
#define HDA_CODEC_STAC9271X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7626)
#define HDA_CODEC_STAC9271D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7627)
#define HDA_CODEC_STAC9274X5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7628)
#define HDA_CODEC_STAC9274D5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7629)
#define HDA_CODEC_STAC9250 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7634)
#define HDA_CODEC_STAC9251 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7636)
#define HDA_CODEC_IDT92HD700X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7638)
#define HDA_CODEC_IDT92HD700D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7639)
#define HDA_CODEC_IDT92HD206X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7645)
#define HDA_CODEC_IDT92HD206D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7646)
#define HDA_CODEC_CXD9872RDK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7661)
#define HDA_CODEC_STAC9872AK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7662)
#define HDA_CODEC_CXD9872AKD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7664)
#define HDA_CODEC_STAC9221 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7680)
#define HDA_CODEC_STAC922XD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7681)
#define HDA_CODEC_STAC9221_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7682)
#define HDA_CODEC_STAC9221D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7683)
#define HDA_CODEC_STAC9220 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7690)
#define HDA_CODEC_STAC9200D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7691)
#define HDA_CODEC_IDT92HD005 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7698)
#define HDA_CODEC_IDT92HD005D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7699)
#define HDA_CODEC_STAC9205X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0)
#define HDA_CODEC_STAC9205D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a1)
#define HDA_CODEC_STAC9204X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a2)
#define HDA_CODEC_STAC9204D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a3)
#define HDA_CODEC_STAC9255 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a4)
#define HDA_CODEC_STAC9255D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a5)
#define HDA_CODEC_STAC9254 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a6)
#define HDA_CODEC_STAC9254D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a7)
#define HDA_CODEC_STAC9220_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7880)
#define HDA_CODEC_STAC9220_A1 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7882)
#define HDA_CODEC_STACXXXX HDA_CODEC_CONSTRUCT(SIGMATEL, 0xffff)
/* IDT */
#define IDT_VENDORID 0x111d
#define HDA_CODEC_IDT92HD75BX HDA_CODEC_CONSTRUCT(IDT, 0x7603)
#define HDA_CODEC_IDT92HD83C1X HDA_CODEC_CONSTRUCT(IDT, 0x7604)
#define HDA_CODEC_IDT92HD81B1X HDA_CODEC_CONSTRUCT(IDT, 0x7605)
#define HDA_CODEC_IDT92HD75B3 HDA_CODEC_CONSTRUCT(IDT, 0x7608)
#define HDA_CODEC_IDT92HD73D1 HDA_CODEC_CONSTRUCT(IDT, 0x7674)
#define HDA_CODEC_IDT92HD73C1 HDA_CODEC_CONSTRUCT(IDT, 0x7675)
#define HDA_CODEC_IDT92HD73E1 HDA_CODEC_CONSTRUCT(IDT, 0x7676)
#define HDA_CODEC_IDT92HD71B8 HDA_CODEC_CONSTRUCT(IDT, 0x76b0)
#define HDA_CODEC_IDT92HD71B8_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b1)
#define HDA_CODEC_IDT92HD71B7 HDA_CODEC_CONSTRUCT(IDT, 0x76b2)
#define HDA_CODEC_IDT92HD71B7_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b3)
#define HDA_CODEC_IDT92HD71B6 HDA_CODEC_CONSTRUCT(IDT, 0x76b4)
#define HDA_CODEC_IDT92HD71B6_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b5)
#define HDA_CODEC_IDT92HD71B5 HDA_CODEC_CONSTRUCT(IDT, 0x76b6)
#define HDA_CODEC_IDT92HD71B5_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b7)
#define HDA_CODEC_IDT92HD89C3 HDA_CODEC_CONSTRUCT(IDT, 0x76c0)
#define HDA_CODEC_IDT92HD89C2 HDA_CODEC_CONSTRUCT(IDT, 0x76c1)
#define HDA_CODEC_IDT92HD89C1 HDA_CODEC_CONSTRUCT(IDT, 0x76c2)
#define HDA_CODEC_IDT92HD89B3 HDA_CODEC_CONSTRUCT(IDT, 0x76c3)
#define HDA_CODEC_IDT92HD89B2 HDA_CODEC_CONSTRUCT(IDT, 0x76c4)
#define HDA_CODEC_IDT92HD89B1 HDA_CODEC_CONSTRUCT(IDT, 0x76c5)
#define HDA_CODEC_IDT92HD89E3 HDA_CODEC_CONSTRUCT(IDT, 0x76c6)
#define HDA_CODEC_IDT92HD89E2 HDA_CODEC_CONSTRUCT(IDT, 0x76c7)
#define HDA_CODEC_IDT92HD89E1 HDA_CODEC_CONSTRUCT(IDT, 0x76c8)
#define HDA_CODEC_IDT92HD89D3 HDA_CODEC_CONSTRUCT(IDT, 0x76c9)
#define HDA_CODEC_IDT92HD89D2 HDA_CODEC_CONSTRUCT(IDT, 0x76ca)
#define HDA_CODEC_IDT92HD89D1 HDA_CODEC_CONSTRUCT(IDT, 0x76cb)
#define HDA_CODEC_IDT92HD89F3 HDA_CODEC_CONSTRUCT(IDT, 0x76cc)
#define HDA_CODEC_IDT92HD89F2 HDA_CODEC_CONSTRUCT(IDT, 0x76cd)
#define HDA_CODEC_IDT92HD89F1 HDA_CODEC_CONSTRUCT(IDT, 0x76ce)
#define HDA_CODEC_IDT92HD87B1_3 HDA_CODEC_CONSTRUCT(IDT, 0x76d1)
#define HDA_CODEC_IDT92HD83C1C HDA_CODEC_CONSTRUCT(IDT, 0x76d4)
#define HDA_CODEC_IDT92HD81B1C HDA_CODEC_CONSTRUCT(IDT, 0x76d5)
#define HDA_CODEC_IDT92HD87B2_4 HDA_CODEC_CONSTRUCT(IDT, 0x76d9)
#define HDA_CODEC_IDT92HD93BXX HDA_CODEC_CONSTRUCT(IDT, 0x76df)
#define HDA_CODEC_IDT92HD91BXX HDA_CODEC_CONSTRUCT(IDT, 0x76e0)
#define HDA_CODEC_IDT92HD98BXX HDA_CODEC_CONSTRUCT(IDT, 0x76e3)
#define HDA_CODEC_IDT92HD99BXX HDA_CODEC_CONSTRUCT(IDT, 0x76e5)
#define HDA_CODEC_IDT92HD90BXX HDA_CODEC_CONSTRUCT(IDT, 0x76e7)
#define HDA_CODEC_IDT92HD66B1X5 HDA_CODEC_CONSTRUCT(IDT, 0x76e8)
#define HDA_CODEC_IDT92HD66B2X5 HDA_CODEC_CONSTRUCT(IDT, 0x76e9)
#define HDA_CODEC_IDT92HD66B3X5 HDA_CODEC_CONSTRUCT(IDT, 0x76ea)
#define HDA_CODEC_IDT92HD66C1X5 HDA_CODEC_CONSTRUCT(IDT, 0x76eb)
#define HDA_CODEC_IDT92HD66C2X5 HDA_CODEC_CONSTRUCT(IDT, 0x76ec)
#define HDA_CODEC_IDT92HD66C3X5 HDA_CODEC_CONSTRUCT(IDT, 0x76ed)
#define HDA_CODEC_IDT92HD66B1X3 HDA_CODEC_CONSTRUCT(IDT, 0x76ee)
#define HDA_CODEC_IDT92HD66B2X3 HDA_CODEC_CONSTRUCT(IDT, 0x76ef)
#define HDA_CODEC_IDT92HD66B3X3 HDA_CODEC_CONSTRUCT(IDT, 0x76f0)
#define HDA_CODEC_IDT92HD66C1X3 HDA_CODEC_CONSTRUCT(IDT, 0x76f1)
#define HDA_CODEC_IDT92HD66C2X3 HDA_CODEC_CONSTRUCT(IDT, 0x76f2)
#define HDA_CODEC_IDT92HD66C3_65 HDA_CODEC_CONSTRUCT(IDT, 0x76f3)
#define HDA_CODEC_IDTXXXX HDA_CODEC_CONSTRUCT(IDT, 0xffff)
/* Silicon Image */
#define SII_VENDORID 0x1095
#define HDA_CODEC_SII1390 HDA_CODEC_CONSTRUCT(SII, 0x1390)
#define HDA_CODEC_SII1392 HDA_CODEC_CONSTRUCT(SII, 0x1392)
#define HDA_CODEC_SIIXXXX HDA_CODEC_CONSTRUCT(SII, 0xffff)
/* Lucent/Agere */
#define AGERE_VENDORID 0x11c1
#define HDA_CODEC_AGEREXXXX HDA_CODEC_CONSTRUCT(AGERE, 0xffff)
/* Conexant */
#define CONEXANT_VENDORID 0x14f1
#define HDA_CODEC_CX20549 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045)
#define HDA_CODEC_CX20551 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047)
#define HDA_CODEC_CX20561 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5051)
#define HDA_CODEC_CX20582 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5066)
#define HDA_CODEC_CX20583 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5067)
#define HDA_CODEC_CX20584 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5068)
#define HDA_CODEC_CX20585 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5069)
#define HDA_CODEC_CX20588 HDA_CODEC_CONSTRUCT(CONEXANT, 0x506c)
#define HDA_CODEC_CX20590 HDA_CODEC_CONSTRUCT(CONEXANT, 0x506e)
#define HDA_CODEC_CX20631 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5097)
#define HDA_CODEC_CX20632 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5098)
#define HDA_CODEC_CX20641 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50a1)
#define HDA_CODEC_CX20642 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50a2)
#define HDA_CODEC_CX20651 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50ab)
#define HDA_CODEC_CX20652 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50ac)
#define HDA_CODEC_CX20664 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50b8)
#define HDA_CODEC_CX20665 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50b9)
#define HDA_CODEC_CXXXXX HDA_CODEC_CONSTRUCT(CONEXANT, 0xffff)
/* VIA */
#define HDA_CODEC_VT1708_8 HDA_CODEC_CONSTRUCT(VIA, 0x1708)
#define HDA_CODEC_VT1708_9 HDA_CODEC_CONSTRUCT(VIA, 0x1709)
#define HDA_CODEC_VT1708_A HDA_CODEC_CONSTRUCT(VIA, 0x170a)
#define HDA_CODEC_VT1708_B HDA_CODEC_CONSTRUCT(VIA, 0x170b)
#define HDA_CODEC_VT1709_0 HDA_CODEC_CONSTRUCT(VIA, 0xe710)
#define HDA_CODEC_VT1709_1 HDA_CODEC_CONSTRUCT(VIA, 0xe711)
#define HDA_CODEC_VT1709_2 HDA_CODEC_CONSTRUCT(VIA, 0xe712)
#define HDA_CODEC_VT1709_3 HDA_CODEC_CONSTRUCT(VIA, 0xe713)
#define HDA_CODEC_VT1709_4 HDA_CODEC_CONSTRUCT(VIA, 0xe714)
#define HDA_CODEC_VT1709_5 HDA_CODEC_CONSTRUCT(VIA, 0xe715)
#define HDA_CODEC_VT1709_6 HDA_CODEC_CONSTRUCT(VIA, 0xe716)
#define HDA_CODEC_VT1709_7 HDA_CODEC_CONSTRUCT(VIA, 0xe717)
#define HDA_CODEC_VT1708B_0 HDA_CODEC_CONSTRUCT(VIA, 0xe720)
#define HDA_CODEC_VT1708B_1 HDA_CODEC_CONSTRUCT(VIA, 0xe721)
#define HDA_CODEC_VT1708B_2 HDA_CODEC_CONSTRUCT(VIA, 0xe722)
#define HDA_CODEC_VT1708B_3 HDA_CODEC_CONSTRUCT(VIA, 0xe723)
#define HDA_CODEC_VT1708B_4 HDA_CODEC_CONSTRUCT(VIA, 0xe724)
#define HDA_CODEC_VT1708B_5 HDA_CODEC_CONSTRUCT(VIA, 0xe725)
#define HDA_CODEC_VT1708B_6 HDA_CODEC_CONSTRUCT(VIA, 0xe726)
#define HDA_CODEC_VT1708B_7 HDA_CODEC_CONSTRUCT(VIA, 0xe727)
#define HDA_CODEC_VT1708S_0 HDA_CODEC_CONSTRUCT(VIA, 0x0397)
#define HDA_CODEC_VT1708S_1 HDA_CODEC_CONSTRUCT(VIA, 0x1397)
#define HDA_CODEC_VT1708S_2 HDA_CODEC_CONSTRUCT(VIA, 0x2397)
#define HDA_CODEC_VT1708S_3 HDA_CODEC_CONSTRUCT(VIA, 0x3397)
#define HDA_CODEC_VT1708S_4 HDA_CODEC_CONSTRUCT(VIA, 0x4397)
#define HDA_CODEC_VT1708S_5 HDA_CODEC_CONSTRUCT(VIA, 0x5397)
#define HDA_CODEC_VT1708S_6 HDA_CODEC_CONSTRUCT(VIA, 0x6397)
#define HDA_CODEC_VT1708S_7 HDA_CODEC_CONSTRUCT(VIA, 0x7397)
#define HDA_CODEC_VT1702_0 HDA_CODEC_CONSTRUCT(VIA, 0x0398)
#define HDA_CODEC_VT1702_1 HDA_CODEC_CONSTRUCT(VIA, 0x1398)
#define HDA_CODEC_VT1702_2 HDA_CODEC_CONSTRUCT(VIA, 0x2398)
#define HDA_CODEC_VT1702_3 HDA_CODEC_CONSTRUCT(VIA, 0x3398)
#define HDA_CODEC_VT1702_4 HDA_CODEC_CONSTRUCT(VIA, 0x4398)
#define HDA_CODEC_VT1702_5 HDA_CODEC_CONSTRUCT(VIA, 0x5398)
#define HDA_CODEC_VT1702_6 HDA_CODEC_CONSTRUCT(VIA, 0x6398)
#define HDA_CODEC_VT1702_7 HDA_CODEC_CONSTRUCT(VIA, 0x7398)
#define HDA_CODEC_VT1716S_0 HDA_CODEC_CONSTRUCT(VIA, 0x0433)
#define HDA_CODEC_VT1716S_1 HDA_CODEC_CONSTRUCT(VIA, 0xa721)
#define HDA_CODEC_VT1718S_0 HDA_CODEC_CONSTRUCT(VIA, 0x0428)
#define HDA_CODEC_VT1718S_1 HDA_CODEC_CONSTRUCT(VIA, 0x4428)
#define HDA_CODEC_VT1802_0 HDA_CODEC_CONSTRUCT(VIA, 0x0446)
#define HDA_CODEC_VT1802_1 HDA_CODEC_CONSTRUCT(VIA, 0x8446)
#define HDA_CODEC_VT1812 HDA_CODEC_CONSTRUCT(VIA, 0x0448)
#define HDA_CODEC_VT1818S HDA_CODEC_CONSTRUCT(VIA, 0x0440)
#define HDA_CODEC_VT1828S HDA_CODEC_CONSTRUCT(VIA, 0x4441)
#define HDA_CODEC_VT2002P_0 HDA_CODEC_CONSTRUCT(VIA, 0x0438)
#define HDA_CODEC_VT2002P_1 HDA_CODEC_CONSTRUCT(VIA, 0x4438)
#define HDA_CODEC_VT2020 HDA_CODEC_CONSTRUCT(VIA, 0x0441)
#define HDA_CODEC_VTXXXX HDA_CODEC_CONSTRUCT(VIA, 0xffff)
/* ATI */
#define HDA_CODEC_ATIRS600_1 HDA_CODEC_CONSTRUCT(ATI, 0x793c)
#define HDA_CODEC_ATIRS600_2 HDA_CODEC_CONSTRUCT(ATI, 0x7919)
#define HDA_CODEC_ATIRS690 HDA_CODEC_CONSTRUCT(ATI, 0x791a)
#define HDA_CODEC_ATIR6XX HDA_CODEC_CONSTRUCT(ATI, 0xaa01)
#define HDA_CODEC_ATIXXXX HDA_CODEC_CONSTRUCT(ATI, 0xffff)
/* NVIDIA */
#define HDA_CODEC_NVIDIAMCP78 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0002)
#define HDA_CODEC_NVIDIAMCP78_2 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0003)
#define HDA_CODEC_NVIDIAMCP78_3 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0005)
#define HDA_CODEC_NVIDIAMCP78_4 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0006)
#define HDA_CODEC_NVIDIAMCP7A HDA_CODEC_CONSTRUCT(NVIDIA, 0x0007)
#define HDA_CODEC_NVIDIAGT220 HDA_CODEC_CONSTRUCT(NVIDIA, 0x000a)
#define HDA_CODEC_NVIDIAGT21X HDA_CODEC_CONSTRUCT(NVIDIA, 0x000b)
#define HDA_CODEC_NVIDIAMCP89 HDA_CODEC_CONSTRUCT(NVIDIA, 0x000c)
#define HDA_CODEC_NVIDIAGT240 HDA_CODEC_CONSTRUCT(NVIDIA, 0x000d)
#define HDA_CODEC_NVIDIAGTS450 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0011)
#define HDA_CODEC_NVIDIAGT440 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0014)
#define HDA_CODEC_NVIDIAGTX550 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0015)
#define HDA_CODEC_NVIDIAGTX570 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0018)
#define HDA_CODEC_NVIDIAMCP67 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0067)
#define HDA_CODEC_NVIDIAMCP73 HDA_CODEC_CONSTRUCT(NVIDIA, 0x8001)
#define HDA_CODEC_NVIDIAXXXX HDA_CODEC_CONSTRUCT(NVIDIA, 0xffff)
/* Chrontel */
#define CHRONTEL_VENDORID 0x17e8
#define HDA_CODEC_CHXXXX HDA_CODEC_CONSTRUCT(CHRONTEL, 0xffff)
/* INTEL */
#define HDA_CODEC_INTELIP HDA_CODEC_CONSTRUCT(INTEL, 0x0054)
#define HDA_CODEC_INTELBL HDA_CODEC_CONSTRUCT(INTEL, 0x2801)
#define HDA_CODEC_INTELCA HDA_CODEC_CONSTRUCT(INTEL, 0x2802)
#define HDA_CODEC_INTELEL HDA_CODEC_CONSTRUCT(INTEL, 0x2803)
#define HDA_CODEC_INTELIP2 HDA_CODEC_CONSTRUCT(INTEL, 0x2804)
#define HDA_CODEC_INTELCPT HDA_CODEC_CONSTRUCT(INTEL, 0x2805)
#define HDA_CODEC_INTELPPT HDA_CODEC_CONSTRUCT(INTEL, 0x2806)
#define HDA_CODEC_INTELCL HDA_CODEC_CONSTRUCT(INTEL, 0x29fb)
#define HDA_CODEC_INTELXXXX HDA_CODEC_CONSTRUCT(INTEL, 0xffff)
/****************************************************************************
* HDA Controller Register Set
****************************************************************************/
#define HDAC_GCAP0x00/* 2 - Global Capabilities*/
#define HDAC_VMIN0x02/* 1 - Minor Version */
#define HDAC_VMAJ0x03/* 1 - Major Version */
#defineHDAC_OUTPAY0x04/* 2 - Output Payload Capability */
#define HDAC_INPAY0x06/* 2 - Input Payload Capability */
#define HDAC_GCTL0x08/* 4 - Global Control */
#define HDAC_WAKEEN0x0c/* 2 - Wake Enable */
#define HDAC_STATESTS0x0e/* 2 - State Change Status */
#define HDAC_GSTS0x10/* 2 - Global Status */
#define HDAC_OUTSTRMPAY0x18/* 2 - Output Stream Payload Capability */
#define HDAC_INSTRMPAY0x1a/* 2 - Input Stream Payload Capability */
#define HDAC_INTCTL0x20/* 4 - Interrupt Control */
#define HDAC_INTSTS0x24/* 4 - Interrupt Status */
#define HDAC_WALCLK0x30/* 4 - Wall Clock Counter */
#define HDAC_SSYNC0x38/* 4 - Stream Synchronization */
#define HDAC_CORBLBASE0x40/* 4 - CORB Lower Base Address */
#define HDAC_CORBUBASE0x44/* 4 - CORB Upper Base Address */
#define HDAC_CORBWP0x48/* 2 - CORB Write Pointer */
#define HDAC_CORBRP0x4a/* 2 - CORB Read Pointer */
#define HDAC_CORBCTL0x4c/* 1 - CORB Control */
#define HDAC_CORBSTS0x4d/* 1 - CORB Status */
#define HDAC_CORBSIZE0x4e/* 1 - CORB Size */
#define HDAC_RIRBLBASE0x50/* 4 - RIRB Lower Base Address */
#define HDAC_RIRBUBASE0x54/* 4 - RIRB Upper Base Address */
#define HDAC_RIRBWP0x58/* 2 - RIRB Write Pointer */
#define HDAC_RINTCNT0x5a/* 2 - Response Interrupt Count */
#define HDAC_RIRBCTL0x5c/* 1 - RIRB Control */
#define HDAC_RIRBSTS0x5d/* 1 - RIRB Status */
#define HDAC_RIRBSIZE0x5e/* 1 - RIRB Size */
#define HDAC_ICOI0x60/* 4 - Immediate Command Output Interface */
#define HDAC_ICII0x64/* 4 - Immediate Command Input Interface */
#define HDAC_ICIS0x68/* 2 - Immediate Command Status */
#define HDAC_DPIBLBASE0x70/* 4 - DMA Position Buffer Lower Base */
#define HDAC_DPIBUBASE0x74/* 4 - DMA Position Buffer Upper Base */
#define HDAC_SDCTL00x80/* 3 - Stream Descriptor Control */
#define HDAC_SDCTL10x81/* 3 - Stream Descriptor Control */
#define HDAC_SDCTL20x82/* 3 - Stream Descriptor Control */
#define HDAC_SDSTS0x83/* 1 - Stream Descriptor Status */
#define HDAC_SDLPIB0x84/* 4 - Link Position in Buffer */
#define HDAC_SDCBL0x88/* 4 - Cyclic Buffer Length */
#define HDAC_SDLVI0x8C/* 2 - Last Valid Index */
#define HDAC_SDFIFOS0x90/* 2 - FIFOS */
#define HDAC_SDFMT0x92/* 2 - fmt */
#define HDAC_SDBDPL0x98/* 4 - Buffer Descriptor Pointer Lower Base */
#define HDAC_SDBDPU0x9C/* 4 - Buffer Descriptor Pointer Upper Base */
#define _HDAC_ISDOFFSET(n, iss, oss)(0x80 + ((n) * 0x20))
#define _HDAC_ISDCTL(n, iss, oss)(0x00 + _HDAC_ISDOFFSET(n, iss, oss))
#define _HDAC_ISDSTS(n, iss, oss)(0x03 + _HDAC_ISDOFFSET(n, iss, oss))
#define _HDAC_ISDPICB(n, iss, oss)(0x04 + _HDAC_ISDOFFSET(n, iss, oss))
#define _HDAC_ISDCBL(n, iss, oss)(0x08 + _HDAC_ISDOFFSET(n, iss, oss))
#define _HDAC_ISDLVI(n, iss, oss)(0x0c + _HDAC_ISDOFFSET(n, iss, oss))
#define _HDAC_ISDFIFOD(n, iss, oss)(0x10 + _HDAC_ISDOFFSET(n, iss, oss))
#define _HDAC_ISDFMT(n, iss, oss)(0x12 + _HDAC_ISDOFFSET(n, iss, oss))
#define _HDAC_ISDBDPL(n, iss, oss)(0x18 + _HDAC_ISDOFFSET(n, iss, oss))
#define _HDAC_ISDBDPU(n, iss, oss)(0x1c + _HDAC_ISDOFFSET(n, iss, oss))
#define _HDAC_OSDOFFSET(n, iss, oss)(0x80 + ((iss) * 0x20) + ((n) * 0x20))
#define _HDAC_OSDCTL(n, iss, oss)(0x00 + _HDAC_OSDOFFSET(n, iss, oss))
#define _HDAC_OSDSTS(n, iss, oss)(0x03 + _HDAC_OSDOFFSET(n, iss, oss))
#define _HDAC_OSDPICB(n, iss, oss)(0x04 + _HDAC_OSDOFFSET(n, iss, oss))
#define _HDAC_OSDCBL(n, iss, oss)(0x08 + _HDAC_OSDOFFSET(n, iss, oss))
#define _HDAC_OSDLVI(n, iss, oss)(0x0c + _HDAC_OSDOFFSET(n, iss, oss))
#define _HDAC_OSDFIFOD(n, iss, oss)(0x10 + _HDAC_OSDOFFSET(n, iss, oss))
#define _HDAC_OSDFMT(n, iss, oss)(0x12 + _HDAC_OSDOFFSET(n, iss, oss))
#define _HDAC_OSDBDPL(n, iss, oss)(0x18 + _HDAC_OSDOFFSET(n, iss, oss))
#define _HDAC_OSDBDPU(n, iss, oss)(0x1c + _HDAC_OSDOFFSET(n, iss, oss))
#define _HDAC_BSDOFFSET(n, iss, oss)(0x80 + ((iss) * 0x20) + ((oss) * 0x20) + ((n) * 0x20))
#define _HDAC_BSDCTL(n, iss, oss)(0x00 + _HDAC_BSDOFFSET(n, iss, oss))
#define _HDAC_BSDSTS(n, iss, oss)(0x03 + _HDAC_BSDOFFSET(n, iss, oss))
#define _HDAC_BSDPICB(n, iss, oss)(0x04 + _HDAC_BSDOFFSET(n, iss, oss))
#define _HDAC_BSDCBL(n, iss, oss)(0x08 + _HDAC_BSDOFFSET(n, iss, oss))
#define _HDAC_BSDLVI(n, iss, oss)(0x0c + _HDAC_BSDOFFSET(n, iss, oss))
#define _HDAC_BSDFIFOD(n, iss, oss)(0x10 + _HDAC_BSDOFFSET(n, iss, oss))
#define _HDAC_BSDFMT(n, iss, oss)(0x12 + _HDAC_BSDOFFSET(n, iss, oss))
#define _HDAC_BSDBDPL(n, iss, oss)(0x18 + _HDAC_BSDOFFSET(n, iss, oss))
#define _HDAC_BSDBDBU(n, iss, oss)(0x1c + _HDAC_BSDOFFSET(n, iss, oss))
/****************************************************************************
* HDA Controller Register Fields
****************************************************************************/
/* GCAP - Global Capabilities */
#define HDAC_GCAP_64OK0x0001
#define HDAC_GCAP_NSDO_MASK0x0006
#define HDAC_GCAP_NSDO_SHIFT1
#define HDAC_GCAP_BSS_MASK0x00f8
#define HDAC_GCAP_BSS_SHIFT3
#define HDAC_GCAP_ISS_MASK0x0f00
#define HDAC_GCAP_ISS_SHIFT8
#define HDAC_GCAP_OSS_MASK0xf000
#define HDAC_GCAP_OSS_SHIFT12
#define HDAC_GCAP_NSDO_1SDO0x00
#define HDAC_GCAP_NSDO_2SDO0x02
#define HDAC_GCAP_NSDO_4SDO0x04
#define HDAC_GCAP_BSS(gcap)\
(((gcap) & HDAC_GCAP_BSS_MASK) >> HDAC_GCAP_BSS_SHIFT)
#define HDAC_GCAP_ISS(gcap)\
(((gcap) & HDAC_GCAP_ISS_MASK) >> HDAC_GCAP_ISS_SHIFT)
#define HDAC_GCAP_OSS(gcap)\
(((gcap) & HDAC_GCAP_OSS_MASK) >> HDAC_GCAP_OSS_SHIFT)
#define HDAC_GCAP_NSDO(gcap)\
(((gcap) & HDAC_GCAP_NSDO_MASK) >> HDAC_GCAP_NSDO_SHIFT)
/* GCTL - Global Control */
#define HDAC_GCTL_CRST0x00000001
#define HDAC_GCTL_FCNTRL0x00000002
#define HDAC_GCTL_UNSOL0x00000100
/* WAKEEN - Wake Enable */
#define HDAC_WAKEEN_SDIWEN_MASK0x7fff
#define HDAC_WAKEEN_SDIWEN_SHIFT0
/* STATESTS - State Change Status */
#define HDAC_STATESTS_SDIWAKE_MASK0x7fff
#define HDAC_STATESTS_SDIWAKE_SHIFT0
#define HDAC_STATESTS_SDIWAKE(statests, n)\
(((((statests) & HDAC_STATESTS_SDIWAKE_MASK) >>\
HDAC_STATESTS_SDIWAKE_SHIFT) >> (n)) & 0x0001)
/* GSTS - Global Status */
#define HDAC_GSTS_FSTS0x0002
/* INTCTL - Interrut Control */
#define HDAC_INTCTL_SIE_MASK0x3fffffff
#define HDAC_INTCTL_SIE_SHIFT0
#define HDAC_INTCTL_CIE0x40000000
#define HDAC_INTCTL_GIE0x80000000
/* INTSTS - Interrupt Status */
#define HDAC_INTSTS_SIS_MASK0x3fffffff
#define HDAC_INTSTS_SIS_SHIFT0
#define HDAC_INTSTS_CIS0x40000000
#define HDAC_INTSTS_GIS0x80000000
/* SSYNC - Stream Synchronization */
#define HDAC_SSYNC_SSYNC_MASK0x3fffffff
#define HDAC_SSYNC_SSYNC_SHIFT0
/* CORBWP - CORB Write Pointer */
#define HDAC_CORBWP_CORBWP_MASK0x00ff
#define HDAC_CORBWP_CORBWP_SHIFT0
/* CORBRP - CORB Read Pointer */
#define HDAC_CORBRP_CORBRP_MASK0x00ff
#define HDAC_CORBRP_CORBRP_SHIFT0
#define HDAC_CORBRP_CORBRPRST0x8000
/* CORBCTL - CORB Control */
#define HDAC_CORBCTL_CMEIE0x01
#define HDAC_CORBCTL_CORBRUN0x02
/* CORBSTS - CORB Status */
#define HDAC_CORBSTS_CMEI0x01
/* CORBSIZE - CORB Size */
#define HDAC_CORBSIZE_CORBSIZE_MASK0x03
#define HDAC_CORBSIZE_CORBSIZE_SHIFT0
#define HDAC_CORBSIZE_CORBSZCAP_MASK0xf0
#define HDAC_CORBSIZE_CORBSZCAP_SHIFT4
#define HDAC_CORBSIZE_CORBSIZE_20x00
#define HDAC_CORBSIZE_CORBSIZE_160x01
#define HDAC_CORBSIZE_CORBSIZE_2560x02
#define HDAC_CORBSIZE_CORBSZCAP_20x10
#define HDAC_CORBSIZE_CORBSZCAP_160x20
#define HDAC_CORBSIZE_CORBSZCAP_2560x40
#define HDAC_CORBSIZE_CORBSIZE(corbsize)\
(((corbsize) & HDAC_CORBSIZE_CORBSIZE_MASK) >> HDAC_CORBSIZE_CORBSIZE_SHIFT)
/* RIRBWP - RIRB Write Pointer */
#define HDAC_RIRBWP_RIRBWP_MASK0x00ff
#define HDAC_RIRBWP_RIRBWP_SHIFT0
#define HDAC_RIRBWP_RIRBWPRST0x8000
/* RINTCTN - Response Interrupt Count */
#define HDAC_RINTCNT_MASK0x00ff
#define HDAC_RINTCNT_SHIFT0
/* RIRBCTL - RIRB Control */
#define HDAC_RIRBCTL_RINTCTL0x01
#define HDAC_RIRBCTL_RIRBDMAEN0x02
#define HDAC_RIRBCTL_RIRBOIC0x04
/* RIRBSTS - RIRB Status */
#define HDAC_RIRBSTS_RINTFL0x01
#define HDAC_RIRBSTS_RIRBOIS0x04
/* RIRBSIZE - RIRB Size */
#define HDAC_RIRBSIZE_RIRBSIZE_MASK0x03
#define HDAC_RIRBSIZE_RIRBSIZE_SHIFT0
#define HDAC_RIRBSIZE_RIRBSZCAP_MASK0xf0
#define HDAC_RIRBSIZE_RIRBSZCAP_SHIFT4
#define HDAC_RIRBSIZE_RIRBSIZE_20x00
#define HDAC_RIRBSIZE_RIRBSIZE_160x01
#define HDAC_RIRBSIZE_RIRBSIZE_2560x02
#define HDAC_RIRBSIZE_RIRBSZCAP_20x10
#define HDAC_RIRBSIZE_RIRBSZCAP_160x20
#define HDAC_RIRBSIZE_RIRBSZCAP_2560x40
#define HDAC_RIRBSIZE_RIRBSIZE(rirbsize)\
(((rirbsize) & HDAC_RIRBSIZE_RIRBSIZE_MASK) >> HDAC_RIRBSIZE_RIRBSIZE_SHIFT)
/* DPLBASE - DMA Position Lower Base Address */
#define HDAC_DPLBASE_DPLBASE_MASK0xffffff80
#define HDAC_DPLBASE_DPLBASE_SHIFT7
#define HDAC_DPLBASE_DPLBASE_DMAPBE0x00000001
/* SDCTL - Stream Descriptor Control */
#define HDAC_SDCTL_SRST0x000001
#define HDAC_SDCTL_RUN0x000002
#define HDAC_SDCTL_IOCE0x000004
#define HDAC_SDCTL_FEIE0x000008
#define HDAC_SDCTL_DEIE0x000010
#define HDAC_SDCTL2_STRIPE_MASK0x03
#define HDAC_SDCTL2_STRIPE_SHIFT0
#define HDAC_SDCTL2_TP0x04
#define HDAC_SDCTL2_DIR0x08
#define HDAC_SDCTL2_STRM_MASK0xf0
#define HDAC_SDCTL2_STRM_SHIFT4
#define HDAC_SDSTS_DESE(1 << 4)
#define HDAC_SDSTS_FIFOE(1 << 3)
#define HDAC_SDSTS_BCIS(1 << 2)
#endif /* !__LIBSAIO_HDA_H */
branches/Chimera/i386/modules/FileNVRAM/LICENSE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
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
Creative Commons Legal Code
Attribution-NonCommercial 3.0 Unported
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
DAMAGES RESULTING FROM ITS USE.
License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
CONDITIONS.
1. Definitions
a. "Adaptation" means a work based upon the Work, or upon the Work and
other pre-existing works, such as a translation, adaptation,
derivative work, arrangement of music or other alterations of a
literary or artistic work, or phonogram or performance and includes
cinematographic adaptations or any other form in which the Work may be
recast, transformed, or adapted including in any form recognizably
derived from the original, except that a work that constitutes a
Collection will not be considered an Adaptation for the purpose of
this License. For the avoidance of doubt, where the Work is a musical
work, performance or phonogram, the synchronization of the Work in
timed-relation with a moving image ("synching") will be considered an
Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as
encyclopedias and anthologies, or performances, phonograms or
broadcasts, or other works or subject matter other than works listed
in Section 1(f) below, which, by reason of the selection and
arrangement of their contents, constitute intellectual creations, in
which the Work is included in its entirety in unmodified form along
with one or more other contributions, each constituting separate and
independent works in themselves, which together are assembled into a
collective whole. A work that constitutes a Collection will not be
considered an Adaptation (as defined above) for the purposes of this
License.
c. "Distribute" means to make available to the public the original and
copies of the Work or Adaptation, as appropriate, through sale or
other transfer of ownership.
d. "Licensor" means the individual, individuals, entity or entities that
offer(s) the Work under the terms of this License.
e. "Original Author" means, in the case of a literary or artistic work,
the individual, individuals, entity or entities who created the Work
or if no individual or entity can be identified, the publisher; and in
addition (i) in the case of a performance the actors, singers,
musicians, dancers, and other persons who act, sing, deliver, declaim,
play in, interpret or otherwise perform literary or artistic works or
expressions of folklore; (ii) in the case of a phonogram the producer
being the person or legal entity who first fixes the sounds of a
performance or other sounds; and, (iii) in the case of broadcasts, the
organization that transmits the broadcast.
f. "Work" means the literary and/or artistic work offered under the terms
of this License including without limitation any production in the
literary, scientific and artistic domain, whatever may be the mode or
form of its expression including digital form, such as a book,
pamphlet and other writing; a lecture, address, sermon or other work
of the same nature; a dramatic or dramatico-musical work; a
choreographic work or entertainment in dumb show; a musical
composition with or without words; a cinematographic work to which are
assimilated works expressed by a process analogous to cinematography;
a work of drawing, painting, architecture, sculpture, engraving or
lithography; a photographic work to which are assimilated works
expressed by a process analogous to photography; a work of applied
art; an illustration, map, plan, sketch or three-dimensional work
relative to geography, topography, architecture or science; a
performance; a broadcast; a phonogram; a compilation of data to the
extent it is protected as a copyrightable work; or a work performed by
a variety or circus performer to the extent it is not otherwise
considered a literary or artistic work.
g. "You" means an individual or entity exercising rights under this
License who has not previously violated the terms of this License with
respect to the Work, or who has received express permission from the
Licensor to exercise rights under this License despite a previous
violation.
h. "Publicly Perform" means to perform public recitations of the Work and
to communicate to the public those public recitations, by any means or
process, including by wire or wireless means or public digital
performances; to make available to the public Works in such a way that
members of the public may access these Works from a place and at a
place individually chosen by them; to perform the Work to the public
by any means or process and the communication to the public of the
performances of the Work, including by public digital performance; to
broadcast and rebroadcast the Work by any means including signs,
sounds or images.
i. "Reproduce" means to make copies of the Work by any means including
without limitation by sound or visual recordings and the right of
fixation and reproducing fixations of the Work, including storage of a
protected performance or phonogram in digital form or other electronic
medium.
2. Fair Dealing Rights. Nothing in this License is intended to reduce,
limit, or restrict any uses free from copyright or rights arising from
limitations or exceptions that are provided for in connection with the
copyright protection under copyright law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License,
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
perpetual (for the duration of the applicable copyright) license to
exercise the rights in the Work as stated below:
a. to Reproduce the Work, to incorporate the Work into one or more
Collections, and to Reproduce the Work as incorporated in the
Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation,
including any translation in any medium, takes reasonable steps to
clearly label, demarcate or otherwise identify that changes were made
to the original Work. For example, a translation could be marked "The
original work was translated from English to Spanish," or a
modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated
in Collections; and,
d. to Distribute and Publicly Perform Adaptations.
The above rights may be exercised in all media and formats whether now
known or hereafter devised. The above rights include the right to make
such modifications as are technically necessary to exercise the rights in
other media and formats. Subject to Section 8(f), all rights not expressly
granted by Licensor are hereby reserved, including but not limited to the
rights set forth in Section 4(d).
4. Restrictions. The license granted in Section 3 above is expressly made
subject to and limited by the following restrictions:
a. You may Distribute or Publicly Perform the Work only under the terms
of this License. You must include a copy of, or the Uniform Resource
Identifier (URI) for, this License with every copy of the Work You
Distribute or Publicly Perform. You may not offer or impose any terms
on the Work that restrict the terms of this License or the ability of
the recipient of the Work to exercise the rights granted to that
recipient under the terms of the License. You may not sublicense the
Work. You must keep intact all notices that refer to this License and
to the disclaimer of warranties with every copy of the Work You
Distribute or Publicly Perform. When You Distribute or Publicly
Perform the Work, You may not impose any effective technological
measures on the Work that restrict the ability of a recipient of the
Work from You to exercise the rights granted to that recipient under
the terms of the License. This Section 4(a) applies to the Work as
incorporated in a Collection, but this does not require the Collection
apart from the Work itself to be made subject to the terms of this
License. If You create a Collection, upon notice from any Licensor You
must, to the extent practicable, remove from the Collection any credit
as required by Section 4(c), as requested. If You create an
Adaptation, upon notice from any Licensor You must, to the extent
practicable, remove from the Adaptation any credit as required by
Section 4(c), as requested.
b. You may not exercise any of the rights granted to You in Section 3
above in any manner that is primarily intended for or directed toward
commercial advantage or private monetary compensation. The exchange of
the Work for other copyrighted works by means of digital file-sharing
or otherwise shall not be considered to be intended for or directed
toward commercial advantage or private monetary compensation, provided
there is no payment of any monetary compensation in connection with
the exchange of copyrighted works.
c. If You Distribute, or Publicly Perform the Work or any Adaptations or
Collections, You must, unless a request has been made pursuant to
Section 4(a), keep intact all copyright notices for the Work and
provide, reasonable to the medium or means You are utilizing: (i) the
name of the Original Author (or pseudonym, if applicable) if supplied,
and/or if the Original Author and/or Licensor designate another party
or parties (e.g., a sponsor institute, publishing entity, journal) for
attribution ("Attribution Parties") in Licensor's copyright notice,
terms of service or by other reasonable means, the name of such party
or parties; (ii) the title of the Work if supplied; (iii) to the
extent reasonably practicable, the URI, if any, that Licensor
specifies to be associated with the Work, unless such URI does not
refer to the copyright notice or licensing information for the Work;
and, (iv) consistent with Section 3(b), in the case of an Adaptation,
a credit identifying the use of the Work in the Adaptation (e.g.,
"French translation of the Work by Original Author," or "Screenplay
based on original Work by Original Author"). The credit required by
this Section 4(c) may be implemented in any reasonable manner;
provided, however, that in the case of a Adaptation or Collection, at
a minimum such credit will appear, if a credit for all contributing
authors of the Adaptation or Collection appears, then as part of these
credits and in a manner at least as prominent as the credits for the
other contributing authors. For the avoidance of doubt, You may only
use the credit required by this Section for the purpose of attribution
in the manner set out above and, by exercising Your rights under this
License, You may not implicitly or explicitly assert or imply any
connection with, sponsorship or endorsement by the Original Author,
Licensor and/or Attribution Parties, as appropriate, of You or Your
use of the Work, without the separate, express prior written
permission of the Original Author, Licensor and/or Attribution
Parties.
d. For the avoidance of doubt:
i. Non-waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme cannot be waived, the Licensor
reserves the exclusive right to collect such royalties for any
exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme can be waived, the Licensor reserves
the exclusive right to collect such royalties for any exercise by
You of the rights granted under this License if Your exercise of
such rights is for a purpose or use which is otherwise than
noncommercial as permitted under Section 4(b) and otherwise waives
the right to collect royalties through any statutory or compulsory
licensing scheme; and,
iii. Voluntary License Schemes. The Licensor reserves the right to
collect royalties, whether individually or, in the event that the
Licensor is a member of a collecting society that administers
voluntary licensing schemes, via that society, from any exercise
by You of the rights granted under this License that is for a
purpose or use which is otherwise than noncommercial as permitted
under Section 4(c).
e. Except as otherwise agreed in writing by the Licensor or as may be
otherwise permitted by applicable law, if You Reproduce, Distribute or
Publicly Perform the Work either by itself or as part of any
Adaptations or Collections, You must not distort, mutilate, modify or
take other derogatory action in relation to the Work which would be
prejudicial to the Original Author's honor or reputation. Licensor
agrees that in those jurisdictions (e.g. Japan), in which any exercise
of the right granted in Section 3(b) of this License (the right to
make Adaptations) would be deemed to be a distortion, mutilation,
modification or other derogatory action prejudicial to the Original
Author's honor and reputation, the Licensor will waive or not assert,
as appropriate, this Section, to the fullest extent permitted by the
applicable national law, to enable You to reasonably exercise Your
right under Section 3(b) of this License (right to make Adaptations)
but not otherwise.
5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination
a. This License and the rights granted hereunder will terminate
automatically upon any breach by You of the terms of this License.
Individuals or entities who have received Adaptations or Collections
from You under this License, however, will not have their licenses
terminated provided such individuals or entities remain in full
compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
survive any termination of this License.
b. Subject to the above terms and conditions, the license granted here is
perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the
Work under different license terms or to stop distributing the Work at
any time; provided, however that any such election will not serve to
withdraw this License (or any other license that has been, or is
required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as
stated above.
8. Miscellaneous
a. Each time You Distribute or Publicly Perform the Work or a Collection,
the Licensor offers to the recipient a license to the Work on the same
terms and conditions as the license granted to You under this License.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
offers to the recipient a license to the original Work on the same
terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this License, and without further action
by the parties to this agreement, such provision shall be reformed to
the minimum extent necessary to make such provision valid and
enforceable.
d. No term or provision of this License shall be deemed waived and no
breach consented to unless such waiver or consent shall be in writing
and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with
respect to the Work licensed here. There are no understandings,
agreements or representations with respect to the Work not specified
here. Licensor shall not be bound by any additional provisions that
may appear in any communication from You. This License may not be
modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this
License were drafted utilizing the terminology of the Berne Convention
for the Protection of Literary and Artistic Works (as amended on
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
and the Universal Copyright Convention (as revised on July 24, 1971).
These rights and subject matter take effect in the relevant
jurisdiction in which the License terms are sought to be enforced
according to the corresponding provisions of the implementation of
those treaty provisions in the applicable national law. If the
standard suite of rights granted under applicable copyright law
includes additional rights not granted under this License, such
additional rights are deemed to be included in the License; this
License is not intended to restrict the license of any rights under
applicable law.
Creative Commons Notice
Creative Commons is not a party to this License, and makes no warranty
whatsoever in connection with the Work. Creative Commons will not be
liable to You or any party on any legal theory for any damages
whatsoever, including without limitation any general, special,
incidental or consequential damages arising in connection to this
license. Notwithstanding the foregoing two (2) sentences, if Creative
Commons has expressly identified itself as the Licensor hereunder, it
shall have all rights and obligations of Licensor.
Except for the limited purpose of indicating to the public that the
Work is licensed under the CCPL, Creative Commons does not authorize
the use by either party of the trademark "Creative Commons" or any
related trademark or logo of Creative Commons without the prior
written consent of Creative Commons. Any permitted use will be in
compliance with Creative Commons' then-current trademark usage
guidelines, as may be published on its website or otherwise made
available upon request from time to time. For the avoidance of doubt,
this trademark restriction does not form part of the License.
Creative Commons may be contacted at http://creativecommons.org/.
branches/Chimera/i386/modules/FileNVRAM/include/FileNVRAM.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//
// FileNVRAM.h
// FileNVRAM
//
// Created by Evan Lojewski on 1/18/13.
// Copyright (c) 2013 xZenue LLC. All rights reserved.
//
#ifndef FILENVRAM_H
#define FILENVRAM_H
#include <libsaio.h>
#include <xml.h>
TagPtr getNVRAMVariable(char* key);
void addNVRAMVariable(char* key, TagPtr entry);
void removeNVRAMVariable(char* key);
#endif /* FILENVRAM_H */
branches/Chimera/i386/modules/FileNVRAM/Cconfig
1
2
3
4
5
6
7
8
9
10
#
# Chameleon Modules
#
config FILENVRAM_MODULE
bool "FileNVRAM Module"
default y
---help---
Say Y here if you want to enable to use of this module.
branches/Chimera/i386/modules/FileNVRAM/NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
FileNVRAM Release Notes
========= Version 1.1.3 =======
* Fixed an potential issue where boot-args could get mangled.
* Fixed an issue where certain legacy variables were saved incorrectly.
* Fixed an issue where certain nvram variables not write to the file immediately.
========= Version 1.1.2 =======
* Fixed a regression in 1.1.1 causing sleep to break.
========= Version 1.1.1 =======
* Fixed an issue where non-root users could delete variables
* Fixed a potential issue with sleep
* Fixed a potential issue with 10.8.3
* Fixed an issue where boot-args remain after deleted on the command line.
* Update ROM generation to generate a random value.
branches/Chimera/i386/modules/FileNVRAM/Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
MODULE_NAME = FileNVRAM
MODULE_AUTHOR = xZenue LLC.
MODULE_DESCRIPTION = FileNVRAM module for preloading NVRAM values
MODULE_VERSION = "1.1.0"
MODULE_COMPAT_VERSION = "1.0.0"
MODULE_START = $(MODULE_NAME)_start
MODULE_DEPENDENCIES =
DIR = FileNVRAM
include ../MakeInc.dir
$(SYMROOT)/modules/$(MODULE_NAME).dylib:
@echo "\t[CP] $(MODULE_NAME).dylib"
@cp $(MODULE_NAME).dylib $(SRCROOT)/sym/i386/modules/$(MODULE_NAME).dylib
$(SRCROOT)/sym/i386/boot_modules.c:
@
branches/Chimera/i386/modules/FileNVRAM/README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
===================
= FileNVRAM.dylib =
===================
FileNVRAM copyright © 2013 xZeneu LLC.
FileNVRAM is licensed under the Attribution-NonCommercial 3.0 Unported license.
Please see the license file for details
===================
= Bugs =
===================
Please report any bugs at https://public.xzenue.com/bugzilla/
===================
= Requirements =
===================
- Chameleon r2181 or newer
===================
= Usage =
===================
- Install the FileNVRAM.dylib to /Extra/modules/
- Reboot
Use the nvram command to manipulate variables
branches/Chimera/i386/modules/HDAEnabler/Cconfig
1
2
3
4
5
6
7
8
9
10
#
# Chameleon Modules
#
config HDAENABLER_MODULE
tristate "HDAEnabler Module"
default y
---help---
Say Y here if you want to enable the use of this module.
branches/Chimera/i386/modules/HDAEnabler/Readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Module:HDAEnabler
Description: This module provides a substitute for the Hight Definition Audio DSDT Edits (HDEF and HDAU).
Dependencies: none
Usage:
- Copy the module HDAEnabler.dylib into /Extra/modules folder
- Set HDAEnabler=Yes (Default value is YES if the module is in modules folder)
- Set HDEFLayoutID="a hex value" for HDEF layout to use with a patched AppleHDA kext.
- Set HDAULayoutID="a hex value" for HDAU layout to use with a patched AppleHDA kext.
-----
- HDAEnabler=No (Disable the HDAEnabler module with module in modules folder).
branches/Chimera/i386/modules/HDAEnabler/Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
MODULE_NAME = HDAEnabler
MODULE_AUTHOR = ErmaC
MODULE_DESCRIPTION = This module provides a remplacement for the DSDT edits like HDEF/HDAU
MODULE_VERSION = "1.0.0"
MODULE_COMPAT_VERSION = "1.0.0"
MODULE_START = $(MODULE_NAME)_start
MODULE_DEPENDENCIES =
DIR = HDAEnabler
include ../MakeInc.dir
$(SYMROOT)/modules/$(MODULE_NAME).dylib:
@echo "\t[CP] $(MODULE_NAME).dylib"
@cp $(MODULE_NAME).dylib $(SRCROOT)/sym/i386/modules/$(MODULE_NAME).dylib
$(SRCROOT)/sym/i386/boot_modules.c:
@
branches/Chimera/i386/modules/KernelPatcher/LICENSE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
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
Creative Commons Legal Code
Attribution-NonCommercial 3.0 Unported
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
DAMAGES RESULTING FROM ITS USE.
License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
CONDITIONS.
1. Definitions
a. "Adaptation" means a work based upon the Work, or upon the Work and
other pre-existing works, such as a translation, adaptation,
derivative work, arrangement of music or other alterations of a
literary or artistic work, or phonogram or performance and includes
cinematographic adaptations or any other form in which the Work may be
recast, transformed, or adapted including in any form recognizably
derived from the original, except that a work that constitutes a
Collection will not be considered an Adaptation for the purpose of
this License. For the avoidance of doubt, where the Work is a musical
work, performance or phonogram, the synchronization of the Work in
timed-relation with a moving image ("synching") will be considered an
Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as
encyclopedias and anthologies, or performances, phonograms or
broadcasts, or other works or subject matter other than works listed
in Section 1(f) below, which, by reason of the selection and
arrangement of their contents, constitute intellectual creations, in
which the Work is included in its entirety in unmodified form along
with one or more other contributions, each constituting separate and
independent works in themselves, which together are assembled into a
collective whole. A work that constitutes a Collection will not be
considered an Adaptation (as defined above) for the purposes of this
License.
c. "Distribute" means to make available to the public the original and
copies of the Work or Adaptation, as appropriate, through sale or
other transfer of ownership.
d. "Licensor" means the individual, individuals, entity or entities that
offer(s) the Work under the terms of this License.
e. "Original Author" means, in the case of a literary or artistic work,
the individual, individuals, entity or entities who created the Work
or if no individual or entity can be identified, the publisher; and in
addition (i) in the case of a performance the actors, singers,
musicians, dancers, and other persons who act, sing, deliver, declaim,
play in, interpret or otherwise perform literary or artistic works or
expressions of folklore; (ii) in the case of a phonogram the producer
being the person or legal entity who first fixes the sounds of a
performance or other sounds; and, (iii) in the case of broadcasts, the
organization that transmits the broadcast.
f. "Work" means the literary and/or artistic work offered under the terms
of this License including without limitation any production in the
literary, scientific and artistic domain, whatever may be the mode or
form of its expression including digital form, such as a book,
pamphlet and other writing; a lecture, address, sermon or other work
of the same nature; a dramatic or dramatico-musical work; a
choreographic work or entertainment in dumb show; a musical
composition with or without words; a cinematographic work to which are
assimilated works expressed by a process analogous to cinematography;
a work of drawing, painting, architecture, sculpture, engraving or
lithography; a photographic work to which are assimilated works
expressed by a process analogous to photography; a work of applied
art; an illustration, map, plan, sketch or three-dimensional work
relative to geography, topography, architecture or science; a
performance; a broadcast; a phonogram; a compilation of data to the
extent it is protected as a copyrightable work; or a work performed by
a variety or circus performer to the extent it is not otherwise
considered a literary or artistic work.
g. "You" means an individual or entity exercising rights under this
License who has not previously violated the terms of this License with
respect to the Work, or who has received express permission from the
Licensor to exercise rights under this License despite a previous
violation.
h. "Publicly Perform" means to perform public recitations of the Work and
to communicate to the public those public recitations, by any means or
process, including by wire or wireless means or public digital
performances; to make available to the public Works in such a way that
members of the public may access these Works from a place and at a
place individually chosen by them; to perform the Work to the public
by any means or process and the communication to the public of the
performances of the Work, including by public digital performance; to
broadcast and rebroadcast the Work by any means including signs,
sounds or images.
i. "Reproduce" means to make copies of the Work by any means including
without limitation by sound or visual recordings and the right of
fixation and reproducing fixations of the Work, including storage of a
protected performance or phonogram in digital form or other electronic
medium.
2. Fair Dealing Rights. Nothing in this License is intended to reduce,
limit, or restrict any uses free from copyright or rights arising from
limitations or exceptions that are provided for in connection with the
copyright protection under copyright law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License,
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
perpetual (for the duration of the applicable copyright) license to
exercise the rights in the Work as stated below:
a. to Reproduce the Work, to incorporate the Work into one or more
Collections, and to Reproduce the Work as incorporated in the
Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation,
including any translation in any medium, takes reasonable steps to
clearly label, demarcate or otherwise identify that changes were made
to the original Work. For example, a translation could be marked "The
original work was translated from English to Spanish," or a
modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated
in Collections; and,
d. to Distribute and Publicly Perform Adaptations.
The above rights may be exercised in all media and formats whether now
known or hereafter devised. The above rights include the right to make
such modifications as are technically necessary to exercise the rights in
other media and formats. Subject to Section 8(f), all rights not expressly
granted by Licensor are hereby reserved, including but not limited to the
rights set forth in Section 4(d).
4. Restrictions. The license granted in Section 3 above is expressly made
subject to and limited by the following restrictions:
a. You may Distribute or Publicly Perform the Work only under the terms
of this License. You must include a copy of, or the Uniform Resource
Identifier (URI) for, this License with every copy of the Work You
Distribute or Publicly Perform. You may not offer or impose any terms
on the Work that restrict the terms of this License or the ability of
the recipient of the Work to exercise the rights granted to that
recipient under the terms of the License. You may not sublicense the
Work. You must keep intact all notices that refer to this License and
to the disclaimer of warranties with every copy of the Work You
Distribute or Publicly Perform. When You Distribute or Publicly
Perform the Work, You may not impose any effective technological
measures on the Work that restrict the ability of a recipient of the
Work from You to exercise the rights granted to that recipient under
the terms of the License. This Section 4(a) applies to the Work as
incorporated in a Collection, but this does not require the Collection
apart from the Work itself to be made subject to the terms of this
License. If You create a Collection, upon notice from any Licensor You
must, to the extent practicable, remove from the Collection any credit
as required by Section 4(c), as requested. If You create an
Adaptation, upon notice from any Licensor You must, to the extent
practicable, remove from the Adaptation any credit as required by
Section 4(c), as requested.
b. You may not exercise any of the rights granted to You in Section 3
above in any manner that is primarily intended for or directed toward
commercial advantage or private monetary compensation. The exchange of
the Work for other copyrighted works by means of digital file-sharing
or otherwise shall not be considered to be intended for or directed
toward commercial advantage or private monetary compensation, provided
there is no payment of any monetary compensation in connection with
the exchange of copyrighted works.
c. If You Distribute, or Publicly Perform the Work or any Adaptations or
Collections, You must, unless a request has been made pursuant to
Section 4(a), keep intact all copyright notices for the Work and
provide, reasonable to the medium or means You are utilizing: (i) the
name of the Original Author (or pseudonym, if applicable) if supplied,
and/or if the Original Author and/or Licensor designate another party
or parties (e.g., a sponsor institute, publishing entity, journal) for
attribution ("Attribution Parties") in Licensor's copyright notice,
terms of service or by other reasonable means, the name of such party
or parties; (ii) the title of the Work if supplied; (iii) to the
extent reasonably practicable, the URI, if any, that Licensor
specifies to be associated with the Work, unless such URI does not
refer to the copyright notice or licensing information for the Work;
and, (iv) consistent with Section 3(b), in the case of an Adaptation,
a credit identifying the use of the Work in the Adaptation (e.g.,
"French translation of the Work by Original Author," or "Screenplay
based on original Work by Original Author"). The credit required by
this Section 4(c) may be implemented in any reasonable manner;
provided, however, that in the case of a Adaptation or Collection, at
a minimum such credit will appear, if a credit for all contributing
authors of the Adaptation or Collection appears, then as part of these
credits and in a manner at least as prominent as the credits for the
other contributing authors. For the avoidance of doubt, You may only
use the credit required by this Section for the purpose of attribution
in the manner set out above and, by exercising Your rights under this
License, You may not implicitly or explicitly assert or imply any
connection with, sponsorship or endorsement by the Original Author,
Licensor and/or Attribution Parties, as appropriate, of You or Your
use of the Work, without the separate, express prior written
permission of the Original Author, Licensor and/or Attribution
Parties.
d. For the avoidance of doubt:
i. Non-waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme cannot be waived, the Licensor
reserves the exclusive right to collect such royalties for any
exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme can be waived, the Licensor reserves
the exclusive right to collect such royalties for any exercise by
You of the rights granted under this License if Your exercise of
such rights is for a purpose or use which is otherwise than
noncommercial as permitted under Section 4(b) and otherwise waives
the right to collect royalties through any statutory or compulsory
licensing scheme; and,
iii. Voluntary License Schemes. The Licensor reserves the right to
collect royalties, whether individually or, in the event that the
Licensor is a member of a collecting society that administers
voluntary licensing schemes, via that society, from any exercise
by You of the rights granted under this License that is for a
purpose or use which is otherwise than noncommercial as permitted
under Section 4(c).
e. Except as otherwise agreed in writing by the Licensor or as may be
otherwise permitted by applicable law, if You Reproduce, Distribute or
Publicly Perform the Work either by itself or as part of any
Adaptations or Collections, You must not distort, mutilate, modify or
take other derogatory action in relation to the Work which would be
prejudicial to the Original Author's honor or reputation. Licensor
agrees that in those jurisdictions (e.g. Japan), in which any exercise
of the right granted in Section 3(b) of this License (the right to
make Adaptations) would be deemed to be a distortion, mutilation,
modification or other derogatory action prejudicial to the Original
Author's honor and reputation, the Licensor will waive or not assert,
as appropriate, this Section, to the fullest extent permitted by the
applicable national law, to enable You to reasonably exercise Your
right under Section 3(b) of this License (right to make Adaptations)
but not otherwise.
5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination
a. This License and the rights granted hereunder will terminate
automatically upon any breach by You of the terms of this License.
Individuals or entities who have received Adaptations or Collections
from You under this License, however, will not have their licenses
terminated provided such individuals or entities remain in full
compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
survive any termination of this License.
b. Subject to the above terms and conditions, the license granted here is
perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the
Work under different license terms or to stop distributing the Work at
any time; provided, however that any such election will not serve to
withdraw this License (or any other license that has been, or is
required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as
stated above.
8. Miscellaneous
a. Each time You Distribute or Publicly Perform the Work or a Collection,
the Licensor offers to the recipient a license to the Work on the same
terms and conditions as the license granted to You under this License.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
offers to the recipient a license to the original Work on the same
terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this License, and without further action
by the parties to this agreement, such provision shall be reformed to
the minimum extent necessary to make such provision valid and
enforceable.
d. No term or provision of this License shall be deemed waived and no
breach consented to unless such waiver or consent shall be in writing
and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with
respect to the Work licensed here. There are no understandings,
agreements or representations with respect to the Work not specified
here. Licensor shall not be bound by any additional provisions that
may appear in any communication from You. This License may not be
modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this
License were drafted utilizing the terminology of the Berne Convention
for the Protection of Literary and Artistic Works (as amended on
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
and the Universal Copyright Convention (as revised on July 24, 1971).
These rights and subject matter take effect in the relevant
jurisdiction in which the License terms are sought to be enforced
according to the corresponding provisions of the implementation of
those treaty provisions in the applicable national law. If the
standard suite of rights granted under applicable copyright law
includes additional rights not granted under this License, such
additional rights are deemed to be included in the License; this
License is not intended to restrict the license of any rights under
applicable law.
Creative Commons Notice
Creative Commons is not a party to this License, and makes no warranty
whatsoever in connection with the Work. Creative Commons will not be
liable to You or any party on any legal theory for any damages
whatsoever, including without limitation any general, special,
incidental or consequential damages arising in connection to this
license. Notwithstanding the foregoing two (2) sentences, if Creative
Commons has expressly identified itself as the Licensor hereunder, it
shall have all rights and obligations of Licensor.
Except for the limited purpose of indicating to the public that the
Work is licensed under the CCPL, Creative Commons does not authorize
the use by either party of the trademark "Creative Commons" or any
related trademark or logo of Creative Commons without the prior
written consent of Creative Commons. Any permitted use will be in
compliance with Creative Commons' then-current trademark usage
guidelines, as may be published on its website or otherwise made
available upon request from time to time. For the avoidance of doubt,
this trademark restriction does not form part of the License.
Creative Commons may be contacted at http://creativecommons.org/.
branches/Chimera/i386/modules/KernelPatcher/Cconfig
1
2
3
4
5
6
7
8
9
10
#
# Chameleon Modules
#
config KERNELPATCHER_MODULE
bool "Kernel Patcher Module"
default y
---help---
Say Y here if you want to enable the use of this module.
branches/Chimera/i386/modules/KernelPatcher/NEWS
1
2
3
4
KernelPatcher Release Notes
========= Version 1.2.0 =======
* Enables lapic panic removal on both 32 and 64bit kernels.
branches/Chimera/i386/modules/KernelPatcher/Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
MODULE_NAME = KernelPatcher
MODULE_AUTHOR = Evan Lojewski
MODULE_DESCRIPTION = Kernel patcher
MODULE_VERSION = "1.1.0"
MODULE_COMPAT_VERSION = "1.0.0"
MODULE_START = $(MODULE_NAME)_start
MODULE_DEPENDENCIES =
DIR = KernelPatcher
include ../MakeInc.dir
$(SYMROOT)/modules/$(MODULE_NAME).dylib:
@echo "\t[CP] $(MODULE_NAME).dylib"
@cp $(MODULE_NAME).dylib $(SRCROOT)/sym/i386/modules/$(MODULE_NAME).dylib
$(SRCROOT)/sym/i386/boot_modules.c:
@
branches/Chimera/i386/modules/KernelPatcher/README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
===================
= KernelPatcher.dylib =
===================
KernelPatcher copyright © 2013 xZeneu LLC.
KernelPatcher is licensed under the Attribution-NonCommercial 3.0 Unported license.
Please see the license file for details
===================
= Bugs =
===================
Please report any bugs at https://public.xzenue.com/bugzilla/
===================
= Requirements =
===================
- Chameleon r2181 or newer
===================
= Usage =
===================
- Install the KernelPatcher.dylib to /Extra/modules/
- Reboot
branches/Chimera/package/OptionalSettings/Audio.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# ---------------------------------------------
# Chameleon Optional Settings List.
# ---------------------------------------------
# Add boot options or kernel flags to the bottom of this file.
# They will appear under the package installer's Settings menu
# in a sub menu named with the filename of this file.
# Use one file or many files - it's flexible to make it easy
# to group different options under separate sub menus.
# ---------------------------------------------
# To add boot option: Structure is:
# type@name:key=value
# example1: Bool@InstantMenu:Instant Menu=Yes
# example2: Text@1024x600x32:Graphics Mode=1024x600x32
# example3: List@Npci:Kernel Flags=npci=0x2000
# ---------------------------------------------
# type can be: Bool, Text or List
# ---------------------------------------------
# The package installer has a setting which controls what
# the user is allowed to choose.
# A) User can select every option from the list.
# B) User can select only one of the options from the list.
# Set Exclusive=False for A, or Exclusive=True for B.
#
Exclusive=False
# ---------------------------------------------
# Note: There must be a carriage return at end of last line
# ---------------------------------------------
#Bool@HDAEnabler:HDAEnabler=Yes
Bool@EnableHDMIAudio:EnableHDMIAudio=Yes
branches/Chimera/package/OptionalSettings/HDEFLayout.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# ---------------------------------------------
# Chameleon Optional Settings List.
# ---------------------------------------------
# Add boot options or kernel flags to the bottom of this file.
# They will appear under the package installer's Settings menu
# in a sub menu named with the filename of this file.
# Use one file or many files - it's flexible to make it easy
# to group different options under separate sub menus.
# ---------------------------------------------
# To add boot option: Structure is:
# type@name:key=value
# example1: Bool@InstantMenu:Instant Menu=Yes
# example2: Text@1024x600x32:Graphics Mode=1024x600x32
# example3: List@Npci:Kernel Flags=npci=0x2000
# ---------------------------------------------
# type can be: Bool, Text or List
# ---------------------------------------------
# The package installer has a setting which controls what
# the user is allowed to choose.
# A) User can select every option from the list.
# B) User can select only one of the options from the list.
# Set Exclusive=False for A, or Exclusive=True for B.
#
Exclusive=True
# ---------------------------------------------
# Note: There must be a carriage return at end of last line
# ---------------------------------------------
Text@HDEFLayoutIDx01:HDEFLayoutID=01000000
Text@HDEFLayoutIDx02:HDEFLayoutID=02000000
Text@HDEFLayoutIDx03:HDEFLayoutID=03000000
Text@HDEFLayoutIDx12:HDEFLayoutID=0C000000
Text@HDEFLayoutIDx32:HDEFLayoutID=20000000
Text@HDEFLayoutIDx40:HDEFLayoutID=28000000
Text@HDEFLayoutIDx65:HDEFLayoutID=41000000
Text@HDEFLayoutIDx99:HDEFLayoutID=63000000
Text@HDEFLayoutIDx269:HDEFLayoutID=0D010000
Text@HDEFLayoutIDx387:HDEFLayoutID=83010000
Text@HDEFLayoutIDx388:HDEFLayoutID=84010000
Text@HDEFLayoutIDx389:HDEFLayoutID=85010000
Text@HDEFLayoutIDx392:HDEFLayoutID=88010000
Text@HDEFLayoutIDx398:HDEFLayoutID=8E010000
Text@HDEFLayoutIDx662:HDEFLayoutID=96020000
Text@HDEFLayoutIDx663:HDEFLayoutID=97020000
Text@HDEFLayoutIDx664:HDEFLayoutID=98020000
Text@HDEFLayoutIDx885:HDEFLayoutID=75030000
Text@HDEFLayoutIDx887:HDEFLayoutID=77030000
Text@HDEFLayoutIDx888:HDEFLayoutID=78030000
Text@HDEFLayoutIDx889:HDEFLayoutID=79030000
Text@HDEFLayoutIDx892:HDEFLayoutID=7C030000
Text@HDEFLayoutIDx898:HDEFLayoutID=82030000
Text@HDEFLayoutIDxBD7:HDEFLayoutID=BD070000
branches/Chimera/package/OptionalSettings/IntelAzul.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# ---------------------------------------------
# Chameleon Optional Settings List.
# ---------------------------------------------
# Add boot options or kernel flags to the bottom of this file.
# They will appear under the package installer's Settings menu
# in a sub menu named with the filename of this file.
# Use one file or many files - it's flexible to make it easy
# to group different options under separate sub menus.
# ---------------------------------------------
# To add boot option: Structure is:
# type@name:key=value
# example1: Bool@InstantMenu:Instant Menu=Yes
# example2: Text@1024x600x32:Graphics Mode=1024x600x32
# example3: List@Npci:Kernel Flags=npci=0x2000
# ---------------------------------------------
# type can be: Bool, Text or List
# ---------------------------------------------
# The package installer has a setting which controls what
# the user is allowed to choose.
# A) User can select every option from the list.
# B) User can select only one of the options from the list.
# Set Exclusive=False for A, or Exclusive=True for B.
#
Exclusive=True
# ---------------------------------------------
# Note: There must be a carriage return at end of last line
# ---------------------------------------------
Text@IntelAzulx00:IntelAzulFB=0
Text@IntelAzulx01:IntelAzulFB=1
Text@IntelAzulx02:IntelAzulFB=2
Text@IntelAzulx03:IntelAzulFB=3
Text@IntelAzulx04:IntelAzulFB=4
Text@IntelAzulx05:IntelAzulFB=5
Text@IntelAzulx06:IntelAzulFB=6
Text@IntelAzulx07:IntelAzulFB=7
Text@IntelAzulx08:IntelAzulFB=8
Text@IntelAzulx09:IntelAzulFB=9
Text@IntelAzulx10:IntelAzulFB=10
Text@IntelAzulx11:IntelAzulFB=11
Text@IntelAzulx12:IntelAzulFB=12
Text@IntelAzulx13:IntelAzulFB=13
Text@IntelAzulx14:IntelAzulFB=14
Text@IntelAzulx15:IntelAzulFB=15
branches/Chimera/package/OptionalSettings/IntelCapri.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# ---------------------------------------------
# Chameleon Optional Settings List.
# ---------------------------------------------
# Add boot options or kernel flags to the bottom of this file.
# They will appear under the package installer's Settings menu
# in a sub menu named with the filename of this file.
# Use one file or many files - it's flexible to make it easy
# to group different options under separate sub menus.
# ---------------------------------------------
# To add boot option: Structure is:
# type@name:key=value
# example1: Bool@InstantMenu:Instant Menu=Yes
# example2: Text@1024x600x32:Graphics Mode=1024x600x32
# example3: List@Npci:Kernel Flags=npci=0x2000
# ---------------------------------------------
# type can be: Bool, Text or List
# ---------------------------------------------
# The package installer has a setting which controls what
# the user is allowed to choose.
# A) User can select every option from the list.
# B) User can select only one of the options from the list.
# Set Exclusive=False for A, or Exclusive=True for B.
#
Exclusive=True
# ---------------------------------------------
# Note: There must be a carriage return at end of last line
# ---------------------------------------------
Text@IntelCaprix00:IntelCapriFB=0
Text@IntelCaprix01:IntelCapriFB=1
Text@IntelCaprix02:IntelCapriFB=2
Text@IntelCaprix03:IntelCapriFB=3
Text@IntelCaprix04:IntelCapriFB=4
Text@IntelCaprix05:IntelCapriFB=5
Text@IntelCaprix06:IntelCapriFB=6
Text@IntelCaprix07:IntelCapriFB=7
Text@IntelCaprix08:IntelCapriFB=8
Text@IntelCaprix09:IntelCapriFB=9
Text@IntelCaprix10:IntelCapriFB=10
Text@IntelCaprix11:IntelCapriFB=11
branches/Chimera/package/OptionalSettings/HDAULayout.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# ---------------------------------------------
# Chameleon Optional Settings List.
# ---------------------------------------------
# Add boot options or kernel flags to the bottom of this file.
# They will appear under the package installer's Settings menu
# in a sub menu named with the filename of this file.
# Use one file or many files - it's flexible to make it easy
# to group different options under separate sub menus.
# ---------------------------------------------
# To add boot option: Structure is:
# type@name:key=value
# example1: Bool@InstantMenu:Instant Menu=Yes
# example2: Text@1024x600x32:Graphics Mode=1024x600x32
# example3: List@Npci:Kernel Flags=npci=0x2000
# ---------------------------------------------
# type can be: Bool, Text or List
# ---------------------------------------------
# The package installer has a setting which controls what
# the user is allowed to choose.
# A) User can select every option from the list.
# B) User can select only one of the options from the list.
# Set Exclusive=False for A, or Exclusive=True for B.
#
Exclusive=True
# ---------------------------------------------
# Note: There must be a carriage return at end of last line
# ---------------------------------------------
Text@HDAULayoutIDx01:HDAULayoutID=01000000
Text@HDAULayoutIDx02:HDAULayoutID=02000000
Text@HDAULayoutIDx03:HDAULayoutID=03000000
Text@HDAULayoutIDx12:HDAULayoutID=0C000000
Text@HDAULayoutIDx32:HDAULayoutID=20000000
Text@HDAULayoutIDx40:HDAULayoutID=28000000
Text@HDAULayoutIDx65:HDAULayoutID=41000000
Text@HDAULayoutIDx99:HDAULayoutID=63000000
Text@HDAULayoutIDx269:HDAULayoutID=0D010000
Text@HDAULayoutIDx387:HDAULayoutID=83010000
Text@HDAULayoutIDx388:HDAULayoutID=84010000
Text@HDAULayoutIDx389:HDAULayoutID=85010000
Text@HDAULayoutIDx392:HDAULayoutID=88010000
Text@HDAULayoutIDx398:HDAULayoutID=8E010000
Text@HDAULayoutIDx662:HDAULayoutID=96020000
Text@HDAULayoutIDx663:HDAULayoutID=97020000
Text@HDAULayoutIDx664:HDAULayoutID=98020000
Text@HDAULayoutIDx885:HDAULayoutID=75030000
Text@HDAULayoutIDx887:HDAULayoutID=77030000
Text@HDAULayoutIDx888:HDAULayoutID=78030000
Text@HDAULayoutIDx889:HDAULayoutID=79030000
Text@HDAULayoutIDx892:HDAULayoutID=7C030000
Text@HDAULayoutIDx898:HDAULayoutID=82030000
Text@HDAULayoutIDxBD7:HDAULayoutID=BD070000
branches/Chimera/package/po/pt-PT.po
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
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
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Chameleon 2.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-04-30 04:13+0200\n"
"PO-Revision-Date: 2012-03-15 20:34-0000\n"
"Last-Translator: ErmaC\n"
"Language-Team: pt-PT <pt-PT@li.org>\n"
"Language: pt-PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:22
msgid "Chameleon"
msgstr "Chameleon"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:23
msgid "v%CHAMELEONVERSION% r%CHAMELEONREVISION%"
msgstr "v%CHAMELEONVERSION% r%CHAMELEONREVISION%"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:25
msgid "Do not install to an Apple Macintosh computer"
msgstr "Não instale num computador Apple Macintosh"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:27
msgid "Developers :"
msgstr "Desenvolvedores :"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:28
msgid "%DEVELOP%"
msgstr "%DEVELOP%"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:30
msgid "Thanks to :"
msgstr "Agradecimentos :"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:31
msgid "%CREDITS%"
msgstr "%CREDITS%"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:33
msgid "Package :"
msgstr "Créditos pelos pacotes :"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:34
msgid "%PKGDEV%"
msgstr "%PKGDEV%"
#. 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 "Package built by: %WHOBUILD%, language translated by: artur-pt"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:37 Resources/templates/Conclusion.html:31
msgid "Copyright © %CPRYEAR%"
msgstr "Copyright © %CPRYEAR%"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:18
msgid ""
"Chameleon is a boot loader built using a combination of components which "
"evolved from the development of David Elliott's fake EFI implementation "
"added to Apple's boot-132 project."
msgstr ""
"O Chameleon é um boot loader que combina vários componentes. Ele é baseado "
"na implementação de fake EFI feita por David Elliott, adicionada ao projeto "
"boot-132 da Apple."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:20
msgid "Chameleon v2 is extended with many features. For example:"
msgstr ""
"O Chameleon é extendido com as seguintes características chave. Novos "
"recursos no Chameleon 2.0:"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:22
msgid "- Fully customizable GUI to bring some color to the Darwin Bootloader."
msgstr ""
"- Interface gráfica (GUI) totalmente personalizável para trazer algumas "
"cores ao Bootloader Darwin."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:23
msgid ""
"- Load a ramdisk to directly boot retail DVDs without additional programs."
msgstr ""
"- Inicializa DVDs retail lendo uma imagem ramdisk directamente, sem ajuda de "
"nenhum programa adicional."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:24
msgid "- Hibernation. Enjoy resuming your Mac OS X with a preview image."
msgstr ""
"- Hibernação. Desfrute de continuar o seu Mac OS X com uma amostra de imagem "
"da tela."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:25
msgid "- SMBIOS override to modify the factory SMBIOS values."
msgstr "- Substituição de SMBIOS para modificar os valores de fábrica."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:26
msgid ""
"- DSDT override to use a modified fixed DSDT which can solve several issues."
msgstr ""
"- Substituicção de DSDT para usar uma tabela modificada que pode resolver "
"diversos problemas."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:27
msgid "- Device Property Injection via device-properties string."
msgstr ""
"- Injecção de propriedades de dispositivo através do string device-"
"properties."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:28
msgid "- hybrid boot0 / boot1h for MBR and GPT partitioned disks."
msgstr "- boot0 / boot1h híbridos para discos particionados em MBR e GPT."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:29
msgid "- Automatic FSB detection code even for recent AMD CPUs."
msgstr "- Detecção automática de FSB mesmo para processadores AMD recentes."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:30
msgid "- Apple Software RAID support."
msgstr "- Suporte a Software RAID da Apple."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:31
msgid "- Nvidia &amp; ATI/AMD Graphics Card Enabler."
msgstr "- Ativação Placas Gráficas Nvidia &amp; ATI/AMD."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:32
msgid "- Module support"
msgstr "- Suporte de Modulos"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:33
msgid "- Memory detection adapted from memtest86:&nbsp;"
msgstr "- Deteção Memoria adaptada de memtest86:&nbsp;"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:34
msgid ""
"- Automatic P-State &amp; C-State generation for native power management."
msgstr ""
"- P-State automático &amp; Geração C-State para gestão de energia nativa."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:35
msgid "- Message logging."
msgstr "- Protocolo Mensagens."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:37
msgid "The code is released under version 2 of the Gnu Public License."
msgstr ""
"Este código é distribuido sobre os termos da versão 2 da Gnu Public License."
#. type: Content of: <html><body><p><span>
#: Resources/templates/Description.html:40
msgid "FAQ's:&nbsp;"
msgstr "Para informações detalhadas visite:&nbsp;"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:22
msgid "The scripts have completed and a file named&nbsp;"
msgstr "Os scripts estão finalizados e foi gerado um ficheiro&nbsp;"
#. type: Content of: <html><body><div><p><span>
#: Resources/templates/Conclusion.html:22
msgid "@LOG_FILENAME@"
msgstr "@LOG_FILENAME@"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:23
msgid "&nbsp;has been written to the root of your chosen partition."
msgstr "&nbsp;que se encontra na raiz da partição selecionada."
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:25
msgid "Please&nbsp;"
msgstr "Por Favor&nbsp;"
#. type: Content of: <html><body><div><p><span>
#: Resources/templates/Conclusion.html:25
msgid "read it"
msgstr "leia-o"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:26
msgid ""
"&nbsp;to find out if the installation was successful and keep it for a "
"record of what was done."
msgstr ""
"&nbsp;para verificar se a instalação foi realizada com sucesso e guarde como "
"relatório do que foi realizado."
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:28
msgid "Chameleon v%CHAMELEONVERSION% r%CHAMELEONREVISION%"
msgstr "Chameleon v%CHAMELEONVERSION% r%CHAMELEONREVISION%"
#. type: "Chameleon_Package_Title"
#: Resources/templates/Localizable.strings:4
#, no-wrap
msgid "Chameleon Bootloader Package"
msgstr "Chameleon Bootloader"
#. type: "ERROR_BOOTVOL"
#: Resources/templates/Localizable.strings:9
#, no-wrap
msgid "This software must be installed on the startup volume."
msgstr "Este software deve ser instalado no volume de inicialização."
#. type: "ERROR_INSTALL"
#: Resources/templates/Localizable.strings:10
#, no-wrap
msgid "This volume does not meet the requirements for this update."
msgstr "Este volume não preenche os requisitos para esta atualização."
#. type: "Newer_Package_Installed_message"
#: Resources/templates/Localizable.strings:12
#, no-wrap
msgid "A newer version of Chameleon is already installed"
msgstr "Uma versão mais recente do Chameleon já está instalada."
#. type: "Intel_Mac_message"
#: Resources/templates/Localizable.strings:13
#, no-wrap
msgid "This software cannot be installed on this computer."
msgstr "Este software não pode ser instalado neste computador."
#. type: "Chameleon_title"
#: Resources/templates/Localizable.strings:19
#, no-wrap
msgid "Chameleon Bootloader"
msgstr "Chameleon Bootloader"
#. type: "Chameleon_description"
#: Resources/templates/Localizable.strings:20
#, no-wrap
msgid ""
"Chameleon requires three essential files. (in simple terms)\n"
"boot0 (On the drive's MBR) responsible for loading boot1.\n"
"boot1 (On the partition's boot-sector) to finding boot2.\n"
"boot2 (On the partition's root directory) for loading kernel etc."
msgstr ""
"O Chameleon requer três arquivos essenciais (em termos simples):\n"
"boot0 (no MBR do drive) responsável por carregar o boot1.\n"
"boot1 (no setor de boot da partição) para encontrar o boot2.\n"
"boot2 (no directório raiz da partição) para carregar o kernel etc."
#. type: "Default_title"
#: Resources/templates/Localizable.strings:25
#: Resources/templates/Localizable.strings:245
#, no-wrap
msgid "Standard"
msgstr "Padrão"
#. type: "Standard_description"
#: Resources/templates/Localizable.strings:26
#, no-wrap
msgid "Install Chameleon's files to the root of the selected partition using either boot0 or boot0md depending on your system without destroying any existing Windows installation if you have one."
msgstr "Instalar os arquivos do Chameleon na raiz da partição selecionada usando boot0 ou boot0md dependendo do seu sistema, sem danificar nenhuma instalação do Windows, se existir."
#. type: "noboot_title"
#: Resources/templates/Localizable.strings:28
#, no-wrap
msgid "Don't install the Bootloader"
msgstr "Não instalar o boot loader"
#. type: "noboot_description"
#: Resources/templates/Localizable.strings:29
#, no-wrap
msgid "Useful if you only want to install the extra's."
msgstr "Útil se você quer instalar apenas os extras."
#. type: "Module_title"
#: Resources/templates/Localizable.strings:35
#, no-wrap
msgid "Modules"
msgstr "Módulos do Chameleon"
#. type: "Module_description"
#: Resources/templates/Localizable.strings:36
#, no-wrap
msgid "The modules system incorporated in chameleon allows for a user or developer to extend the core functionality of chameleon without replacing the main boot file."
msgstr "O sistema de módulos incorporados ao Chameleon permite que um utilizador ou desenvolvedor estenda a funcionalidade básica sem precisar substituir o arquivo boot principal."
#. type: "klibc_title"
#: Resources/templates/Localizable.strings:38
#, no-wrap
msgid "klibc"
msgstr "klibc"
#. type: "klibc_description"
#: Resources/templates/Localizable.strings:39
#, no-wrap
msgid ""
"This module provides a standard c library for modules to link to if the library provided by chameleon is insufficient.\n"
"This is currently only used by the uClibc++ library.\n"
"Source: http://www.kernel.org/pub/linux/libs/klibc/"
msgstr ""
"Este módulo fornece uma biblioteca C padrão para link, caso a do Chameleon seja insuficiente.\n"
"É usado actualmente apenas pela biblioteca uClibc++\n"
"Fonte: http://www.kernel.org/pub/linux/libs/klibc/"
#. type: "Resolution_title"
#: Resources/templates/Localizable.strings:43
#: Resources/templates/Localizable.strings:273
#, no-wrap
msgid "Resolution"
msgstr "Resolução"
#. type: "AutoReso_description"
#: Resources/templates/Localizable.strings:44
#, no-wrap
msgid ""
"This module reads the edid information from the monitor attached to the main display.\n"
"The module is currently not integrated into trunk and has minimal uses as it stands.\n"
"Additionally, the module will patch the vesa modes available in pre intel hd graphics cards to provide proper resolution while booting."
msgstr ""
"Este módulo lê a informação EDID do monitor conectado ao display principal.\n"
"Actualmente não está integrado ao trunk e tem uso mínimo no estado em que se encontra.\n"
"Adicionalmente o módulo ajusta os modos VESA disponíveis nas placas de vídeo pré Intel HD para proporcionar resolução adequada no boot."
#. type: "uClibc_title"
#: Resources/templates/Localizable.strings:48
#, no-wrap
msgid "uClibc++"
msgstr "uClibc++"
#. type: "uClibc_description"
#: Resources/templates/Localizable.strings:49
#, no-wrap
msgid ""
"This module provides a minimalistic c++ runtime library for use in other modules. This does not provide functionality by itself, instead it is used to allow for the c++ language to be used in other modules.\n"
"*Please note that rtti and exceptions has both been disabled.\n"
"Source: http://cxx.uclibc.org/\n"
"Dependencies: klibc"
msgstr ""
"Este módulo fornece uma biblioteca runtime C++ minimalista para uso em outros módulos.\n"
"Ele não fornece funcionalidade por si só, mas é usado para permitir o uso da linguagem C++ em outros módulos.\n"
"Observe que rtti e exceptions foram ambos desativados.\n"
"Fonte: http://cxx.uclibc.org/\n"
"Dependências: klibc"
#. type: "Options_title"
#: Resources/templates/Localizable.strings:58
#, no-wrap
msgid "Settings"
msgstr "Opções de boot"
#. type: "Options_description"
#: Resources/templates/Localizable.strings:59
#, no-wrap
msgid "Create an /Extra/org.chameleon.Boot.plist by selecting any of these boot options and kernel flags."
msgstr "Cria um arquivo /Extra/org.chameleon.Boot.plist e seleciona suas preferências de configuração do Chameleon."
#. type: "BootBanner_title"
#: Resources/templates/Localizable.strings:61
#, no-wrap
msgid "BootBanner=No"
msgstr "BootBanner=No"
#. type: "BootBanner_description"
#: Resources/templates/Localizable.strings:62
#, no-wrap
msgid "Hides Chameleon's boot banner in GUI. This is the text that is drawn at the top left corner of the screen displaying the release version etc."
msgstr "Oculta o banner do Chameleon na interface gráfica."
#. type: "GUI_title"
#: Resources/templates/Localizable.strings:64
#, no-wrap
msgid "GUI=No"
msgstr "GUI=No"
#. type: "GUI_description"
#: Resources/templates/Localizable.strings:65
#, no-wrap
msgid "Disables the default enabled graphic user interface."
msgstr "Desabilita a interface gráfica, ativada por padrão."
#. type: "LegacyLogo_title"
#: Resources/templates/Localizable.strings:67
#, no-wrap
msgid "LegacyLogo=Yes"
msgstr "LegacyLogo=Yes"
#. type: "LegacyLogo_description"
#: Resources/templates/Localizable.strings:68
#, no-wrap
msgid "Use the legacy 'dark grey' apple logo on the light grey screen for the boot process rather than the boot.png in the theme."
msgstr "Usa o logotipo legado da Apple (cinza e branco) no écran de boot, e não o do boot.png do tema."
#. type: "InstantMenu_title"
#: Resources/templates/Localizable.strings:70
#, no-wrap
msgid "InstantMenu=Yes"
msgstr "InstantMenu=Yes"
#. type: "InstantMenu_description"
#: Resources/templates/Localizable.strings:71
#, no-wrap
msgid "By default, when Chameleon loads you'll see the icon for the current default partition, along with a timeout progress bar which left alone will count down before Chameleon automatically boots that partition. This options skips that and takes you directly to the device selection screen."
msgstr "Exibe o écran de seleção de partição sem mostrar a contagem regressiva."
#. type: "QuietBoot_title"
#: Resources/templates/Localizable.strings:73
#, no-wrap
msgid "QuietBoot=Yes"
msgstr "QuietBoot=Yes"
#. type: "QuietBoot_description"
#: Resources/templates/Localizable.strings:74
#, no-wrap
msgid "Enable quiet boot mode (no messages or prompt)."
msgstr "Ativa o boot silencioso (sem mensagens ou opções)."
#. type: "ShowInfo_title"
#: Resources/templates/Localizable.strings:76
#, no-wrap
msgid "ShowInfo=Yes"
msgstr "ShowInfo=Yes"
#. type: "ShowInfo_description"
#: Resources/templates/Localizable.strings:77
#, no-wrap
msgid "Enables display of partition and resolution details shown on the left side of the GUI under the boot banner. This is useful information for troubleshooting, though can clash with certain themes."
msgstr "Ativa a exibição de detalhes sobre partições e resolução do écran."
#. type: "Wait_title"
#: Resources/templates/Localizable.strings:79
#, no-wrap
msgid "Wait=Yes"
msgstr "Wait=Yes"
#. type: "Wait_description"
#: Resources/templates/Localizable.strings:80
#, no-wrap
msgid "Pauses the boot process after Chameleon has finished it's setup then waits for a key press before it starts the mach kernel. Useful when combined with verbose boot for troubleshooting."
msgstr "Pausa o processo de boot após os ajustes do Chameleon e aguarda que uma tecla seja pressionada antes de iniciar o kernel. Útil para solução de problemas quando usado em conjunto com o boot verbose."
#. type: "arch_title"
#: Resources/templates/Localizable.strings:84
#, no-wrap
msgid "arch=i386"
msgstr "arch=i386"
#. type: "arch_description"
#: Resources/templates/Localizable.strings:85
#, no-wrap
msgid "Boots the kernel in 32bit mode rather than the default 64bit mode."
msgstr "Inicia o sistema no modo 32 bit, e não no modo padrão 64 bit."
#. type: "EHCIacquire_title"
#: Resources/templates/Localizable.strings:87
#, no-wrap
msgid "EHCIacquire=Yes"
msgstr "EHCIacquire=Yes"
#. type: "EHCIacquire_description"
#: Resources/templates/Localizable.strings:88
#, no-wrap
msgid "Enables the option to fix any EHCI ownership issues due to bad bioses."
msgstr "Ativa a opção que corrige falhas de EHCI ownership devido a problemas no BIOS."
#. type: "EthernetBuiltIn_title"
#: Resources/templates/Localizable.strings:90
#, no-wrap
msgid "EthernetBuiltIn=Yes"
msgstr "EthernetBuiltIn=Yes"
#. type: "EthernetBuiltIn_description"
#: Resources/templates/Localizable.strings:91
#, no-wrap
msgid "Enables the option of adding 'built-in' to your ethernet devices."
msgstr "Ativa a opção que inclui 'built-in' (integrado) nos dispositivos ethernet."
#. type: "ForceHPET_title"
#: Resources/templates/Localizable.strings:93
#, no-wrap
msgid "ForceHPET=Yes"
msgstr "ForceHPET=Yes"
#. type: "ForceHPET_description"
#: Resources/templates/Localizable.strings:94
#, no-wrap
msgid "Enables HPET on intel chipsets, for bioses that dont include the option."
msgstr "Ativa o HPET em chipsets Intel, para BIOS que não incluem a opção."
#. type: "ForceWake_title"
#: Resources/templates/Localizable.strings:96
#, no-wrap
msgid "ForceWake=Yes"
msgstr "ForceWake=Yes"
#. type: "ForceWake_description"
#: Resources/templates/Localizable.strings:97
#, no-wrap
msgid "This option enables you to bypass bad sleep images."
msgstr "Essa opção permite contornar imagens de repouso com problema."
#. type: "RestartFix_title"
#: Resources/templates/Localizable.strings:99
#, no-wrap
msgid "RestartFix=No"
msgstr "RestartFix=No"
#. type: "RestartFix_description"
#: Resources/templates/Localizable.strings:100
#, no-wrap
msgid "Disables the automatically enabled restart fix."
msgstr "Desabilita a correção do problema ao reiniciar, ativada por padrão."
#. type: "UHCIreset_title"
#: Resources/templates/Localizable.strings:102
#, no-wrap
msgid "UHCIreset=Yes"
msgstr "UHCIreset=Yes"
#. type: "UHCIreset_description"
#: Resources/templates/Localizable.strings:103
#, no-wrap
msgid "Enables the option to reset UHCI controllers before starting OS X."
msgstr "Ativa a opção que reinicia os controladores UHCI antes de iniciar o OS X."
#. type: "UseMemDetect_title"
#: Resources/templates/Localizable.strings:105
#, no-wrap
msgid "UseMemDetect=No"
msgstr "UseMemDetect=No"
#. type: "UseMemDetect_description"
#: Resources/templates/Localizable.strings:106
#, no-wrap
msgid "Disables the automatically enabled RAM recognition."
msgstr "Desativa a identificação automática de memória RAM."
#. type: "UseKernelCache_title"
#: Resources/templates/Localizable.strings:108
#, no-wrap
msgid "UseKernelCache=Yes"
msgstr "UseKernelCache=Yes"
#. type: "UseKernelCache_description"
#: Resources/templates/Localizable.strings:109
#, no-wrap
msgid "For Lion only. Enables loading of the pre-linked kernel. This will ignore /E/E and /S/L/E. ONLY use this is you have know it contains everything you need."
msgstr "Yes vai carregar o kernel pre-linked e ignorar /Extra/Extensions e o Extensions.mkext de /System/Library/Extensions. O padrão é No, mas se você usa o Lion numa partição RAID, é Yes."
#. type: "Wake_title"
#: Resources/templates/Localizable.strings:111
#, no-wrap
msgid "Wake=Yes"
msgstr "Wake=Yes"
#. type: "Wake_description"
#: Resources/templates/Localizable.strings:112
#, no-wrap
msgid "Attempts to load the sleep image saved from last hibernation."
msgstr "Tenta carregar a imagem de repouso gravada na última hibernação."
#. type: "CSTUsingSystemIO_title"
#: Resources/templates/Localizable.strings:116
#, no-wrap
msgid "CSTUsingSystemIO=Yes"
msgstr "CSTUsingSystemIO=Yes"
#. type: "CSTUsingSystemIO_description"
#: Resources/templates/Localizable.strings:117
#, no-wrap
msgid "New C-State _CST generation method using SystemIO registers instead of FixedHW."
msgstr "Novo método de geração de C-States usando registros do SystemIO em vez de FixedHW."
#. type: "DropSSDT_title"
#: Resources/templates/Localizable.strings:119
#, no-wrap
msgid "DropSSDT=Yes"
msgstr "DropSSDT=Yes"
#. type: "DropSSDT_description"
#: Resources/templates/Localizable.strings:120
#, no-wrap
msgid "Discard the motherboard's built-in SSDT tables."
msgstr "Descarta as tabelas SSDT da placa mãe."
#. type: "EnableC2State_title"
#: Resources/templates/Localizable.strings:122
#, no-wrap
msgid "EnableC2State=Yes"
msgstr "EnableC2State=Yes"
#. type: "EnableC2State_description"
#: Resources/templates/Localizable.strings:123
#, no-wrap
msgid "Enable specific Processor power state, C2."
msgstr "Ativa power state específico de processador, C2."
#. type: "EnableC3State_title"
#: Resources/templates/Localizable.strings:125
#, no-wrap
msgid "EnableC3State=Yes"
msgstr "EnableC3State=Yes"
#. type: "EnableC3State_description"
#: Resources/templates/Localizable.strings:126
#, no-wrap
msgid "Enable specific Processor power state, C3."
msgstr "Ativa power state específico de processador, C3."
#. type: "EnableC4State_title"
#: Resources/templates/Localizable.strings:128
#, no-wrap
msgid "EnableC4State=Yes"
msgstr "EnableC4State=Yes"
#. type: "EnableC4State_description"
#: Resources/templates/Localizable.strings:129
#, no-wrap
msgid "Enable specific Processor power state, C4."
msgstr "Ativa power state específico de processador, C4."
#. type: "GenerateCStates_title"
#: Resources/templates/Localizable.strings:131
#, no-wrap
msgid "GenerateCStates=Yes"
msgstr "GenerateCStates=Yes"
#. type: "GenerateCStates_description"
#: Resources/templates/Localizable.strings:132
#, no-wrap
msgid "Enable auto generation of processor idle sleep states (C-States)."
msgstr "Ativa a geração automática de estados de idle sleep do processador (C-States)."
#. type: "GeneratePStates_title"
#: Resources/templates/Localizable.strings:134
#, no-wrap
msgid "GeneratePStates=Yes"
msgstr "GeneratePStates=Yes"
#. type: "GeneratePStates_description"
#: Resources/templates/Localizable.strings:135
#, no-wrap
msgid "Enable auto generation of processor power performance states (P-States)."
msgstr "Ativa a geração automática de estados de power performance do processador (P-States)."
#. type: "1024x600x32_title"
#: Resources/templates/Localizable.strings:139
#, no-wrap
msgid "1024x600x32"
msgstr "1024x600x32"
#. type: "1024x600x32_description"
#: Resources/templates/Localizable.strings:140
#, no-wrap
msgid "Set Graphics Mode to 1024x600x32"
msgstr "Seleciona Modo Gráfico 1024x600x32"
#. type: "1024x768x32_title"
#: Resources/templates/Localizable.strings:142
#, no-wrap
msgid "1024x768x32"
msgstr "1024x768x32"
#. type: "1024x768x32_description"
#: Resources/templates/Localizable.strings:143
#, no-wrap
msgid "Set Graphics Mode to 1024x768x32"
msgstr "Seleciona Modo Gráfico 1024x768x32"
#. type: "1280x768x32_title"
#: Resources/templates/Localizable.strings:145
#, no-wrap
msgid "1280x768x32"
msgstr "1280x768x32"
#. type: "1280x768x32_description"
#: Resources/templates/Localizable.strings:146
#, no-wrap
msgid "Set Graphics Mode to 1280x768x32"
msgstr "Seleciona Modo Gráfico 1280x768x32"
#. type: "1280x800x32_title"
#: Resources/templates/Localizable.strings:148
#, no-wrap
msgid "1280x800x32"
msgstr "1280x800x32"
#. type: "1280x800x32_description"
#: Resources/templates/Localizable.strings:149
#, no-wrap
msgid "Set Graphics Mode to 1280x800x32"
msgstr "Seleciona Modo Gráfico 1280x800x32"
#. type: "1280x1024x32_title"
#: Resources/templates/Localizable.strings:151
#, no-wrap
msgid "1280x1024x32"
msgstr "1280x1024x32"
#. type: "1280x1024x32_description"
#: Resources/templates/Localizable.strings:152
#, no-wrap
msgid "Set Graphics Mode to 1280x1024x32"
msgstr "Seleciona Modo Gráfico 1280x1024x32"
#. type: "1280x960x32_title"
#: Resources/templates/Localizable.strings:154
#, no-wrap
msgid "1280x960x32"
msgstr "1280x960x32"
#. type: "1280x960x32_description"
#: Resources/templates/Localizable.strings:155
#, no-wrap
msgid "Set Graphics Mode to 1280x960x32"
msgstr "Seleciona Modo Gráfico 1280x960x32"
#. type: "1440x900x32_title"
#: Resources/templates/Localizable.strings:157
#, no-wrap
msgid "1440x900x32"
msgstr "1440x900x32"
#. type: "1440x900x32_description"
#: Resources/templates/Localizable.strings:158
#, no-wrap
msgid "Set Graphics Mode to 1440x900x32"
msgstr "Seleciona Modo Gráfico 1440x900x32"
#. type: "1600x900x32_title"
#: Resources/templates/Localizable.strings:160
#, no-wrap
msgid "1600x900x32"
msgstr "1600x900x32"
#. type: "1600x900x32_description"
#: Resources/templates/Localizable.strings:161
#, no-wrap
msgid "Set Graphics Mode to 1600x900x32"
msgstr "Seleciona Modo Gráfico 1600x900x32"
#. type: "1600x1200x32_title"
#: Resources/templates/Localizable.strings:163
#, no-wrap
msgid "1600x1200x32"
msgstr "1600x1200x32"
#. type: "1600x1200x32_description"
#: Resources/templates/Localizable.strings:164
#, no-wrap
msgid "Set Graphics Mode to 1600x1200x32"
msgstr "Seleciona Modo Gráfico 1600x1200x32"
#. type: "1680x1050x32_title"
#: Resources/templates/Localizable.strings:166
#, no-wrap
msgid "1680x1050x32"
msgstr "1680x1050x32"
#. type: "1680x1050x32_description"
#: Resources/templates/Localizable.strings:167
#, no-wrap
msgid "Set Graphics Mode to 1680x1050x32"
msgstr "Seleciona Modo Gráfico 1680x1050x32"
#. type: "1920x1080x32_title"
#: Resources/templates/Localizable.strings:169
#, no-wrap
msgid "1920x1080x32"
msgstr "1920x1080x32"
#. type: "1920x1080x32_description"
#: Resources/templates/Localizable.strings:170
#, no-wrap
msgid "Set Graphics Mode to 1920x1080x32"
msgstr "Seleciona Modo Gráfico 1920x1080x32"
#. type: "1920x1200x32_title"
#: Resources/templates/Localizable.strings:172
#, no-wrap
msgid "1920x1200x32"
msgstr "1920x1200x32"
#. type: "1920x1200x32_description"
#: Resources/templates/Localizable.strings:173
#, no-wrap
msgid "Set Graphics Mode to 1920x1200x32"
msgstr "Seleciona Modo Gráfico 1920x1200x32"
#. type: "GraphicsEnabler_title"
#: Resources/templates/Localizable.strings:177
#, no-wrap
msgid "GraphicsEnabler=Yes"
msgstr "GraphicsEnabler=Yes"
#. type: "GraphicsEnabler_description"
#: Resources/templates/Localizable.strings:178
#, no-wrap
msgid "Enables the option to autodetect NVIDIA based GPUs and inject the correct info."
msgstr "Ativa a opção que auto detecta placas de vídeo e injecta as informações corretas."
#. type: "EnableHDMIAudio_title"
#: Resources/templates/Localizable.strings:180
#, no-wrap
msgid "EnableHDMIAudio=Yes"
msgstr ""
#. type: "EnableHDMIAudio_description"
#: Resources/templates/Localizable.strings:181
#, no-wrap
msgid "Inject HDMi audio for NVIDIA or AMD/ATI."
msgstr ""
#. type: "UseAtiROM_title"
#: Resources/templates/Localizable.strings:183
#, no-wrap
msgid "UseAtiROM=Yes"
msgstr "UseAtiROM=Yes"
#. type: "UseAtiROM_description"
#: Resources/templates/Localizable.strings:184
#, no-wrap
msgid "Enables UseAtiROM options."
msgstr "Ativa a opção UseAtiROM."
#. type: "UseNvidiaROM_title"
#: Resources/templates/Localizable.strings:186
#, no-wrap
msgid "UseNvidiaROM=Yes"
msgstr "UseNvidiaROM=Yes"
#. type: "UseNvidiaROM_description"
#: Resources/templates/Localizable.strings:187
#, no-wrap
msgid "Enables UseNvidiaROM options."
msgstr "Ativa a opção UseNvidiaROM."
#. type: "VBIOS_title"
#: Resources/templates/Localizable.strings:189
#, no-wrap
msgid "VBIOS=Yes"
msgstr "VBIOS=Yes"
#. type: "VBIOS_description"
#: Resources/templates/Localizable.strings:190
#, no-wrap
msgid "Enables VBIOS option"
msgstr "Ativa a opção VBIOS."
#. type: "Verbose_title"
#: Resources/templates/Localizable.strings:195
#, no-wrap
msgid "Verbose Mode"
msgstr "Modo Verbose"
#. type: "Verbose_description"
#: Resources/templates/Localizable.strings:196
#, no-wrap
msgid "Turns on verbose logging and allows you to see messages from both Chameleon and the OS X kernel at boot time. Essential for troubleshooting."
msgstr "Ativa Modo Verbose, permite visualizar mensagens do Chameleon e do Kernel do OS X durante o boot. Essencial para detetar problemas."
#. type: "Singleusermode_title"
#: Resources/templates/Localizable.strings:198
#, no-wrap
msgid "Single User Mode"
msgstr "Modo Single User"
#. type: "Singleusermode_description"
#: Resources/templates/Localizable.strings:199
#, no-wrap
msgid "A troubleshooting option used for booting into OS X's BSD/Unix command line."
msgstr "Usado no boot para alcançar a linha de comandos do OS X's BSD/Unix para resolução de problemas."
#. type: "Ignorecaches_title"
#: Resources/templates/Localizable.strings:201
#, no-wrap
msgid "Ignore Caches"
msgstr "Ignorar Caches"
#. type: "Ignorecaches_description"
#: Resources/templates/Localizable.strings:202
#, no-wrap
msgid "Not an option that's needed for everyday booting, but it can be useful if you want OS X to load all files from it's system folders, rather than relying on it's pre-built caches."
msgstr "Usado para que o OS X carregue os ficheiros das suas pastas de sistema, em vez de usar as caches préviamente construidas."
#. type: "Npci_title"
#: Resources/templates/Localizable.strings:204
#, no-wrap
msgid "npci=0x2000"
msgstr "npci=0x2000"
#. type: "Npci_description"
#: Resources/templates/Localizable.strings:205
#, no-wrap
msgid "For overcoming a hang at 'PCI configuration begin' on some systems. 0x2000 is the kIOPCIConfiguratorPFM64 flag, as seen in the IOPCIFamily source code."
msgstr "Adiciona o parâmetro npci=0x2000 em Kernel Flags."
#. type: "Npci3_title"
#: Resources/templates/Localizable.strings:207
#, no-wrap
msgid "npci=0x3000"
msgstr "npci=0x3000"
#. type: "Npci3_description"
#: Resources/templates/Localizable.strings:208
#, no-wrap
msgid "For overcoming a hang at 'PCI configuration begin' on some systems. 0x3000 is the kIOPCIConfiguratorPFM64 flag, as seen in the IOPCIFamily source code."
msgstr "Adiciona o parâmetro npci=0x3000 em Kernel Flags."
#. type: "Darkwake_title"
#: Resources/templates/Localizable.strings:210
#, no-wrap
msgid "darkwake=0"
msgstr "darkwake=0"
#. type: "Darkwake_description"
#: Resources/templates/Localizable.strings:211
#, no-wrap
msgid "Lion only. Disables the 'low power wake' feature which can sometimes leave the screen black after wake from sleep."
msgstr "Só Lion. Desabilita 'low power wake' caracteristica que por vezes apresenta o écran negro após o computador acordar."
#. type: "mac-de_title"
#: Resources/templates/Localizable.strings:217
#, no-wrap
msgid "German Mac Keyboard"
msgstr "Teclado Mac Alemão"
#. type: "mac-de_description"
#: Resources/templates/Localizable.strings:218
#, no-wrap
msgid "Use the keyboard layout for a German Mac keyboard"
msgstr "Usa o layout para teclado Mac Alemão."
#. type: "mac-es_title"
#: Resources/templates/Localizable.strings:220
#, no-wrap
msgid "Spanish Mac Keyboard"
msgstr "Teclado Mac Espanhol"
#. type: "mac-es_description"
#: Resources/templates/Localizable.strings:221
#, no-wrap
msgid "Use the keyboard layout for a Spanish Mac keyboard"
msgstr "Usa o layout para teclado Mac Espanhol."
#. type: "mac-fr_title"
#: Resources/templates/Localizable.strings:223
#, no-wrap
msgid "French Mac Keyboard"
msgstr "Teclado Mac Francês"
#. type: "mac-fr_description"
#: Resources/templates/Localizable.strings:224
#, no-wrap
msgid "Use the keyboard layout for a French Mac keyboard"
msgstr "Usa o layout para teclado Mac Francês."
#. type: "mac-it_title"
#: Resources/templates/Localizable.strings:226
#, no-wrap
msgid "Italian Mac Keyboard"
msgstr "Teclado Mac Italiano"
#. type: "mac-it_description"
#: Resources/templates/Localizable.strings:227
#, no-wrap
msgid "Use the keyboard layout for an Italian Mac keyboard"
msgstr "Usa o layout para teclado Mac Italiano."
#. type: "mac-se_title"
#: Resources/templates/Localizable.strings:229
#, no-wrap
msgid "Swedish Mac Keyboard"
msgstr "Teclado Mac Sueco"
#. type: "mac-se_description"
#: Resources/templates/Localizable.strings:230
#, no-wrap
msgid "Use the keyboard layout for a Swedish Mac keyboard"
msgstr "Usa o layout para teclado Mac Sueco."
#. type: "pc-fr_title"
#: Resources/templates/Localizable.strings:232
#, no-wrap
msgid "French PC Keyboard"
msgstr "Teclado PC Francês"
#. type: "pc-fr_description"
#: Resources/templates/Localizable.strings:233
#, no-wrap
msgid "Use the keyboard layout for a French PC keyboard"
msgstr "Usa o layout para teclado PC Francês."
#. type: "Embed_title"
#: Resources/templates/Localizable.strings:239
#, no-wrap
msgid "Embed"
msgstr "Embed"
#. type: "Embed_description"
#: Resources/templates/Localizable.strings:240
#, no-wrap
msgid "A smaller simple version of the new default theme used when building a version of Chameleon which requires an embedded theme."
msgstr "Uma versão menor do novo tema padrão, usada nas versões do Chameleon com tema embutido."
#. type: "Legacy_title"
#: Resources/templates/Localizable.strings:242
#, no-wrap
msgid "Legacy"
msgstr "Legacy"
#. type: "Legacy_description"
#: Resources/templates/Localizable.strings:243
#, no-wrap
msgid "Chameleon's original default theme introduced for v2.0 RC1"
msgstr "Tema padrão anterior do Chameleon."
#. type: "Default_description"
#: Resources/templates/Localizable.strings:246
#, no-wrap
msgid "Chameleon default theme introduced for v2.0 RC5"
msgstr "Novo tema padrão do Chameleon."
#. type: "Bullet_title"
#: Resources/templates/Localizable.strings:248
#, no-wrap
msgid "Bullet"
msgstr "Bullet"
#. type: "Bullet_description"
#: Resources/templates/Localizable.strings:249
#, no-wrap
msgid "A lovely simple theme by NoSmokingBandit from April 2009."
msgstr "O tema Bullet por NoSmokingBandit"
#. type: "Control_title"
#: Resources/templates/Localizable.strings:257
#, no-wrap
msgid "Control Options"
msgstr "Opções Controle"
#. type: "Control_description"
#: Resources/templates/Localizable.strings:258
#, no-wrap
msgid "Settings to control how Chameleon works."
msgstr "Preferências de controle do Chameleon."
#. type: "General_title"
#: Resources/templates/Localizable.strings:261
#, no-wrap
msgid "General Options"
msgstr "Opções Generalistas"
#. type: "General_description"
#: Resources/templates/Localizable.strings:262
#, no-wrap
msgid "Choose from a selection of base options."
msgstr "Escolha de seleção de opções básicas."
#. type: "KernelFlags_title"
#: Resources/templates/Localizable.strings:265
#, no-wrap
msgid "Kernel Flags"
msgstr "Kernel Flags"
#. type: "KernelFlags_description"
#: Resources/templates/Localizable.strings:266
#, no-wrap
msgid "Choose from a selection of kernel flags."
msgstr "Escolha de seleção de kernel flags."
#. type: "PowerManagement_title"
#: Resources/templates/Localizable.strings:269
#, no-wrap
msgid "Power Management"
msgstr "Gestão Energia"
#. type: "PowerManagement_description"
#: Resources/templates/Localizable.strings:270
#, no-wrap
msgid "A selection of options that deal with power management and speedstep."
msgstr "Seleção de opções relativas a gestão de energia e speedstep."
#. type: "Resolution_description"
#: Resources/templates/Localizable.strings:274
#, no-wrap
msgid "Set one resolution to use."
msgstr "Configura a resolução do écran"
#. type: "Video_title"
#: Resources/templates/Localizable.strings:277
#, no-wrap
msgid "Video"
msgstr "Video"
#. type: "Video_description"
#: Resources/templates/Localizable.strings:278
#, no-wrap
msgid "A selection of options that deal with video."
msgstr "Preferências de Video."
#. type: "Keymaps_title"
#: Resources/templates/Localizable.strings:281
#, no-wrap
msgid "KeyLayout"
msgstr "KeyLayout"
#. type: "Keymaps_description"
#: Resources/templates/Localizable.strings:282
#, no-wrap
msgid "Select one keylayout to use. This will also install the Keylayout module and keymaps."
msgstr "Select one keylayout to use. This will also install the Keylayout module and keymaps."
#. type: "Themes_title"
#: Resources/templates/Localizable.strings:285
#, no-wrap
msgid "Themes"
msgstr "Temas"
#. type: "Themes_description"
#: Resources/templates/Localizable.strings:286
#, no-wrap
msgid ""
"A collection of sample themes\n"
"More themes can be found at http://forum.voodooprojects.org/index.php/board,7.0.html"
msgstr ""
"Alguns exemplos de tema.\n"
"Mais temas podem ser encontrados em http://forum.voodooprojects.org/index.php/board,7.0.html"
#~ msgid "Install Type"
#~ msgstr "Método Instalação"
#~ msgid ""
#~ "Choose to perform a new installation or upgrade an existing installation."
#~ msgstr "Selecione para executar nova instalação ou atualizar existente."
#~ msgid "New Installation"
#~ msgstr "Nova Instalação"
#~ 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 ""
#~ "Cópia de pasta /Extra, se encontrada na partição selecionada. Será criada "
#~ "uma nova se selecionadas opções no instalador além de Bootloader."
#~ msgid "Upgrade"
#~ msgstr "Atualização"
#~ 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 ""
#~ "Junta na pasta /Extra, se encontrada na partição selecionada, com as "
#~ "opções selecionadas no instalador além de Bootloader."
#~ 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 ""
#~ "Instalar os arquivos do Chameleon na partição EFI (normalmente oculta) "
#~ "usando boot0 ou boot0md dependendo do seu sistema, sem danificar nenhuma "
#~ "instalação do Windows, se existir."
#~ msgid ""
#~ "This module permits the user to define the keyboard key mappings. This "
#~ "module and associated keymaps are installed by default."
#~ msgstr "Este módulo permite definir o mapeamento das teclas do teclado."
#~ msgid "Utilities"
#~ msgstr "Utilitários"
#~ msgid "Optional files to help setup"
#~ msgstr "Arquivos opcionais para ajudar na configuração"
#~ msgid "Preference Panel"
#~ msgstr "Painel de preferências"
#~ msgid "Installs Preference Panel for Chameleon."
#~ msgstr "Instala o painel de preferências do Chameleon."
#~ msgid "Documentation"
#~ msgstr "Documentação"
#~ msgid "Documentation for Chameleon manual install and use"
#~ msgstr "Documentação para instalação manual e uso do Chameleon."
#~ msgid "Portuguese Mac Keyboard"
#~ msgstr "Teclado Mac Português"
#~ msgid "Use the keyboard layout for a Portuguese Mac keyboard"
#~ msgstr "Usa o layout para teclado Mac Português."
#~ msgid "German PC Keyboard"
#~ msgstr "Teclado PC Alemão"
#~ msgid "Use the keyboard layout for a German PC keyboard"
#~ msgstr "Usa o layout para teclado PC Alemão."
#~ msgid "Spanish PC Keyboard"
#~ msgstr "Teclado PC Espanhol"
#~ msgid "Use the keyboard layout for a Spanish PC keyboard"
#~ msgstr "Usa o layout para teclado PC Espanhol."
#~ msgid "Italian PC Keyboard"
#~ msgstr "Teclado PC Italiano"
#~ msgid "Use the keyboard layout for a Italian PC keyboard"
#~ msgstr "Usa o layout para teclado PC Italiano."
#~ msgid "Swedish PC Keyboard"
#~ msgstr "Teclado PC Sueco"
#~ msgid "Use the keyboard layout for a Swedish PC keyboard"
#~ msgstr "Usa o layout para teclado PC Sueco."
#~ msgid "Portuguese PC Keyboard"
#~ msgstr "Teclado PC Português"
#~ msgid "Use the keyboard layout for a Portuguese PC keyboard"
#~ msgstr "Usa o layout para teclado PC Português"
#~ msgid "None"
#~ msgstr "Nenhum"
#~ msgid "Don't choose a resolution."
#~ msgstr "Não escolhe uma resolução."
#~ msgid "Don't choose a keylayout."
#~ msgstr "Não escolhe uma keylayout."
branches/Chimera/package/po/pt.po
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
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
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
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
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Chameleon 2.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-12-27 13:32+0000\n"
"PO-Revision-Date: 2014-01-21 15:36+0000\n"
"Last-Translator: artur_pt <artursimoes.pt@gmail.com>\n"
"Language-Team: pt-PT <pt-PT@li.org>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.5.0-rc1\n"
"X-POOTLE-MTIME: 1390318613.0\n"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:22
msgid "Chameleon"
msgstr "Chameleon"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:23
msgid "v%CHAMELEONVERSION% r%CHAMELEONREVISION%"
msgstr "v%CHAMELEONVERSION% r%CHAMELEONREVISION%"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:25
msgid "Do not install to an Apple Macintosh computer"
msgstr "Não instale num computador Apple Macintosh"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:27
msgid "Developers :"
msgstr "Desenvolvedores :"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:28
msgid "%DEVELOP%"
msgstr "%DEVELOP%"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:30
msgid "Thanks to :"
msgstr "Agradecimentos :"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:31
msgid "%CREDITS%"
msgstr "%CREDITS%"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:33
msgid "Package :"
msgstr "Créditos pelos pacotes :"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:34
msgid "%PKGDEV%"
msgstr "%PKGDEV%"
#. 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 "Package built by: %WHOBUILD%, language translated by: artur-pt"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Welcome.html:37 Resources/templates/Conclusion.html:31
msgid "Copyright © %CPRYEAR%"
msgstr "Copyright © %CPRYEAR%"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:18
msgid ""
"Chameleon is a boot loader built using a combination of components which "
"evolved from the development of David Elliott's fake EFI implementation "
"added to Apple's boot-132 project."
msgstr ""
"O Chameleon é um boot loader que combina vários componentes. Ele é baseado "
"na implementação de fake EFI feita por David Elliott, adicionada ao projeto "
"boot-132 da Apple."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:20
msgid "Chameleon v2 is extended with many features. For example:"
msgstr ""
"O Chameleon é extendido com as seguintes características chave. Novos "
"recursos no Chameleon 2.0:"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:22
msgid "- Fully customizable GUI to bring some color to the Darwin Bootloader."
msgstr ""
"- Interface gráfica (GUI) totalmente personalizável para trazer algumas "
"cores ao Bootloader Darwin."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:23
msgid ""
"- Load a ramdisk to directly boot retail DVDs without additional programs."
msgstr ""
"- Inicializa DVDs retail lendo uma imagem ramdisk directamente, sem ajuda de "
"nenhum programa adicional."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:24
msgid "- Hibernation. Enjoy resuming your Mac OS X with a preview image."
msgstr ""
"- Hibernação. Desfrute de continuar o seu Mac OS X com uma amostra de imagem "
"da tela."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:25
msgid "- SMBIOS override to modify the factory SMBIOS values."
msgstr "- Substituição de SMBIOS para modificar os valores de fábrica."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:26
msgid ""
"- DSDT override to use a modified fixed DSDT which can solve several issues."
msgstr ""
"- Substituicção de DSDT para usar uma tabela modificada que pode resolver "
"diversos problemas."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:27
msgid "- Device Property Injection via device-properties string."
msgstr ""
"- Injecção de propriedades de dispositivo através do string device-"
"properties."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:28
msgid "- hybrid boot0 / boot1h for MBR and GPT partitioned disks."
msgstr "- boot0 / boot1h híbridos para discos particionados em MBR e GPT."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:29
msgid "- Automatic FSB detection code even for recent AMD CPUs."
msgstr "- Detecção automática de FSB mesmo para processadores AMD recentes."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:30
msgid "- Apple Software RAID support."
msgstr "- Suporte a Software RAID da Apple."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:31
msgid "- Nvidia &amp; ATI/AMD Graphics Card Enabler."
msgstr "- Ativação Placas Gráficas Nvidia &amp; ATI/AMD."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:32
msgid "- Module support"
msgstr "- Suporte de Modulos"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:33
msgid "- Memory detection adapted from memtest86:&nbsp;"
msgstr "- Deteção Memoria adaptada de memtest86:&nbsp;"
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:34
msgid ""
"- Automatic P-State &amp; C-State generation for native power management."
msgstr ""
"- P-State automático &amp; Geração C-State para gestão de energia nativa."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:35
msgid "- Message logging."
msgstr "- Protocolo Mensagens."
#. type: Content of: <html><body><p>
#: Resources/templates/Description.html:37
msgid "The code is released under version 2 of the Gnu Public License."
msgstr ""
"Este código é distribuido sobre os termos da versão 2 da Gnu Public License."
#. type: Content of: <html><body><p><span>
#: Resources/templates/Description.html:40
msgid "FAQ's:&nbsp;"
msgstr "Para informações detalhadas visite:&nbsp;"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:22
msgid "The scripts have completed and a file named&nbsp;"
msgstr "Os scripts estão finalizados e foi gerado um ficheiro&nbsp;"
#. type: Content of: <html><body><div><p><span>
#: Resources/templates/Conclusion.html:22
msgid "@LOG_FILENAME@"
msgstr "@LOG_FILENAME@"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:23
msgid "&nbsp;has been written to the root of your chosen partition."
msgstr "&nbsp;que se encontra na raiz da partição selecionada."
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:25
msgid "Please&nbsp;"
msgstr "Por Favor&nbsp;"
#. type: Content of: <html><body><div><p><span>
#: Resources/templates/Conclusion.html:25
msgid "read it"
msgstr "leia-o"
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:26
msgid ""
"&nbsp;to find out if the installation was successful and keep it for a "
"record of what was done."
msgstr ""
"&nbsp;para verificar se a instalação foi realizada com sucesso e guarde como "
"relatório do que foi realizado."
#. type: Content of: <html><body><div><p>
#: Resources/templates/Conclusion.html:28
msgid "Chameleon v%CHAMELEONVERSION% r%CHAMELEONREVISION%"
msgstr "Chameleon v%CHAMELEONVERSION% r%CHAMELEONREVISION%"
#. type: "Chameleon_Package_Title"
#: Resources/templates/Localizable.strings:4
#, no-wrap
msgid "Chameleon Bootloader Package"
msgstr "Chameleon Bootloader"
#. type: "ERROR_BOOTVOL"
#: Resources/templates/Localizable.strings:9
#, no-wrap
msgid "This software must be installed on the startup volume."
msgstr "Este software deve ser instalado no volume de inicialização."
#. type: "ERROR_INSTALL"
#: Resources/templates/Localizable.strings:10
#, no-wrap
msgid "This volume does not meet the requirements for this update."
msgstr "Este volume não preenche os requisitos para esta atualização."
#. type: "Newer_Package_Installed_message"
#: Resources/templates/Localizable.strings:12
#, no-wrap
msgid "A newer version of Chameleon is already installed"
msgstr "Uma versão mais recente do Chameleon já está instalada."
#. type: "Intel_Mac_message"
#: Resources/templates/Localizable.strings:13
#, no-wrap
msgid "This software cannot be installed on this computer."
msgstr "Este software não pode ser instalado neste computador."
#. type: "Chameleon_title"
#: Resources/templates/Localizable.strings:19
#, no-wrap
msgid "Chameleon Bootloader"
msgstr "Chameleon Bootloader"
#. type: "Chameleon_description"
#: Resources/templates/Localizable.strings:20
#, no-wrap
msgid ""
"Chameleon requires three essential files. (in simple terms)\n"
"boot0 (On the drive's MBR) responsible for loading boot1.\n"
"boot1 (On the partition's boot-sector) to finding boot2.\n"
"boot2 (On the partition's root directory) for loading kernel etc."
msgstr ""
"O Chameleon requer três arquivos essenciais (em termos simples):\n"
"boot0 (no MBR do drive) responsável por carregar o boot1.\n"
"boot1 (no setor de boot da partição) para encontrar o boot2.\n"
"boot2 (no directório raiz da partição) para carregar o kernel etc."
#. type: "Default_title"
#: Resources/templates/Localizable.strings:25
#: Resources/templates/Localizable.strings:653
#, no-wrap
msgid "Standard"
msgstr "Padrão"
#. type: "Standard_description"
#: Resources/templates/Localizable.strings:26
#, no-wrap
msgid "Install Chameleon's files to the root of the selected partition using either boot0 or boot0md depending on your system without destroying any existing Windows installation if you have one."
msgstr "Instalar os arquivos do Chameleon na raiz da partição selecionada usando boot0 ou boot0md dependendo do seu sistema, sem danificar nenhuma instalação do Windows, se existir."
#. type: "noboot_title"
#: Resources/templates/Localizable.strings:28
#, no-wrap
msgid "Don't install the Bootloader"
msgstr "Não instalar o boot loader"
#. type: "noboot_description"
#: Resources/templates/Localizable.strings:29
#, no-wrap
msgid "Useful if you only want to install the extra's."
msgstr "Útil se você quer instalar apenas os extras."
#. type: "Module_title"
#: Resources/templates/Localizable.strings:35
#, no-wrap
msgid "Modules"
msgstr "Módulos do Chameleon"
#. type: "Module_description"
#: Resources/templates/Localizable.strings:36
#, no-wrap
msgid "The modules system incorporated in chameleon allows for a user or developer to extend the core functionality of chameleon without replacing the main boot file."
msgstr "O sistema de módulos incorporados ao Chameleon permite que um utilizador ou desenvolvedor estenda a funcionalidade básica sem precisar substituir o arquivo boot principal."
#. type: "klibc_title"
#: Resources/templates/Localizable.strings:38
#, no-wrap
msgid "klibc"
msgstr "klibc"
#. type: "klibc_description"
#: Resources/templates/Localizable.strings:39
#, no-wrap
msgid ""
"This module provides a standard c library for modules to link to if the library provided by chameleon is insufficient.\n"
"This is currently only used by the uClibc++ library.\n"
"Source: http://www.kernel.org/pub/linux/libs/klibc/"
msgstr ""
"Este módulo fornece uma biblioteca C padrão para link, caso a do Chameleon seja insuficiente.\n"
"É usado actualmente apenas pela biblioteca uClibc++\n"
"Fonte: http://www.kernel.org/pub/linux/libs/klibc/"
#. type: "ACPICodec_title"
#: Resources/templates/Localizable.strings:43
#, no-wrap
msgid "ACPICodec"
msgstr "ACPICodec"
#. type: "ACPICodec_description"
#: Resources/templates/Localizable.strings:44
#, no-wrap
msgid ""
"This module provides a substitute for the internal acpi patcher.\n"
"Dependencies: none"
msgstr ""
"Este modulo serve como substituto do acpi patcher interno.\n"
"Dependências: nenhumas"
#. type: "HDAEnabler_title"
#: Resources/templates/Localizable.strings:47
#, no-wrap
msgid "HDAEnabler"
msgstr "HDAEnabler"
#. type: "HDAEnabler_description"
#: Resources/templates/Localizable.strings:48
#, no-wrap
msgid ""
"HDAEnabler module, this module provides a substitute for the Hight Definition Audio DSDT Edits.\n"
"Dependencies: none"
msgstr ""
"Modulo HDAEnabler, este modulo é um substituto para as edições no DSDT para Hight Definition Audio.\n"
"Dependências: nenhumas"
#. type: "FileNVRAM_title"
#: Resources/templates/Localizable.strings:51
#, no-wrap
msgid "FileNVRAM"
msgstr "FileNVRAM"
#. type: "FileNVRAM_description"
#: Resources/templates/Localizable.strings:52
#, no-wrap
msgid ""
"FileNVRAM module for preloading NVRAM values.\n"
"Dependencies: none"
msgstr ""
"Modulo FileNVRAM para pré-carregamento valores NVRAM.\n"
"Dependências: nenhumas"
#. type: "Sata_title"
#: Resources/templates/Localizable.strings:55
#, no-wrap
msgid "Sata"
msgstr "Sata"
#. type: "Sata_description"
#: Resources/templates/Localizable.strings:56
#, no-wrap
msgid ""
"Sata module, known as YellowIconFixer in cparm's branch.\n"
"Useful to fix yellow icon issue (can also fix an issue with the Apple's dvd player application in Mountain lion).\n"
"Dependencies: none"
msgstr ""
"Modulo Sata, conhecido por YellowIconFixer cparm's branch.\n"
"Usado para resolver o problema do icon amarelo (também usado para resolver problema com a aplicação DVD player em Mountain Lion).\n"
"Dependências: nenhuma"
#. type: "Resolution_title"
#: Resources/templates/Localizable.strings:60
#: Resources/templates/Localizable.strings:686
#, no-wrap
msgid "Resolution"
msgstr "Resolução"
#. type: "AutoReso_description"
#: Resources/templates/Localizable.strings:61
#, no-wrap
msgid ""
"This module reads the edid information from the monitor attached to the main display.\n"
"The module is currently not integrated into trunk and has minimal uses as it stands.\n"
"Additionally, the module will patch the vesa modes available in pre intel hd graphics cards to provide proper resolution while booting."
msgstr ""
"Este módulo lê a informação EDID do monitor conectado ao display principal.\n"
"Actualmente não está integrado ao trunk e tem uso mínimo no estado em que se encontra.\n"
"Adicionalmente o módulo ajusta os modos VESA disponíveis nas placas de vídeo pré Intel HD para proporcionar resolução adequada no boot."
#. type: "uClibc_title"
#: Resources/templates/Localizable.strings:65
#, no-wrap
msgid "uClibc++"
msgstr "uClibc++"
#. type: "uClibc_description"
#: Resources/templates/Localizable.strings:66
#, no-wrap
msgid ""
"This module provides a minimalistic c++ runtime library for use in other modules. This does not provide functionality by itself, instead it is used to allow for the c++ language to be used in other modules.\n"
"*Please note that rtti and exceptions has both been disabled.\n"
"Source: http://cxx.uclibc.org/\n"
"Dependencies: klibc"
msgstr ""
"Este módulo fornece uma biblioteca runtime C++ minimalista para uso em outros módulos.\n"
"Ele não fornece funcionalidade por si só, mas é usado para permitir o uso da linguagem C++ em outros módulos.\n"
"Observe que rtti e exceptions foram ambos desativados.\n"
"Fonte: http://cxx.uclibc.org/\n"
"Dependências: klibc"
#. type: "KernelPatcher_title"
#: Resources/templates/Localizable.strings:71
#, no-wrap
msgid "Kernel Patcher"