Podpora vyhozeni kusu pameti? (exclude ...)
David Sauer
davids na penguin.cz
Čtvrtek Říjen 21 17:50:32 CEST 1999
>>>> "Leos" == Leos Bitto <bitto na atrey.karlin.mff.cuni.cz> writes:
Leos> Vaclav Stepan (w na linux.fjfi.cvut.cz) wrote: : Pekny den, : : mate
Leos> prosim nekdo poneti, umoznuje-li kernel "vyhodit" kus pameti? :
Leos> (aka aby nic nesahalo na prostor 15-16 M?) : Pod DOSem a Windows
Leos> to slo (kdyz, tak se vrazil QEMMu "exclude ...").
Leos> AFAIK pod Linuxem to nejde. :(
AFAIK, jde to. Priznavam bez muceni, ze to neni z me hlavy - napsal to
A. Rubini v knize "Linux device drivers". Je treba zmenit mapu obsazeni
pameti v souboru arch/i386/mm/init.c ve funkci mem_init, kde pole mem_map
obsahuje informace o kazde strance pameti - blize jiz citovana kniha. Kod
vlozeny do mem_init by vypadal asi takto (plati pro kernel 2.0, 2.2 to ma
trochu jinak):
while (start_mem < high_memory) {
if (start_mem >= 0xf00000 && start_mem < 0x1000000) {
/* keep it reserved and prevent couting data */
reservedpages++; datapages--;
}
else
clear_bit (PG_reserved, &mem_map[MAP_NR(start_mem)].flags);
start_mem += PAGE_SIZE;
};
(bez zaruky)
--
* David Sauer, student of Czech Technical University
* electronic mail: davids na penguin.cz (mime compatible)
Další informace o konferenci Linux