mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-12-17 15:18:06 +01:00
no more drop DSM method, it is not universal
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
This commit is contained in:
parent
d5305c8cc8
commit
0b7eed38f1
@ -151,35 +151,6 @@
|
||||
<data>SU1FSQ==</data>
|
||||
</dict>
|
||||
</array>
|
||||
<key>#DropOEM_DSM</key>
|
||||
<dict>
|
||||
<key>USB</key>
|
||||
<true/>
|
||||
<key>SmBUS</key>
|
||||
<false/>
|
||||
<key>ATI</key>
|
||||
<true/>
|
||||
<key>HDMI</key>
|
||||
<true/>
|
||||
<key>LAN</key>
|
||||
<true/>
|
||||
<key>IntelGFX</key>
|
||||
<true/>
|
||||
<key>WIFI</key>
|
||||
<true/>
|
||||
<key>LPC</key>
|
||||
<false/>
|
||||
<key>Firewire</key>
|
||||
<true/>
|
||||
<key>IDE</key>
|
||||
<true/>
|
||||
<key>NVidia</key>
|
||||
<true/>
|
||||
<key>HDA</key>
|
||||
<true/>
|
||||
<key>SATA</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Debug</key>
|
||||
<false/>
|
||||
<key>#Rtc8Allowed</key>
|
||||
|
@ -2051,9 +2051,9 @@ EFI_STATUS PatchACPI(IN REFIT_VOLUME *Volume, CHAR8 *OSVersion)
|
||||
}
|
||||
}
|
||||
dropDSM = 0xFFFF; //by default we drop all OEM _DSM. They have no sense for us.
|
||||
if (defDSM) {
|
||||
dropDSM = gSettings.DropOEM_DSM; //if set by user
|
||||
}
|
||||
// if (defDSM) {
|
||||
// dropDSM = gSettings.DropOEM_DSM; //if set by user
|
||||
// }
|
||||
|
||||
if (gSettings.DebugDSDT) {
|
||||
DBG("Output DSDT before patch to /EFI/CLOVER/ACPI/origin/DSDT-or.aml\n");
|
||||
@ -2063,7 +2063,7 @@ EFI_STATUS PatchACPI(IN REFIT_VOLUME *Volume, CHAR8 *OSVersion)
|
||||
//native DSDT or loaded we want to apply autoFix to this
|
||||
// if (gSettings.FixDsdt) { //fix even with zero mask because we want to know PCIRootUID and count(?)
|
||||
DBG("Apply DsdtFixMask=0x%08X\n", gSettings.FixDsdt);
|
||||
DBG(" drop _DSM mask=0x%04hX\n", dropDSM);
|
||||
// DBG(" drop _DSM mask=0x%04hX\n", dropDSM);
|
||||
FixBiosDsdt((UINT8*)(UINTN)FadtPointer->XDsdt, FadtPointer, OSVersion);
|
||||
if (gSettings.DebugDSDT) {
|
||||
for (Index=0; Index < 60; Index++) {
|
||||
|
@ -2423,7 +2423,6 @@ UINT32 FIXLPCB (UINT8 *dsdt, UINT32 len)
|
||||
k = FindMethod(dsdt + i, Size, "_DSM");
|
||||
if (k != 0) {
|
||||
k += i;
|
||||
if ((dropDSM & DEV_LPC) != 0) {
|
||||
Size = get_size(dsdt, k);
|
||||
if(!Size) {
|
||||
return len;
|
||||
@ -2433,10 +2432,6 @@ UINT32 FIXLPCB (UINT8 *dsdt, UINT32 len)
|
||||
//to correct outers we have to calculate offset
|
||||
len = CorrectOuters(dsdt, len, k - 2, sizeoffset);
|
||||
MsgLog("_DSM in LPC already exists, dropped\n");
|
||||
} else {
|
||||
MsgLog("_DSM already exists, patch LPC will not be applied\n");
|
||||
return len;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2580,20 +2575,11 @@ UINT32 FIXDisplay (UINT8 *dsdt, UINT32 len, INT32 VCard)
|
||||
k = FindMethod(dsdt + i, Size, "_DSM");
|
||||
if (k != 0) {
|
||||
k += i;
|
||||
if ((((dropDSM & DEV_ATI) != 0) && (DisplayVendor[VCard] == 0x1002)) ||
|
||||
(((dropDSM & DEV_NVIDIA)!= 0) && (DisplayVendor[VCard] == 0x10DE)) ||
|
||||
(((dropDSM & DEV_INTEL) != 0) && (DisplayVendor[VCard] == 0x8086))) {
|
||||
Size = get_size(dsdt, k);
|
||||
sizeoffset = - 1 - Size;
|
||||
len = move_data(k - 1, dsdt, len, sizeoffset); //kill _DSM
|
||||
len = CorrectOuters(dsdt, len, k - 2, sizeoffset);
|
||||
MsgLog("_DSM in display already exists, dropped\n");
|
||||
} else {
|
||||
MsgLog("_DSM already exists, patch display will not be applied\n");
|
||||
// return len;
|
||||
DisplayADR1[VCard] = 0; //xxx
|
||||
DsmFound = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2852,16 +2838,11 @@ UINT32 AddHDMI (UINT8 *dsdt, UINT32 len)
|
||||
k = FindMethod(dsdt + i, Size, "_DSM");
|
||||
if (k != 0) {
|
||||
k += i;
|
||||
if ((dropDSM & DEV_HDMI) != 0) {
|
||||
Size = get_size(dsdt, k);
|
||||
Size = get_size(dsdt, k);
|
||||
sizeoffset = - 1 - Size;
|
||||
len = move_data(k - 1, dsdt, len, sizeoffset);
|
||||
len = CorrectOuters(dsdt, len, k - 2, sizeoffset);
|
||||
DBG("_DSM in HDAU already exists, dropped\n");
|
||||
} else {
|
||||
DBG("_DSM already exists, patch HDAU will not be applied\n");
|
||||
return len;
|
||||
}
|
||||
}
|
||||
}
|
||||
root = aml_create_node(NULL);
|
||||
@ -3027,16 +3008,11 @@ UINT32 FIXNetwork (UINT8 *dsdt, UINT32 len, UINT32 card)
|
||||
k = FindMethod(dsdt + i, Size, "_DSM");
|
||||
if (k != 0) {
|
||||
k += i;
|
||||
if ((dropDSM & DEV_LAN) != 0) {
|
||||
Size = get_size(dsdt, k);
|
||||
sizeoffset = - 1 - Size;
|
||||
len = move_data(k - 1, dsdt, len, sizeoffset);
|
||||
len = CorrectOuters(dsdt, len, k - 2, sizeoffset);
|
||||
DBG("_DSM in LAN already exists, dropped\n");
|
||||
} else {
|
||||
DBG("_DSM already exists, patch LAN will not be applied\n");
|
||||
return len;
|
||||
}
|
||||
}
|
||||
root = aml_create_node(NULL);
|
||||
} else {
|
||||
@ -3221,16 +3197,11 @@ UINT32 FIXAirport (UINT8 *dsdt, UINT32 len)
|
||||
k = FindMethod(dsdt + i, Size, "_DSM");
|
||||
if (k != 0) {
|
||||
k += i;
|
||||
if ((dropDSM & DEV_WIFI) != 0) {
|
||||
Size = get_size(dsdt, k);
|
||||
sizeoffset = - 1 - Size;
|
||||
len = move_data(k - 1, dsdt, len, sizeoffset);
|
||||
len = CorrectOuters(dsdt, len, k - 2, sizeoffset);
|
||||
DBG("_DSM in ARPT already exists, dropped\n");
|
||||
} else {
|
||||
DBG("_DSM already exists, patch ARPT will not be applied\n");
|
||||
return len;
|
||||
}
|
||||
}
|
||||
root = aml_create_node(NULL);
|
||||
}
|
||||
@ -3375,16 +3346,11 @@ UINT32 FIXSBUS (UINT8 *dsdt, UINT32 len)
|
||||
k = FindMethod(dsdt + i, Size, "_DSM");
|
||||
if (k != 0) {
|
||||
k += i;
|
||||
if ((dropDSM & DEV_SMBUS) != 0) {
|
||||
Size = get_size(dsdt, k);
|
||||
sizeoffset = - 1 - Size;
|
||||
len = move_data(k - 1, dsdt, len, sizeoffset);
|
||||
len = CorrectOuters(dsdt, len, k - 2, sizeoffset);
|
||||
DBG("_DSM in SBUS already exists, dropped\n");
|
||||
} else {
|
||||
DBG("_DSM already exists, patch SBUS will not be applied\n");
|
||||
return len;
|
||||
}
|
||||
}
|
||||
Size = get_size(dsdt, SBUSADR);
|
||||
if (ReplaceName(dsdt + SBUSADR, Size, NULL, "BUS0") < 0) {
|
||||
@ -3672,16 +3638,11 @@ UINT32 FIXFirewire (UINT8 *dsdt, UINT32 len)
|
||||
k = FindMethod(dsdt + i, Size, "_DSM");
|
||||
if (k != 0) {
|
||||
k += i;
|
||||
if ((dropDSM & DEV_FIREWIRE) != 0) {
|
||||
Size = get_size(dsdt, k);
|
||||
sizeoffset = - 1 - Size;
|
||||
len = move_data(k - 1, dsdt, len, sizeoffset);
|
||||
len = CorrectOuters(dsdt, len, k - 2, sizeoffset);
|
||||
DBG("_DSM in FRWR already exists, dropped\n");
|
||||
} else {
|
||||
DBG("_DSM already exists, patch FRWR will not be applied\n");
|
||||
return len;
|
||||
}
|
||||
}
|
||||
|
||||
root = aml_create_node(NULL);
|
||||
@ -3803,16 +3764,11 @@ UINT32 AddHDEF (UINT8 *dsdt, UINT32 len, CHAR8* OSVersion)
|
||||
k = FindMethod(dsdt + i, Size, "_DSM");
|
||||
if (k != 0) {
|
||||
k += i;
|
||||
if ((dropDSM & DEV_HDA) != 0) {
|
||||
Size = get_size(dsdt, k);
|
||||
sizeoffset = - 1 - Size;
|
||||
len = move_data(k - 1, dsdt, len, sizeoffset);
|
||||
len = CorrectOuters(dsdt, len, k - 2, sizeoffset);
|
||||
DBG("_DSM in HDA already exists, dropped\n");
|
||||
} else {
|
||||
DBG("_DSM already exists, patch HDA will not be applied\n");
|
||||
return len;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4119,7 +4075,6 @@ UINT32 FIXUSB (UINT8 *dsdt, UINT32 len)
|
||||
//here we want to check who is the master of the _DSM
|
||||
adr1 = devFind(dsdt, k);
|
||||
if (adr1 == adr) {
|
||||
if ((dropDSM & DEV_USB) != 0) {
|
||||
Size = get_size(dsdt, k);
|
||||
if (!Size) {
|
||||
continue;
|
||||
@ -4128,10 +4083,6 @@ UINT32 FIXUSB (UINT8 *dsdt, UINT32 len)
|
||||
len = move_data(k - 1, dsdt, len, sizeoffset);
|
||||
len = CorrectOuters(dsdt, len, k - 2, sizeoffset);
|
||||
DBG("_DSM in USB already exists, dropped by 0x%X\n", sizeoffset);
|
||||
} else {
|
||||
DBG("_DSM already exists, patch USB will not be applied\n");
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
DBG(" found slave _DSM, skip\n");
|
||||
continue;
|
||||
@ -4325,16 +4276,11 @@ UINT32 FIXIDE (UINT8 *dsdt, UINT32 len)
|
||||
k = FindMethod(dsdt + i, Size, "_DSM");
|
||||
if (k != 0) {
|
||||
k += i;
|
||||
if ((dropDSM & DEV_IDE) != 0) {
|
||||
Size = get_size(dsdt, k);
|
||||
sizeoffset = - 1 - Size;
|
||||
len = move_data(k - 1, dsdt, len, sizeoffset);
|
||||
len = CorrectOuters(dsdt, len, k - 2, sizeoffset);
|
||||
DBG("_DSM in IDE already exists, dropped\n");
|
||||
} else {
|
||||
DBG("_DSM already exists, patch IDE will not be applied\n");
|
||||
return len;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4477,16 +4423,11 @@ UINT32 FIXSATAAHCI (UINT8 *dsdt, UINT32 len)
|
||||
k = FindMethod(dsdt + i, Size, "_DSM");
|
||||
if (k != 0) {
|
||||
k += i;
|
||||
if ((dropDSM & DEV_SATA) != 0) {
|
||||
Size = get_size(dsdt, k);
|
||||
sizeoffset = - 1 - Size;
|
||||
len = move_data(k - 1, dsdt, len, sizeoffset);
|
||||
len = CorrectOuters(dsdt, len, k - 2, sizeoffset);
|
||||
DBG("_DSM in SATA already exists, dropped\n");
|
||||
} else {
|
||||
DBG("_DSM already exists, patch SATA will not be applied\n");
|
||||
return len;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4574,16 +4515,11 @@ UINT32 FIXSATA (UINT8 *dsdt, UINT32 len)
|
||||
k = FindMethod(dsdt + i, Size, "_DSM");
|
||||
if (k != 0) {
|
||||
k += i;
|
||||
if ((dropDSM & DEV_SATA) != 0) {
|
||||
Size = get_size(dsdt, k);
|
||||
sizeoffset = - 1 - Size;
|
||||
len = move_data(k - 1, dsdt, len, sizeoffset);
|
||||
len = CorrectOuters(dsdt, len, k - 2, sizeoffset);
|
||||
DBG("_DSM in SATA already exists, dropped\n");
|
||||
} else {
|
||||
DBG("_DSM already exists, patch SATA will not be applied\n");
|
||||
return len;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5431,7 +5431,7 @@ GetUserSettings(
|
||||
if (IsPropertyTrue (Prop)) {
|
||||
gSettings.SuspendOverride = TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
Prop = GetProperty(Dict2, "DropOEM_DSM");
|
||||
defDSM = FALSE;
|
||||
|
||||
@ -5510,6 +5510,7 @@ GetUserSettings(
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
Dict2 = GetProperty(DictPointer, "SSDT");
|
||||
|
@ -348,7 +348,7 @@ typedef struct {
|
||||
UINTN PatchVBiosBytesCount;
|
||||
BOOLEAN InjectEDID;
|
||||
BOOLEAN LpcTune;
|
||||
UINT16 DropOEM_DSM;
|
||||
UINT16 DropOEM_DSM; //vacant
|
||||
UINT8 *CustomEDID;
|
||||
UINT16 CustomEDIDsize;
|
||||
UINT16 EdidFixHorizontalSyncPulseWidth;
|
||||
|
@ -2322,10 +2322,10 @@ RefitMain (IN EFI_HANDLE ImageHandle,
|
||||
gCPUStructure.ExternalClock = (UINT32)DivU64x32(gCPUStructure.FSBFrequency + kilo - 1, kilo);
|
||||
}
|
||||
|
||||
dropDSM = 0xFFFF; //by default we drop all OEM _DSM. They have no sense for us.
|
||||
if (defDSM) {
|
||||
dropDSM = gSettings.DropOEM_DSM; //if set by user
|
||||
}
|
||||
// dropDSM = 0xFFFF; //by default we drop all OEM _DSM. They have no sense for us.
|
||||
// if (defDSM) {
|
||||
// dropDSM = gSettings.DropOEM_DSM; //if set by user
|
||||
// }
|
||||
// Load any extra SMBIOS information
|
||||
if (!EFI_ERROR(LoadUserSettings(SelfRootDir, L"smbios", &smbiosTags)) && (smbiosTags != NULL)) {
|
||||
TagPtr dictPointer = GetProperty(smbiosTags,"SMBIOS");
|
||||
|
@ -517,7 +517,7 @@ VOID FillInputs(BOOLEAN New)
|
||||
InputItems[InputItemsCount].SValue = (__typeof__(InputItems[InputItemsCount].SValue))AllocateZeroPool(26);
|
||||
}
|
||||
snwprintf(InputItems[InputItemsCount++].SValue, 26, "0x%08X", gSettings.FakeXHCI);
|
||||
InputItems[InputItemsCount].ItemType = CheckBit; //101
|
||||
InputItems[InputItemsCount].ItemType = CheckBit; //101 - vacant
|
||||
InputItems[InputItemsCount++].IValue = dropDSM;
|
||||
|
||||
InputItems[InputItemsCount].ItemType = BoolValue; //102
|
||||
@ -1071,11 +1071,11 @@ VOID ApplyInputs(VOID)
|
||||
gSettings.FakeXHCI = (UINT32)StrHexToUint64(InputItems[i].SValue);
|
||||
}
|
||||
|
||||
i++; //101
|
||||
i++; //101 - vacant
|
||||
if (InputItems[i].Valid) {
|
||||
// gSettings.DropOEM_DSM = (UINT16)StrHexToUint64(InputItems[i].SValue);
|
||||
gSettings.DropOEM_DSM = (UINT16)InputItems[i].IValue;
|
||||
dropDSM = gSettings.DropOEM_DSM; //?
|
||||
// gSettings.DropOEM_DSM = (UINT16)InputItems[i].IValue;
|
||||
// dropDSM = gSettings.DropOEM_DSM; //?
|
||||
// defDSM = TRUE;
|
||||
}
|
||||
i++; //102
|
||||
@ -1697,9 +1697,10 @@ VOID ModifyTitles(REFIT_ABSTRACT_MENU_ENTRY *ChosenEntry)
|
||||
|
||||
} else if (ChosenEntry->SubScreen->ID == SCREEN_BLC) {
|
||||
ChosenEntry->Title.SWPrintf("boot_args->flags [0x%04hx]->", gSettings.BooterConfig);
|
||||
} else if (ChosenEntry->SubScreen->ID == SCREEN_DSM) {
|
||||
ChosenEntry->Title.SWPrintf("Drop OEM _DSM [0x%04hx]->", dropDSM);
|
||||
}
|
||||
/*else if (ChosenEntry->SubScreen->ID == SCREEN_DSM) {
|
||||
ChosenEntry->Title.SWPrintf("Drop OEM _DSM [0x%04hx]->", dropDSM);
|
||||
} */
|
||||
}
|
||||
|
||||
REFIT_ABSTRACT_MENU_ENTRY *SubMenuGraphics()
|
||||
@ -2250,7 +2251,7 @@ REFIT_ABSTRACT_MENU_ENTRY* SubMenuSmbios()
|
||||
SubScreen->AddMenuEntry(&MenuEntryReturn, false);
|
||||
return Entry;
|
||||
}
|
||||
|
||||
/*
|
||||
REFIT_ABSTRACT_MENU_ENTRY* SubMenuDropDSM()
|
||||
{
|
||||
// init
|
||||
@ -2284,7 +2285,7 @@ REFIT_ABSTRACT_MENU_ENTRY* SubMenuDropDSM()
|
||||
|
||||
return Entry;
|
||||
}
|
||||
|
||||
*/
|
||||
REFIT_ABSTRACT_MENU_ENTRY* SubMenuDsdtFix()
|
||||
{
|
||||
REFIT_MENU_ITEM_OPTIONS *Entry; //, *SubEntry;
|
||||
@ -2405,7 +2406,7 @@ REFIT_ABSTRACT_MENU_ENTRY* SubMenuACPI()
|
||||
|
||||
SubScreen->AddMenuEntry(SubMenuDsdts(), true);
|
||||
SubScreen->AddMenuEntry(SubMenuDropTables(), true);
|
||||
SubScreen->AddMenuEntry(SubMenuDropDSM(), true);
|
||||
// SubScreen->AddMenuEntry(SubMenuDropDSM(), true);
|
||||
SubScreen->AddMenuEntry(SubMenuDsdtFix(), true);
|
||||
SubScreen->AddMenuEntry(SubMenuDSDTPatches(), true);
|
||||
SubScreen->AddMenuItemInput(49, "Fix MCFG", FALSE);
|
||||
|
Loading…
Reference in New Issue
Block a user