[OSy] MSIM a konflikt pameti

Milan Burda milan.burda at gmail.com
Fri Nov 16 10:58:36 CET 2007


ahoj,
my sme to poriesili tak ze sme si tu pamat rozdelili na 2 casti:
- nazaciatku mame 127 KB na kod kernelu
- potom tesne pred hranicou 128 KB su adresy zariadeni
- a potom nasleduje zvysok pamate, tam to moze byt v stovkach MB
- bootloader sa moze prekryvat (a aj bude) s touto hlavnou pamatou, ale kedze sa pouzije len pri spusteni,
tak nevadi ze sa tato pamat moze neskor prepisat

no a tak ako musime mat v nejakom headri v nasom kerneli konstanty s adresami zariadeni,
tak tam mame konstantu ktora udava zaciatok hlavnej pamate - tu ktora sa pouzije pre frame allocator
s tym ze na realnom systeme by sme vedeli zistit ktore bloky pamate niesu pristupne z nejakeho "BIOS"u

ten symbol kernel_end sme nechali... ten ukazuje niekde na 30 KB (tolko ma asi ten kod kernelu)
pamat odtial po tych 127 KB sa da pouzit na nejake tie strukturky, ktore sa vytvaraju kym
funguje alokacia pamate (ktora bude brat framy z tych vyssich adries)

[msim.conf]

add rwm mem_kernel  0x00000000  127k
mem_kernel load "bin/kernel.bin"

add rwm mem_main    0x00020000  64M
mem_main generic 0

add rom mem_loader  0x1fc00000  1k
mem_loader load "bin/loader.bin"

add dprinter  printer   0x0001FFF0
add dtime     time      0x0001FFF4
add dkeyboard keyboard  0x0001FFF8 1 

s pozdravom
Milan

-----Original Message-----
From: osy-bounces at dsrg.mff.cuni.cz [mailto:osy-bounces at dsrg.mff.cuni.cz] On Behalf Of Jan Bureš
Sent: 16. November 2007 10:28
To: osy at dsrg.mff.cuni.cz
Subject: Re: [OSy] MSIM a konflikt pameti

Ahoj.

Netřeba nahrávat zrovna kernel, stačí nastavit paměťi správný typ a vynulovat ji (standartně je nastavena na samé hodnoty 0xffffffff)..

V referenční příručce se to dá najít celkem rychle, ale pro usnadnění:
add rwm mainmem2 0x02000000 16M
mainmem2 generic
mainmem2 fill 0

Jan Bureš
______________________________________________________________
> Od: jakub.klimek at volny.cz
> Komu: "'Operating Systems Course'" <osy at dsrg.mff.cuni.cz>
> Datum: 16.11.2007 09:44
> Předmět: Re: [OSy] MSIM a konflikt pameti
>
>Ahoj. Mas pravdu. Kdyz i do druhe pameti neco nahraju, tak uz to bezi. 
>Dik
za radu
>
>Jakub Klímek
>
>-----Original Message-----
>From: osy-bounces at dsrg.mff.cuni.cz 
>[mailto:osy-bounces at dsrg.mff.cuni.cz]
On Behalf Of Honza Sochna
>Sent: Friday, November 16, 2007 12:16 AM
>To: 'Operating Systems Course'
>Subject: Re: [OSy] MSIM a konflikt pameti
>
>Ahoj, kdyz zkusis z promptu MSIMu prikaz dd, tak uvidis, zda je pamet 
>aktivni, nebo neaktivni... Ja zkusil do dalsiho bloku nahrat znovu 
>kernel a rozbehlo se to.
>
>JS
>
>-----Original Message-----
>From: osy-bounces at dsrg.mff.cuni.cz 
>[mailto:osy-bounces at dsrg.mff.cuni.cz]
>On Behalf Of Jakub Klímek
>Sent: Thursday, November 15, 2007 11:43 PM
>To: 'Operating Systems Course'
>Subject: Re: [OSy] MSIM a konflikt pameti
>
>
>To jsem zkousel, napr:
>
>add rwm mainmem	0		16M
>add rwm mainmem2	0x02000000	16M
>
>Ale kdyz jsem pak zkousel ten "test velikosti pameti" spustit a
nezastavit
>ho pri prvni chybe, ale nechat ho bezet dal, tak by to podle me od 
>0x02000000 do 0x03000000 opet melo zapisovat a cist to same, ale nedeje
se
>tak... nebo se i do te druhe pameti musi neco loadovat?
>
>Jakub Klímek
>
> 
>-----Original Message-----
>From: osy-bounces at dsrg.mff.cuni.cz 
>[mailto:osy-bounces at dsrg.mff.cuni.cz]
>On Behalf Of Rastislav Wartiak
>Sent: Thursday, November 15, 2007 11:16 PM
>To: osy at dsrg.mff.cuni.cz
>Subject: Re: [OSy] MSIM a konflikt pameti
>
>Paměť nemusí být souvislá, můžeš v konfiguraci použít několik rwm bloků.
>
>Rastislav Wartiak
>
>> Dobry den.
>>
>> Mam problem s pridavanim pameti MSIMu (i WiGUMu). Zda se tam byt 
>> nejaky konflikt, kdyz se prekryje hlavni pamet a adresa, na ktere je 
>> printer
>nebo
>> klavesnice.
>>
>> V defaultnim (kalisto) nastaveni je to takto:
>>
>> add rwm mainmem	0	16M
>> add dprinter	printer		0x1000000
>> add dkeyboard	input		0x1000008 3
>>
>> Zde jsou adresy zarizeni hned za hranici 16M. Kdyz zvetsim pamet napr
na
>17
>> a vice M, po startu MSIMu kernel vubec nenabehne. Kdyz ta zarizeni
>posunu
>> (napr. na 0xF000000), muzu hlavni pamet zvetsit zase az k teto adrese.
>>
>> Ale vzhledem k tomu, ze ta zarizeni musi byt pristupna z KSEG1, musi
>zustat
>> nekde v prvnich 512MB pameti a tim padem bych nemohl nikdy MSIMu dat
>pameti
>> vice nez tech 512MB.
>>
>> Existuje na to nejaka rada?
>>
>> Jakub Klímek
>>
>>
>>
>> _______________________________________________
>> OSy mailing list
>> OSy at dsrg.mff.cuni.cz
>> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>>
>
>
>
>_______________________________________________
>OSy mailing list
>OSy at dsrg.mff.cuni.cz
>https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>
>
>
>_______________________________________________
>OSy mailing list
>OSy at dsrg.mff.cuni.cz
>https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>
>
>_______________________________________________
>OSy mailing list
>OSy at dsrg.mff.cuni.cz
>https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>
>
>
>_______________________________________________
>OSy mailing list
>OSy at dsrg.mff.cuni.cz
>https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>


_______________________________________________
OSy mailing list
OSy at dsrg.mff.cuni.cz
https://dsrg.mff.cuni.cz/mailman/listinfo/osy





More information about the NSWI004 mailing list