Rev 2614 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2614 | Rev 2621 | ||
---|---|---|---|
Line 19... | Line 19... | ||
19 | ;; GNU GENERAL PUBLIC LICENSE ;; |
19 | ;; GNU GENERAL PUBLIC LICENSE ;; |
20 | ;; Version 2, June 1991 ;; |
20 | ;; Version 2, June 1991 ;; |
21 | ;; ;; |
21 | ;; ;; |
22 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
22 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 23... | Line 23... | ||
23 | 23 | ||
Line 24... | Line 24... | ||
24 | $Revision: 2614 $ |
24 | $Revision: 2621 $ |
25 | 25 | ||
Line 26... | Line 26... | ||
26 | __DEBUG_LEVEL_OLD__ equ __DEBUG_LEVEL__ ; use seperate debug level for network part of kernel |
26 | __DEBUG_LEVEL_OLD__ equ __DEBUG_LEVEL__ ; use seperate debug level for network part of kernel |
Line 587... | Line 587... | ||
587 | shr esi, 6 |
587 | shr esi, 6 |
Line 588... | Line 588... | ||
588 | 588 | ||
589 | cmp dword [esi + NET_DRV_LIST], 0 ; check if driver is running |
589 | cmp dword [esi + NET_DRV_LIST], 0 ; check if driver is running |
Line -... | Line 590... | ||
- | 590 | je .doesnt_exist |
|
Line -... | Line 591... | ||
- | 591 | ||
- | 592 | mov eax, [esi + NET_DRV_LIST] |
|
- | 593 | ||
- | 594 | and ebx, 0x000000ff |
|
- | 595 | cmp ebx, .number |
|
- | 596 | ja .doesnt_exist |
|
- | 597 | jmp dword [.table + 4*ebx] |
|
- | 598 | ||
- | 599 | .table: |
|
- | 600 | dd .get_type ; 0 |
|
- | 601 | dd .get_dev_name ; 1 |
|
- | 602 | dd .reset ; 2 |
|
- | 603 | dd .stop ; 3 |
|
- | 604 | dd .get_ptr ; 4 |
|
Line 590... | Line 605... | ||
590 | je .doesnt_exist |
605 | dd .get_drv_name ; 5 |
591 | - | ||
Line 592... | Line 606... | ||
592 | 606 | dd .set_default ; 6 |
|
593 | 607 | .number = ($ - .table) / 4 - 1 |
|
Line 594... | Line -... | ||
594 | test bl, bl ; 0 = Get device type (ethernet/token ring/...) |
- | |
595 | jnz @f |
608 | |
596 | - | ||
Line 597... | Line -... | ||
597 | xor eax, eax |
- | |
598 | jmp .return |
609 | .get_type: ; 0 = Get device type (ethernet/token ring/...) |
599 | 610 | ||
Line 600... | Line 611... | ||
600 | 611 | mov eax, [eax + NET_DEVICE.type] |
|
601 | @@: |
612 | jmp .return |
Line 602... | Line 613... | ||
602 | dec bl ; 1 = Get device name |
613 | |
603 | jnz @f |
614 | |
Line 604... | Line -... | ||
604 | - | ||
605 | mov esi, [esi + NET_DRV_LIST] |
- | |
606 | mov esi, [esi + NET_DEVICE.name] |
615 | .get_dev_name: ; 1 = Get device name |
607 | mov edi, ecx |
- | |
Line 608... | Line -... | ||
608 | - | ||
609 | mov ecx, 64 ; max length |
616 | |
610 | repnz movsb |
617 | mov esi, [eax + NET_DEVICE.name] |
Line 611... | Line -... | ||
611 | - | ||
612 | xor eax, eax |
- | |
613 | jmp .return |
618 | mov edi, ecx |
614 | - | ||
Line 615... | Line -... | ||
615 | @@: |
- | |
616 | 619 | ||
617 | dec bl ; 2 = Reset the device |
620 | mov ecx, 64/4 ; max length |
Line 618... | Line -... | ||
618 | jnz @f |
- | |
619 | - | ||
620 | mov esi, [esi + NET_DRV_LIST] |
- | |
Line 621... | Line -... | ||
621 | call [esi + NET_DEVICE.reset] |
- | |
622 | jmp .return |
621 | rep movsd |
- | 622 | ||
623 | 623 | xor eax, eax |
|
Line 624... | Line -... | ||
624 | @@: |
- | |
625 | 624 | jmp .return |
|
626 | dec bl ; 3 = Stop driver for this device |
- | |
Line 627... | Line -... | ||
627 | jnz @f |
- | |
628 | 625 | ||
629 | mov esi, [esi + NET_DRV_LIST] |
626 | .reset: ; 2 = Reset the device |
Line 630... | Line -... | ||
630 | call [esi + NET_DEVICE.unload] |
- | |
631 | jmp .return |
627 | |
632 | - | ||
Line 633... | Line -... | ||
633 | @@: |
- | |
634 | dec bl ; 4 = Get driver pointer |
628 | call [eax + NET_DEVICE.reset] |
635 | jnz @f |
629 | jmp .return |
Line 636... | Line -... | ||
636 | - | ||
637 | ; ..; |
- | |
638 | xor eax, eax |
- | |
639 | jmp .return |
630 | |
640 | 631 | .stop: ; 3 = Stop driver for this device |
|
641 | 632 | ||
Line 642... | Line 633... | ||
642 | @@: |
633 | call [eax + NET_DEVICE.unload] |
643 | dec bl ; 5 = Get driver name |
634 | jmp .return |
644 | jnz @f |
635 | |
Line 645... | Line 636... | ||
645 | 636 | ||
646 | ; ..; |
637 | .get_ptr: ; 4 = Get driver pointer |