OSDev
http://osdev.su/

Перемещение региона видеопамяти
http://osdev.su/viewtopic.php?f=6&t=88
Страница 1 из 1

Автор:  p_aleksandrov [ 16 июл 2007, 20:04 ]
Заголовок сообщения:  Перемещение региона видеопамяти

Можно ли переместить регион видеопамяти, расположенный в A0000h-C0000h в другое место (например, в A00A0000h-A00C0000h)? Это специфично для каждого чипсета?

Автор:  phantom-84 [ 16 июл 2007, 22:40 ]
Заголовок сообщения:  Re: Перемещение региона видеопамяти

P_Aleksandrov, а зачем? В A0000h-C0000h отображается начало видеопамяти, а в линейном кадровом буфере вся память, т.е. если тебе известен адрес этого буфера, то в нем будет отражена в том числе и эта видеопамять. Перенести можно с помощью пейджинга, например, у меня в G2-ядре физические адреса A0000h-C0000h отображаются в диапазон виртуальных адресов 80080000h-800A0000h.

Автор:  p_aleksandrov [ 16 июл 2007, 23:06 ]
Заголовок сообщения:  Re: Перемещение региона видеопамяти

P_Aleksandrov, а зачем?
-> Чтобы открыть SMRAM

Автор:  phantom-84 [ 16 июл 2007, 23:39 ]
Заголовок сообщения:  Re: Перемещение региона видеопамяти

Цитата:
Чтобы открыть SMRAM
??? Базовая часть SMRAM обычно размещается по адресам 30000h-40000h... Но если SMRAM накладывается на диапазон A0000h-C0000h, можно попробовать SMBASE перенести выше этого диапазона, например, на начало первого мега...

Автор:  phantom-84 [ 16 июл 2007, 23:42 ]
Заголовок сообщения:  Re: Перемещение региона видеопамяти

...т.е. второго.

Автор:  p_aleksandrov [ 17 июл 2007, 02:09 ]
Заголовок сообщения:  Re: Перемещение региона видеопамяти

Цитата:
Цитата:
Чтобы открыть SMRAM
??? Базовая часть SMRAM обычно размещается по адресам 30000h-40000h... Но если SMRAM накладывается на диапазон A0000h-C0000h, можно попробовать SMBASE перенести выше этого диапазона, например, на начало первого мега...
//Phantom-84

Разве можно изменить SMBASE, не находясь в SMM?

Автор:  phantom-84 [ 17 июл 2007, 17:59 ]
Заголовок сообщения:  Re: Перемещение региона видеопамяти

Вроде бы нет, но ведь SMBASE хранится в базовой части SMRAM. Находясь в SMM, ты изменяешь SMBASE, потом делаешь rsm и уже по приходу следующего системного прерывания SMRAM будет отображаться начиная с указанной базы...

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/