Chameleon

Chameleon Commit Details

Date:2012-05-11 11:52:55 (11 years 11 months ago)
Author:ErmaC
Commit:1970
Parents: 1969
Message:ati.c added more SubID for devID 68F9.
Changes:
M/branches/ErmaC/Trunk/i386/libsaio/ati.c
M/branches/ErmaC/Trunk/doc/BootHelp.txt
M/branches/ErmaC/Trunk/i386/libsaio/saio_types.h

File differences

branches/ErmaC/Trunk/i386/libsaio/ati.c
716716
717717
718718
719
720
721
719722
720723
721724
725
726
727
722728
723729
724730
725731
732
726733
734
735
736
737
738
739
740
727741
728742
743
729744
745
746
747
730748
731749
732750
......
738756
739757
740758
759
760
761
741762
763
764
765
766
767
768
742769
770
743771
744772
745773
746774
775
776
777
778
747779
748780
749781
......
14001432
14011433
14021434
1435
14031436
14041437
14051438
......
14241457
14251458
14261459
1460
14271461
14281462
14291463
......
14401474
14411475
14421476
1477
14431478
14441479
14451480
14461481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
14471498
14481499
14491500
......
15001551
15011552
15021553
1503
1554
15041555
15051556
1557
15061558
15071559
15081560
......
15971649
15981650
15991651
1652
16001653
16011654
16021655
......
17301783
17311784
17321785
1733
1786
17341787
17351788
17361789
......
19461999
19472000
19482001
1949
2002
19502003
19512004
19522005
......
19582011
19592012
19602013
1961
2014
19622015
19632016
19642017
......
19812034
19822035
19832036
1984
2037
19852038
19862039
19872040
......
19912044
19922045
19932046
1994
2047
19952048
19962049
19972050
......
20802133
20812134
20822135
2083
2136
20842137
20852138
20862139
{ 0x68E4,0x397917AA, CHIP_FAMILY_CEDAR,"AMD Radeon HD 6370M", kNull},
{ 0x68E4,0x84A01043, CHIP_FAMILY_CEDAR,"AMD Radeon HD 6370M", kNull},
{ 0x68F9,0x00011019, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x00021019, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x00191019, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x010E1002, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x03741043, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x03CA1043, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x05181025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x05191025, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x010E1028, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x174B3000, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6230", kNull},
{ 0x68F9,0x174B6250, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6250", kNull},
{ 0x68F9,0x174B6290, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6290", kNull},
{ 0x68F9,0x20091787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x21261028, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x2126103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x21301462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x21311462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x21331462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x21801462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x21811462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x21821462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x21831462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x22911787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x22301462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x22311462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x23401462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x24951462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x2AAC103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x2AEC103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x30001787, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470", kNull},
{ 0x68F9,0x300017AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6250", kNull},
{ 0x68F9,0x3001148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6250", kNull},
{ 0x68F9,0x301117AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470", kNull},
{ 0x68F9,0x301217AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5490", kNull},
{ 0x68F9,0x301317AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470", kNull},
{ 0x68F9,0x301417AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x3580103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x360217AA, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x360317AA, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x360F17AA, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x361917AA, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x39831642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x39841642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x39871642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x3987174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x39971462, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0x3A051642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kNull},
{ 0x68F9,0x3B311642, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350A", kNull},
{ 0x68F9,0x5470174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470", kNull},
{ 0x68F9,0x5490174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5490", kNull},
{ 0x68F9,0x5530174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5530", kNull},
{ 0x68F9,0x6230174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6230", kNull},
{ 0x68F9,0x6350174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 6350", kNull},
{ 0x68F9,0x7350148C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 7350", kNull},
{ 0x68F9,0xE127174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0xE145174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
{ 0x68F9,0xE153174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450", kEulemur},
bool get_refclk_val(value_t *val);
bool get_platforminfo_val(value_t *val);
bool get_vramtotalsize_val(value_t *val);
bool get_hdmiaudio(value_t * val);
typedef struct {
uint32_tflags;
//{FLAGTRUE,false,"AAPL,aux-power-connected", NULL,DWRVAL((uint32_t)1)},
//{FLAGTRUE,false,"AAPL,backlight-control",NULL,DWRVAL((uint32_t)0)},
//{FLAGTRUE,false,"AAPL,overwrite_binimage",get_binimage_owr,NULVAL},
{FLAGTRUE,false,"ATY,bin_image",get_binimage_val,NULVAL},
{FLAGTRUE,false,"ATY,Copyright",NULL,STRVAL("Copyright AMD Inc. All Rights Reserved. 2005-2011") },
{FLAGTRUE,false,"ATY,Card#",get_romrevision_val,NULVAL},
{FLAGTRUE,false,"device_type",get_nameparent_val,NULVAL},
{FLAGTRUE,false,"model",get_model_val,STRVAL("ATI Radeon")},
//{FLAGTRUE,false,"VRAM,totalsize",get_vramtotalsize_val,NULVAL},
{FLAGTRUE,false, "hda-gfx",get_hdmiaudio,NULVAL},
{FLAGTRUE,false,NULL,NULL,NULVAL}
};
bool get_hdmiaudio(value_t * val)
{
bool doit = false;
if(getBoolForKey(kEnableHDMIAudio, &doit, &bootInfo->chameleonConfig) && doit){
val->type = kStr;
val->size = strlen("onboard-1") + 1;
val->data = (uint8_t *)"onboard-1";
return true;
}
return false;
}
bool get_bootdisplay_val(value_t *val)
{
static uint32_t v = 0;
bool get_conntype_val(value_t *val)
{
//Connector types:
//0x4 : DisplayPort
//0x200: VGA
//0x400: DL DVI-I
//0x800: HDMI
//0x4 : DisplayPort
return false;
}
bool get_vramtotalsize_val(value_t *val)
{
val->type = kCst;
val->size = 4;
val->data = (uint8_t *)&card->vram_size;
chip_family_t chip_family = card->info->chip_family;
card->vram_size = 0;
if (chip_family >= CHIP_FAMILY_CEDAR)
// size in MB on evergreen
// XXX watch for overflow!!!
break;
}
}
//if (!card->info->device_id || !card->info->cfg_name)
if (!card->info->device_id)
{
card->fb= (uint8_t *)(pci_config_read32(pci_dev->dev.addr, PCI_BASE_ADDRESS_0) & ~0x0f);
card->mmio= (uint8_t *)(pci_config_read32(pci_dev->dev.addr, PCI_BASE_ADDRESS_2) & ~0x0f);
card->io= (uint8_t *)(pci_config_read32(pci_dev->dev.addr, PCI_BASE_ADDRESS_4) & ~0x03);
verbose("Framebuffer @0x%08X MMIO @0x%08XI/O Port @0x%08X ROM Addr @0x%08X\n",
card->fb, card->mmio, card->io, pci_config_read32(pci_dev->dev.addr, PCI_ROM_ADDRESS));
verbose("\n");
}
}
//card->ports = 2; // default - Azi: default is card_configs
if (card->info->chip_family >= CHIP_FAMILY_CEDAR)
}
//atN = 0;
// Check AtiConfig key for a framebuffer name,
card->cfg_name = getStringForKey(kAtiConfig, &bootInfo->chameleonConfig);
// if none,
#endif
devprop_add_list(ati_devprop_list);
// -------------------------------------------------
// Find a better way to do this (in device_inject.c)
//Azi: XXX tried to fix a malloc error in vain; this is related to XCode 4 compilation!
branches/ErmaC/Trunk/i386/libsaio/saio_types.h
6464
6565
6666
67
67
6868
6969
7070
typedef struct Tag Tag, *TagPtr;
typedef struct {
charplist[4096];// buffer for plist
charplist[16384];// buffer for plist
TagPtrdictionary;// buffer for xml dictionary
boolcanOverride;// flag to mark a dictionary can be overriden
} config_file_t;
branches/ErmaC/Trunk/doc/BootHelp.txt
1414
1515
1616
17
18
17
18
1919
2020
2121
......
3030
3131
3232
33
3334
3435
3536
3637
38
3739
3840
3941
4042
4143
44
4245
4346
4447
48
4549
4650
4751
......
122126
123127
124128
125
126
129
130
127131
128
129
132
133
130134
131
132
133
134
135
135
136
137
138
139
136140
137141
kernel: kernel name (e.g. "mach_kernel" - must be in "/" )
flags: -v (verbose) -s (single user mode)
-x (safe mode) -f (ignore caches)
flags: -v (verbose), -s (single user mode),
-x (safe mode), -f (ignore caches),
-F (ignore "Kernel Flags" specified in boot configuration file)
"Graphics Mode"="WIDTHxHEIGHTxDEPTH" (e.g. "1024x768x32")
cached driver files.
Special booter hotkeys:
-----------------------
F5 Rescans optical drive.
F10 Scans and displays all BIOS accessible drives.
Special booter commands:
------------------------
?memory Displays information about the computer's memory.
?video Displays VESA video modes supported by the computer's BIOS.
?norescan Leaves optical drive rescan mode.
Additional useful command-line options:
---------------------------------------
config=<file> Use an alternate Boot.plist file.
Options useful in the org.chameleon.Boot.plist file:
----------------------------------------------------
Wait=Yes|No Prompt for a key press before starting the kernel.
"Quiet Boot"=Yes|No Use quiet boot mode (no messages or prompt).
Timeout=8 Number of seconds to pause at the boot: prompt.
(default paths:
/Extra/SMBIOS.plist bt(0,0)/Extra/SMBIOS.plist).
SMBIOSdefaults=No Don't use the Default values for SMBIOS overriding if
smbios.plist doesn't exist, factory values are kept.
SMBIOSdefaults=No Don't use the Default values for SMBIOS overriding.
If smbios.plist doesn't exist, factory values are kept.
"Scan Single Drive" Scan the drive only where the booter got loaded from.
=Yes|No Fix rescan pbs when using a DVD reader in AHCI mode.
"Scan Single Drive" Only scan the drive from which the booter got loaded.
=Yes|No Fixes rescan-problems (DVD reader in AHCI mode).
Rescan=Yes Enable CD-ROM rescan mode.
"Rescan Prompt"=Yes Prompts for enable CD-ROM rescan mode.
SystemId=<UUID> Set manually the system id UUID,
SMUUID in smbios config (reserved field) isn't used.
SystemType=<n> Set the system type where n is between 0..6
(default =1 (Desktop)
"Rescan Prompt"=Yes Prompt for enabling CD-ROM rescan mode.
SystemId=<UUID> Set the system id manually to UUID.
SMUUID in smbios config (reserved field) isn't used then.
SystemType=<n> Set the system type to n, where n is between 0..6
(default=1 Desktop)
md0=<file> Load raw img file into memory for use as XNU's md0
ramdisk. /Extra/Postboot.img is used otherwise.

Archive Download the corresponding diff file

Revision: 1970