Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ACPI 5.0 belirtimi, cihazları yönetmek için kullanılabilecek çeşitli ad alanı nesneleri türünü tanımlar. Örneğin, cihaz tanımlama nesneleri, alt cihazların donanım numaralandırmasını desteklemeyen I2C gibi otobüslere bağlanan cihazlar için tanımlama bilgileri içerir. Diğer ad alanı nesne türleri sistem kaynaklarını belirtebilir, cihaz bağımlılıklarını açıklayabilir ve hangi cihazların devre dışı bırakılabileceğini belirtebilir.
Windows'ta cihaz tanımlama
Windows Tak Çalıştır, cihazın numaralandırıcısı tarafından sağlanan bir cihaz tanımlayıcısını temel alarak cihaz sürücülerini bulur ve yükler. Numaralandırıcılar, cihazdan tanımlama bilgilerini ayıklamayı bilen otobüs sürücüleridir. Bazı veri yolları (PCI, SD ve USB gibi) bu ayıklamayı yapmak için donanım tanımlı mekanizmalara sahiptir. İşlemci veri yolu veya basit bir çevre yolu gibi olmayan veri yolları için, ACPI ad alanında tanımlama nesnelerini belirler.
Acpi.sysWindows ACPI sürücüsü, bu nesnelerde bulunan değerleri, sürücünün gereksinimlerine bağlı olarak bir cihazı özel olarak veya genel olarak tanımlayabilen çeşitli cihaz tanımlayıcı dizelerinde birleştirir. ACPI numaralandırılmış cihazları tanımlamak için oluşturulan dize desenlerinden bazıları şunlardır:
ACPI\VEN_vvv[v]&DEV_dddd&SUBSYS_sss[s]nnnn&REV_rrrr
ACPI\VEN_vvv[v]&DEV_dddd&SUBSYS_sss[s]nnnn
ACPI\VEN_vvv[v]&DEV_dddd&REV_rrrr
ACPI\VEN_vvv[v]&DEV_dddd
ACPI\vvv[v]dddd
Cihaz Yöneticisi'ni açıp numaralandırılmış cihazın Donanım Kimlikleri ve Uyumlu Kimlikler özelliklerini inceleyerek Windows'un cihazınız için oluşturduğu cihaz tanımlayıcılarını görebilirsiniz. Bu dizelerin her biri, cihaza yüklenecek sürücüyü tanımlamak üzere bir INF dosyasında belirtilebilir. INF eşleştirme sırası, en belirli donanım tanımlayıcısından (en çok tercih edilen sürücü) en az belirli tanımlayıcıya (en az tercih edilen sürücü) kadardır; böylece, cihazın belirli özellikleri hakkında daha fazla bilgi sahibi olan sürücüler daha az belirli olan sürücülerin yerini alabilir (ve bu nedenle cihaz özelliklerinin yalnızca bir alt kümesini destekler).
Cihaz tanımlayıcıları yalnızca INF eşleştirmesi için kullanılmalı ve hiçbir zaman cihaz sürücüsü tarafından ayrıştırılmamalı veya işlenmemelidir. Cihaz sürücüsünün yüklendiği donanımı tanımlaması gerekiyorsa, önerilen yöntem INF dosyasının yükleme zamanında uygun kayıt defteri anahtarlarını ayarlamasını sağlamaktır. Sürücü, gerekli bilgileri almak için başlatma sırasında bu anahtarlara erişebilir.
ACPI'de cihaz tanımlama
Donanım Kimliği (_HID)
ACPI'de bir cihazı tanımlamanın en düşük gereksinimi Donanım Kimliği (_HID) nesnesidir. _HID, "ABC[D]xxxx" biçiminde bir dize döndürür; burada "ABC[D]", cihazın üreticisini tanımlayan 3 karakterli veya 4 karakterli bir dizedir ("Satıcı Kimliği"), xxxx ise söz konusu satıcı tarafından üretilen belirli cihazı tanımlayan onaltılık bir sayıdır ("Cihaz Kimliği"). Satıcı kimlikleri sektörde benzersiz olmalıdır. Microsoft bu dizeleri benzersiz olduklarından emin olmak için ayırır. Satıcı kimlikleri, Tak Çalıştır Kimliği - PNPID İsteği'nden alınabilir.
ACPI 5.0, _HID ve diğer tanımlama nesnelerinde PCI tarafından atanan satıcı kimliklerinin kullanımını da destekler, bu nedenle Microsoft'tan satıcı kimliği almanız gerekmeyebilir. Donanım belirleme gereksinimleri hakkında daha fazla bilgi için ACPI 5.0 belirtiminin "_HID (Donanım Kimliği)" başlıklı 6.1.5 bölümüne bakın.
Uyumlu Kimlik (_CID)
Microsoft, Windows ile birlikte gelen dahili sürücülerle uyumlu cihazlar için satıcı kimliğini "PNP" olarak ayırdı. Windows, bu satıcı kimliğiyle kullanılmak üzere tanımladığı bir dizi cihaz kimliğini, bir cihaz için Windows tarafından sağlanan sürücüyü yüklemek amacıyla belirler. Bu tanımlayıcıları döndürmek için Uyumlu Kimlik (_CID) nesnesi ayrı bir nesne kullanılır. Windows, INF eşleştirme ve sürücü seçiminde Her zaman Uyumlu Kimlikler (_CID tarafından döndürülen) yerine Donanım Kimliklerini (_HID tarafından döndürülür) tercih eder. Bu tercih, satıcı tarafından sağlanan cihaza özgü bir sürücü kullanılamıyorsa Windows tarafından sağlanan sürücünün varsayılan sürücü olarak değerlendirilmesini sağlar. Aşağıdaki tabloda yer alan Uyumlu Kimlikler, SoC platformlarıyla kullanılmak üzere yeni oluşturulmuştur.
| Uyumlu Kimlik | Açıklama |
|---|---|
| PNP0C40 | Windows uyumlu düğme dizisi |
| PNP0C50 | HID-over-I2C uyumlu cihaz |
| PNP0C60 | Dönüştürülebilir dizüstü bilgisayar ekran algılayıcı cihazı |
| PNP0C70 | Takma algılayıcı cihazı |
| PNP0D10 | Standart hata ayıklama ile XHCI uyumlu USB denetleyicisi |
| PNP0D15 | Standart hata ayıklama olmadan XHCI uyumlu USB denetleyicisi |
| PNP0D20 | Standart hata ayıklama olmadan EHCI uyumlu USB denetleyicisi |
| PNP0D25 | Standart hata ayıklama ile EHCI uyumlu USB denetleyicisi |
| PNP0D40 | SDA standart uyumlu SD konak denetleyicisi |
| PNP0D80 | Windows uyumlu sistem güç yönetimi denetleyicisi |
Alt Sistem Kimliği (_SUB), Donanım Düzeltmesi (_HRV) ve Sınıf (_CLS)
ACPI 5.0, bir cihazın belirli bir sürümünü, tümleştirmesini veya donanım düzeltmesini daha benzersiz bir şekilde tanımlayan tanımlayıcılar oluşturmak veya PCI tanımlı bir cihaz sınıfında üyeliği göstermek için _HID ile birlikte kullanılabilecek _SUB, _HRV ve _CLS nesnelerini tanımlar. Bu nesneler genellikle isteğe bağlıdır, ancak Windows'daki belirli cihaz sınıfları için gerekli olabilir. Bu nesneler hakkında daha fazla bilgi için ACPI 5.0 belirtiminin "Cihaz Tanımlama Nesneleri" başlıklı 6.1 bölümüne bakın.
Hizmet verilebilirlik için, OEM sistemlerindeki cihaz kimliklerinin "dört parçalı" kimlikler olması için bir Windows Donanım Sertifika Seti (HCK) gereksinimi vardır. Dört bölüm satıcı kimliği, cihaz kimliği, alt sistem satıcısı (OEM) kimliği ve alt sistem (OEM) cihaz kimliğidir. Bu nedenle, OEM platformları için Alt Sistem Kimliği (_SUB) nesnesi gereklidir.
Device-Specific Yöntemi (_DSM)
_DSM yöntemi , ACPI 5.0 belirtiminin "_DSM (Cihaza Özgü Yöntem)" 9.14.1 bölümünde tanımlanır. Bu yöntem, cihaza özgü diğer yöntemlerle çakışmadan bir cihaz sürücüsü tarafından çağrılabilen bireysel, cihaza özgü veriler ve denetim işlevleri sağlar. Belirli bir cihaz veya cihaz sınıfı için _DSM, diğer UUID'lerle çakışmaması garanti edilen bir UUID (GUID) tanımlar. Her UUID için, _DSM yönteminin veri sağlamak veya sürücü için denetim işlevlerini gerçekleştirmek için uygulayabileceği bir dizi tanımlı işlev vardır. Sınıfa özgü veriler ve veri biçimleri, cihaza özgü ayrı belirtimlerde sağlanır ve ACPI Device-Specific Yöntemleri bölümünde de ele alınmaktadır.
Adres (_ADR) ve Benzersiz Kimlik (_UID)
Cihaz belirleme için üç ek gereksinim vardır:
- Donanım tarafından numaralandırılabilir bir üst veri yolu (örneğin, SDIO, USB HSIC) ile bağlanan ancak platforma özgü özelliklere veya denetimlere (örneğin, yan bant gücü veya uyandırma kesintisi) sahip cihazlar için _HID kullanılmaz. Bunun yerine, cihaz tanımlayıcısı ana veri yolu sürücüsü tarafından oluşturulur (daha önce açıklandığı gibi). Ancak bu durumda, Adres Nesnesi'nin (_ADR) cihazın ACPI ad alanında olması gerekir. Bu nesne, işletim sisteminin veri yolu numaralandırılmış cihazını ACPI tarafından tanımlanan özellikleri veya denetimleriyle ilişkilendirmesini sağlar.
- Belirli bir IP bloğunun birden çok örneğinin kullanıldığı platformlarda, her bloğun aynı cihaz tanımlama nesnelerine sahip olması için, işletim sisteminin blokları ayırt edebilmesi için Benzersiz Tanımlayıcı (_UID) nesnesi gereklidir.
- Belirli bir ad alanı kapsamındaki iki cihaz aynı ada sahip olamaz.
Cihaz yapılandırma nesneleri
Ad alanında tanımlanan her cihaz için, cihaz tarafından kullanılan sistem kaynaklarının (bellek adresleri, kesmeler vb.) Geçerli Kaynak Ayarları (_CRS) nesnesi tarafından da bildirilmesi gerekir. Bir cihazın kaynak yapılandırmasını (_SRS) değiştirmeye yönelik birden çok olası kaynak yapılandırmasının (_PRS) ve denetimlerin raporlanması desteklenir ancak isteğe bağlıdır.
SoC platformları için yeni olan GPIO ve bir cihazın kullanabileceği basit çevre yolu (SPB) kaynaklarıdır. Daha fazla bilgi için bkz. Genel Amaçlı G/Ç (GPIO) ve Basit Çevre Yolu (SPB).
SoC platformları için de yeni bir genel amaçlı sabit DMA tanımlayıcısı. FixedDMA tanımlayıcısı, DMA denetleyici donanımının bir dizi sistem cihazı tarafından paylaşılması destekler. Statik olarak belirli bir sistem cihazına ayrılan DMA kaynakları (istek satırı ve kanal kayıtları) FixedDMA tanımlayıcısında listelenir. Daha fazla bilgi için ACPI 5.0 belirtiminin "FixedDMA (DMA Kaynak Tanımlayıcı Makro)" başlıklı 19.5.49 bölümüne bakın.
Cihaz durumu değişiklikleri
ACPI numaralandırılmış cihazlar çeşitli nedenlerle devre dışı bırakılabilir veya kaldırılabilir. Durum (_STA) nesnesi, bu tür durum değişikliklerinin işletim sistemine iletilebilmesi için sağlanır. _STA açıklaması için ACPI 5.0 belirtiminin 6.3.7 bölümüne bakın. Windows, cihazın numaralandırılıp numaralandırılmaması, devre dışı olarak gösterilmesi veya kullanıcıya görünmemesi gerektiğini belirlemek için _STA kullanır. Üretici yazılımındaki bu denetim, yerleştirme ve USB OTG ana bilgisayardan işlev moduna geçiş gibi birçok uygulama için kullanışlıdır.
Buna ek olarak, ACPI, ASL'nin platformda gerçekleşen olayları, örneğin bir cihazın bir takma biriminin parçası olarak kaldırılması gibi durumları sürücülere bildirmek için kullanabileceği bir bildirim mekanizması sağlar. Genel olarak, bir ACPI cihazının durumu değiştiğinde, Windows'un cihazı yeniden listelemesine ve _STA'yı yeniden değerlendirmesine neden olmak için üretici yazılımının bir "cihaz denetimi" veya "veri yolu denetimi" bildirimi gerçekleştirmesi gerekir. ACPI bildirimleri hakkında bilgi için ACPI 5.0 belirtiminin "Cihaz Nesne Bildirimleri" başlıklı 5.6.6 bölümüne bakın.
Etkinleştir/devre dışı bırak
Windows Tak Çalıştır'ın bir parçası olarak, sürücülerin kullanıcı veya sistem tarafından (örneğin, bir sürücüyü güncelleştirmek için) dinamik olarak etkinleştirilip devre dışı bırakılabilmesi gerekir.
On-SoC cihazları SoC yongasına entegre edilmiştir ve çıkarılamaz. Çoğu On-SoC cihazının sürücüleri etkinleştirme ve devre dışı bırakma gereksinimlerinden muaf tutulabilir. Muaf olmayan sürücüler için, sürücünün düzenli olarak kaldırılmasını desteklediğini belirten sürücü arabirimleri vardır. Daha fazla bilgi için Microsoft Connect web sitesindeki "SoC Sürücüleri için PNP Gereksinimlerini Azaltma" başlıklı belgeye bakın.
Bir sürücü düzenli olarak kaldırmayı destekliyorsa ve cihaz donanımı devre dışı bırakılabilirse (başka bir ifadeyle cihaz atanan kaynaklarına erişimi durduracak şekilde yapılandırılabilir), cihazın ACPI ad alanı düğümü Disable (_DIS) nesnesini içerebilir. Bu yöntem, sürücü kaldırıldığında işletim sistemi tarafından değerlendirilir. _DIS kullanımı aşağıdaki ek gereksinimlere sahiptir:
- _STA, cihaz her devre dışı bırakıldığı zaman "etkin ve kaynaklarının kodunu çözme" bitini temizlemelidir.
- Cihaz donanımının yeniden etkinleştirilmesi ve yukarıdaki bitin _STA olarak ayarlanması için cihazın Kaynak Ayarlarını Ayarla (_SRS) nesnesini sağlaması gerekir.
Daha fazla bilgi için ACPI 5.0 belirtiminin 6.2.3 (_DIS), 6.2.15 (_SRS) ve 6.3.7 (_STA) bölümlerine bakın.
Cihaz bağımlılıkları
Genellikle belirli bir platformdaki cihazlar arasında donanım bağımlılıkları vardır. Windows, sistemdeki her şey dinamik olarak değiştikçe (cihaz gücü kaldırılır, sürücüler durdurulur ve başlatılır vb.) tüm cihazların düzgün çalışmasını sağlamak için bu tür tüm bağımlılıkların açıklanmasını gerektirir. ACPI'de cihazlar arasındaki bağımlılıklar aşağıdaki yollarla açıklanmıştır:
Ad alanı hiyerarşisi. Alt cihaz olan herhangi bir cihaz (başka bir cihazın ad alanında listelenen bir cihaz) üst cihaza bağımlıdır. Örneğin, bir USB HSIC cihazı, bağlandığı bağlantı noktası (ebeveyn) ve denetleyiciye (üst düğüm) bağlıdır. Benzer şekilde, bir sistem bellek yönetim birimi (MMU) cihazının ad alanında listelenen bir GPU cihazı da MMU cihazına bağlıdır.
Kaynak bağlantıları. GPIO veya SPB denetleyicilerine bağlı cihazlar bu denetleyicilere bağlıdır. Bu bağımlılık türü, Bağlantı Kaynaklarının cihazın _CRS eklenmesiyle açıklanmıştır.
OpRegion bağımlılıkları. G/Ç gerçekleştirmek için OpRegions kullanan ASL denetim yöntemlerinde bağımlılıklar yalnızca denetim yöntemi değerlendirmesi sırasında belirlendiğinden işletim sistemi tarafından örtük olarak bilinmez. Bu sorun, Plug and Play sürücülerinin bölgeye erişim sağladığı GeneralPurposeIO ve GenericSerialBus OpRegions için geçerlidir. Bu sorunu azaltmak için ACPI, OpRegion Dependency (_DEP) nesnesini tanımlar. _DEP, bir denetim yöntemi tarafından bir OpRegion (HW kaynağı) kullanılan herhangi bir cihaz ad alanında kullanılmalıdır. Ne yukarıdaki 1 ne de 2, başvurulan OpRegion’un bağlantı kaynağı için zaten geçerli değildir. Daha fazla bilgi için ACPI 5.0 belirtiminin "_DEP (İşlem Bölgesi Bağımlılıkları)" başlıklı 6.5.8 bölümüne bakın.
Cihaz sürücüleri arasında yazılım bağımlılıkları da olabilir. Bu bağımlılıklar da açıklanmalıdır.
Daha fazla bilgi için aşağıdaki kaynaklara bakın:
Sürücü-yük sırası bağımlılıkları için bkz. Sürücü Yükleme Sırasını Belirtme.
Güç ilişkileri bağımlılıkları için bkz:
IoInvalidateDeviceRelations (Güç ilişkileri kurulmasını tetikleme için, DEVICE_RELATION_TYPE sabit listesi değeri PowerRelations ile IoInvalidateDeviceRelations yordamını çağırın.)