mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-12-23 16:17:40 +01:00
some comments
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
This commit is contained in:
parent
9bff704ea7
commit
917760ba82
@ -545,7 +545,7 @@ SetupDataForOSX(BOOLEAN Hibernate)
|
||||
if (!isRevLess) {
|
||||
LogDataHub(&gEfiMiscSubClassGuid, L"RBr", &RBr, 8);
|
||||
LogDataHub(&gEfiMiscSubClassGuid, L"EPCI", &ApplePlatformData[GlobalConfig.CurrentModel].smcConfig, 4);
|
||||
LogDataHub(&gEfiMiscSubClassGuid, L"REV", ApplePlatformData[GlobalConfig.CurrentModel].smcRevision, 6);
|
||||
LogDataHub(&gEfiMiscSubClassGuid, L"REV", &ApplePlatformData[GlobalConfig.CurrentModel].smcRevision, 6);
|
||||
}
|
||||
LogDataHub(&gEfiMiscSubClassGuid, L"RPlt", RPlt, 8);
|
||||
LogDataHub(&gEfiMiscSubClassGuid, L"BEMB", &gSettings.Smbios.Mobile, 1);
|
||||
|
@ -5249,7 +5249,7 @@ BOOLEAN CmpFullName(UINT8* Table, UINTN Len, const XString8Array& Bridge)
|
||||
void RenameDevices(UINT8* table)
|
||||
{
|
||||
|
||||
DBG("RenameDevices %zu\n", gSettings.ACPI.DeviceRename.size());
|
||||
DBG("RenameDevices %zu\n", gSettings.ACPI.DeviceRename.size());
|
||||
if ( gSettings.ACPI.DeviceRename.size() <= 0 ) return; // to avoid message "0 replacement"
|
||||
|
||||
INTN i;
|
||||
@ -5278,9 +5278,9 @@ DBG("RenameDevices %zu\n", gSettings.ACPI.DeviceRename.size());
|
||||
break; //not found
|
||||
}
|
||||
adr += shift;
|
||||
// DBG("found Name @ 0x%X\n", adr);
|
||||
DBG("found Name @ 0x%llX\n", adr);
|
||||
if (Bridge.isEmpty() || (FindBin(table + adr - 4, 5, (const UINT8*)(Bridge.c_str()), 4) == 0)) { // long name like "RP02.PXSX"
|
||||
DBG("replace without bridge %.*s by %s at table+%llu\n", 4, table + adr, Replace.c_str(), adr);
|
||||
// DBG("replace without bridge %.*s by %s at table+%llu\n", 4, table + adr, Replace.c_str(), adr);
|
||||
CopyMem(table + adr, Replace.c_str(), 4);
|
||||
adr += 5; //at least, it is impossible to see PXSXPXSX
|
||||
Num++;
|
||||
@ -5290,7 +5290,7 @@ DBG("RenameDevices %zu\n", gSettings.ACPI.DeviceRename.size());
|
||||
i = adr;
|
||||
while ((i > 0) && isACPI_Char(table[i])) i--; //skip attached name
|
||||
i -= 6; //skip size and device field
|
||||
// DBG("search for bridge since %d\n", adr);
|
||||
// DBG("search for bridge since %lld\n", adr);
|
||||
while (i > 0x20) { //find devices that previous to adr
|
||||
found = FALSE;
|
||||
//check device
|
||||
@ -5305,10 +5305,11 @@ DBG("RenameDevices %zu\n", gSettings.ACPI.DeviceRename.size());
|
||||
found = TRUE;
|
||||
}
|
||||
if (found) { // i points to Device or Scope
|
||||
size = get_size(table, (UINT32)(UINTN)k); //k points to size // DBG("found bridge candidate 0x%X size %d\n", table[i], size);
|
||||
size = get_size(table, (UINT32)(UINTN)k); //k points to size //
|
||||
// DBG("found bridge candidate 0x%X size %lld\n", table[i], size);
|
||||
if (size) {
|
||||
if ((k + size) > (adr + 4)) { //Yes - it is outer
|
||||
// DBG("found Bridge device begin=%X end=%X\n", k, k+size);
|
||||
// DBG("found Bridge device begin=%llX end=%llX\n", k, k+size);
|
||||
if (table[k] < 0x40) {
|
||||
k += 1;
|
||||
}
|
||||
@ -5323,7 +5324,7 @@ DBG("RenameDevices %zu\n", gSettings.ACPI.DeviceRename.size());
|
||||
DBG("replace with bridge %.*s by %s at table+%llu\n", 4, table + adr, Replace.c_str(), adr);
|
||||
CopyMem(table + adr, Replace.c_str(), 4);
|
||||
adr += 5;
|
||||
// DBG(" name copied\n");
|
||||
DBG(" name copied\n");
|
||||
Num++;
|
||||
break; //cancel search outer bridge, we found it.
|
||||
}
|
||||
|
@ -3351,3 +3351,40 @@ BOOLEAN setup_gma_devprop(LOADER_ENTRY *Entry, pci_dt_t *gma_dev)
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
//thanks to jalavoui
|
||||
#if 0
|
||||
/*
|
||||
* Some BIOS implementations leave the Intel GPU interrupts enabled,
|
||||
* even though no one is handling them (f.e. i915 driver is never loaded).
|
||||
* Additionally the interrupt destination is not set up properly
|
||||
* and the interrupt ends up -somewhere-.
|
||||
*
|
||||
* These spurious interrupts are "sticky" and the kernel disables
|
||||
* the (shared) interrupt line after 100.000+ generated interrupts.
|
||||
*
|
||||
* Fix it by disabling the still enabled interrupts.
|
||||
* This resolves crashes often seen on monitor unplug.
|
||||
*/
|
||||
#define I915_DEIER_REG 0x4400c
|
||||
static void disable_igfx_irq(struct pci_dev *dev)
|
||||
{
|
||||
void __iomem *regs = pci_iomap(dev, 0, 0);
|
||||
if (regs == NULL) {
|
||||
dev_warn(&dev->dev, "igfx quirk: Can't iomap PCI device\n");
|
||||
return;
|
||||
}
|
||||
|
||||
/* Check if any interrupt line is still enabled */
|
||||
if (readl(regs + I915_DEIER_REG) != 0) {
|
||||
dev_warn(&dev->dev, "BIOS left Intel GPU interrupts enabled; "
|
||||
"disabling\n");
|
||||
|
||||
writel(0, regs + I915_DEIER_REG);
|
||||
}
|
||||
|
||||
pci_iounmap(dev, regs);
|
||||
}
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0102, disable_igfx_irq);
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
||||
#endif
|
||||
|
@ -617,7 +617,7 @@ static XStringW getDriversPath()
|
||||
#ifdef DEBUG
|
||||
void debugStartImageWithOC()
|
||||
{
|
||||
MsgLog("debugStartImageWithOC\n");
|
||||
MsgLog("debugStartImageWithOC\n");
|
||||
UINT64 CPUFrequencyFromART;
|
||||
InternalCalculateARTFrequencyIntel(&CPUFrequencyFromART, NULL, 1);
|
||||
|
||||
@ -848,8 +848,8 @@ void LOADER_ENTRY::StartLoader()
|
||||
|
||||
DBG("Beginning OC\n");
|
||||
|
||||
UINT64 CPUFrequencyFromART;
|
||||
InternalCalculateARTFrequencyIntel(&CPUFrequencyFromART, NULL, 1);
|
||||
// UINT64 CPUFrequencyFromART;
|
||||
// InternalCalculateARTFrequencyIntel(&CPUFrequencyFromART, NULL, 1);
|
||||
|
||||
EFI_LOADED_IMAGE* OcLoadedImage;
|
||||
Status = gBS->HandleProtocol(gImageHandle, &gEfiLoadedImageProtocolGuid, (VOID **) &OcLoadedImage);
|
||||
|
Loading…
Reference in New Issue
Block a user