LINUX.ORG.RU

Проблемы с Memory Hole At 15M-16M


0

0

Ситуация следущая! Для некоторого ISA устройства нужно окно в адресном пространстве. Проблему хотел решить следующим образом. Memory Hole At 15M-16M Enabled. Дальше использовать функцию mmap. А вопросы такие: После разрешения окна в биосе, Linux стал видеть памят только до 15М. Добавил в lilo.conf append = "mem=128M", увидел за исключением 1М (это нормально). После этого linux стал зависать. Как избавиться от зависаний? Как еще можно выделить физически непрерывный блок памяти, при условии что ISA устройство может адресовать только 16М? Спасибо!


/usr/src/linux/arch/i386/mm/init.c

k etomy faily nado dobavit neskol'ko strok koda chtobi
sdelat' etu pamyat' reserved v no to zhe vremya uchtennoi ...
dlya kernelov 2.0 i vozmozhno 2.2 eto viglyadit tak ...

while(start_mem < high_memory){
if(start_mem>=0xf00000 && start_mem<0x1000000){
reservedpages++; datapages--;
}
else
clear_bit (PG_reserved,&mem_map[MAP_NR(start_mem)].flags);
start_mem+=PAGE_SIZE;

}

Kod ne moi ... vzyal ego iz Rubini " linux device drivers " (p.174)
posmotrel 2.4 kernel .. tam vse po-drugomy no princip sohrnyat'sya
dolzhen.


ovsov
()

Уже разобрался, но спасибо. У меня ядро 2.2.16, и нужно PAGE_OFFSET добавлять к физ. адресам.

Usenko
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.