[so2] Blocare masina virtuala la rulea CU_START

Vicentiu Ciorbaru cvicentiu at gmail.com
Tue Mar 25 00:51:37 EET 2014


2014-03-25 0:12 GMT+02:00 Mihai Bivol <mm.bivol at gmail.com>:
> În data de 24 martie 2014, 23:02, Daniel Baluta
> <daniel.baluta at gmail.com> a scris:
>> 2014-03-24 22:57 GMT+02:00 Daniel Baluta <daniel.baluta at gmail.com>:
>>> 2014-03-24 22:46 GMT+02:00 Vicentiu Ciorbaru <cvicentiu at gmail.com>:
>>>> Salut,
>>>>
>>>> Incerc sa rezolv implementarea de trimitere de pachete, insa m-am
>>>> lovit de urmatoarea problema:
>>>>
>>>> * Am alocat memorie pentru dma.
>>>> * In acea zona am pus un TCB initializat pt modul flexibil (consider
>>>> eu corect, dupa ce am rascitit documentatia, cu un pachet concatenat
>>>> la final + offset-ul de 3 octeti)
>>>> * Am scris in general pointer a SCB-ului un pointer catre acea zona
>>>> (folosind handle-ul dma).
>>>> * Am scris in bitfield-ul CUC comanda pentru CU_START (0x10)
>>>>
>>>> In momentul respectiv masina virtuala se blocheaza. Singurul mod in
>>>> care o pot inchide este cu Ctrl + \. Ctrl + C nu functioneaza. Primesc
>>>> mesaj de eroare core dumped in acel moment.
>>>
>>> Nu-mi dau seama pe moment
>>
>> Scuze, am apasat send din greseala.
>>
>> Nu-mi dau seama pe moment, dar ce poti face este sa-ti compilezi qemu
>> cu debug pentru device-ul e100.
>>
>> # git clone git://git.qemu.org/qemu.git
>> # git checkout v1.7.0
>>
>> # cd net/hw
>>
>> In fisierul eepro100.c, definesti simbolul DEBUG_EEPRO100
>>
>>
>> /* Debug EEPRO100 card. */
>> #if 0
>> # define DEBUG_EEPRO100
>> #endif
>>
>>
>> Pe sistemul meu am mai avut de instalat:
>>
>> # apt-get install libpixman-1-dev
>> # apt-get install libglib2.0-dev
>>
>> Apoi:
>>
>> # ./configure --prefix="home/daniel/install"
>> --target-list="i386-softmmu x86_64-softmmu"
>
> Aici ar trebui în plus:
> # ./configure --prefix="PATH_ABSOLUT" --target-list="i386-softmmu
> x86_64-softmmu" --enable-sdl #pentru ferestruică
>
> în funcție de ce zice ./configure ar mai trebui instalate alte
> pachete. eu am avut nevoie de libsdl1.2-dev
>
>> # make
>> #make install
>>
>> HTH,
>> daniel.

Dupa mai multe sapaturi prin qemu am ajuns la concluzia ca functia
pci_dma_read din qemu obtine doar zero-uri.

Vad 2 posibilitati:
1. Nu am facut eu ceva bine cu dma-ul in modul si adresele care le
pasez nu par a fi bune.
2. Mai trebuie ceva compilat la kernel?

Vicentiu


More information about the so2 mailing list