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.
Bu belirtim, sistemdeki kullanılabilir hata ayıklama bağlantı noktalarını açıklamak için platform üretici yazılımında kullanılan Hata Ayıklama Bağlantı Noktası Tablo 2'nin (DBG2) biçimini tanımlar. Bu bilgiler aşağıdaki işletim sistemleri için geçerlidir: Windows 8 ve daha yenisi.
Burada ele alınan başvurular ve kaynaklar bu makalenin sonunda listelenmiştir.
Patent Bildirimi: Microsoft, bu belirtimin uygulanması için iki seçenek altında belirli patent haklarını kullanıma sunmaktadır:
- Microsoft'un Topluluk Sözü, adresinden edinilebilir
https://www.microsoft.com/openspecifications/en/us/programs/community-promise/default.aspx- Open Web Foundation Son Belirtim Sözleşmesi Sürüm 1.0 ("OWF 1.0"), 1 Ekim 2012 itibarıyla adresinde
http://www.openwebfoundation.org/legal/the-owf-1-0-agreements/owfa-1-0bulunabilir.
Document History
| Date | Change |
|---|---|
| 29 Kasım 2011, Saat 2011, Kasım 2011, Kasım 2011, Kasım 20 | First publication. |
| 22 Mayıs 2012, Mayıs 2012, Mayıs 2012, Mayıs 2012, Mayıs | Windows 8 için desteklenen son platformlar başına Tablo 3 güncelleştirmeleri. |
| 10 Ağustos 2015 | Patent bildirimi güncelleştirildi. |
| 6 Ekim 2015, Cumartesi | Yeni seri hata ayıklama alt türleri eklendi (Arm SBSA UART, Arm DCC) |
| 10 Aralık 2015, Cumartesi | Yeni seri hata ayıklama alt türü eklendi (BCM2835) |
| 31 Mayıs 2017, Mayıs 2017, Mayıs 2017, Mayıs 2017, Mayıs | Yeni seri hata ayıklama alt türü eklendi (i.MX6, Genel Adres Yapısı 16550 uyumlu) |
| 11 Haziran 2020, Saat 20:00 | Yeni seri hata ayıklama alt türü eklendi (SDM845v2) |
| 1 Eylül 2020, Cumartesi | Belge Markdown söz dizimine ve biçimlendirme değişikliklerine dönüştürüldü. |
| 21 Eylül 2020 | Yeni seri hata ayıklama alt türü (IALPSS) eklendi |
| 17 Şubat 2021, Saat 2021, Şubat 2021, Saat 20:00 | Bilinen tüm seri hata ayıklama alt türlerini belgeleme |
| 10 Nisan 2023 | Yeni seri hata ayıklama alt türü (RISC-V) eklendi ve 16550 uyumlu alt türlerle ilgili açıklayıcı bilgiler eklendi |
Introduction
Microsoft, tüm sistemlerde bir hata ayıklama bağlantı noktası gerektirir. Microsoft, bir platformda kullanılabilen hata ayıklama bağlantı noktalarını açıklamak için işletim sistemine özgü bir tablo (DBG2) tanımlar. Bu tablo, hata ayıklama amacıyla bir veya daha fazla bağımsız bağlantı noktası belirtir. Hata ayıklama bağlantı noktası tablosunun varlığı, sistemin bir hata ayıklama bağlantı noktası içerdiğini gösterir. Tablo, hata ayıklama bağlantı noktasının yapılandırması hakkında bilgi içerir. Tablo, diğer Gelişmiş Yapılandırma ve Güç Arabirimi (ACPI) tablolarıyla sistem belleğinde bulunur ve ACPI Kök Sistem Açıklaması Tablosu'nda (RSDT) başvurulmalıdır.
DBG2 tablosu, hata ayıklama bağlantı noktası uygulamaları DBGP kullanılarak açıklanamayan platformlarda ACPI Hata Ayıklama Bağlantı Noktası Tablosu'nu (DBGP) değiştirir.
Hata Ayıklama Bağlantı Noktası Tablosu 2 (DBG2)
Table 1. Bağlantı Noktası Tablo 2 biçiminde hata ayıklama
Tablo 1, DBG2'deki alanları tanımlar.
| Field | Byte length | Byte offset | Description |
|---|---|---|---|
| Header | |||
| Signature | 4 | 0 | 'DBG2'. Hata Ayıklama Bağlantı Noktası Tablo 2 için imza. |
| Length | 4 | 4 | Hata Ayıklama Bağlantı Noktası 2'nin tamamının bayt cinsinden uzunluğu. |
| Revision | 1 | 8 | Belirtimin bu sürümü için bu değer 0'dır. |
| Checksum | 1 | 9 | Tablonun tamamı sıfıra toplanmalıdır. |
| OEM ID | 6 | 10 | Orijinal ekipman üreticisi (OEM) kimliği. |
| OEM Tablo Kimliği | 8 | 16 | Hata Ayıklama Bağlantı Noktası Tablo 2 için, tablo kimliği üretici modeli kimliğidir. |
| OEM Revision | 4 | 24 | Sağlanan OEM Tablo Kimliği için Hata Ayıklama Bağlantı Noktası Tablo 2'nin OEM düzeltmesi. |
| Creator ID | 4 | 28 | Tabloyu oluşturan yardımcı programın satıcı kimliği. |
| Creator Revision | 4 | 32 | Tabloyu oluşturan yardımcı programın düzeltmesi. |
| OffsetDbgDeviceInfo | 4 | 36 | Bu tablonun başından ilk Hata Ayıklama Cihaz Bilgileri yapı girdisine bayt cinsinden uzaklık. |
| NumberDbgDeviceInfo | 4 | 40 | Hata Ayıklama Cihaz Bilgileri yapı girdilerinin sayısını gösterir. |
| Cihaz Bilgi Yapısında Hata Ayıklama[NumberDbgDeviceInfo] | Variable | OffsetDbgDeviceInfo | Bu platform için Hata Ayıklama Cihaz Bilgileri yapılarının listesi. Yapı biçimi, bu belgenin devamında yer alan Cihaz Bilgileri yapısında hata ayıklama bölümünde tanımlanır. |
Cihaz Bilgileri yapısında hata ayıklama
Table 2. Cihaz Bilgileri yapı biçiminde hata ayıklama
| Field | Byte length | Byte offset | Description |
|---|---|---|---|
| Revision | 1 | 0 | Hata Ayıklama Cihaz Bilgileri yapısının düzeltmesi. Belirtimin bu sürümü için bu 0 olmalıdır. |
| Length | 2 | 1 | NamespaceString ve OEMData dahil olmak üzere bu yapının bayt cinsinden uzunluğu. |
| NumberofGenericAddressRegisters | 1 | 3 | Kullanılan genel adres yazmaçlarının sayısı. |
| NamespaceStringLength | 2 | 4 | NUL karakterleri de dahil olmak üzere NamespaceString'in bayt cinsinden uzunluğu. |
| NamespaceStringOffset | 2 | 6 | Bu yapının başlangıcından NamespaceString[] alanına bayt cinsinden uzaklık. Bu dizenin mevcut olması gerektiğinden bu değer geçerli olmalıdır. |
| OemDataLength | 2 | 8 | OEM veri bloğunun bayt cinsinden uzunluğu. |
| OemDataOffset | 2 | 10 | Bu yapının başlangıcından OemData[] alanına bayt cinsinden uzaklık. Oem verileri yoksa bu değer 0 olur. |
| Port Type | 2 | 12 | Bu hata ayıklama cihazı için bağlantı noktası türü hatalarını ayıkla. Bu değerlerin her biri, Tablo 3'te gösterildiği gibi karşılık gelen bir alt tür değerine sahip olacaktır. |
| Port Subtype | 2 | 14 | Bu hata ayıklama cihazı için bağlantı noktası alt türü hatalarını ayıkla. Bkz. Tablo 3. |
| Reserved | 2 | 16 | Ayrılmış, 0 olmalıdır. |
| BaseAddressRegisterOffset | 2 | 18 | Bu yapının başlangıcından BaseaddressRegister[] alanına bayt cinsinden uzaklık. |
| AddressSizeOffset | 2 | 20 | Bu yapının başlangıcından AddressSize[] alanına bayt cinsinden uzaklık. |
| BaseAddressRegister[] | (NumberofGenericAddressRegisters) * 12 | BaseAddressRegisterOffset | Genel adres dizisi. |
| AddressSize[] | (NumberofGenericAddressRegisters) * 4 | AddressSizeOffset | Yukarıdaki her genel adrese karşılık gelen adres boyutları dizisi. |
| NamespaceString[] | NamespaceStringLength | NamespaceStringOffset | Bu cihazı benzersiz olarak tanımlamak için NUL ile sonlandırılan ASCII dizesi. Bu dize, ACPI ad alanında bu cihazı temsil eden nesneye tam başvurudan oluşur. Ad alanı cihazı yoksa, NamespaceString[] yalnızca tek bir '.' içermelidir. (ASCII nokta) karakteri. |
| OemData[] | OemDataLength | OemDataOffset | İsteğe bağlı, değişken uzunlukta OEM'e özgü veriler. |
Table 3. Bağlantı noktası türlerinde ve alt türlerde hata ayıklama
| Port | Type | Subtype | Description |
|---|---|---|---|
| Reserved | 0x0000 – 0x7FFF ve 0xFFFF | All | Ayrılmış (Kullanmayın) |
| Serial | 0x8000 | 0x0000 | Fully 16550-compatible |
| 0x0001 | DBGP Düzeltme 1 ile uyumlu 16550 alt kümesi | ||
| 0x0002 | MAX311xE SPI UART | ||
| 0x0003 | Arm PL011 UART | ||
| 0x0004 | MSM8x60 (örn. 8960) | ||
| 0x0005 | NVIDIA 16550 | ||
| 0x0006 | TI OMAP | ||
| 0x0007 | Ayrılmış (Kullanmayın) | ||
| 0x0008 | APM88xxxx | ||
| 0x0009 | MSM8974 | ||
| 0x000A | SAM5250 | ||
| 0x000B | Intel USIF | ||
| 0x000C | i.MX 6 | ||
| 0x000D | (kullanım dışı) Arm SBSA (yalnızca 2.x) Yalnızca 32 bit erişimleri destekleyen Genel UART | ||
| 0x000E | Arm SBSA Genel UART | ||
| 0x000F | Arm DCC | ||
| 0x0010 | BCM2835 | ||
| 0x0011 | Saat hızı 1,8432 MHz olan SDM845 | ||
| 0x0012 | Genel Adres Yapısı'nda tanımlanan parametrelerle 16550 uyumlu | ||
| 0x0013 | Saat hızı 7,372 MHz olan SDM845 | ||
| 0x0014 | Intel LPSS | ||
| 0x0015 | RISC-V SBI konsolu (desteklenen herhangi bir SBI mekanizması) | ||
| 0x0016 – 0xFFFF | Ayrılmış (Gelecekte Kullanmak için) | ||
| 1394 | 0x8001 | 0x0000 | Standart Konak Denetleyicisi Arabirimini IEEE1394 |
| 0x0001 – 0xFFFF | Ayrılmış (Gelecekte Kullanmak için) | ||
| USB | 0x8002 | 0x0000 | Hata ayıklama arabirimine sahip XHCI uyumlu denetleyici |
| 0x0001 | Hata ayıklama arabirimine sahip EHCI uyumlu denetleyici | ||
| 0x0002 – 0x0006 | Ayrılmış (Kullanmayın) | ||
| 0x0007 – 0xFFFF | Ayrılmış (Gelecekte Kullanmak için) | ||
| Net | 0x8003 | NNNN | NNNN geçerli bir PCI tarafından atanan Satıcı Kimliği olmalıdır |
| 0x8004 | All | Ayrılmış (Kullanmayın) | |
| Reserved | 0x8005 – 0xFFFE | All | Ayrılmış (Gelecekte Kullanmak için) |
Genel Adres Yapısı alanlarıyla ilgili not
BaseAddressRegister[0] içindeki Genel Adres Yapısı, bazı seri alt türleri tarafından kullanılan yazmaç bit genişliğini ve erişim boyutunu belirtmek için kullanılır.
Adres Alanı Kimliği ve Yazma Bit Uzaklığı alanları 0 olmalıdır.
Yazmaç Bit Genişliği alanı yazmaç adımını içerir ve en az erişim boyutu kadar büyük olan 2'lik bir güç olmalıdır. 32 bit platformlarda bu değer 32'yi aşamaz. 64 bit platformlarda bu değer 64'ü aşamaz.
Erişim Boyutu alanı bayt, WORD, DWORD veya QWORD erişimlerinin kullanılıp kullanılmayacağını belirlemek için kullanılır. QWORD erişimleri yalnızca 64 bit mimarilerde geçerlidir.
16550 tabanlı UART'ler hakkında not
16550 tabanlı UART'ler için kullanılabilecek üç arabirim alt türü vardır. Aralarındaki farklar ince ancak önemlidir.
Arabirim alt türü 0x0, x86 tabanlı platformlarda görüldüğü gibi "eski" bağlantı noktası G/Ç kullanan bir seri bağlantı noktası anlamına gelir. Arm veya RISC-V gibi bellek eşlemeli G/Ç kullanan platformlarda bu tür önlenmelidir.
Arabirim alt türü 0x1, bellek eşlenmiş UART'leri destekler, ancak yalnızca DBGP ACPI tablosunda dağıtılabilir olanları destekler. İşletim sistemi uygulamaları bunu DBGP tarafından sağlanan bir hata ayıklama bağlantı noktasına eşdeğer olarak kabul edebilir ve Genel Adres Yapısı'nın yalnızca Temel Adres alanını kabul edebilir.
Arabirim alt türü 0x12 en esnek seçenektir ve yeni platformlarda uyumlu işletim sistemleri çalıştırılırken önerilir. Bu alt tür, 0x0 ve 0x1 alt türleri tarafından açıklanabilen tüm seri bağlantı noktalarının yanı sıra Genel Adres Yapısında geleneksel olmayan erişim boyutları ve bit genişlikleri gerektirenler gibi yenilerini destekler.