SMM_CORE_PRIVATE_DATA. Я об этом ничего не слышал, не уверен, известен он или нет.SMM_CORE_PRIVATE_DATA это "контрольная" структура доступная в рантайм маппинге, ею в частности пользуются драйвера с "дочерними" обработчиками, как пример. Саму структурку весьма просто найти в памяти (из ОС в том числе), я не буду рассказывать как это делать, это весьма просто. Собственно, почему меня заинтересовало поле
SmramRanges в SMM_CORE_PRIVATE_DATA? Дело в том, что эти дескрипторы, очевидно, в действительности совпадают с сконфигурированными адресами из MSR (SMM_ADDR, SMM_MASK - AMD; SMRR_PHYS_BASE, SMRR_PHYS_MASK - Intel) и TSEG соответственно.В теории, поиск
SMM_CORE_PRIVATE_DATA ради дескрипторов SMRAM может лишить нас лишней головной боли с получением зарезервированных адресов, а значит - сократить окно брутфорса некоторых специфичных адресов (брутфорсить 4 гигабайта это НЕ весело). Теперь не придётся стучаться к TSEG и BGSM (Base of GTT Stolen Memory) через MCFG и PCI Host Bridge на Intel. Ну или не придётся плакать, если вы любитель AMD, хотя я не уверен.Вообще у меня огромный диссонанс из-за наличия протокола
EFI_MM_CONFIGURATION_PROTOCOL, я его никогда не использовал и подозреваю, что он может выдавать те же результаты. Но так-то, во внешнем мире он судя по всему недоступен (я проверил). Интересно (на самом деле нет).Uhhhhhhhhhhhhhhhhhhhh
