Диапазон адресов виртуального адресного пространство ядра

Диапазон адресов виртуального адресного пространство ядра с отобра­женным на него в пункте 1 физическим диапазоном адресов ввода — вывода, отображается на виртуальное адресное пространство прило­жения пользовательского режима. Для этого применяется функция MmMapLockedPagesSpec i fyCache. В первом параметре этой функции пере­дается список MDL, полученный в пункте 2. Функция MmMapLockedPagesSpec if yCache в пункте 3 возвращает указатель на начальный адрес отображенного диапазона адресов, как его видно из виртуального адресного пространства приложения пользовательского режима. Только что описанный алгоритм реализуется функцией MapMmio следующим образом. Функция unmapMmio удаляет отображения, установленные функцией MapMmio. функция должна вызываться после того, как приложение режима завершит работу с BIOS. Если этого не сделать, возможен ка — Тастрофический сбой системы. Тем не менее, на случай, если приложение |]0льзовательского режима в драйвере устройства bios_probe не удалит ототражения физической памяти в свое виртуальное адресное пространство, Ставил в функцию DispatchClose фрагмент кода, который убирает все ус­ловленные отображения. Первоначальный компонент пользовательского режима утилиты Fiash_n_burn Для Linux поддерживает большое число чипов флэш-ROM. Я не буду концен­трировать внимание на объяснении принципов осуществления поддержки всех этих чипов в утилите Bios_probe, А ограничусь лишь одним примером — реализацией поддержки чипа Winbond W39V040FA. Компонент утилиты Bios_probe, Работающий в пользовательском режиме состоит из следующих логических компонентов: Основное приложение. Этот компонент состоит из нескольких файлов direct_io. c, error_msg. c, flash_rom. c, jedec. c, direct_io. h, error_msg. h, flash. h, jedec. h и прочих исходных файлов, реализующих поддержку отдельных типов чипов флэш-ROM. Эти файлы называются по имени соответствую­щего чипа или его номера изделия. Исполнение утилиты Bios_probe Начинается в файле fIash_rom. c, в котором находится функция точки входа — Main. Это главное приложение основано на исходном коде для F lash_n_bum Из проекта Freebios.



Рубрика: Женский интерес

Комментарии закрыты.