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