Page 2 of 2

Re: Драйвер rtl8139

Posted: Wed Dec 07, 2011 7:45 pm
by art_zh
vova65 wrote:эти функции я смотрел и немного переделал... они рабочие...
здесь проблема в чемто ниже этих функцый..... но в чем..? :(
не понимаю, как их надо было переделать, чтобы вот этот код

Code: Select all

    call   pci_read_reg
;меняем значенние регистра
    or     al, (1 shl 2) or (1 shl 0)
    and    al, not (1 shl 1)
;Записываем в конфигурацыоное пространство
    mov    edx,04h
    call   pci_write_reg
стал рабочим ?
в edx что?
с al что за манипуляции и зачем?

Re: Драйвер rtl8139

Posted: Wed Dec 07, 2011 7:48 pm
by vova65
SoUrcerer wrote:Тебе зачем это всё, только честно?
Пишу свою OS. Чтоб понять как работает железо и набраться опыта....

Re: Драйвер rtl8139

Posted: Wed Dec 07, 2011 8:04 pm
by vova65
art_zh wrote:не понимаю, как их надо было переделать, чтобы вот этот код

Code: Select all

    call   pci_read_reg
;меняем значенние регистра
    or     al, (1 shl 2) or (1 shl 0)
    and    al, not (1 shl 1)
;Записываем в конфигурацыоное пространство
    mov    edx,04h
    call   pci_write_reg
стал рабочим ?
как-то умудрился :)
art_zh wrote:в edx что?
Регистр конфигурационного пространства PCI
art_zh wrote:с al что за манипуляции и зачем?
установка битов 0 и 2 регистра 04h в 1.. и сброс бита 1 в 0...

Re: Драйвер rtl8139

Posted: Wed Dec 07, 2011 8:34 pm
by SoUrcerer
vova65 wrote:
SoUrcerer wrote:Тебе зачем это всё, только честно?
Пишу свою OS. Чтоб понять как работает железо и набраться опыта....
Тогда тебе на sysbin.com или osdev.org. Или еще куда-нибудь.
Изучение Колибри - похвальная затея, но лично я считаю, что тебе стоит помочь разработчикам Колибри как минимум так же, как они помогают тебе (исходниками, рабочим кодом, советами). :)

Re: Драйвер rtl8139

Posted: Wed Dec 07, 2011 11:29 pm
by vova65
Подскажите почему при запуске pciS не происходят приревания от rtl8139???

Code: Select all

pciS:
mov ebx,2
xor ecx,ecx
mov edx,3Ch
mov esi,2
call pci_read_reg
mov al,35h
;
mov edx,3Ch
call pci_write_reg

;32 k Rxbuffer, неограниченного пакета dma, никакого обертывания, никакого rx порога
; примите широковещательные пакеты, примите физические пакеты соответствия
mov    ax,0000E7BEh
mov    edx,[ds:pci_bus]
add     edx,44h
out     dx, ax

; включение Rx/Tx 
    mov	   al,00001100b
    mov    edx,[ds:pci_bus]
	  add	   edx, 37h
	  out	   dx, al

; включите все прерывания
    mov    edx,[ds:pci_bus]
	  add	   edx,3Ch
	  ;mov ax,0FFFFh
    mov  ax,0000h
    out	   dx,ax 

ret

Часть таблицы irq
.......
 dw exit, 08h,1000111000000000b,0;31
 dw timer, 08h,1000111000000000b,0;32 IRQ(0)
 dw exit4, 08h,1000111000000000b,0;33 IRQ(1)
 dw exit, 08h,1000111000000000b,0;34 IRQ(2)
 dw exit1, 08h,1000111000000000b,0;35 IRQ(3)
 dw exit, 08h,1000111000000000b,0;36 IRQ(4)
.......
функции pci_read_reg и pci_write_reg работают и значение 35h записывается в регистр 3Ch конфигурационного пространства PCI...

Re: Драйвер rtl8139

Posted: Mon Dec 12, 2011 9:59 pm
by vova65
Подскажите для чего нужна функция eth_tx в ethernet.ini??