ดาวน์โหลดสถาปัตยกรรมส่วนประกอบ ACPI (รุ่นก่อนหน้า 2013)

774555
3/27/2023

บทนำ

เพิ่มการตรวจสอบความถูกต้องของตารางราก XSDT หากมี แพลตฟอร์มเก่าบางแพลตฟอร์มมี XSDT ที่มีรูปแบบที่ไม่ถูกต้องหรือไม่ถูกต้อง (เช่น มีรายการบางส่วนหรือทั้งหมดที่เป็นตัวชี้ NULL)

การดาวน์โหลดที่พร้อมให้บริการ

  • Unix*
  • ขนาด: 1.3 MB
  • SHA1: C92345E921355E9D8D732387AA1EFE37DB5B1AA9
  • Unix*
  • ขนาด: 1.2 MB
  • SHA1: 4C9F421C4F1744F047E036A3579CEB5F8D952146
  • Microsoft Windows*
  • ขนาด: 1.3 MB
  • SHA1: 1ED0A06EB278EC38E1C81FB119C3D20C1BF3C31B
  • Microsoft Windows*
  • ขนาด: 2.2 MB
  • SHA1: 4B6EF4914CEAFF39BC68351A2DE923A5E451055E
  • Unix*
  • ขนาด: 1.9 MB
  • SHA1: 22DFE60E668A7860AC7B637E1AC87C22504F30C6
  • Microsoft Windows*
  • ขนาด: 3.4 MB
  • SHA1: FF8B64BF4F8E258AC38A165AC6990F96D8A139DC

คำอธิบายโดยละเอียด

วันที่ 18 ธันวาคม 2556 สรุปการเปลี่ยนแปลงสําหรับ 20131218 เวอร์ชัน:

รีลีสนี้วางจําหน่ายแล้วที่ https://acpica.org/downloads

หมายเหตุทั่วโลก: ข้อมูลจําเพาะ ACPI 5.0A เปิดตัวในเดือนนี้ ไม่มีการเปลี่ยนแปลงสําหรับ ACPICA เนื่องจากการเปิดตัว ACPI นี้เป็นรีลีส errata/clarification

1) ACPICA kernel-resident ระบบย่อย:

เพิ่มการตรวจสอบความถูกต้องของตารางราก XSDT หากมี แพลตฟอร์มเก่าบางแพลตฟอร์มมี XSDT ที่มีรูปแบบที่ไม่ถูกต้องหรือไม่ถูกต้อง (เช่น มีรายการบางส่วนหรือทั้งหมดที่เป็นตัวชี้ NULL) การเปลี่ยนแปลงนี้เพิ่มฟังก์ชันใหม่เพื่อตรวจสอบ XSDT ก่อนใช้งานจริง หากพบว่า XSDT ไม่ถูกต้อง ACPICA จะกลับสู่การใช้ RSDT แทนโดยอัตโนมัติ การใช้งานเดิมโดย Zhao Yakui พอร์ตไปยัง ACPICA และปรับปรุงโดย Lv Zheng และ Bob Moore

เพิ่มตัวเลือกรันไทม์เพื่อละเว้น XSDT และบังคับการใช้ RSDT การเปลี่ยนแปลงนี้เพิ่มตัวเลือกรันไทม์ที่จะบังคับ ACPICA เพื่อใช้ RSDT แทนที่จะเป็น XSDT (AcpiGbl_DoNotUseXsdt) แม้ว่าข้อมูลจําเพาะ ACPI กําหนดให้ต้องใช้ XSDT แทน RSDT แต่ XSDT ถูกพบว่าเสียหายหรือเกิดความเสียหายในบางเครื่อง Lv Zheng

เพิ่มตัวเลือกรันไทม์เพื่อหาที่อยู่ของรีจิสเตอร์ 32 บิต FADT ผ่านที่อยู่ 64 บิต การเปลี่ยนแปลงนี้จะเพิ่มตัวเลือกเพื่อให้มีที่อยู่ FADT 32 บิตเมื่อมีความขัดแย้งระหว่างรีจิสเตอร์เดียวกันในเวอร์ชัน 32 บิตและ 64 บิต การทํางานเริ่มต้นคือการใช้รุ่น 64 บิตตามข้อกําหนด ACPI ซึ่งสามารถแทนที่ได้ทางแฟลก AcpiGbl_Use32BitFadtAddresses ACPICA BZ 885 Lv Zheng

ในระหว่างการเปลี่ยนแปลงข้างต้น ฟังก์ชัน "แปลง FADT" และ "ตรวจสอบ FADT" ภายในได้ถูกผสานรวมเข้าด้วยกันเพื่อลดความซับซ้อนของโค้ด ซึ่งทําให้เข้าใจและรักษาได้ง่ายยิ่งขึ้น ACPICA BZ 933

ปรับปรุงการรายงานและการจัดการข้อยกเว้นสําหรับการติดตั้งบล็อก GPE ส่งคืนสถานะจริงจาก AcpiEvGetGetGpeXruptBlock และอย่าตบตาสถานะเมื่อออกจาก AcpiEvInstallGpeBlock ACPICA BZ 1019

เพิ่มมาโครตัวช่วยเหลือเพื่อแยกหมายเลขบัส/เซ็กเมนต์จากตาราง HEST การเปลี่ยนแปลงนี้จะเพิ่มสองมาโครเพื่อแยกหมายเลขบัสและเซ็กเมนต์ที่เข้ารหัสจากฟิลด์ HEST Bus ACPI_HEST_BUS และ ACPI_HEST_SEGMENT เบ็ตตี้ดอลล์

เอาแมโคร ACPI_FREE_BUFFER ที่ไม่ได้ใช้ออก ACPICA จะไม่ใช้แมโครนี้อีกต่อไป นี่ไม่ใช่มาโครสาธารณะ ดังนั้นจึงไม่ควรมีผลต่อโค้ด OSV ที่มีอยู่ Lv Zheng

ตัวอย่างโค้ดและขนาดข้อมูล: ขนาดสําหรับ acpica.lib ที่ไม่ขึ้นกับระบบปฏิบัติการ ซึ่งผลิตโดยคอมไพเลอร์ Microsoft Visual C++ 9.0 32 บิต เวอร์ชันดีบักของโค้ดประกอบด้วยกลไกการติดตามเอาต์พุตดีบักและมีรหัสและขนาดข้อมูลที่ใหญ่กว่ามาก

รุ่นปัจจุบัน:
เวอร์ชันที่ไม่ใช่ดีบัก: รหัส 96.1K, ข้อมูล 27.0K, ทั้งหมด 123.1K
เวอร์ชันดีบัก: รหัส 185.6K, ข้อมูล 77.3K, ทั้งหมด 262.9K
รุ่นก่อนหน้า:
เวอร์ชันที่ไม่ใช่ดีบัก: รหัส 95.9K, ข้อมูล 27.0K, ทั้งหมด 122.9K
เวอร์ชันดีบัก: รหัส 185.1K, ข้อมูล 77.2K, ทั้งหมด 262.3K

2)iASL คอมไพเลอร์/ถอดและเครื่องมือ:

Disassembler: การสนับสนุนชื่อพาธที่ดีขึ้นสําหรับคําสั่ง External() ที่ปล่อยออกมา การเปลี่ยนแปลงนี้จะเพิ่มการรองรับชื่อพาธเต็มสําหรับชื่อภายนอกที่ได้รับการแก้ไขภายในโดยการรวมตาราง ACPI เพิ่มเติม (ผ่านตัวเลือก iASL หากไม่มีการเปลี่ยนแปลงนี้ ตัวแยกส่วนสามารถส่งภายนอกหลายตัวสําหรับวัตถุเดียวกัน หรือสับสนเมื่อมีการใช้ตัวดําเนินการ Scope() บนวัตถุภายนอก โดยรวมแล้ว สามารถปรับปรุงความสามารถในการคอมไพล์โค้ด ASL ที่ปล่อยออกมาอย่างมากเมื่อวัตถุที่อ้างอิงในหลายตาราง ACPI รายงานโดยไมเคิล Tsirkin (mst@redhat.com (ลิงค์ส่งอีเมล)

การทดสอบ/ASLTS: ชุดควบคุมฟังก์ชันที่อัปเดตเพื่อดําเนินการโดยไม่มีข้อผิดพลาด เดวิด บ็อก แก้ไขข้อผิดพลาดหลายอย่างที่เกี่ยวข้องกับการทดสอบโหมด Interpreter Slack Lv Zheng

iASL: เพิ่มการสนับสนุนเพื่อตรวจหาชื่อที่ถูกประกาศภายในวิธีการควบคุม แต่ไม่ได้ใช้ (ชื่อเหล่านี้เป็นชื่อชั่วคราวที่ใช้ได้เฉพาะในระหว่างเวลาที่วิธีการดําเนินการ) มีข้อสังเกตสําหรับกรณีเหล่านี้ ACPICA BZ 1022

iASL: เพิ่มการรองรับเต็มรูปแบบสําหรับตาราง DBG2 เพิ่มการแยกส่วนประกอบเต็มรูปแบบ คอมไพเลอร์ตาราง และตัวสร้างแม่แบบสําหรับตาราง DBG2 (ตาราง Debug Port 2)

iASL: เพิ่มการรองรับแบบเต็มสําหรับตาราง PCCT ให้อัปเดตคําจํากัดความของตาราง อัปเดตคําจํากัดความของตาราง PCCT ในส่วนหัว actbl3.h และเพิ่มการรองรับตัวรวมตารางและตัวสร้างแม่แบบ

iASL: เพิ่มตัวเลือกเพื่อส่งเฉพาะข้อความแสดงข้อผิดพลาดเท่านั้น (ไม่มีการเตือน/ทําเครื่องหมายใหม่) ตัวเลือก -ve จะเปิดใช้งานเฉพาะข้อความแสดงข้อผิดพลาด การเตือนและการทําเครื่องหมายใหม่จะถูกระงับ ซึ่งสามารถลดความซับซ้อนของการดีบักเมื่อข้อผิดพลาดเท่านั้นที่มีความสําคัญ เช่น เมื่อตาราง ACPI ไม่ได้ประกอบกัน และมีคําเตือนและทําเครื่องหมายใหม่มากมาย -- แต่เฉพาะข้อผิดพลาดที่แท้จริงคือความสนใจที่แท้จริง

ตัวอย่างรหัส ACPICA (ซอร์ส/เครื่องมือ/ตัวอย่าง): อัปเดตโค้ดตัวอย่างเพื่อให้สร้างขึ้นในโปรแกรมการทํางานจริง ไม่ใช่แค่โค้ดตัวอย่าง เพิ่มตาราง ACPI และการดําเนินการของวิธีการควบคุมตัวอย่างใน DSDT เพิ่มการรองรับ makefile สําหรับ Unix generation

วันที่:
วันที่ 18 ธันวาคม 2556

เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้