{"id":472070,"date":"2025-08-25T15:00:10","date_gmt":"2025-08-25T15:00:10","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=472070"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=472070","title":{"rendered":"<span>OYBoot: \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0432\u043e\u0439 UEFI-\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043f\u043e\u0434 Xeon IceLake<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 UEFI-\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0430 Intel Xeon IceLake \u0431\u0435\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432, \u043f\u043e\u043b\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u2015 \u0437\u0432\u0443\u0447\u0438\u0442 \u043a\u0430\u043a \u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u041c\u044b \u0432 OpenYard \u0440\u0435\u0448\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u044d\u0442\u043e\u0442 \u0448\u0430\u0433, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u043e\u0439, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0436\u0435\u043b\u0435\u0437\u0430 \u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0442 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u0432. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0430\u0448 \u043f\u0443\u0442\u044c: \u043e\u0442 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u0440\u043e\u0431 \u0441 edk2 \u0438 FSP \u0434\u043e \u0440\u0435\u043b\u0438\u0437\u0430 OYBoot, \u0441 \u0440\u0435\u0432\u0435\u0440\u0441\u043e\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432, \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0435\u0439 BMC \u0438 \u0431\u043e\u0440\u044c\u0431\u043e\u0439 \u0437\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u0430\u0440\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/265\/f74\/55b\/265f7455be774c649f9bc494dda4f27f.jpg\" width=\"1080\" height=\"786\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/265\/f74\/55b\/265f7455be774c649f9bc494dda4f27f.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/265\/f74\/55b\/265f7455be774c649f9bc494dda4f27f.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0418\u0434\u0435\u044f \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0441\u0432\u043e\u0435\u0433\u043e UEFI-\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 \u043f\u0440\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0430\u0441\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e. \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0439 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0432\u0441\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430, \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438, \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u044f. \u0412 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0443\u0440\u0430\u0432\u043d\u043e\u0432\u0435\u0441\u0438\u043b\u0438 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430.\u00a0<\/p>\n<p>\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0436\u0438\u0437\u043d\u0435\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0433\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0435\u043c\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 (\u0438\u0431\u043e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Intel Xeon \u0441\u043b\u043e\u0436\u043d\u0430), \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u044b\u0439 \u0448\u0442\u0430\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u043c\u0443 \u043d\u0430\u0431\u043e\u0440\u0443 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043e\u0442 Intel (\u0433\u0430\u0439\u0434\u044b, \u043c\u0430\u043d\u0443\u0430\u043b\u044b, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0438 \u0442.\u0434). \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043d\u0438\u0447\u0435\u0433\u043e \u0438\u0437 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439 \u043d\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u043d\u043e \u0431\u044b\u043b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u044b\u0442 \u0432 bring-up \u043d\u043e\u0432\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 UEFI-\u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432. \u0410 \u0432\u043e\u0442 \u0447\u0435\u0433\u043e \u043c\u044b \u0436\u0434\u0430\u043b\u0438: \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043e\u0441\u0442\u0430\u0432 \u043f\u0440\u043e\u0448\u0438\u0432\u043e\u043a, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u0443\u044e \u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u043e\u043b\u043d\u043e\u043c \u043e\u0431\u044a\u0435\u043c\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0448\u0438\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c. \u041d\u0443 \u0438, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u043d\u0435\u043b\u044c\u0437\u044f \u043d\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c \u043e \u043f\u0440\u0435\u0441\u0442\u0438\u0436\u0435 OpenYard, \u043a\u0430\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0438\u043a\u0438.<\/p>\n<p>\u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0432 \u0441\u0438\u043b\u0443 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u044b\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \u043d\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u0435 Xeon Scalable (IceLake) \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043d\u0430\u0448\u0438\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0441\u0442\u0430\u043b edk2-framework. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 opensource \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 edk2-platforms \u0438 \u0441\u0430\u043c\u044b\u0439 \u0432\u0430\u0436\u043d\u044b\u0439 Intel-FSP, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b FSP (Intel Firmware Support Package), \u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u043d\u0435\u043e\u0442\u044a\u0435\u043c\u043b\u0435\u043c\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e Intel-based \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c (\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445, \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445). \u0418 \u0432\u043e\u0442 \u043d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0432\u043e\u0437\u043d\u0438\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u043a\u0430\u043a \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u044d\u0442\u043e\u0433\u043e \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f, \u043d\u0435 \u0438\u043c\u0435\u044f \u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043e\u0442 Intel, \u0430 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438. \u0412 \u0440\u0430\u0441\u043f\u043e\u0440\u044f\u0436\u0435\u043d\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u044b\u043b \u0442\u043e\u043b\u044c\u043a\u043e FSP2.0 Integration Guide \u0438 \u043d\u0430\u0431\u043e\u0440 \u0445\u0435\u0434\u0435\u0440\u043e\u0432, \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 Intel-FSP \u0434\u043b\u044f \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043a\u043e\u0434 \u0445\u0435\u0434\u0435\u0440\u0430 FSP \u0441\u0434\u0435\u043b\u0430\u043d \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0447\u0438\u0442\u0430\u0431\u0435\u043b\u044c\u043d\u044b\u043c \u0438 \u0441 \u043d\u0435\u043f\u043b\u043e\u0445\u0438\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0439 \u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432, \u0447\u0442\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0438\u0440\u0443\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0431\u0435\u0437 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438.<\/p>\n<pre><code>\/** FSP-M Configuration  **\/  typedef struct {  \u00a0  \/** Offset 0x0040 - Customer Revision  \u00a0\u00a0The Customer can set this revision string for their own purpose.  **\/  \u00a0\u00a0UINT8 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 CustomerRevision[32];  \u00a0  \/** Offset 0x0060 - Bus Ratio  \u00a0\u00a0Indicates the ratio of Bus\/MMIOL\/IO resource to be allocated for each CPU's IIO.  \u00a0\u00a0Default 0x1  **\/  \u00a0\u00a0UINT8 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 BusRatio[8];  \u00a0  \/** Offset 0x0068 - D2K Credit Config  \u00a0\u00a0Set the D2K Credit Config. 1: Min,&lt;b&gt;2: Med (Default), 3: Max.  \u00a0\u00a01:Min, 2:Med, 3:Max  **\/  \u00a0\u00a0UINT8 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 D2KCreditConfig;  \u00a0  \/** Offset 0x0069 - Snoop Throttle Config  \u00a0\u00a0Set the Snoop Throttle Config. &lt;b&gt;0: Disable(Default)&lt;\/b&gt;, 1: Min, 2: Med, 3: Max  \u00a0\u00a00:Disable, 1:Min, 2:Med, 3:Max  **\/  \u00a0\u00a0UINT8 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 SnoopThrottleConfig;  \u00a0  \/** Offset 0x006A - Snoop Throttle Config  \u00a0\u00a0Set the Snoop All Core Config. &lt;b&gt;0: Disable(Default)&lt;\/b&gt;, 1: Enable, 2: Auto  \u00a0\u00a00:Disable, 1:Enable, 2:Auto  **\/  \u00a0\u00a0UINT8 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 SnoopAllCores;  \u00a0  \/** Offset 0x006B - Legacy VGA Socket  \u00a0\u00a0Socket that claims the legacy VGA range. Default: Socket 0  **\/  \u00a0\u00a0UINT8 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LegacyVgaSoc;  \u00a0  \/** Offset 0x006C - Legacy VGA Stack  \u00a0\u00a0Stack that claims the legacy VGA range. Default: Stack 0<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0432\u043e\u0439 \u0432\u0430\u0436\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u0432\u043e \u0432\u0441\u0435\u0439 \u044d\u0442\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0431\u044b\u043b\u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u0430\u044f \u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f FSP \u0432 \u043d\u0430\u0448 \u043f\u0440\u043e\u0435\u043a\u0442. \u0417\u0434\u0435\u0441\u044c \u0441\u0442\u043e\u0438\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043c\u044b \u043f\u043e\u0448\u043b\u0438 \u043f\u043e \u0441\u0430\u043c\u043e\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e\u043c\u0443 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443: \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u0434 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 FSP, \u0441\u0431\u043e\u0440\u043a\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430 UEFI, \u0437\u0430\u043f\u0443\u0441\u043a \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u041f\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u043c\u0443 \u0441\u0447\u0435\u0442\u0443 \u0442\u0430\u043a\u043e\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u00ab\u043c\u0435\u0442\u043e\u0434 \u043f\u0440\u043e\u0431 \u0438 \u043e\u0448\u0438\u0431\u043e\u043a\u00bb. \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u043b\u0438 \u0434\u043b\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0445\u043e\u0442\u044f \u0431\u044b \u0432 UEFI-payload \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u0430\u0448\u043d\u043e. \u041d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043c\u044b \u0437\u0430\u0442\u0440\u0430\u0442\u0438\u043b\u0438 \u043d\u0430 \u043f\u043e\u0438\u0441\u043a \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a FSP \u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f MRC (Memory Reference Code). \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u044d\u0442\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u0441\u0442\u0430\u043b\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443 Efi (Efi shell)\u2026 \u041d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u041a\u0430\u043a \u043f\u043e\u0437\u0436\u0435 \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0443 \u043d\u0430\u0441 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0432 \u0441\u0438\u043b\u0443 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u0432 \u043d\u0430\u0448\u0435\u0439 \u0441\u0431\u043e\u0440\u043a\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e Efi-\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430.<\/p>\n<p>\u0421 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u043b\u0430 \u0438\u043d\u044b\u0435 \u043a\u0440\u0430\u0441\u043a\u0438. \u0417\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f \u044d\u0442\u0430\u043f \u0438\u0433\u0440\u044b \u00ab\u0432 \u0443\u0433\u0430\u0434\u0430\u0439\u043a\u0443\u00bb \u0438 \u043c\u044b \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043b\u0438 \u043a \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044e \u043f\u043e\u043b\u0443\u0444\u0430\u0431\u0440\u0438\u043a\u0430\u0442\u0430 \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442. \u041a \u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043e\u0431 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u0445 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438 FSP, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u0441\u0432\u043e\u0438\u0445 \u0441\u0438\u043b\u0430\u0445. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u043d\u0430\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0441\u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443.\u00a0<\/p>\n<p>\u0412 \u0447\u0430\u0441\u0442\u0438 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043e\u0441\u0432\u0430\u0438\u0432\u0430\u0442\u044c \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430. \u0414\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0431\u044b\u043b\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 (\u0434\u0430 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u0441\u0430\u043c\u0438\u043c). \u041a\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u0440 UEFI GOP \u2015 \u0434\u0440\u0430\u0439\u0432\u0435\u0440: \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u044b\u0442\u0430\u0449\u0438\u043b\u0430 \u044d\u0442\u043e\u0442 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0438\u0437 \u0443\u0436\u0435 \u0438\u043c\u0435\u044e\u0449\u0435\u0439\u0441\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u043e\u0442 \u043d\u0430\u0448\u0435\u0433\u043e ODM \u043f\u0430\u0440\u0442\u043d\u0435\u0440\u0430. \u0410 \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0430 \u0432 \u043d\u0430\u0448\u0443 \u0441\u0431\u043e\u0440\u043a\u0443 \u043c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043a\u043e\u0434 \u043f\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0432\u0437\u044f\u0442\u043e\u043c\u0443 \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0442\u0430\u0440\u044b\u0445 \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.<\/p>\n<p>\u041f\u043e\u043a\u0430 \u043e\u0434\u043d\u0430 \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u043e\u0440\u043e\u043b\u0430\u0441\u044c \u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0433\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430, \u0432\u0442\u043e\u0440\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a: \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0440\u0442\u0430\u043c\u0438 USB, PCIe \u0438 SATA \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f TPM2.0, \u043c\u043e\u0434\u0443\u043b\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u0440\u0442\u0430 \u043c\u0435\u043d\u0435\u0434\u0436\u043c\u0435\u043d\u0442\u0430 (BMC).<\/p>\n<p>\u0412\u0441\u0435 \u044d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u044b\u043b\u043e \u0437\u0430\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0439 \u0438 user-friendly \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0431\u043e\u043b\u0435\u0435 \u0437\u043d\u0430\u043a\u043e\u043c, \u043a\u0430\u043a Setup Utility. \u041f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/244\/d63\/9c2\/244d639c23a9f90d2cbe412704b257fa.png\" width=\"623\" height=\"468\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/244\/d63\/9c2\/244d639c23a9f90d2cbe412704b257fa.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/244\/d63\/9c2\/244d639c23a9f90d2cbe412704b257fa.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/814\/678\/165\/81467816527840aa44c9d8f65492aa90.png\" width=\"623\" height=\"468\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/814\/678\/165\/81467816527840aa44c9d8f65492aa90.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/814\/678\/165\/81467816527840aa44c9d8f65492aa90.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e6b\/ce8\/ac0\/e6bce8ac0bde34fede0663d29428cfc2.png\" width=\"623\" height=\"468\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/e6b\/ce8\/ac0\/e6bce8ac0bde34fede0663d29428cfc2.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e6b\/ce8\/ac0\/e6bce8ac0bde34fede0663d29428cfc2.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u043c\u0435\u0447\u0443 \u0437\u0430\u0434\u0430\u0447\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043e\u043c \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043d\u0430\u0448\u0435\u0433\u043e OYBoot \u0441 BMC (Baseboard Management Controller) \u043f\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 IPMI, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u043f\u043e\u043b\u043d\u043e\u0439 SMBIOS-\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0446\u0435\u043b\u044c\u044e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0432\u0435\u043d\u0442\u043e\u0440\u0438\u043a\u0438 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f. \u0422\u0443\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e SMBIOS \u043e\u043f\u044f\u0442\u044c \u0436\u0435 \u043d\u0430\u0434\u043e \u0431\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u00ab\u0447\u0435\u0440\u043d\u044b\u0439 \u044f\u0449\u0438\u043a\u00bb \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c AMI MegaRAC. \u041d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u0435\u043b \u0443\u0436\u0435 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u044b\u0439 \u043e\u043f\u044b\u0442 \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430. \u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0442\u043e\u0447\u043d\u043e \u0437\u043d\u0430\u043b\u0430 \u0432\u0441\u0435 \u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0435 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 SMBIOS-\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043f\u0430\u043c\u044f\u0442\u0438 BMC, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 \u044d\u0442\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043f\u043e\u043c\u0438\u043c\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 (\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445 \u0438 \u043f\u0430\u043c\u044f\u0442\u0438) \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c OEM-\u0440\u0430\u0437\u0434\u0435\u043b\u044b, \u0441\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438, \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c\u0438 MegaRAC.<\/p>\n<pre><code>EFI_STATUS  EFIAPI  GetSmbiosTable(VOID** SmbiosTableAddress, UINT32* SmbiosTableSize)  {  \u00a0\u00a0EFI_STATUS Status = EFI_NOT_FOUND;  \u00a0  \u00a0\u00a0\/\/  \u00a0\u00a0\/\/ Get SMBIOS table from System Configure table  \u00a0\u00a0\/\/  \u00a0\u00a0Status = EfiGetSystemConfigurationTable(&amp;gEfiSmbiosTableGuid, (VOID**)&amp;mSmbiosTable);  \u00a0  \u00a0\u00a0if ((mSmbiosTable != NULL) &amp;&amp; (!EFI_ERROR(Status))) {  \u00a0\u00a0\u00a0\u00a0SmbiosTableAddress = (UINT8)(UINTN)(mSmbiosTable-&gt;TableAddress);  \u00a0\u00a0\u00a0\u00a0*SmbiosTableSize = (UINT32)mSmbiosTable-&gt;TableLength;  \u00a0\u00a0\u00a0\u00a0return EFI_SUCCESS;  \u00a0\u00a0}  \u00a0  \u00a0\u00a0\/\/  \u00a0\u00a0\/\/ Get SMBIOS table 3 from System Configure table  \u00a0\u00a0\/\/  \u00a0\u00a0Status = EfiGetSystemConfigurationTable(&amp;gEfiSmbios3TableGuid, (VOID**)&amp;mSmbios64BitTable);  \u00a0  \u00a0\u00a0if ((mSmbios64BitTable != NULL) &amp;&amp; (!EFI_ERROR(Status))) {  \u00a0\u00a0\u00a0\u00a0SmbiosTableAddress = (UINT8)(UINTN)(mSmbios64BitTable-&gt;TableAddress);  \u00a0\u00a0\u00a0\u00a0*SmbiosTableSize = (UINT32)mSmbios64BitTable-&gt;TableMaximumSize;  \u00a0\u00a0\u00a0\u00a0return EFI_SUCCESS;  \u00a0\u00a0}  \u00a0  \u00a0\u00a0return Status;  }  \u00a0  VOID  EFIAPI  ReadyToBootNotify(  \u00a0\u00a0EFI_EVENT Event,  \u00a0\u00a0VOID* Context)  {  \u00a0\u00a0EFI_STATUS Status;  \u00a0\u00a0EFI_GRAPHICS_OUTPUT_PROTOCOL *Gop;  \u00a0  \u00a0\u00a0VOID* SmbiosTableAddress = NULL;  \u00a0\u00a0UINT32 SmbiosTableSize = 0x00;  \u00a0  \u00a0\u00a0UINT8 Response[0x10];  \u00a0\u00a0UINT8 ResponseSize = 0x10;  \u00a0\u00a0  \u00a0\u00a0Status = gBS-&gt;LocateProtocol(  \u00a0\u00a0\u00a0\u00a0&amp;gEfiGraphicsOutputProtocolGuid,  \u00a0\u00a0\u00a0\u00a0NULL,  \u00a0\u00a0\u00a0\u00a0(VOID**)&amp;Gop  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0);  \u00a0\u00a0if (EFI_ERROR(Status)) {  \u00a0\u00a0\u00a0\u00a0return;  \u00a0\u00a0}\u00a0\u00a0\u00a0  \u00a0  \u00a0\u00a0VOID* Destination = (VOID*)(UINTN)Gop-&gt;Mode-&gt;FrameBufferBase;  \u00a0  \u00a0\u00a0Status = GetSmbiosTable(&amp;SmbiosTableAddress, &amp;SmbiosTableSize);  \u00a0  \u00a0\u00a0DEBUG((DEBUG_INFO, \"GetSmbiosTable, Status = %r\\n\", Status));  \u00a0  \u00a0\u00a0if (!EFI_ERROR(Status))  \u00a0\u00a0{  \u00a0  \u00a0\u00a0\u00a0\u00a0DEBUG((DEBUG_INFO, \"Address = 0x%p, Size = 0x%x bytes\\n\", SmbiosTableAddress, SmbiosTableSize));  \u00a0  \u00a0\u00a0\u00a0\u00a0CopyMem(Destination, SmbiosTableAddress, SmbiosTableSize);  \u00a0\u00a0}  \u00a0\u00a0else  \u00a0\u00a0{  \u00a0\u00a0\u00a0\u00a0return;  \u00a0\u00a0}  \u00a0  \u00a0\u00a0ZeroMem(Response, 0x10);  \u00a0  \u00a0\u00a0UINT8 IpmiCommandData1[] = IPMI_COMMAND_DATA_GET_SHARED_MEMORY_ADDRESS;  \u00a0\u00a0Status = IpmiSendCommand(  \u00a0\u00a0\u00a0\u00a0IPMI_COMMAND_GET_SHARED_MEMORY_ADDRESS,  \u00a0\u00a0\u00a0\u00a0IpmiCommandData1,  \u00a0\u00a0\u00a0\u00a0sizeof(IpmiCommandData1),  \u00a0\u00a0\u00a0\u00a0Response,  \u00a0\u00a0\u00a0\u00a0&amp;ResponseSize  \u00a0\u00a0);  \u00a0  \u00a0\u00a0DEBUG((DEBUG_INFO, \"IpmiSendCommand: Get shared memory address, Status = %r\\n\", Status));  \u00a0  \u00a0\u00a0if (!EFI_ERROR(Status))  \u00a0\u00a0{  \u00a0\u00a0\u00a0\u00a0ZeroMem(Response, 0x10);  \u00a0\u00a0\u00a0\u00a0ResponseSize = 0x0A;  \u00a0  \u00a0\u00a0\u00a0\u00a0UINT8 IpmiCommandData2[] = IPMI_COMMAND_DATA_DATA_READY;  \u00a0\u00a0\u00a0\u00a0Status = IpmiSendCommand(  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0IPMI_COMMAND_DATA_READY,  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0IpmiCommandData2,  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0sizeof(IpmiCommandData2),  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Response,  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&amp;ResponseSize  \u00a0\u00a0\u00a0\u00a0);  \u00a0  \u00a0\u00a0\u00a0\u00a0DEBUG((DEBUG_INFO, \"IpmiSendCommand: Smbios data ready, Status = %r\\n\", Status));  \u00a0\u00a0}  \u00a0  \u00a0\u00a0gBS-&gt;Stall(1  1000  1000);  }<\/code><\/pre>\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432\u044b\u0448\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u0443\u044e \u043d\u0430\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 BMC \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 SMBIOS.\u00a0<\/p>\n<p>\u041f\u043e\u043b\u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434 \u0443 \u043d\u0430\u0441 \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0438\u0447\u0435\u0433\u043e, \u043a\u0440\u043e\u043c\u0435 \u0438\u0434\u0435\u0438, \u043e\u043f\u044b\u0442\u0430 bring-up \u0438 \u043f\u0430\u0440\u044b \u0443\u0442\u0438\u043b\u0438\u0442 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c OYBoot \u2015 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 UEFI-\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u0434 \u043d\u0430\u0448\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u044b \u043d\u0430 Xeon IceLake, \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0432\u0441\u0435\u0445 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0435\u0439 \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443. \u041d\u043e \u0435\u0449\u0451 \u0432\u0430\u0436\u043d\u0435\u0435 \u2015 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0431\u0435\u0441\u0446\u0435\u043d\u043d\u044b\u0439 \u043e\u043f\u044b\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 FSP, \u043e\u0441\u0432\u043e\u0438\u043b\u0438 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0438 edk2, \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0440\u0435\u0432\u0435\u0440\u0441\u0438\u0442\u044c \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u044b \u0438 \u043d\u0430\u043b\u0430\u0434\u0438\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u0414\u043b\u044f \u043d\u0430\u0441 \u044d\u0442\u043e \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u0432 \u043c\u0438\u0440\u0435 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u043d\u0430\u0434 \u0436\u0435\u043b\u0435\u0437\u043e\u043c \u2015 \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0443\u043f\u043e\u0440\u0441\u0442\u0432\u043e, \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u0441\u0442\u0432\u043e \u0438 \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u044c \u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043c.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \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\/940458\/\"> https:\/\/habr.com\/ru\/articles\/940458\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 UEFI-\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0430 Intel Xeon IceLake \u0431\u0435\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432, \u043f\u043e\u043b\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u2015 \u0437\u0432\u0443\u0447\u0438\u0442 \u043a\u0430\u043a \u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u041c\u044b \u0432 OpenYard \u0440\u0435\u0448\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u044d\u0442\u043e\u0442 \u0448\u0430\u0433, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u043e\u0439, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0436\u0435\u043b\u0435\u0437\u0430 \u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0442 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u0432. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0430\u0448 \u043f\u0443\u0442\u044c: \u043e\u0442 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u0440\u043e\u0431 \u0441 edk2 \u0438 FSP \u0434\u043e \u0440\u0435\u043b\u0438\u0437\u0430 OYBoot, \u0441 \u0440\u0435\u0432\u0435\u0440\u0441\u043e\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432, \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0435\u0439 BMC \u0438 \u0431\u043e\u0440\u044c\u0431\u043e\u0439 \u0437\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u0430\u0440\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0418\u0434\u0435\u044f \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0441\u0432\u043e\u0435\u0433\u043e UEFI-\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 \u043f\u0440\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0430\u0441\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e. \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0439 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0432\u0441\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430, \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438, \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u044f. \u0412 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0443\u0440\u0430\u0432\u043d\u043e\u0432\u0435\u0441\u0438\u043b\u0438 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430.\u00a0<\/p>\n<p>\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0436\u0438\u0437\u043d\u0435\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0433\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0435\u043c\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 (\u0438\u0431\u043e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Intel Xeon \u0441\u043b\u043e\u0436\u043d\u0430), \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u044b\u0439 \u0448\u0442\u0430\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u043c\u0443 \u043d\u0430\u0431\u043e\u0440\u0443 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043e\u0442 Intel (\u0433\u0430\u0439\u0434\u044b, \u043c\u0430\u043d\u0443\u0430\u043b\u044b, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0438 \u0442.\u0434). \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043d\u0438\u0447\u0435\u0433\u043e \u0438\u0437 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439 \u043d\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u043d\u043e \u0431\u044b\u043b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u044b\u0442 \u0432 bring-up \u043d\u043e\u0432\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 UEFI-\u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432. \u0410 \u0432\u043e\u0442 \u0447\u0435\u0433\u043e \u043c\u044b \u0436\u0434\u0430\u043b\u0438: \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043e\u0441\u0442\u0430\u0432 \u043f\u0440\u043e\u0448\u0438\u0432\u043e\u043a, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u0443\u044e \u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u043e\u043b\u043d\u043e\u043c \u043e\u0431\u044a\u0435\u043c\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0448\u0438\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c. \u041d\u0443 \u0438, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u043d\u0435\u043b\u044c\u0437\u044f \u043d\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c \u043e \u043f\u0440\u0435\u0441\u0442\u0438\u0436\u0435 OpenYard, \u043a\u0430\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0438\u043a\u0438.<\/p>\n<p>\u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0432 \u0441\u0438\u043b\u0443 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u044b\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \u043d\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u0435 Xeon Scalable (IceLake) \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043d\u0430\u0448\u0438\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0441\u0442\u0430\u043b edk2-framework. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 opensource \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 edk2-platforms \u0438 \u0441\u0430\u043c\u044b\u0439 \u0432\u0430\u0436\u043d\u044b\u0439 Intel-FSP, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b FSP (Intel Firmware Support Package), \u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u043d\u0435\u043e\u0442\u044a\u0435\u043c\u043b\u0435\u043c\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e Intel-based \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c (\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445, \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445). \u0418 \u0432\u043e\u0442 \u043d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0432\u043e\u0437\u043d\u0438\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u043a\u0430\u043a \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u044d\u0442\u043e\u0433\u043e \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f, \u043d\u0435 \u0438\u043c\u0435\u044f \u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043e\u0442 Intel, \u0430 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438. \u0412 \u0440\u0430\u0441\u043f\u043e\u0440\u044f\u0436\u0435\u043d\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u044b\u043b \u0442\u043e\u043b\u044c\u043a\u043e FSP2.0 Integration Guide \u0438 \u043d\u0430\u0431\u043e\u0440 \u0445\u0435\u0434\u0435\u0440\u043e\u0432, \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 Intel-FSP \u0434\u043b\u044f \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043a\u043e\u0434 \u0445\u0435\u0434\u0435\u0440\u0430 FSP \u0441\u0434\u0435\u043b\u0430\u043d \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0447\u0438\u0442\u0430\u0431\u0435\u043b\u044c\u043d\u044b\u043c \u0438 \u0441 \u043d\u0435\u043f\u043b\u043e\u0445\u0438\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0439 \u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432, \u0447\u0442\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0438\u0440\u0443\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0431\u0435\u0437 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438.<\/p>\n<pre><code>\/** FSP-M Configuration  **\/  typedef struct {  \u00a0  \/** Offset 0x0040 - Customer Revision  \u00a0\u00a0The Customer can set this revision string for their own purpose.  **\/  \u00a0\u00a0UINT8 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 CustomerRevision[32];  \u00a0  \/** Offset 0x0060 - Bus Ratio  \u00a0\u00a0Indicates the ratio of Bus\/MMIOL\/IO resource to be allocated for each CPU's IIO.  \u00a0\u00a0Default 0x1  **\/  \u00a0\u00a0UINT8 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 BusRatio[8];  \u00a0  \/** Offset 0x0068 - D2K Credit Config  \u00a0\u00a0Set the D2K Credit Config. 1: Min,&lt;b&gt;2: Med (Default), 3: Max.  \u00a0\u00a01:Min, 2:Med, 3:Max  **\/  \u00a0\u00a0UINT8 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 D2KCreditConfig;  \u00a0  \/** Offset 0x0069 - Snoop Throttle Config  \u00a0\u00a0Set the Snoop Throttle Config. &lt;b&gt;0: Disable(Default)&lt;\/b&gt;, 1: Min, 2: Med, 3: Max  \u00a0\u00a00:Disable, 1:Min, 2:Med, 3:Max  **\/  \u00a0\u00a0UINT8 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 SnoopThrottleConfig;  \u00a0  \/** Offset 0x006A - Snoop Throttle Config  \u00a0\u00a0Set the Snoop All Core Config. &lt;b&gt;0: Disable(Default)&lt;\/b&gt;, 1: Enable, 2: Auto  \u00a0\u00a00:Disable, 1:Enable, 2:Auto  **\/  \u00a0\u00a0UINT8 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 SnoopAllCores;  \u00a0  \/** Offset 0x006B - Legacy VGA Socket  \u00a0\u00a0Socket that claims the legacy VGA range. Default: Socket 0  **\/  \u00a0\u00a0UINT8 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LegacyVgaSoc;  \u00a0  \/** Offset 0x006C - Legacy VGA Stack  \u00a0\u00a0Stack that claims the legacy VGA range. Default: Stack 0<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0432\u043e\u0439 \u0432\u0430\u0436\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u0432\u043e \u0432\u0441\u0435\u0439 \u044d\u0442\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0431\u044b\u043b\u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u0430\u044f \u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f FSP \u0432 \u043d\u0430\u0448 \u043f\u0440\u043e\u0435\u043a\u0442. \u0417\u0434\u0435\u0441\u044c \u0441\u0442\u043e\u0438\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043c\u044b \u043f\u043e\u0448\u043b\u0438 \u043f\u043e \u0441\u0430\u043c\u043e\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e\u043c\u0443 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443: \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u0434 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 FSP, \u0441\u0431\u043e\u0440\u043a\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430 UEFI, \u0437\u0430\u043f\u0443\u0441\u043a \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u041f\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u043c\u0443 \u0441\u0447\u0435\u0442\u0443 \u0442\u0430\u043a\u043e\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u00ab\u043c\u0435\u0442\u043e\u0434 \u043f\u0440\u043e\u0431 \u0438 \u043e\u0448\u0438\u0431\u043e\u043a\u00bb. \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u043b\u0438 \u0434\u043b\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0445\u043e\u0442\u044f \u0431\u044b \u0432 UEFI-payload \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u0430\u0448\u043d\u043e. \u041d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043c\u044b \u0437\u0430\u0442\u0440\u0430\u0442\u0438\u043b\u0438 \u043d\u0430 \u043f\u043e\u0438\u0441\u043a \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a FSP \u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f MRC (Memory Reference Code). \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u044d\u0442\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u0441\u0442\u0430\u043b\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443 Efi (Efi shell)\u2026 \u041d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u041a\u0430\u043a \u043f\u043e\u0437\u0436\u0435 \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0443 \u043d\u0430\u0441 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0432 \u0441\u0438\u043b\u0443 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u0432 \u043d\u0430\u0448\u0435\u0439 \u0441\u0431\u043e\u0440\u043a\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e Efi-\u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430.<\/p>\n<p>\u0421 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u043b\u0430 \u0438\u043d\u044b\u0435 \u043a\u0440\u0430\u0441\u043a\u0438. \u0417\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f \u044d\u0442\u0430\u043f \u0438\u0433\u0440\u044b \u00ab\u0432 \u0443\u0433\u0430\u0434\u0430\u0439\u043a\u0443\u00bb \u0438 \u043c\u044b \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043b\u0438 \u043a \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044e \u043f\u043e\u043b\u0443\u0444\u0430\u0431\u0440\u0438\u043a\u0430\u0442\u0430 \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442. \u041a \u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043e\u0431 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u0445 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438 FSP, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u0441\u0432\u043e\u0438\u0445 \u0441\u0438\u043b\u0430\u0445. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u043e \u043d\u0430\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0441\u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443.\u00a0<\/p>\n<p>\u0412 \u0447\u0430\u0441\u0442\u0438 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043e\u0441\u0432\u0430\u0438\u0432\u0430\u0442\u044c \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430. \u0414\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0431\u044b\u043b\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 (\u0434\u0430 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u0441\u0430\u043c\u0438\u043c). \u041a\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u0440 UEFI GOP \u2015 \u0434\u0440\u0430\u0439\u0432\u0435\u0440: \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u044b\u0442\u0430\u0449\u0438\u043b\u0430 \u044d\u0442\u043e\u0442 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0438\u0437 \u0443\u0436\u0435 \u0438\u043c\u0435\u044e\u0449\u0435\u0439\u0441\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u043e\u0442 \u043d\u0430\u0448\u0435\u0433\u043e ODM \u043f\u0430\u0440\u0442\u043d\u0435\u0440\u0430. \u0410 \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0430 \u0432 \u043d\u0430\u0448\u0443 \u0441\u0431\u043e\u0440\u043a\u0443 \u043c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043a\u043e\u0434 \u043f\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0432\u0437\u044f\u0442\u043e\u043c\u0443 \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0442\u0430\u0440\u044b\u0445 \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.<\/p>\n<p>\u041f\u043e\u043a\u0430 \u043e\u0434\u043d\u0430 \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u043e\u0440\u043e\u043b\u0430\u0441\u044c \u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0433\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430, \u0432\u0442\u043e\u0440\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a: \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0440\u0442\u0430\u043c\u0438 USB, PCIe \u0438 SATA \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f TPM2.0, \u043c\u043e\u0434\u0443\u043b\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u0440\u0442\u0430 \u043c\u0435\u043d\u0435\u0434\u0436\u043c\u0435\u043d\u0442\u0430 (BMC).<\/p>\n<p>\u0412\u0441\u0435 \u044d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u044b\u043b\u043e \u0437\u0430\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0439 \u0438 user-friendly \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0431\u043e\u043b\u0435\u0435 \u0437\u043d\u0430\u043a\u043e\u043c, \u043a\u0430\u043a Setup Utility. \u041f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0442\u0430\u043a:<\/p>\n<figure class=\"full-width\"><\/figure>\n<figure class=\"full-width\"><\/figure>\n<figure class=\"full-width\"><\/figure>\n<p>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u043c\u0435\u0447\u0443 \u0437\u0430\u0434\u0430\u0447\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043e\u043c \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043d\u0430\u0448\u0435\u0433\u043e OYBoot \u0441 BMC (Baseboard Management Controller) \u043f\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 IPMI, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u043f\u043e\u043b\u043d\u043e\u0439 SMBIOS-\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0446\u0435\u043b\u044c\u044e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0432\u0435\u043d\u0442\u043e\u0440\u0438\u043a\u0438 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f. \u0422\u0443\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e SMBIOS \u043e\u043f\u044f\u0442\u044c \u0436\u0435 \u043d\u0430\u0434\u043e \u0431\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u00ab\u0447\u0435\u0440\u043d\u044b\u0439 \u044f\u0449\u0438\u043a\u00bb \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c AMI MegaRAC. \u041d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u0435\u043b \u0443\u0436\u0435 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u044b\u0439 \u043e\u043f\u044b\u0442 \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430. \u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0442\u043e\u0447\u043d\u043e \u0437\u043d\u0430\u043b\u0430 \u0432\u0441\u0435 \u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0435 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 SMBIOS-\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043f\u0430\u043c\u044f\u0442\u0438 BMC, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 \u044d\u0442\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043f\u043e\u043c\u0438\u043c\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 (\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445 \u0438 \u043f\u0430\u043c\u044f\u0442\u0438) \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c OEM-\u0440\u0430\u0437\u0434\u0435\u043b\u044b, \u0441\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438, \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c\u0438 MegaRAC.<\/p>\n<pre><code>EFI_STATUS  EFIAPI  GetSmbiosTable(VOID** SmbiosTableAddress, UINT32* SmbiosTableSize)  {  \u00a0\u00a0EFI_STATUS Status = EFI_NOT_FOUND;  \u00a0  \u00a0\u00a0\/\/  \u00a0\u00a0\/\/ Get SMBIOS table from System Configure table  \u00a0\u00a0\/\/  \u00a0\u00a0Status = EfiGetSystemConfigurationTable(&amp;gEfiSmbiosTableGuid, (VOID**)&amp;mSmbiosTable);  \u00a0  \u00a0\u00a0if ((mSmbiosTable != NULL) &amp;&amp; (!EFI_ERROR(Status))) {  \u00a0\u00a0\u00a0\u00a0SmbiosTableAddress = (UINT8)(UINTN)(mSmbiosTable-&gt;TableAddress);  \u00a0\u00a0\u00a0\u00a0*SmbiosTableSize = (UINT32)mSmbiosTable-&gt;TableLength;  \u00a0\u00a0\u00a0\u00a0return EFI_SUCCESS;  \u00a0\u00a0}  \u00a0  \u00a0\u00a0\/\/  \u00a0\u00a0\/\/ Get SMBIOS table 3 from System Configure table  \u00a0\u00a0\/\/  \u00a0\u00a0Status = EfiGetSystemConfigurationTable(&amp;gEfiSmbios3TableGuid, (VOID**)&amp;mSmbios64BitTable);  \u00a0  \u00a0\u00a0if ((mSmbios64BitTable != NULL) &amp;&amp; (!EFI_ERROR(Status))) {  \u00a0\u00a0\u00a0\u00a0SmbiosTableAddress = (UINT8)(UINTN)(mSmbios64BitTable-&gt;TableAddress);  \u00a0\u00a0\u00a0\u00a0*SmbiosTableSize = (UINT32)mSmbios64BitTable-&gt;TableMaximumSize;  \u00a0\u00a0\u00a0\u00a0return EFI_SUCCESS;  \u00a0\u00a0}  \u00a0  \u00a0\u00a0return Status;  }  \u00a0  VOID  EFIAPI  ReadyToBootNotify(  \u00a0\u00a0EFI_EVENT Event,  \u00a0\u00a0VOID* Context)  {  \u00a0\u00a0EFI_STATUS Status;  \u00a0\u00a0EFI_GRAPHICS_OUTPUT_PROTOCOL *Gop;  \u00a0  \u00a0\u00a0VOID* SmbiosTableAddress = NULL;  \u00a0\u00a0UINT32 SmbiosTableSize = 0x00;  \u00a0  \u00a0\u00a0UINT8 Response[0x10];  \u00a0\u00a0UINT8 ResponseSize = 0x10;  \u00a0\u00a0  \u00a0\u00a0Status = gBS-&gt;LocateProtocol(  \u00a0\u00a0\u00a0\u00a0&amp;gEfiGraphicsOutputProtocolGuid,  \u00a0\u00a0\u00a0\u00a0NULL,  \u00a0\u00a0\u00a0\u00a0(VOID**)&amp;Gop  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0);  \u00a0\u00a0if (EFI_ERROR(Status)) {  \u00a0\u00a0\u00a0\u00a0return;  \u00a0\u00a0}\u00a0\u00a0\u00a0  \u00a0  \u00a0\u00a0VOID* Destination = (VOID*)(UINTN)Gop-&gt;Mode-&gt;FrameBufferBase;  \u00a0  \u00a0\u00a0Status = GetSmbiosTable(&amp;SmbiosTableAddress, &amp;SmbiosTableSize);  \u00a0  \u00a0\u00a0DEBUG((DEBUG_INFO, \"GetSmbiosTable, Status = %r\\n\", Status));  \u00a0  \u00a0\u00a0if (!EFI_ERROR(Status))  \u00a0\u00a0{  \u00a0  \u00a0\u00a0\u00a0\u00a0DEBUG((DEBUG_INFO, \"Address = 0x%p, Size = 0x%x bytes\\n\", SmbiosTableAddress, SmbiosTableSize));  \u00a0  \u00a0\u00a0\u00a0\u00a0CopyMem(Destination, SmbiosTableAddress, SmbiosTableSize);  \u00a0\u00a0}  \u00a0\u00a0else  \u00a0\u00a0{  \u00a0\u00a0\u00a0\u00a0return;  \u00a0\u00a0}  \u00a0  \u00a0\u00a0ZeroMem(Response, 0x10);  \u00a0  \u00a0\u00a0UINT8 IpmiCommandData1[] = IPMI_COMMAND_DATA_GET_SHARED_MEMORY_ADDRESS;  \u00a0\u00a0Status = IpmiSendCommand(  \u00a0\u00a0\u00a0\u00a0IPMI_COMMAND_GET_SHARED_MEMORY_ADDRESS,  \u00a0\u00a0\u00a0\u00a0IpmiCommandData1,  \u00a0\u00a0\u00a0\u00a0sizeof(IpmiCommandData1),  \u00a0\u00a0\u00a0\u00a0Response,  \u00a0\u00a0\u00a0\u00a0&amp;ResponseSize  \u00a0\u00a0);  \u00a0  \u00a0\u00a0DEBUG((DEBUG_INFO, \"IpmiSendCommand: Get shared memory address, Status = %r\\n\", Status));  \u00a0  \u00a0\u00a0if (!EFI_ERROR(Status))  \u00a0\u00a0{  \u00a0\u00a0\u00a0\u00a0ZeroMem(Response, 0x10);  \u00a0\u00a0\u00a0\u00a0ResponseSize = 0x0A;  \u00a0  \u00a0\u00a0\u00a0\u00a0UINT8 IpmiCommandData2[] = IPMI_COMMAND_DATA_DATA_READY;  \u00a0\u00a0\u00a0\u00a0Status = IpmiSendCommand(  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0IPMI_COMMAND_DATA_READY,  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0IpmiCommandData2,  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0sizeof(IpmiCommandData2),  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Response,  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&amp;ResponseSize  \u00a0\u00a0\u00a0\u00a0);  \u00a0  \u00a0\u00a0\u00a0\u00a0DEBUG((DEBUG_INFO, \"IpmiSendCommand: Smbios data ready, Status = %r\\n\", Status));  \u00a0\u00a0}  \u00a0  \u00a0\u00a0gBS-&gt;Stall(1  1000  1000);  }<\/code><\/pre>\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432\u044b\u0448\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u0443\u044e \u043d\u0430\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 BMC \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 SMBIOS.\u00a0<\/p>\n<p>\u041f\u043e\u043b\u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434 \u0443 \u043d\u0430\u0441 \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0438\u0447\u0435\u0433\u043e, \u043a\u0440\u043e\u043c\u0435 \u0438\u0434\u0435\u0438, \u043e\u043f\u044b\u0442\u0430 bring-up \u0438 \u043f\u0430\u0440\u044b \u0443\u0442\u0438\u043b\u0438\u0442 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c OYBoot \u2015 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 UEFI-\u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u0434 \u043d\u0430\u0448\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u044b \u043d\u0430 Xeon IceLake, \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0432\u0441\u0435\u0445 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0435\u0439 \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443. \u041d\u043e \u0435\u0449\u0451 \u0432\u0430\u0436\u043d\u0435\u0435 \u2015 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0431\u0435\u0441\u0446\u0435\u043d\u043d\u044b\u0439<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-472070","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/472070","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=472070"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/472070\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=472070"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=472070"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=472070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}