{"id":483995,"date":"2026-06-17T12:41:16","date_gmt":"2026-06-17T12:41:16","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=483995"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=483995","title":{"rendered":"ACPI: \u0442\u0430\u0439\u043d\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0438 \u041e\u0421"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p> \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u2014 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440, \u043f\u0430\u043c\u044f\u0442\u044c \u0438 \u043d\u0430\u0431\u043e\u0440 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. \u0417\u0430 \u0432\u0438\u0434\u0438\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0441\u043b\u043e\u0439 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e, \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u043e\u0439 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c. \u0418\u043c\u0435\u043d\u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u0440\u0435\u0448\u0430\u044e\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u043c\u0438 \u0441\u043d\u0430 \u0438 \u043f\u0440\u043e\u0431\u0443\u0436\u0434\u0435\u043d\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u044e\u0442.<\/p>\n<p>\u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0442\u0430\u043a\u043e\u0433\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f ACPI (Advanced Configuration and Power Interface). \u042d\u0442\u0430 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438, \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c \u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u043d\u0430\u0442\u044c \u0432\u0441\u0435 \u0434\u0435\u0442\u0430\u043b\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u043e\u0439 \u043f\u043b\u0430\u0442\u044b \u0438\u043b\u0438 SoC. <\/p>\n<p>\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u044d\u0442\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0432 \u0437\u043e\u043d\u0435 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 BIOS. \u0412 \u043c\u043e\u0434\u0435\u043b\u0438 APM \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u043e\u0441\u044c \u0437\u0430 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u043e\u0439: \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u0433\u043b\u0430 \u043b\u0438\u0448\u044c \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a BIOS \u0437\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u0442\u0435\u0445 \u0438\u043b\u0438 \u0438\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439. \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u043b\u043e\u0445\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f, \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u043b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043d\u043e\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u043b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u041e\u0421. ACPI \u0438\u0437\u043c\u0435\u043d\u0438\u043b \u044d\u0442\u0443 \u043c\u043e\u0434\u0435\u043b\u044c: \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043d\u0430\u0431\u043e\u0440 \u0442\u0430\u0431\u043b\u0438\u0446, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0439 \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u0430 \u0441\u0430\u043c\u0430 \u041e\u0421 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u043c. <\/p>\n<p>\u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0436\u0435\u043b\u0435\u0437\u043e \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0443. \u041e\u043d\u0430 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u0441\u043b\u0435 \u0441\u0435\u0431\u044f \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b: \u043a\u0430\u043a\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u043f\u043e \u043a\u0430\u043a\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u043c \u043e\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b, \u043a\u0430\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442, \u043a\u0430\u043a\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043a\u0430\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f. \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0447\u0438\u0442\u0430\u0435\u0442 \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435, \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u0435\u0442 AML-\u043a\u043e\u0434 \u0438 \u043d\u0430 \u0438\u0445 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439. <\/p>\n<p>\u041d\u043e \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u041e\u0421 \u0441\u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u0438\u043d AML-\u043c\u0435\u0442\u043e\u0434 \u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u043a \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0435\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0439\u0442\u0438 \u0432\u0445\u043e\u0434\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0432 \u043c\u0438\u0440 ACPI. \u042d\u0442\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f RSDP (Root System Description Pointer). \u0427\u0435\u0440\u0435\u0437 \u043d\u0435\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u043a\u043e\u0440\u043d\u0435\u0432\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b RSDT \u0438\u043b\u0438 XSDT, \u0430 \u0443\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 \u043d\u0438\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a\u043e \u0432\u0441\u0435\u043c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c ACPI-\u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c: FADT, DSDT, SSDT, MADT \u0438 \u0434\u0440\u0443\u0433\u0438\u043c. <\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u044d\u0442\u0430 \u0446\u0435\u043f\u043e\u0447\u043a\u0430: \u043e\u0442 \u043f\u043e\u0438\u0441\u043a\u0430 RSDP \u0432 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f AML-\u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0443\u044e \u0440\u043e\u043b\u044c \u0438\u0433\u0440\u0430\u044e\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u044b ACPI, \u043a\u0430\u043a \u043e\u043d\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0438 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u0437\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u044b GPE, \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u041e\u0421 \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\u043c \u043f\u0438\u0442\u0430\u043d\u0438\u044f, \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 ACPI \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0432\u0430\u0436\u043d\u044b\u0445, \u043d\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b. <\/p>\n<p>\u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u0438\u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0437\u0430\u0432\u0435\u0441\u0443 \u043d\u0430\u0434 \u0442\u0435\u043c \u043c\u0435\u0441\u0442\u043e\u043c, \u0433\u0434\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u0440\u0430\u0437\u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c.  <\/p>\n<h3>\u0421\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 <\/h3>\n<p>\u041f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0437\u043d\u0430\u0435\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u044e \u043f\u043b\u0430\u0442\u044b: \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u0435\u0441\u0442\u044c \u0432 SoC, \u0433\u0434\u0435 \u0432\u0438\u0441\u044f\u0442 GPIO, \u043a\u0430\u043a\u0438\u0435 \u043b\u0438\u043d\u0438\u0438 \u0437\u0430\u0432\u0435\u0434\u0435\u043d\u044b \u043d\u0430 wake, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f PM-\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b, \u043a\u0430\u043a\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435\u043b\u044c\u0437\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 PCI\/USB \u0438 \u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u0441\u043d\u043e\u043c \u0438\u043b\u0438 \u043f\u0440\u043e\u0431\u0443\u0436\u0434\u0435\u043d\u0438\u0435\u043c. \u041e\u0421, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0435. ACPI \u043a\u0430\u043a \u0440\u0430\u0437 \u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u0440\u044b\u0432: \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435, \u0430 \u041e\u0421 \u0447\u0435\u0440\u0435\u0437 OSPM (Operating System-directed Power Management) \u0431\u0435\u0440\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u0438 \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c \u043d\u0430 \u0441\u0435\u0431\u044f. \u0412 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 ACPI \u043f\u0440\u044f\u043c\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u044d\u0442\u0438\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0447\u0442\u043e\u0431\u044b OSPM \u043c\u043e\u0433 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u0431\u0435\u0437 \u0437\u043d\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438. <\/p>\n<p>\u0421 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f ACPI \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0447\u0430\u0441\u0442\u0435\u0439:  <\/p>\n<ol>\n<li>\n<p>\u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, <\/p>\n<\/li>\n<li>\n<p>\u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0438 \u0432 AML. <\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433 \u041e\u0421 \u2014 \u043d\u0430\u0439\u0442\u0438 RSDP. \u042d\u0442\u043e \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u044f ACPI-\u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044f. \u041d\u0430 UEFI-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 Windows \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 EFI System Table \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 RSDP. \u041f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0442\u0443\u0434\u0430 \u0430\u0434\u0440\u0435\u0441 RSDT \u0438\u043b\u0438 XSDT, \u0430 \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u043e\u0431\u043e\u0438\u0445 Windows \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0435\u0442 XSDT. \u042d\u0442\u043e \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 64-\u0431\u0438\u0442\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c: RSDT \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 32-\u0431\u0438\u0442\u043d\u044b\u0435 \u0430\u0434\u0440\u0435\u0441\u0430, \u0430 XSDT 64-\u0431\u0438\u0442\u043d\u044b\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 XSDT \u043b\u0443\u0447\u0448\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c\u0443 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0443. <\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u041e\u0421 \u0438\u0434\u0435\u0442 \u043f\u043e XSDT \u0438\u043b\u0438 RSDT \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b \u0442\u0430\u0431\u043b\u0438\u0446. \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f ACPI \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e XSDT \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u043f\u0430\u043c\u044f\u0442\u0438, \u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 \u0432 \u044d\u0442\u043e\u0439 \u0446\u0435\u043f\u043e\u0447\u043a\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f FADT (Fixed ACPI Description Table). FADT, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 DSDT, \u0433\u0434\u0435 \u043b\u0435\u0436\u0438\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. <\/p>\n<p>FADT \u0434\u043b\u044f embedded-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e \u043c\u043e\u0441\u0442 \u043c\u0435\u0436\u0434\u0443 \u00ab\u0447\u0438\u0441\u0442\u044b\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c\u00bb \u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c\u0438 PM-\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. FADT \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0443\u044e \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u0435\u0442\u0430\u043b\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0436\u0435\u043b\u0435\u0437\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 ACPI. \u0427\u0435\u0440\u0435\u0437 \u043d\u0435\u0435 \u041e\u0421 \u0443\u0437\u043d\u0430\u0435\u0442, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f PM1 event\/control blocks, PM timer, GPE blocks \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b. <\/p>\n<p>DSDT \u0438 SSDT \u2014 \u0443\u0436\u0435 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0436\u0438\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u0412 \u043d\u0438\u0445 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043c\u0435\u0442\u043e\u0434\u044b, \u0440\u0435\u0441\u0443\u0440\u0441\u044b, operation regions \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0438\u0442\u0430\u043d\u0438\u044f. \u041f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 DSDT, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u043e\u0439 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435, \u0438\u043b\u0438 \u0432 SSDT, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u0438\u043b\u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u0414\u043b\u044f SoC-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c DSDT \u0447\u0430\u0441\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u043d\u043e SSDT \u0443\u0434\u043e\u0431\u043d\u044b \u0434\u043b\u044f \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u0438. <\/p>\n<p>\u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d \u2014 \u044d\u0442\u043e \u0442\u043e, \u0441 \u0447\u0435\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 ACPI-\u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 \u041e\u0421. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c _HID \u0434\u043b\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438<em>, _<\/em>CRS \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432<em>, <\/em>_STA \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u0443\u0441\u0430<em>, _<\/em>PS0\/_PS3 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432 \u043f\u0438\u0442\u0430\u043d\u0438\u044f, _PRW \u0434\u043b\u044f wake-\u0441\u043e\u0431\u044b\u0442\u0438\u0439<em> <\/em>\u0438<em> _<\/em>DSD \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 device-specific properties \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0443. \u0412 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d ACPI \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0434\u0435\u0440\u0435\u0432\u043e \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u041e\u0421. <\/p>\n<p>\u0421 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0437\u0434\u0435\u0441\u044c \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0446\u0443 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438. \u041f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u00ab\u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u00bb \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0441\u0435\u043c \u043f\u043e\u0441\u043b\u0435 \u0441\u0442\u0430\u0440\u0442\u0430 \u041e\u0421. \u0415\u0435 \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u044b \u0442\u0430\u043c, \u0433\u0434\u0435 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c \u0438\u043b\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0448\u0438\u043d\u043e\u0439. \u041e\u0421 \u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u0441\u0430\u043c\u0430. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043b\u043e\u0445\u0430\u044f ACPI-\u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u043c \u0441\u0438\u043c\u043f\u0442\u043e\u043c\u0430\u043c: \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0435\u0441\u0442\u044c \u0432 \u0436\u0435\u043b\u0435\u0437\u0435, \u043f\u0438\u0442\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0430\u043d\u043e, \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442, \u043d\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e _HID \u043d\u0435 \u0442\u043e\u0442, GPIO interrupt \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e _CRS \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043d\u0435 \u0442\u0443 \u043f\u043e\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c, \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0435 \u043f\u0440\u043e\u0441\u044b\u043f\u0430\u0435\u0442\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e _PRW \u0438\u043b\u0438 GPE \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043e\u0447\u0435\u043d\u044c \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c, ACPI-\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043d\u0430 \u0442\u0440\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u0430:<\/p>\n<ol>\n<li>\n<p>\u0427\u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435? DSDT, SSDT, MADT, MCFG, GTDT \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0413\u0434\u0435 \u044d\u0442\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438 \u043a\u0430\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442? _CRS, MMIO ranges, IRQ, GPIO, I2C\/SPI resources.<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u043a \u044d\u0442\u0438\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c? AML \u043c\u0435\u0442\u043e\u0434\u044b, GPE, _PSx, _PRW, _DSM\/_DSD.<\/p>\n<\/li>\n<\/ol>\n<p>ACPI \u2014 \u044d\u0442\u043e, \u043f\u043e \u0441\u0443\u0442\u0438, \u0447\u0430\u0441\u0442\u044c ABI-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u041f\u043e\u0441\u043b\u0435 \u0440\u0435\u043b\u0438\u0437\u0430 \u041e\u0421 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u044d\u0442\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0430 layout \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432.<\/p>\n<h3>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b ASL: Microsoft ASL Compiler \u0438 Intel iASL<\/h3>\n<p>\u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 ACPI \u0432\u0430\u0436\u043d\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0438 \u0442\u043e, \u0447\u0442\u043e \u0432 \u0438\u0442\u043e\u0433\u0435 \u0432\u0438\u0434\u0438\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 ASL (ACPI Source Language). \u041e\u0434\u043d\u0430\u043a\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 ASL \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e. \u0412 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0443\u0436\u0435 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0431\u0430\u0439\u0442\u043a\u043e\u0434 AML (ACPI Machine Language), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u0442\u0435\u043c \u0447\u0438\u0442\u0430\u0435\u0442 ACPI-\u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u041e\u0421 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 AML-\u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440.<\/p>\n<p>\u0414\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ASL \u0432 AML \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b. \u041f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0434\u0432\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430: Microsoft ASL Compiler \u0438 Intel ASL Compiler \/ Disassembler (iASL).<\/p>\n<p>\u041e\u0431\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0440\u0435\u0448\u0430\u044e\u0442 \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443: \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c ASL-\u043a\u043e\u0434 \u0432 AML-\u0431\u0430\u0439\u0442\u043a\u043e\u0434, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c ACPI-\u0442\u0430\u0431\u043b\u0438\u0446 \u0434\u043e \u0438\u0445 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0432 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u0438, \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0441\u0434\u0430\u043c\u043f\u0438\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u043b\u0438\u0431\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0443.<\/p>\n<h4>Microsoft ASL Compiler<\/h4>\n<p>Microsoft ASL Compiler \u2014 \u044d\u0442\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 ASL \u043e\u0442 Microsoft, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 Windows Driver Kit. \u041e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 Windows-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a Windows \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0432 ACPI-\u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445. \u0411\u0430\u0437\u043e\u0432\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>asl.exe SSDT_gpio.asl<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 ASL-\u0444\u0430\u0439\u043b \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 AML-\u0444\u0430\u0439\u043b:<\/p>\n<pre><code>SSDT_gpio.asl  ---&gt;  SSDT_gpio.aml<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0422\u0430\u043a\u043e\u0439 AML-\u0444\u0430\u0439\u043b \u0437\u0430\u0442\u0435\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0432 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443. \u0412 embedded-\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u044d\u0442\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043e \u0441\u0431\u043e\u0440\u043a\u0438 BIOS-\u043e\u0431\u0440\u0430\u0437\u0430, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043d\u0430\u0439\u0442\u0438 \u0447\u0430\u0441\u0442\u044c \u043e\u0448\u0438\u0431\u043e\u043a: \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0438\u043c\u044f \u043c\u0435\u0442\u043e\u0434\u0430, \u043e\u0448\u0438\u0431\u043a\u0443, \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u0438\u043c\u0435\u043d \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d \u0438\u043b\u0438 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442.<\/p>\n<h4>Intel ASL Compiler \/ iASL<\/h4>\n<p>iASL \u2014 \u044d\u0442\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0438 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430 ACPICA tools. \u041e\u043d \u0448\u0438\u0440\u043e\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 Linux-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u043f\u0440\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0435 ACPI-\u0442\u0430\u0431\u043b\u0438\u0446 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435. \u041a\u0430\u043a \u0438 Microsoft ASL Compiler, iASL \u0443\u043c\u0435\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c ASL \u0432 AML:<\/p>\n<pre><code>iasl SSDT_gpio.asl<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c:<\/p>\n<pre><code>SSDT_gpio.asl  ---&gt;  SSDT_gpio.aml<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0422\u0430\u043a\u0436\u0435 iASL \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u2014 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0445 ACPI-\u0442\u0430\u0431\u043b\u0438\u0446 \u0432 \u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 ASL\/DSL-\u0432\u0438\u0434:<\/p>\n<pre><code>iasl -d dsdt.datiasl -d ssdt*.dat<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 .dsl-\u0444\u0430\u0439\u043b\u044b \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445: _HID, _CRS, _AEI, _PRW, OperationRegion, Notify() \u0438 \u0434\u0440\u0443\u0433\u0438\u0435.<\/p>\n<h4>\u041f\u0440\u0438\u043c\u0435\u0440 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e SSDT<\/h4>\n<p>\u041f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0439 ACPI-\u0444\u0430\u0439\u043b \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0431\u043b\u043e\u043a\u0430 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439. \u041e\u043d \u0437\u0430\u0434\u0430\u0435\u0442, \u043a\u0430\u043a\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c: DSDT, SSDT \u0438\u043b\u0438 OEM-specific table. \u0412\u043d\u0443\u0442\u0440\u0438 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f Scope, Device, Method, Name, OperationRegion, Field, PowerResource \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e SSDT:<\/p>\n<pre><code>DefinitionBlock (\"\", \"SSDT\", 2, \"GRAV\", \"GPIODEV\", 0x00000001){    Scope (\\_SB)    {        Device (DEV0)        {            Name (_HID, \"GRV0001\")            Name (_UID, 0)            Method (_STA, 0, NotSerialized)            {                Return (0x0F)            }            Name (_CRS, ResourceTemplate ()            {                Memory32Fixed (ReadWrite,                    0xFE000000,     \/\/ BaseAddress                    0x00001000      \/\/ Length                )                Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive)                {                    45                }            })        }    }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u0436\u0435 \u043d\u0435 \u0432\u0438\u0434\u0438\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 ASL-\u043a\u043e\u0434, \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u041e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 AML-\u0431\u0430\u0439\u0442\u043a\u043e\u0434\u043e\u043c, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d ACPI.<\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 ASL:<\/p>\n<pre><code>Device (DEV0){    Name (_HID, \"GRV0001\")    Name (_UID, 0)    Method (_STA) { Return (0x0F) }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u041e\u0421 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u043a\u0430\u043a ACPI namespace:<\/p>\n<pre><code>\\_SB.DEV0    \u251c\u2500\u2500 _HID = \"GRV0001\"    \u251c\u2500\u2500 _UID = 0    \u2514\u2500\u2500 _STA = executable method<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h4>Linux-\u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 ACPI<\/h4>\n<p>\u0412 Linux-\u0441\u0440\u0435\u0434\u0435 iASL \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 acpidump \u0438 acpixtract. \u0422\u0438\u043f\u043e\u0432\u043e\u0439 \u0446\u0438\u043a\u043b \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>sudo acpidump &gt; acpi.datacpixtract -a acpi.datiasl -d dsdt.datiasl -d ssdt*.dat<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b:<\/p>\n<pre><code>grep -R \"_AEI\\|_EVT\\|GpioInt\\|_PRW\\|_DEP\\|OperationRegion\" .<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0422\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 ACPI-\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435. \u042d\u0442\u043e \u0432\u0430\u0436\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0438\u0434\u0438\u0442 \u041e\u0421, \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c.<\/p>\n<h4>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 asl.exe \u0438 iASL<\/h4>\n<p>Asl.exe \u0438 iasl \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438. \u0418\u0445 \u043b\u0443\u0447\u0448\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432. Microsoft ASL Compiler \u0443\u0434\u043e\u0431\u0435\u043d \u0434\u043b\u044f Windows bring-up \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 ACPI-\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0439 \u043f\u043e\u0434 Windows. iASL \u0443\u0434\u043e\u0431\u0435\u043d \u0434\u043b\u044f Linux, EDK2 \u0438 ACPICA-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c\u0438.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u043f\u043e\u0434 Windows, \u0438 \u043f\u043e\u0434 Linux, ACPI-\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043e\u0431\u043e\u0438\u043c\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430\u043c\u0438. \u0420\u0430\u0437\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443 \u043f\u043e\u0434\u0441\u0432\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f, \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0438 \u043d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0441\u0442\u0438 \u0432 ASL-\u043a\u043e\u0434\u0435.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/583\/ad2\/3d2\/583ad23d27643331ce587bf781568a71.png\" alt=\"acpi_listen \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e ASL. \u041e\u043d \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0434\u043e\u0448\u043b\u043e \u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0434\u043e Linux user space \u0447\u0435\u0440\u0435\u0437 acpid.\" title=\"acpi_listen \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e ASL. \u041e\u043d \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0434\u043e\u0448\u043b\u043e \u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0434\u043e Linux user space \u0447\u0435\u0440\u0435\u0437 acpid.\" width=\"602\" height=\"339\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/583\/ad2\/3d2\/583ad23d27643331ce587bf781568a71.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/583\/ad2\/3d2\/583ad23d27643331ce587bf781568a71.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>acpi_listen \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e ASL. \u041e\u043d \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0434\u043e\u0448\u043b\u043e \u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0434\u043e Linux user space \u0447\u0435\u0440\u0435\u0437 acpid.<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dad\/d4a\/71f\/dadd4a71fcd9bf6b5e8bca69f151770f.png\" alt=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 acpi_listen \u2014 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435\/\u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u0435 \u044f\u0440\u043a\u043e\u0441\u0442\u0438.\" title=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 acpi_listen \u2014 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435\/\u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u0435 \u044f\u0440\u043a\u043e\u0441\u0442\u0438.\" width=\"602\" height=\"276\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/dad\/d4a\/71f\/dadd4a71fcd9bf6b5e8bca69f151770f.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dad\/d4a\/71f\/dadd4a71fcd9bf6b5e8bca69f151770f.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 acpi_listen \u2014 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435\/\u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u0435 \u044f\u0440\u043a\u043e\u0441\u0442\u0438.<\/figcaption><\/div>\n<\/figure>\n<p>\u0412\u0430\u0436\u043d\u043e \u043d\u0435 \u043f\u0443\u0442\u0430\u0442\u044c \u0443\u0440\u043e\u0432\u043d\u0438. \u0415\u0441\u043b\u0438 acpi_listen \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u044d\u0442\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e ACPI-\u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430\u044f. \u0421\u043e\u0431\u044b\u0442\u0438\u0435 \u043c\u043e\u0433\u043b\u043e \u043d\u0435 \u0434\u043e\u0439\u0442\u0438 \u0434\u043e \u0443\u0440\u043e\u0432\u043d\u044f kernel ACPI, \u043c\u043e\u0433 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c acpid, \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043c\u043e\u0433\u043b\u043e \u0443\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 input subsystem, \u0438\u043b\u0438 \u043e\u043d\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e. \u0421\u0430\u043c acpid \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f user-space \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043e\u0431 ACPI-\u0441\u043e\u0431\u044b\u0442\u0438\u044f\u0445 \u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u0444\u043e\u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441.<\/p>\n<p>\u041a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0434\u043b\u044f GPIO\/GPE-\u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u044d\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043c\u044b \u043e\u043f\u0438\u0441\u0430\u043b\u0438 \u043a\u043d\u043e\u043f\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 _AEI \u0438 _EVT, \u0442\u043e acpi_listen \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u043d\u044f\u0442\u044c: \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u044b\u0448\u043b\u043e \u043d\u0430\u0440\u0443\u0436\u0443 \u0438\u043b\u0438 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0432\u043d\u0443\u0442\u0440\u0438 ACPI-\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430\/\u044f\u0434\u0440\u0430. \u0415\u0441\u043b\u0438 _EVT \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u0434\u0435\u043b\u0430\u0435\u0442 Notify(\\_SB.PWRB, 0x80), \u043d\u043e acpi_listen \u043c\u043e\u043b\u0447\u0438\u0442, \u0437\u043d\u0430\u0447\u0438\u0442 \u043d\u0430\u0434\u043e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e Linux \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b \u044d\u0442\u043e\u0442 Notify() \u0441 button\/input\/acpid-\u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c.<\/p>\n<h3>\u0412\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 GPIO \u2014 GPE<\/h3>\n<p>\u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043c, \u0447\u0442\u043e ACPI \u0443\u043c\u0435\u0435\u0442 \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 GPIO, \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043d\u0435 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e AML \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0441\u0438\u0434\u0438\u0442 \u0432 \u0446\u0438\u043a\u043b\u0435 \u0438 \u043e\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u043f\u0438\u043d\u044b. \u041c\u043e\u0434\u0435\u043b\u044c \u0434\u0440\u0443\u0433\u0430\u044f: \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432 \u041e\u0421 \u043a\u0430\u043a interrupt\/event, ACPI-\u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0435\u0433\u043e \u0441 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c \u0432 namespace, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a AML, \u0430 \u0443\u0436\u0435 \u0442\u043e\u0442 \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u0435\u043b\u0430\u0435\u0442 Notify() \u043d\u0443\u0436\u043d\u043e\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/178\/395\/286\/178395286cd8db1f2a783c8359c0dc9b.png\" alt=\"GPIO-\u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0432 ACPI \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u043e\u0439 \u0432 \u0444\u043e\u043d\u0435. \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u041e\u0421 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 OSPM, \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f AML-\u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u044f\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442.\" title=\"GPIO-\u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0432 ACPI \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u043e\u0439 \u0432 \u0444\u043e\u043d\u0435. \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u041e\u0421 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 OSPM, \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f AML-\u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u044f\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442.\" width=\"602\" height=\"339\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/178\/395\/286\/178395286cd8db1f2a783c8359c0dc9b.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/178\/395\/286\/178395286cd8db1f2a783c8359c0dc9b.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>GPIO-\u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0432 ACPI \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u043e\u0439 \u0432 \u0444\u043e\u043d\u0435. \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u041e\u0421 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 OSPM, \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f AML-\u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u044f\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442.<\/figcaption><\/div>\n<\/figure>\n<h4>GPE: \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c ACPI-\u0441\u043e\u0431\u044b\u0442\u0438\u0439<\/h4>\n<p>\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 ACPI \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 GPE (General-Purpose Events). \u042d\u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043e\u0431\u0449\u0435\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0434\u0435\u043b\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u0439 ACPI. \u0412 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 PC-\u043c\u043e\u0434\u0435\u043b\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 GPE \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 GPE-\u0431\u043b\u043e\u043a\u0438, \u0430\u0434\u0440\u0435\u0441\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u041e\u0421 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0438\u0437 FADT \u0438\u043b\u0438 \u0438\u0437 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 GPE Block Device. \u0412 ACPI \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0447\u0435\u0442\u044b\u0440\u0435 \u0442\u0438\u043f\u0430 GPE: GPE \u0438\u0437 GPE-\u0431\u043b\u043e\u043a\u0430 \u0432 FADT, GPE \u0438\u0437 GPE Block Device, GPIO-signaled events \u0447\u0435\u0440\u0435\u0437 _AEI GPIO-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0438 interrupt-signaled events \u0447\u0435\u0440\u0435\u0437 _CRS Generic Event Device.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bff\/0fb\/aa2\/bff0fbaa2a2f7a1e5f22c845755b977c.png\" alt=\"\u0412 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 ACPI-\u043c\u043e\u0434\u0435\u043b\u0438 GPIO-\u0441\u043e\u0431\u044b\u0442\u0438\u044f \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 GPE-\u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0438, \u0430 \u043d\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u043c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u043c.\" title=\"\u0412 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 ACPI-\u043c\u043e\u0434\u0435\u043b\u0438 GPIO-\u0441\u043e\u0431\u044b\u0442\u0438\u044f \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 GPE-\u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0438, \u0430 \u043d\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u043c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u043c.\" width=\"602\" height=\"339\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/bff\/0fb\/aa2\/bff0fbaa2a2f7a1e5f22c845755b977c.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bff\/0fb\/aa2\/bff0fbaa2a2f7a1e5f22c845755b977c.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0412 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 ACPI-\u043c\u043e\u0434\u0435\u043b\u0438 GPIO-\u0441\u043e\u0431\u044b\u0442\u0438\u044f \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 GPE-\u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0438, \u0430 \u043d\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u043c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u043c.<\/figcaption><\/div>\n<\/figure>\n<p>\u0414\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 GPE \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434\u044b \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438:<\/p>\n<pre><code>_Exx - edge-triggered GPE handler=_Lxx - level-triggered GPE handler<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0413\u0434\u0435 xx \u2014 \u043d\u043e\u043c\u0435\u0440 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0432 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u043c \u0432\u0438\u0434\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code>Scope (\\_GPE){    Method (_E17, 0, NotSerialized)    {        Notify (\\_SB.PWRB, 0x80)    }    Method (_L1A, 0, NotSerialized)    {        Notify (\\_SB.DEV0, 0x80)    }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041b\u043e\u0433\u0438\u043a\u0430 \u043f\u0440\u043e\u0441\u0442\u0430\u044f:<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/eb7\/a30\/851\/eb7a30851b3697f271770436b4717d2f.png\" alt=\"\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f GPE-\u0446\u0435\u043f\u043e\u0447\u043a\u0430: hardware \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 status bit, SCI \u0431\u0443\u0434\u0438\u0442 ACPI-\u0434\u0440\u0430\u0439\u0432\u0435\u0440, ACPI-\u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 AML-\u043c\u0435\u0442\u043e\u0434.\" title=\"\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f GPE-\u0446\u0435\u043f\u043e\u0447\u043a\u0430: hardware \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 status bit, SCI \u0431\u0443\u0434\u0438\u0442 ACPI-\u0434\u0440\u0430\u0439\u0432\u0435\u0440, ACPI-\u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 AML-\u043c\u0435\u0442\u043e\u0434.\" width=\"602\" height=\"339\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/eb7\/a30\/851\/eb7a30851b3697f271770436b4717d2f.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/eb7\/a30\/851\/eb7a30851b3697f271770436b4717d2f.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f GPE-\u0446\u0435\u043f\u043e\u0447\u043a\u0430: hardware \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 status bit, SCI \u0431\u0443\u0434\u0438\u0442 ACPI-\u0434\u0440\u0430\u0439\u0432\u0435\u0440, ACPI-\u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 AML-\u043c\u0435\u0442\u043e\u0434.<\/figcaption><\/div>\n<\/figure>\n<h4>GPIO-signaled events \u043d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 SoC<\/h4>\n<p>\u041d\u0430 SoC-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 \u0447\u0430\u0441\u0442\u043e \u043d\u0435\u0442 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 PC-\u043b\u043e\u0433\u0438\u043a\u0438 \u0441 PM1\/GPE-\u0431\u043b\u043e\u043a\u0430\u043c\u0438 \u0432 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e\u043c \u0432\u0438\u0434\u0435. \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f GPIO \u0438\u043b\u0438 platform IRQ. \u0412 ACPI \u044d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f GPIO-signaled ACPI Events. \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f ACPI \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043d\u0430 hardware-reduced ACPI \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 ACPI-\u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 GPIO interrupt, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e\u0442 GPIO interrupt \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 _AEI GPIO-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u0422\u0430\u043a\u0438\u0435 interrupt\u2019\u044b \u0437\u0430\u0431\u0438\u0440\u0430\u0435\u0442 OSPM \u0438 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441 ACPI event method.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/35a\/c60\/864\/35ac6086440b42ea7a525bf20c68b73f.png\" alt=\"\u0414\u043b\u044f GPIO-signaled events \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a _EVT \u0434\u043e\u043b\u0436\u0435\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432 scope \u0442\u043e\u0433\u043e GPIO-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u0447\u044c\u0438 \u043f\u0438\u043d\u044b \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0432 _AEI.\" title=\"\u0414\u043b\u044f GPIO-signaled events \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a _EVT \u0434\u043e\u043b\u0436\u0435\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432 scope \u0442\u043e\u0433\u043e GPIO-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u0447\u044c\u0438 \u043f\u0438\u043d\u044b \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0432 _AEI.\" width=\"602\" height=\"339\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/35a\/c60\/864\/35ac6086440b42ea7a525bf20c68b73f.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/35a\/c60\/864\/35ac6086440b42ea7a525bf20c68b73f.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0414\u043b\u044f GPIO-signaled events \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a _EVT \u0434\u043e\u043b\u0436\u0435\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432 scope \u0442\u043e\u0433\u043e GPIO-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u0447\u044c\u0438 \u043f\u0438\u043d\u044b \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0432 _AEI.<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 ACPI \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 GPIO-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0441 _CRS \u0438 _AEI: _CRS \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 MMIO-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0438 \u0435\u0433\u043e interrupt line, \u0430 _AEI \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0435\u0442 GPIO interrupt connections, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f OSPM \u043a\u0430\u043a ACPI-\u0441\u043e\u0431\u044b\u0442\u0438\u044f. \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043e\u0434\u0438\u043d \u043f\u0438\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a thermal zone event, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u043a\u0430\u043a power button \u0441 wake-\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\n<p>\u0423\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code>Device (\\_SB.GPI2){    Name (_HID, \"XYZ0003\")    Name (_UID, 2)    Name (_CRS, ResourceTemplate ()    {        \/\/ MMIO-\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b GPIO-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430        Memory32Fixed (ReadWrite, 0x30000000, 0x200)        \/\/ IRQ \u0441\u0430\u043c\u043e\u0433\u043e GPIO-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0432 interrupt controller        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive)        {            21        }    })    Name (_AEI, ResourceTemplate ()    {        \/\/ GPIO 14: \u0441\u043e\u0431\u044b\u0442\u0438\u0435 thermal zone        GpioInt (Edge, ActiveHigh, Exclusive, PullDown, , \"\\\\_SB.GPI2\")        {            14        }        \/\/ GPIO 36: power button, wake-capable        GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, , \"\\\\_SB.GPI2\")        {            36        }    })    Method (_EVT, 1, NotSerialized)    {        Switch (ToInteger (Arg0))        {            Case (14)            {                Notify (\\_TZ.TZ00, 0x80)            }            Case (36)            {                Notify (\\_SB.PWRB, 0x80)            }        }    }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c _EVT \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0432 Arg0 \u043d\u043e\u043c\u0435\u0440 GPIO-\u043f\u0438\u043d\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0437\u0432\u0430\u043b \u0441\u043e\u0431\u044b\u0442\u0438\u0435. \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0434\u043b\u044f GPIO-signaled events _EVT \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u2014 controller-relative zero-based GPIO pin number, \u0430 OSPM \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 _EVT \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 interrupt\u2019\u0430, \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432 _AEI.<\/p>\n<p>_AEI (ACPI Event Information object) \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u041e\u0421: \u00ab\u0432\u043e\u0442 \u044d\u0442\u0438 GPIO interrupt\u2019\u044b \u043d\u0435 \u043d\u0430\u0434\u043e \u043e\u0442\u0434\u0430\u0432\u0430\u0442\u044c \u043e\u0431\u044b\u0447\u043d\u043e\u043c\u0443 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0443 \u043a\u0430\u043a \u0440\u0435\u0441\u0443\u0440\u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430; \u0438\u0445 \u043d\u0430\u0434\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c ACPI-\u0441\u043e\u0431\u044b\u0442\u0438\u044f\u043c\u0438\u00bb. \u042d\u0442\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 GPIO interrupt \u0432 _CRS \u043a\u0430\u043a\u043e\u0433\u043e-\u043d\u0438\u0431\u0443\u0434\u044c peripheral device.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/724\/321\/74c\/72432174cef8c1af1db1324ce347a203.png\" alt=\"GpioInt \u0432 _CRS \u0438 GpioInt \u0432 _AEI \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043f\u043e\u0445\u043e\u0436\u0435, \u043d\u043e \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430 \u0440\u0430\u0437\u043d\u0430\u044f.\" title=\"GpioInt \u0432 _CRS \u0438 GpioInt \u0432 _AEI \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043f\u043e\u0445\u043e\u0436\u0435, \u043d\u043e \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430 \u0440\u0430\u0437\u043d\u0430\u044f.\" width=\"602\" height=\"339\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/724\/321\/74c\/72432174cef8c1af1db1324ce347a203.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/724\/321\/74c\/72432174cef8c1af1db1324ce347a203.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>GpioInt \u0432 _CRS \u0438 GpioInt \u0432 _AEI \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043f\u043e\u0445\u043e\u0436\u0435, \u043d\u043e \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430 \u0440\u0430\u0437\u043d\u0430\u044f.<\/figcaption><\/div>\n<\/figure>\n<p>\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e \u044d\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0447\u0430\u0441\u0442\u044b\u0445 \u043b\u043e\u0432\u0443\u0448\u0435\u043a. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0432\u0438\u0434\u0438\u0442 GpioInt, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0435\u0433\u043e \u0432 _CRS \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u043e\u0436\u0438\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u043d AML-\u043c\u0435\u0442\u043e\u0434. \u041d\u043e \u0435\u0441\u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e ACPI event model, interrupt \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d \u0432 _AEI GPIO-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 _CRS \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430.<\/p>\n<p><strong>_EVT, _Exx \u0438 _Lxx<\/strong><\/p>\n<p>\u0414\u043b\u044f GPIO-signaled events \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u2014 _EVT. \u041e\u043d \u0443\u0434\u043e\u0431\u0435\u043d \u0442\u0435\u043c, \u0447\u0442\u043e \u043e\u0434\u0438\u043d \u043c\u0435\u0442\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 ACPI GPIO events \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430:<\/p>\n<pre><code>Method (_EVT, 1, NotSerialized){    Switch (Arg0)    {        Case (0x10)        {            Notify (\\_SB.DEV0, 0x80)        }        Case (0x24)        {            Notify (\\_SB.PWRB, 0x80)        }    }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041d\u043e \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441: \u0434\u043b\u044f \u043d\u043e\u043c\u0435\u0440\u043e\u0432 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043c\u0435\u043d\u044c\u0448\u0435 255 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f \u0442\u0430\u043a\u0436\u0435 _Exx \u0438 _Lxx, \u0438 \u043e\u043d\u0438 \u0438\u043c\u0435\u044e\u0442 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u043d\u0430\u0434 _EVT. \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0434\u043b\u044f GPIO event numbers \u043c\u0435\u043d\u044c\u0448\u0435 255 \u043c\u0435\u0442\u043e\u0434\u044b _Exx \u0438 _Lxx \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u043e _EVT. \u0415\u0441\u043b\u0438 \u043e\u043d\u0438 \u0435\u0441\u0442\u044c, _EVT \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a3f\/019\/d7e\/a3f019d7e385e51f0ae93d2ed143daaa.png\" alt=\"\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 GPIO-signaled events: \u0434\u043b\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043c\u0435\u043d\u044c\u0448\u0435 255 _Exx\/_Lxx \u043c\u043e\u0433\u0443\u0442 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0442\u044c _EVT.\" title=\"\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 GPIO-signaled events: \u0434\u043b\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043c\u0435\u043d\u044c\u0448\u0435 255 _Exx\/_Lxx \u043c\u043e\u0433\u0443\u0442 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0442\u044c _EVT.\" width=\"602\" height=\"339\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/a3f\/019\/d7e\/a3f019d7e385e51f0ae93d2ed143daaa.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a3f\/019\/d7e\/a3f019d7e385e51f0ae93d2ed143daaa.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 GPIO-signaled events: \u0434\u043b\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043c\u0435\u043d\u044c\u0448\u0435 255 _Exx\/_Lxx \u043c\u043e\u0433\u0443\u0442 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0442\u044c _EVT.<\/figcaption><\/div>\n<\/figure>\n<h4>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435: \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 GPE \u0438 GPIO-signaled event<\/h4>\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043d\u0430 \u043f\u043b\u0430\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0430 \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u0437\u0430\u0432\u0435\u0434\u0435\u043d\u0430 \u043d\u0430 GPIO 36 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 GPI2. \u0410\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e \u043b\u0438\u043d\u0438\u044f \u043f\u043e\u0434\u0442\u044f\u043d\u0443\u0442\u0430 \u0432\u0432\u0435\u0440\u0445, \u043f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u0443\u0445\u043e\u0434\u0438\u0442 \u0432 \u043d\u043e\u043b\u044c. \u0417\u043d\u0430\u0447\u0438\u0442, \u0432 ACPI \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 ActiveLow, \u043e\u0431\u044b\u0447\u043d\u043e Edge, \u0438 \u0435\u0441\u043b\u0438 \u043a\u043d\u043e\u043f\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u0443\u0434\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 (ExclusiveAndWake).<\/p>\n<pre><code>Device (\\_SB.GPI2){    Name (_HID, \"XYZ0003\")    Name (_UID, 2)    Name (_CRS, ResourceTemplate ()    {        Memory32Fixed (ReadWrite, 0x30000000, 0x200)        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 21 }    })    Name (_AEI, ResourceTemplate ()    {        GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, , \"\\\\_SB.GPI2\")        {            36        }    })    Method (_EVT, 1, NotSerialized)    {        If (Arg0 == 36)        {            Notify (\\_SB.PWRB, 0x80)        }    }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 DSDT\/SSDT, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0438\u0441\u044c \u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u041e\u0447\u0435\u043d\u044c \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0443\u0436\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d, \u043d\u043e \u0432 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 image \u043f\u043e\u043f\u0430\u043b\u0430 \u0441\u0442\u0430\u0440\u0430\u044f AML-\u0442\u0430\u0431\u043b\u0438\u0446\u0430. \u041d\u0430 Linux \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u0441:<\/p>\n<pre><code>sudo acpidump &gt; acpi.datacpixtract -a acpi.datiasl -d dsdt.datiasl -d ssdt*.dat<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0438\u0449\u0435\u043c:<\/p>\n<pre><code>_AEI_EVTGpioInt_PRW_PSW_DSWNotify<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0444\u0440\u043e\u043d\u0442 \u043d\u0430 \u043f\u0438\u043d\u0435 \u0435\u0441\u0442\u044c, \u043d\u043e _EVT \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043e\u0431\u044b\u0447\u043d\u043e \u0432 _AEI, IRQ GPIO-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, polarity\/trigger \u0438\u043b\u0438 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u041e\u0421 \u043d\u0435 \u0437\u0430\u0431\u0440\u0430\u043b\u0430 \u044d\u0442\u043e\u0442 interrupt \u043a\u0430\u043a ACPI event. \u0415\u0441\u043b\u0438 _EVT \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043d\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043d\u0435 \u0440\u0435\u0430\u0433\u0438\u0440\u0443\u0435\u0442, \u0441\u043c\u043e\u0442\u0440\u0438\u043c Notify() \u0438 \u043e\u0431\u044a\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043e\u043d \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f.<\/p>\n<h3>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 ACPI-\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438<\/h3>\n<p>\u0420\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440: \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043a\u043d\u043e\u043f\u043e\u043a \u044f\u0440\u043a\u043e\u0441\u0442\u0438 LVDS-\u043f\u0430\u043d\u0435\u043b\u0438. \u041d\u0430 \u043f\u043b\u0430\u0442\u0435 \u0435\u0441\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0438 BKL_UP \u0438 BKL_DOWN, \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 GPIO-\u043b\u0438\u043d\u0438\u0438. \u041d\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0436\u0430\u0442\u0438\u0435 \u044d\u0442\u0438\u0445 \u043a\u043d\u043e\u043f\u043e\u043a \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043c\u0435\u043d\u044f\u043b\u043e \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0430 \u043f\u0438\u043d\u0435, \u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b\u043e\u0441\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u043a\u0430\u043a ACPI-\u0441\u043e\u0431\u044b\u0442\u0438\u0435.<\/p>\n<p>\u0412 \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043d\u0434\u0430 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0438\u043d\u044b, \u043f\u0443\u0441\u0442\u044c \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442  \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f BKL_DOWN, BKL_UP, Panel_ON\/OFF_IN, Panel_ON\/OFF_OUT, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u044f\u0440\u043a\u043e\u0441\u0442\u044c\u044e \u0438 LVDS-\u043f\u0430\u043d\u0435\u043b\u044c\u044e. \u0422\u0430\u043c \u0436\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 \u043b\u0438\u043d\u0438\u0438 GPIO_D20-23.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8c1\/2ca\/462\/8c12ca462d1e3c907c3f41e3bbedc76c.png\" alt=\"\u041e\u0431\u0449\u0430\u044f \u0446\u0435\u043f\u043e\u0447\u043a\u0430: \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430 \u2192 GPIO pad \u2192 GPE mapping \u2192 AML-\u043c\u0435\u0442\u043e\u0434 \u2192 Notify() \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443.\" title=\"\u041e\u0431\u0449\u0430\u044f \u0446\u0435\u043f\u043e\u0447\u043a\u0430: \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430 \u2192 GPIO pad \u2192 GPE mapping \u2192 AML-\u043c\u0435\u0442\u043e\u0434 \u2192 Notify() \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443.\" width=\"602\" height=\"339\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/8c1\/2ca\/462\/8c12ca462d1e3c907c3f41e3bbedc76c.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8c1\/2ca\/462\/8c12ca462d1e3c907c3f41e3bbedc76c.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041e\u0431\u0449\u0430\u044f \u0446\u0435\u043f\u043e\u0447\u043a\u0430: \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430 \u2192 GPIO pad \u2192 GPE mapping \u2192 AML-\u043c\u0435\u0442\u043e\u0434 \u2192 Notify() \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443.<\/figcaption><\/div>\n<\/figure>\n<p>\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c:<\/p>\n<ol>\n<li>\n<p>\u043a\u0430\u043a\u043e\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0441 \u043a\u043d\u043e\u043f\u043a\u0438,<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430 \u043a\u0430\u043a\u043e\u0439 GPIO pad \u043e\u043d \u0437\u0430\u0432\u0435\u0434\u0435\u043d,<\/p>\n<\/li>\n<li>\n<p>\u043a\u0430\u043a\u0430\u044f \u0443 \u043d\u0435\u0433\u043e \u043f\u043e\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c,<\/p>\n<\/li>\n<li>\n<p>\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u043e\u043d \u0432\u0445\u043e\u0434\u043e\u043c \u0438\u043b\u0438 \u0432\u044b\u0445\u043e\u0434\u043e\u043c,<\/p>\n<\/li>\n<li>\n<p>\u0434\u043e\u043b\u0436\u0435\u043d \u043b\u0438 \u043e\u043d \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c interrupt,<\/p>\n<\/li>\n<li>\n<p>\u043a\u043e\u043c\u0443 \u0432 \u041e\u0421 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u0435.<\/p>\n<\/li>\n<\/ol>\n<p>\u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043b\u044f \u043a\u043d\u043e\u043f\u043e\u043a \u044f\u0440\u043a\u043e\u0441\u0442\u0438 \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code>BKL_UP        -&gt; GPIO_D21 \/ GPP_D21BKL_DOWN      -&gt; GPIO_D22 \/ GPP_D22Panel_ON\/OFF  -&gt; GPIO_D20 \/ GPP_D20<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412 \u043d\u0430\u0448\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u043d\u043e\u043f\u043e\u043a LVDS \u043d\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u0435 \u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u043f\u0430\u043d\u0435\u043b\u0438 CON_BKL LVDS, \u0433\u0434\u0435 \u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u044e\u0442 \u043b\u0438\u043d\u0438\u0438 BKL_UP_CON \u0438 BKL_DOWN_CON.<\/p>\n<p>\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u044b\u0439 \u0441\u043c\u044b\u0441\u043b \u0437\u0434\u0435\u0441\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439: ACPI \u043d\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443 \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0438. \u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u0435\u0440\u0435\u043f\u0443\u0442\u0430\u0435\u043c BKL_UP \u0438 BKL_DOWN \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 GPIO-map, \u0442\u043e AML \u0431\u0443\u0434\u0435\u0442 \u0447\u0435\u0441\u0442\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0435 \u0442\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f. \u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u041e\u0421 \u0432\u0441\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043d\u043e\u043f\u043a\u0430 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u044f\u0440\u043a\u043e\u0441\u0442\u0438 \u0431\u0443\u0434\u0435\u0442 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0442\u044c \u044f\u0440\u043a\u043e\u0441\u0442\u044c.<\/p>\n<h4>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c GPIO pad<\/h4>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b GPIO-\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438: <\/p>\n<ul>\n<li>\n<p>PadMode \u2014 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0440\u0435\u0436\u0438\u043c \u0432\u044b\u0432\u043e\u0434\u0430: \u043e\u0431\u044b\u0447\u043d\u044b\u0439 GPIO \u0438\u043b\u0438 native-\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 I2C, SPI, UART, reset, clock request. \u0414\u043b\u044f ACPI-\u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043e\u0442 \u043a\u043d\u043e\u043f\u043e\u043a \u043d\u0443\u0436\u0435\u043d GPIO-\u0440\u0435\u0436\u0438\u043c, \u0438\u043d\u0430\u0447\u0435 GPIO-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0443\u0440\u043e\u0432\u043d\u044f \u043a\u0430\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u0435.<\/p>\n<\/li>\n<li>\n<p>HostSoftPadOwn \u2014 \u0437\u0430\u0434\u0430\u0435\u0442 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 pad \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b host software. \u0414\u043b\u044f \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e GPIO-\u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u043f\u0438\u043d \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442\u044c GPIO-\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0443, \u043d\u043e \u0434\u043b\u044f SCI\/GPE-\u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043d\u0443\u0436\u0435\u043d ACPI ownership. \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0438\u0434\u0435\u0442 \u043d\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0430 \u0432 ACPI-\u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u041e\u0421, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 AML-\u043c\u0435\u0442\u043e\u0434.<\/p>\n<\/li>\n<li>\n<p>Direction \u2014 \u0437\u0430\u0434\u0430\u0435\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u0430: \u0432\u0445\u043e\u0434 \u0438\u043b\u0438 \u0432\u044b\u0445\u043e\u0434. \u041a\u043d\u043e\u043f\u043a\u0438 \u0432\u0440\u043e\u0434\u0435 BKL_UP \u0438 BKL_DOWN \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0432\u0445\u043e\u0434\u0430\u043c\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0441\u0438\u0433\u043d\u0430\u043b \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0441 \u043f\u043b\u0430\u0442\u044b \u0432 SoC\/PCH. \u0414\u043b\u044f enable-\u043b\u0438\u043d\u0438\u0439, reset-\u043b\u0438\u043d\u0438\u0439 \u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u0445\u043e\u0434.<\/p>\n<\/li>\n<li>\n<p>OutputState \u2014 \u0437\u0430\u0434\u0430\u0435\u0442 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c GPIO, \u0435\u0441\u043b\u0438 \u043f\u0438\u043d \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u043a\u0430\u043a \u0432\u044b\u0445\u043e\u0434. \u0414\u043b\u044f \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043d\u043e\u043f\u043e\u043a \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0430 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u0438\u043b\u0438 panel enable \u0432\u0430\u0436\u043d\u043e \u044f\u0432\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c.<\/p>\n<\/li>\n<li>\n<p>InterruptConfig \u2014 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442, \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043b\u0438 GPIO \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435, \u043a\u0430\u043a\u043e\u0433\u043e \u043e\u043d\u043e \u0442\u0438\u043f\u0430 \u0438 \u043a\u0443\u0434\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f. \u0414\u043b\u044f ACPI-\u043a\u043d\u043e\u043f\u043e\u043a \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f GpioIntEdge | GpioIntSci: \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043f\u043e \u0444\u0440\u043e\u043d\u0442\u0443 \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 ACPI \u0447\u0435\u0440\u0435\u0437 SCI. \u0414\u0430\u043b\u044c\u0448\u0435 \u041e\u0421 \u0447\u0438\u0442\u0430\u0435\u0442 GPE status \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 _Exx \u0438\u043b\u0438 _Lxx.<\/p>\n<\/li>\n<li>\n<p>PowerConfig \u2014 \u0437\u0430\u0434\u0430\u0435\u0442 reset domain, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0438 \u043a\u0430\u043a\u043e\u043c reset \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f pad \u0431\u0443\u0434\u0435\u0442 \u0441\u0431\u0440\u043e\u0448\u0435\u043d\u0430. \u042d\u0442\u043e \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f sleep\/wake-\u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432: \u0435\u0441\u043b\u0438 GPIO \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u0443\u0434\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0438\u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u0439\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435 resume, reset domain \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d \u043e\u0441\u043e\u0437\u043d\u0430\u043d\u043d\u043e.<\/p>\n<\/li>\n<li>\n<p>ElectricalConfig \u2014 \u0437\u0430\u0434\u0430\u0435\u0442 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e pad: \u0431\u0435\u0437 \u043f\u043e\u0434\u0442\u044f\u0436\u043a\u0438, pull-up \u0438\u043b\u0438 pull-down. \u0414\u043b\u044f \u043a\u043d\u043e\u043f\u043e\u043a \u044d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e: \u0435\u0441\u043b\u0438 \u043b\u0438\u043d\u0438\u044f \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u043f\u043e\u0434\u0442\u044f\u0436\u043a\u0438 \u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0442\u043e\u0436\u0435 \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430, \u0432\u0445\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u00ab\u043f\u043b\u0430\u0432\u0430\u0442\u044c\u00bb \u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u043e\u0436\u043d\u044b\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p>LockConfig \u2014 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e pad \u043f\u043e\u0441\u043b\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u041d\u0430 \u044d\u0442\u0430\u043f\u0435 bring-up \u043f\u0438\u043d\u044b \u0447\u0430\u0441\u0442\u043e \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 unlocked, \u0447\u0442\u043e\u0431\u044b \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u043a\u0443. \u0414\u043b\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0445 GPIO \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043e\u0431\u044b\u0447\u043d\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0442, \u0447\u0442\u043e\u0431\u044b \u041e\u0421 \u0438\u043b\u0438 runtime-\u043a\u043e\u0434 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438 \u0440\u0435\u0436\u0438\u043c, \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 routing.<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043b\u044f \u043a\u043d\u043e\u043f\u043e\u043a \u044f\u0440\u043a\u043e\u0441\u0442\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043e\u0431\u044b\u0447\u043d\u043e \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0442\u0430\u043a\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0435:<\/p>\n<p>GPIO pad \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 GPIO -&gt; ownership \u0443 ACPI -&gt; \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 input -&gt; \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043f\u043e \u0444\u0440\u043e\u043d\u0442\u0443 -&gt; \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u0432 SCI -&gt; GPE mapping -&gt; AML-\u043c\u0435\u0442\u043e\u0434 _Exx -&gt; Notify() \u043d\u0443\u0436\u043d\u043e\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438:<\/p>\n<pre><code>GLOBAL_REMOVE_IF_UNREFERENCED GPIO_INIT_CONFIG mGpioTablePostMem[] = {  \/\/ PANEL_ON\/OFF_OUT  { GPIO_VER4_S_GPP_D20, { GpioPadModeGpio, GpioHostOwnGpio,    GpioDirOut, GpioOutLow, GpioIntDefault,    GpioPlatformReset, GpioTermNone, GpioPadConfigUnlock } },  \/\/ PANEL_ON\/OFF_IN  { GPIO_VER4_S_GPP_D21, { GpioPadModeGpio, GpioHostOwnAcpi,    GpioDirInInv, GpioOutDefault, GpioIntEdge | GpioIntSci,    GpioHostDeepReset, GpioTermNone, GpioPadConfigUnlock } },  \/\/ BKL_UP  { GPIO_VER4_S_GPP_D22, { GpioPadModeGpio, GpioHostOwnAcpi,    GpioDirInInv, GpioOutDefault, GpioIntEdge | GpioIntSci,    GpioHostDeepReset, GpioTermNone, GpioPadConfigUnlock } },  \/\/ BKL_DOWN  { GPIO_VER4_S_GPP_D23, { GpioPadModeGpio, GpioHostOwnAcpi,    GpioDirInInv, GpioOutDefault, GpioIntEdge | GpioIntSci,    GpioHostDeepReset, GpioTermNone, GpioPadConfigUnlock } },};<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u043a\u0430 GPIO \u043d\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u043a\u0430\u043a ACPI-owned \u0438 SCI-capable, \u043d\u0438\u043a\u0430\u043a\u043e\u0439 AML-\u043c\u0435\u0442\u043e\u0434 \u043d\u0435 \u0441\u043f\u0430\u0441\u0435\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e. \u041c\u0435\u0442\u043e\u0434 _E16 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d, \u043d\u043e \u0435\u0441\u043b\u0438 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439 interrupt \u043d\u0435 \u043f\u043e\u043f\u0430\u043b \u0432 GPE-\u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0443, \u041e\u0421 \u0435\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0443\u0432\u0438\u0434\u0438\u0442.<\/p>\n<h4>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c GPIO \u0432 GPE-\u0433\u0440\u0443\u043f\u043f\u0443<\/h4>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u044c: \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0430\u043c GPIO pad \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u041d\u0443\u0436\u043d\u043e \u0435\u0449\u0435 \u043f\u0440\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u043e\u0442 GPIO-\u0433\u0440\u0443\u043f\u043f\u044b \u043a GPE-\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c. \u0411\u0435\u0437 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0438\u043d\u043e\u0432 \u0432 GPE-\u0433\u0440\u0443\u043f\u043f\u0443 \u043e\u043d\u0438 \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u044f\u0442\u0441\u044f \u0432 \u0442\u044b\u043a\u0432\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u0440\u0435\u0430\u0433\u0438\u0440\u0443\u0435\u0442 \u043d\u0430 \u0432\u043e\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435. \u0422\u0430\u043c \u0436\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f GPE_DWx, \u0430 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 GPE double word \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e 32 \u043f\u0438\u043d\u0430, \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f\u044b \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0430\u043f\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d DW \u0437\u0430 \u0440\u0430\u0437.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2d4\/56a\/168\/2d456a168f88d677678a27ee19572895.png\" alt=\"\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b GPE \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c mapping \u0441\u0440\u0430\u0437\u0443 \u0432 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u0442\u0430\u0445: \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b PMC \u0438 \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b GPIO community.\" title=\"\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b GPE \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c mapping \u0441\u0440\u0430\u0437\u0443 \u0432 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u0442\u0430\u0445: \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b PMC \u0438 \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b GPIO community.\" width=\"602\" height=\"339\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/2d4\/56a\/168\/2d456a168f88d677678a27ee19572895.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2d4\/56a\/168\/2d456a168f88d677678a27ee19572895.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b GPE \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c mapping \u0441\u0440\u0430\u0437\u0443 \u0432 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u0442\u0430\u0445: \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b PMC \u0438 \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b GPIO community.<\/figcaption><\/div>\n<\/figure>\n<p>\u0412 \u043a\u043e\u0434\u0435 \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0430\u043a \u0434\u0432\u0430 \u0443\u0440\u043e\u0432\u043d\u044f.<\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0432 PMC:<\/p>\n<pre><code>VOIDPmcSetGpioGpe (  IN UINT32 GpeDw0Value,  IN UINT32 GpeDw1Value,  IN UINT32 GpeDw2Value  ){  UINT32 Data32Or;  UINT32 Data32And;  Data32And = (UINT32) ~(B_PMC_PWRM_GPIO_CFG_GPE0_DW2 |                         B_PMC_PWRM_GPIO_CFG_GPE0_DW1 |                         B_PMC_PWRM_GPIO_CFG_GPE0_DW0);  Data32Or = (UINT32) ((GpeDw2Value &lt;&lt; N_PMC_PWRM_GPIO_CFG_GPE0_DW2) |                       (GpeDw1Value &lt;&lt; N_PMC_PWRM_GPIO_CFG_GPE0_DW1) |                       (GpeDw0Value &lt;&lt; N_PMC_PWRM_GPIO_CFG_GPE0_DW0));  MmioAndThenOr32 (    (PCH_PWRM_BASE_ADDRESS + R_PMC_PWRM_GPIO_CFG),    Data32And,    Data32Or    );}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u043e\u0431\u0435\u0440\u0442\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 GPIO group\/DW \u0438 GPE_DWx, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u0442 \u0438 PMC, \u0438 GPIO community MISCCFG. \u0412 GpioSetGroupDwToGpeDwX() \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0433\u0440\u0443\u043f\u043f, \u0438\u0449\u0435\u0442\u0441\u044f mapping \u0447\u0435\u0440\u0435\u0437 GpioGetGroupToGpeMapping(), \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f PmcSetGpioGpe(), \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0431\u0438\u0442\u044b GPE0_DW0\/DW1\/DW2 \u0432 GPIO MISCCFG.<\/p>\n<h4>\u041f\u0438\u0448\u0435\u043c ACPI-\u043c\u0435\u0442\u043e\u0434\u044b _E15, _E16, _E17<\/h4>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 GPIO \u0438 GPE \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b, \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a AML. _Exx \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u0438\u0437 ACPI GPE naming convention. \u041f\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 ACPI \u2014 \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 GPE, OSPM \u0438\u0449\u0435\u0442 \u043c\u0435\u0442\u043e\u0434 \u0432\u0438\u0434\u0430 \\_GPE._Txx, \u0433\u0434\u0435 xx \u044d\u0442\u043e hex-\u043d\u043e\u043c\u0435\u0440 \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u0430 T \u044d\u0442\u043e \u0442\u0438\u043f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438:<\/p>\n<ul>\n<li>\n<p>E \u0434\u043b\u044f edge-triggered,<\/p>\n<\/li>\n<li>\n<p>L \u0434\u043b\u044f level-triggered.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c GPE 0x16 + edge = _E16. \u0414\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u043a\u043d\u043e\u043f\u043e\u043a GPPD21 \u0438\u043c\u0435\u0435\u0442 value 0x15 = _E15, GPPD22 \u0438\u043c\u0435\u0435\u0442 value 0x16 = _E16, GPPD23 \u0438\u043c\u0435\u0435\u0442 value 0x17 = _E17.<\/p>\n<p>0x86 \u0438 0x87 \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430. \u042d\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 ACPI video output notifications:<\/p>\n<ul>\n<li>\n<p>0x86 = Increase Brightness,<\/p>\n<\/li>\n<li>\n<p>0x87 = Decrease Brightness.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043b\u043e\u0433\u0438\u043a\u0430 \u0442\u0430\u043a\u0430\u044f:<\/p>\n<p>_E15 -&gt; \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c Panel ON\/OFF<br \/>_E16 -&gt; BKL_UP<br \/>_E17 -&gt; BKLDOWN <\/p>\n<p>\u0413\u043e\u0442\u043e\u0432\u044b\u0439 ASL-\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442:<\/p>\n<pre><code>\/\/\/\/ AdvancedFeaturesBegin\/\/\/\/ PANEL_ON_OFFMethod (_E15, 0, Serialized){    Store (PENL, Local0)    If (LEqual (Local0, 1))    {        Store (0, PENL)    }    Else    {        Store (1, PENL)    }}\/\/ BKL_UPMethod (_E16, 0, Serialized){    Notify (\\_SB.PC00.GFX0.DD1F, 0x86)}\/\/ BKL_DOWNMethod (_E17, 0, Serialized){    Notify (\\_SB.PC00.GFX0.DD1F, 0x87)}\/\/\/\/ AdvancedFeaturesEnd\/\/<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \\_SB.PC00.GFX0.DD1F \u2014 \u0446\u0435\u043b\u0435\u0432\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0430\u043d\u0435\u043b\u0438\/eDP, \u0430 0x86 \u0438 0x87 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044f \u044f\u0440\u043a\u043e\u0441\u0442\u0438. \u042d\u0442\u0438 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f, \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u043a\u0430\u043a BKLUP \u0438 BKLDOWN: _E16 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 Notify(&#8230;, 0x86), \u0430 _E17 \u2014 Notify(&#8230;, 0x87).<\/p>\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e ACPI \u2014 \u044d\u0442\u043e \u043d\u0435 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 BIOS, \u0430 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u043e\u0431\u044b\u0442\u0438\u0439\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c. \u0424\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430 \u043d\u0430 \u043f\u043b\u0430\u0442\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e AML-\u043a\u043e\u0434\u0430, \u0430 AML-\u043a\u043e\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d.<\/p>\n<h3>\u0412\u044b\u0432\u043e\u0434<\/h3>\n<p>\u0414\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 ACPI \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u0442\u0435\u043c, \u0447\u0442\u043e \u043e\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043c\u0438\u0440\u043e\u0432. \u0417\u0434\u0435\u0441\u044c \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0430, \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b SoC, UEFI, AML, \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u041e\u0421, power management \u0438 interrupt routing. \u041e\u0448\u0438\u0431\u043a\u0430 \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u043e\u043b\u0435 _CRS, \u043d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u043f\u043e\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c GpioInt, \u0437\u0430\u0431\u044b\u0442\u044b\u0439 DEP \u0438\u043b\u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0432 _PRW \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043a\u0430\u043a \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430, \u044f\u0434\u0440\u0430 \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 \u0434\u0435\u0444\u0435\u043a\u0442, \u0445\u043e\u0442\u044f \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u043b\u0435\u0436\u0438\u0442 \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u0427\u0435\u0440\u0435\u0437 ACPI \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, interrupt controllers, GPIO, I2C, SPI, PCIe, thermal zones, battery, sleep states, wake events, power resources \u0438 vendor-specific \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u041d\u043e \u0437\u0430 \u044d\u0442\u0443 \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043b\u0430\u0442\u0438\u0442\u044c \u0434\u0438\u0441\u0446\u0438\u043f\u043b\u0438\u043d\u043e\u0439: \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446, \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u043e\u0439 \u0432 AML, \u0432\u043b\u0430\u0434\u0435\u043d\u0438\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438 \u0438 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0436\u0435\u043b\u0435\u0437\u0435.<\/p>\n<p><strong>\u0415\u0441\u043b\u0438 \u041e\u0421 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u043b\u0430, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u0435\u0439 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438.<\/strong><\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1048706\/\">https:\/\/habr.com\/ru\/articles\/1048706\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p> \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u2014 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440, \u043f\u0430\u043c\u044f\u0442\u044c \u0438 \u043d\u0430\u0431\u043e\u0440 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. \u0417\u0430 \u0432\u0438\u0434\u0438\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0441\u043b\u043e\u0439 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e, \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u043e\u0439 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c. \u0418\u043c\u0435\u043d\u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u043e\u0435 \u0440\u0435\u0448\u0430\u044e\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u043c\u0438 \u0441\u043d\u0430 \u0438 \u043f\u0440\u043e\u0431\u0443\u0436\u0434\u0435\u043d\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u044e\u0442.\u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0442\u0430\u043a\u043e\u0433\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f ACPI (Advanced Configuration and Power Interface). \u042d\u0442\u0430 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438, \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c \u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u043d\u0430\u0442\u044c \u0432\u0441\u0435 \u0434\u0435\u0442\u0430\u043b\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u043e\u0439 \u043f\u043b\u0430\u0442\u044b \u0438\u043b\u0438 SoC. \u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u044d\u0442\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0432 \u0437\u043e\u043d\u0435 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 BIOS. \u0412 \u043c\u043e\u0434\u0435\u043b\u0438 APM \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u043e\u0441\u044c \u0437\u0430 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u043e\u0439: \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u0433\u043b\u0430 \u043b\u0438\u0448\u044c \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a BIOS \u0437\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u0442\u0435\u0445 \u0438\u043b\u0438 \u0438\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439. \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u043b\u043e\u0445\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f, \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u043b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043d\u043e\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u043b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u041e\u0421. ACPI \u0438\u0437\u043c\u0435\u043d\u0438\u043b \u044d\u0442\u0443 \u043c\u043e\u0434\u0435\u043b\u044c: \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043d\u0430\u0431\u043e\u0440 \u0442\u0430\u0431\u043b\u0438\u0446, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0439 \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u0430 \u0441\u0430\u043c\u0430 \u041e\u0421 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u043c. \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0436\u0435\u043b\u0435\u0437\u043e \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0443. \u041e\u043d\u0430 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u0441\u043b\u0435 \u0441\u0435\u0431\u044f \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b: \u043a\u0430\u043a\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u043f\u043e \u043a\u0430\u043a\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u043c \u043e\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b, \u043a\u0430\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442, \u043a\u0430\u043a\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043a\u0430\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f. \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0447\u0438\u0442\u0430\u0435\u0442 \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435, \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u0435\u0442 AML-\u043a\u043e\u0434 \u0438 \u043d\u0430 \u0438\u0445 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439. \u041d\u043e \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u041e\u0421 \u0441\u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u0438\u043d AML-\u043c\u0435\u0442\u043e\u0434 \u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u043a \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0435\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0439\u0442\u0438 \u0432\u0445\u043e\u0434\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0432 \u043c\u0438\u0440 ACPI. \u042d\u0442\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f RSDP (Root System Description Pointer). \u0427\u0435\u0440\u0435\u0437 \u043d\u0435\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u043a\u043e\u0440\u043d\u0435\u0432\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b RSDT \u0438\u043b\u0438 XSDT, \u0430 \u0443\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 \u043d\u0438\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a\u043e \u0432\u0441\u0435\u043c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c ACPI-\u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c: FADT, DSDT, SSDT, MADT \u0438 \u0434\u0440\u0443\u0433\u0438\u043c. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u044d\u0442\u0430 \u0446\u0435\u043f\u043e\u0447\u043a\u0430: \u043e\u0442 \u043f\u043e\u0438\u0441\u043a\u0430 RSDP \u0432 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f AML-\u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0443\u044e \u0440\u043e\u043b\u044c \u0438\u0433\u0440\u0430\u044e\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u044b ACPI, \u043a\u0430\u043a \u043e\u043d\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0438 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u0437\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u044b GPE, \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u041e\u0421 \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\u043c \u043f\u0438\u0442\u0430\u043d\u0438\u044f, \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 ACPI \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0432\u0430\u0436\u043d\u044b\u0445, \u043d\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b. \u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u0438\u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0437\u0430\u0432\u0435\u0441\u0443 \u043d\u0430\u0434 \u0442\u0435\u043c \u043c\u0435\u0441\u0442\u043e\u043c, \u0433\u0434\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u0440\u0430\u0437\u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c.  \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u041f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0437\u043d\u0430\u0435\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u044e \u043f\u043b\u0430\u0442\u044b: \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u0435\u0441\u0442\u044c \u0432 SoC, \u0433\u0434\u0435 \u0432\u0438\u0441\u044f\u0442 GPIO, \u043a\u0430\u043a\u0438\u0435 \u043b\u0438\u043d\u0438\u0438 \u0437\u0430\u0432\u0435\u0434\u0435\u043d\u044b \u043d\u0430 wake, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f PM-\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b, \u043a\u0430\u043a\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435\u043b\u044c\u0437\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 PCI\/USB \u0438 \u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u0441\u043d\u043e\u043c \u0438\u043b\u0438 \u043f\u0440\u043e\u0431\u0443\u0436\u0434\u0435\u043d\u0438\u0435\u043c. \u041e\u0421, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0435. ACPI \u043a\u0430\u043a \u0440\u0430\u0437 \u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u0440\u044b\u0432: \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435, \u0430 \u041e\u0421 \u0447\u0435\u0440\u0435\u0437 OSPM (Operating System-directed Power Management) \u0431\u0435\u0440\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u0438 \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c \u043d\u0430 \u0441\u0435\u0431\u044f. \u0412 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 ACPI \u043f\u0440\u044f\u043c\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u044d\u0442\u0438\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0447\u0442\u043e\u0431\u044b OSPM \u043c\u043e\u0433 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u0431\u0435\u0437 \u0437\u043d\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u0421 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f ACPI \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0447\u0430\u0441\u0442\u0435\u0439:  \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0438 \u0432 AML. \u041f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433 \u041e\u0421 \u2014 \u043d\u0430\u0439\u0442\u0438 RSDP. \u042d\u0442\u043e \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u044f ACPI-\u0438\u0435\u0440\u0430\u0440\u0445\u0438\u044f. \u041d\u0430 UEFI-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 Windows \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 EFI System Table \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 RSDP. \u041f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0442\u0443\u0434\u0430 \u0430\u0434\u0440\u0435\u0441 RSDT \u0438\u043b\u0438 XSDT, \u0430 \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u043e\u0431\u043e\u0438\u0445 Windows \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0435\u0442 XSDT. \u042d\u0442\u043e \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 64-\u0431\u0438\u0442\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c: RSDT \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 32-\u0431\u0438\u0442\u043d\u044b\u0435 \u0430\u0434\u0440\u0435\u0441\u0430, \u0430 XSDT 64-\u0431\u0438\u0442\u043d\u044b\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 XSDT \u043b\u0443\u0447\u0448\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c\u0443 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0443. \u0414\u0430\u043b\u044c\u0448\u0435 \u041e\u0421 \u0438\u0434\u0435\u0442 \u043f\u043e XSDT \u0438\u043b\u0438 RSDT \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b \u0442\u0430\u0431\u043b\u0438\u0446. \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f ACPI \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e XSDT \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u043f\u0430\u043c\u044f\u0442\u0438, \u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 \u0432 \u044d\u0442\u043e\u0439 \u0446\u0435\u043f\u043e\u0447\u043a\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f FADT (Fixed ACPI Description Table). FADT, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 DSDT, \u0433\u0434\u0435 \u043b\u0435\u0436\u0438\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. FADT \u0434\u043b\u044f embedded-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e \u043c\u043e\u0441\u0442 \u043c\u0435\u0436\u0434\u0443 \u00ab\u0447\u0438\u0441\u0442\u044b\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c\u00bb \u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c\u0438 PM-\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. FADT \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0443\u044e \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u0435\u0442\u0430\u043b\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0436\u0435\u043b\u0435\u0437\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 ACPI. \u0427\u0435\u0440\u0435\u0437 \u043d\u0435\u0435 \u041e\u0421 \u0443\u0437\u043d\u0430\u0435\u0442, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f PM1 event\/control blocks, PM timer, GPE blocks \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b. DSDT \u0438 SSDT \u2014 \u0443\u0436\u0435 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0436\u0438\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u0412 \u043d\u0438\u0445 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043c\u0435\u0442\u043e\u0434\u044b, \u0440\u0435\u0441\u0443\u0440\u0441\u044b, operation regions \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0438\u0442\u0430\u043d\u0438\u044f. \u041f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 DSDT, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u043e\u0439 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435, \u0438\u043b\u0438 \u0432 SSDT, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u0438\u043b\u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u0414\u043b\u044f SoC-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c DSDT \u0447\u0430\u0441\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u043d\u043e SSDT \u0443\u0434\u043e\u0431\u043d\u044b \u0434\u043b\u044f \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d \u2014 \u044d\u0442\u043e \u0442\u043e, \u0441 \u0447\u0435\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 ACPI-\u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 \u041e\u0421. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c _HID \u0434\u043b\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438, _CRS \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, _STA \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u0443\u0441\u0430, _PS0\/_PS3 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432 \u043f\u0438\u0442\u0430\u043d\u0438\u044f, _PRW \u0434\u043b\u044f wake-\u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0438 _DSD \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 device-specific properties \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0443. \u0412 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d ACPI \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0434\u0435\u0440\u0435\u0432\u043e \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u041e\u0421. \u0421 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0437\u0434\u0435\u0441\u044c \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0446\u0443 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438. \u041f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u00ab\u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u00bb \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0441\u0435\u043c \u043f\u043e\u0441\u043b\u0435 \u0441\u0442\u0430\u0440\u0442\u0430 \u041e\u0421. \u0415\u0435 \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u044b \u0442\u0430\u043c, \u0433\u0434\u0435 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c \u0438\u043b\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0448\u0438\u043d\u043e\u0439. \u041e\u0421 \u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u0441\u0430\u043c\u0430. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043b\u043e\u0445\u0430\u044f ACPI-\u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u043c \u0441\u0438\u043c\u043f\u0442\u043e\u043c\u0430\u043c: \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0435\u0441\u0442\u044c \u0432 \u0436\u0435\u043b\u0435\u0437\u0435, \u043f\u0438\u0442\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0430\u043d\u043e, \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442, \u043d\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e _HID \u043d\u0435 \u0442\u043e\u0442, GPIO interrupt \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e _CRS \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043d\u0435 \u0442\u0443 \u043f\u043e\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c, \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0435 \u043f\u0440\u043e\u0441\u044b\u043f\u0430\u0435\u0442\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e _PRW \u0438\u043b\u0438 GPE \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e.\u0415\u0441\u043b\u0438 \u043e\u0447\u0435\u043d\u044c \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c, ACPI-\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043d\u0430 \u0442\u0440\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u0430:\u0427\u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435? DSDT, SSDT, MADT, MCFG, GTDT \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.\u0413\u0434\u0435 \u044d\u0442\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0438 \u043a\u0430\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442? _CRS, MMIO ranges, IRQ, GPIO, I2C\/SPI resources.\u041a\u0430\u043a \u044d\u0442\u0438\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c? AML \u043c\u0435\u0442\u043e\u0434\u044b, GPE, _PSx, _PRW, _DSM\/_DSD.ACPI \u2014 \u044d\u0442\u043e, \u043f\u043e \u0441\u0443\u0442\u0438, \u0447\u0430\u0441\u0442\u044c ABI-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u041f\u043e\u0441\u043b\u0435 \u0440\u0435\u043b\u0438\u0437\u0430 \u041e\u0421 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u044d\u0442\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0430 layout \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432.\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b ASL: Microsoft ASL Compiler \u0438 Intel iASL\u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 ACPI \u0432\u0430\u0436\u043d\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0438 \u0442\u043e, \u0447\u0442\u043e \u0432 \u0438\u0442\u043e\u0433\u0435 \u0432\u0438\u0434\u0438\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 ASL (ACPI Source Language). \u041e\u0434\u043d\u0430\u043a\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 ASL \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e. \u0412 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0443\u0436\u0435 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0431\u0430\u0439\u0442\u043a\u043e\u0434 AML (ACPI Machine Language), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u0442\u0435\u043c \u0447\u0438\u0442\u0430\u0435\u0442 ACPI-\u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u041e\u0421 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 AML-\u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440.\u0414\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ASL \u0432 AML \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b. \u041f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0434\u0432\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430: Microsoft ASL Compiler \u0438 Intel ASL Compiler \/ Disassembler (iASL).\u041e\u0431\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0440\u0435\u0448\u0430\u044e\u0442 \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443: \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c ASL-\u043a\u043e\u0434 \u0432 AML-\u0431\u0430\u0439\u0442\u043a\u043e\u0434, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c ACPI-\u0442\u0430\u0431\u043b\u0438\u0446 \u0434\u043e \u0438\u0445 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0432 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u0438, \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0441\u0434\u0430\u043c\u043f\u0438\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u043b\u0438\u0431\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0443.Microsoft ASL CompilerMicrosoft ASL Compiler \u2014 \u044d\u0442\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 ASL \u043e\u0442 Microsoft, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 Windows Driver Kit. \u041e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 Windows-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a Windows \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0432 ACPI-\u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445. \u0411\u0430\u0437\u043e\u0432\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:asl.exe SSDT_gpio.asl\u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 ASL-\u0444\u0430\u0439\u043b \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 AML-\u0444\u0430\u0439\u043b:SSDT_gpio.asl  &#8212;&gt;  SSDT_gpio.aml\u0422\u0430\u043a\u043e\u0439 AML-\u0444\u0430\u0439\u043b \u0437\u0430\u0442\u0435\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0432 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443. \u0412 embedded-\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u044d\u0442\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043e \u0441\u0431\u043e\u0440\u043a\u0438 BIOS-\u043e\u0431\u0440\u0430\u0437\u0430, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043d\u0430\u0439\u0442\u0438 \u0447\u0430\u0441\u0442\u044c \u043e\u0448\u0438\u0431\u043e\u043a: \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0438\u043c\u044f \u043c\u0435\u0442\u043e\u0434\u0430, \u043e\u0448\u0438\u0431\u043a\u0443, \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u0438\u043c\u0435\u043d \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d \u0438\u043b\u0438 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442.Intel ASL Compiler \/ iASLiASL \u2014 \u044d\u0442\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0438 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430 ACPICA tools. \u041e\u043d \u0448\u0438\u0440\u043e\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 Linux-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u043f\u0440\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0435 ACPI-\u0442\u0430\u0431\u043b\u0438\u0446 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435. \u041a\u0430\u043a \u0438 Microsoft ASL Compiler, iASL \u0443\u043c\u0435\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c ASL \u0432 AML:iasl SSDT_gpio.asl\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c:SSDT_gpio.asl  &#8212;&gt;  SSDT_gpio.aml\u0422\u0430\u043a\u0436\u0435 iASL \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u2014 \u0434\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0445 ACPI-\u0442\u0430\u0431\u043b\u0438\u0446 \u0432 \u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 ASL\/DSL-\u0432\u0438\u0434:iasl -d dsdt.datiasl -d ssdt*.dat\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 .dsl-\u0444\u0430\u0439\u043b\u044b \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445: _HID, _CRS, _AEI, _PRW, OperationRegion, Notify() \u0438 \u0434\u0440\u0443\u0433\u0438\u0435.\u041f\u0440\u0438\u043c\u0435\u0440 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e SSDT\u041f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0439 ACPI-\u0444\u0430\u0439\u043b \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0431\u043b\u043e\u043a\u0430 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439. \u041e\u043d \u0437\u0430\u0434\u0430\u0435\u0442, \u043a\u0430\u043a\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c: DSDT, SSDT \u0438\u043b\u0438 OEM-specific table. \u0412\u043d\u0443\u0442\u0440\u0438 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f Scope, Device, Method, Name, OperationRegion, Field, PowerResource \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b.\u041f\u0440\u0438\u043c\u0435\u0440 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e SSDT:DefinitionBlock (&#171;&#187;, &#171;SSDT&#187;, 2, &#171;GRAV&#187;, &#171;GPIODEV&#187;, 0x00000001){    Scope (\\_SB)    {        Device (DEV0)        {            Name (_HID, &#171;GRV0001&#187;)            Name (_UID, 0)            Method (_STA, 0, NotSerialized)            {                Return (0x0F)            }            Name (_CRS, ResourceTemplate ()            {                Memory32Fixed (ReadWrite,                    0xFE000000,     \/\/ BaseAddress                    0x00001000      \/\/ Length                )                Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive)                {                    45                }            })        }    }}\u041f\u043e\u0441\u043b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-483995","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/483995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=483995"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/483995\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=483995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=483995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=483995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}