acpi-logo.webp

ACPI için ufak bir açıklama​

DSDT'ler ve SSDT'ler nedir ve ne işe yarar? Bunlar, donanım yazılımınızda bulunan çizelgelerdir. Bunlara USB kontrolcüleri, işlemci izlekleri(threads), gömülü kontrolcüler, sistem saati(dahili bileşenleri senkronize eden aygıt), vb. örneklerini verebiliriz. DSDT'yi, SSDT tarafından iletilmiş daha küçük bilgi bitlerinin çoğunu tutan bir gövde olarak düşünebiliriz. Yani buna göre DSDT bir binanın şeması ise, SSDT bu şemayı ekstra detaylar ile özetleyen ufak köşe notlarıdır.

Peki neden bu çizelgeleri önemsemek gerekiyor?
MacOS, DSDT'deki mevcut aygıtları seçme konusunda oldukça zorlanıyor ve bizim işimiz ise bunu düzeltmek. Bu bağlamda macOS'un düzgün çalışması için düzeltmemiz gereken ana aygıtlar:
  • Gömülü kontrolcüler - Embedded controllers(EC)
    • Yarı modern sayabileceğimiz tüm Intel makinelerde EC bulunuyor. Genellikle H_EC, ECDV, EC0, vb. olarak DSDT'de açıktır, tıpkı çoğu AMD sistemlerde olduğu gibi. Bu kontrolcüler genel olarak macOS ile uyumlu değiller ve panic'e sebep olabiliyorlar. Bunun için macOS'tan gizlenmeleri gerekiyor. MacOS Catalina için EC adında bir aygıt gerekir, bu bağlamda kukla diyebileceğimiz bir EC oluşturulur.
    • Laptoplarda ise batarya ve hotkeys'in çalışması için gerçek gömülü kontrolcüye ihtiyaç duyulur fakat EC'nin yeniden adlandırılması bu sefer Windows'ta sorun çıkartır. Bu yüzden kukla/sahte bir EC oluşturup, gerçek EC'yi devre dışı bırakmak tercih edilebilir.
  • Plugin type
    • Bu bize Intel Haswell ve daha güncel işlemcilerde XCPM'in sunduğu yerleşik işlemci güç yönetimini kullanmamızı sağlar. SSDT, işlemcinin ilk izlencesine bağlanır. AMD işlemciler için değildir.
  • AWAC system clock.
    • Bu, AWAC clock aktif olarak üretilmiş yeni olan tüm 300 serisi ve bazı Z370 anakartlara uygulanır. Bu problem macOS'un, AWAC clock ile bağlantı kuramaması durumunda anakartın eski RTC clock'u kullanmasını zorlar veya macOS'un bağlantı kurabileceği sahte/kukla bir tane oluşturur.
  • NVRAM SSDT
    • Standartlara uyan 300 serisi anakartlar(Z370'ler değil) ACPI'deki MMIO gibi FW çipleri dahil etmez akabinde kernel, UEFI memory map'e göre MMIO region'u reddeder. Bu SSDT ise NVRAM desteğini geri getirir.
  • Backlight SSDT
    • Laptoplarda backlight kontrol desteğini düzeltmek için kullanılır.
  • GPIO SSDT
    • Laptoplar için VoodooI2C'nin bağlanacağı bir uzantı oluşturulmasına izin verir.
  • XOSI SSDT
    • OSI taleplerini SSDT'ye yeniden yönlendirmek için kullanılır. Genellikle donanımımızı sanki Windows önyükleniyor gibi kandırıp, macOS'ta daha iyi Track/Touchpad desteği elde etmek için kullanılır. Bu yöntem ile Windows önyüklemesinin bozulduğu bildirilmiş olsa da, kişisel kullanımımda asla böyle bir hata almadım. Bu hatayı alırsanız GPIO'yu kullanın.
  • IRQ SSDT ve ACPI yamaları
    • DSDT'nin içerisindeki IRQ çakışmalarını düzeltmek için genellikle laptoplarda kullanılır.
    • Not, Skylake ve daha güncel sistemlerde IRQ çakışmaları nadiren olur. Bu genellikle Broadwell ve daha eski sistemler içindir.
Bu bağlamda aşağıdaki tabloya göre sisteminiz için gereken SSDT'lere bakabilirsiniz:

Masaüstü​

Platform
İşlemci
EC
AWAC
NVRAM
USB

Penryn​
-​
-​
-​
-​


Lynnfield ve Clarkdale​

SandyBridge​
CPU-PM (Kurulum sonrası)​

Ivy Bridge​

Haswell​

Broadwell​

Skylake​

Kaby Lake​

Coffee Lake​

Comet Lake​
-​

AMD (15/16h)​
-​
-​
-​

AMD (17h)​

High-End Masaüstü​

Platform
İşlemci
EC
RTC
PCI

Nehalem ve Westmere​
-​
-​
-​


Sandy Bridge-E​


Ivy Bridge-E​


Haswell-E​


Broadwell-E​


Skylake-X​
-​

Laptop​

Platform
İşlemci
EC
Backlight
I2C Trackpad
AWAC
USB
IRQ


Clarksfield ve Arrandale​
-​
-​
-​
-​

Sandy Bridge​
CPU-PM (Kurulum sonrası)​

Ivy Bridge​

Haswell​
SSDT-XOSI/SSDT-GPI0 (Kurulum sonrası)​

Broadwell​

Skylake​
-​

Kaby Lake​

Coffee Lake (8. Nesil) ve Whiskey Lake​

Coffee Lake (9. Nesil)​

Comet Lake​


Ice Lake​

Laptop Devamında:​

Platform
NVRAM
IMEI


Clarksfield ve Arrandale​
-​
-​


Sandy Bridge​


Ivy Bridge​


Haswell​
-​


Broadwell​


Skylake​


Kaby Lake​


Coffee Lake (8. Nesil) ve Whiskey Lake​


Coffee Lake (9. Nesil)​


Comet Lake​
-​


Ice Lake​


Kaynak: Getting started with ACPI | Getting Started With ACPI
 
Son düzenleme: