Subversion Repositories Kolibri OS

Rev

Rev 3626 | Rev 4423 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3626 Rev 3908
Line 52... Line 52...
52
; hangoff.
52
; hangoff.
53
; Thus, process controllers in PCI order.
53
; Thus, process controllers in PCI order.
54
        mov     esi, pcidev_list
54
        mov     esi, pcidev_list
55
        push    0
55
        push    0
56
.kickoff:
56
.kickoff:
57
        mov     esi, [esi+PCIDEV.fd]
57
        mov     esi, [esi+PCIDEV.list.next]
58
        cmp     esi, pcidev_list
58
        cmp     esi, pcidev_list
59
        jz      .done_kickoff
59
        jz      .done_kickoff
60
        cmp     word [esi+PCIDEV.class+1], 0x0C03
60
        cmp     word [esi+PCIDEV.class+1], 0x0C03
61
        jnz     .kickoff
61
        jnz     .kickoff
62
        mov     eax, uhci_kickoff_bios
62
        mov     eax, uhci_kickoff_bios
Line 90... Line 90...
90
; but seems less natural.)
90
; but seems less natural.)
91
; 4a. Loop over all PCI devices, call usb_init_controller
91
; 4a. Loop over all PCI devices, call usb_init_controller
92
; for all EHCI controllers.
92
; for all EHCI controllers.
93
        mov     eax, pcidev_list
93
        mov     eax, pcidev_list
94
.scan_ehci:
94
.scan_ehci:
95
        mov     eax, [eax+PCIDEV.fd]
95
        mov     eax, [eax+PCIDEV.list.next]
96
        cmp     eax, pcidev_list
96
        cmp     eax, pcidev_list
97
        jz      .done_ehci
97
        jz      .done_ehci
98
        cmp     [eax+PCIDEV.class], 0x0C0320
98
        cmp     [eax+PCIDEV.class], 0x0C0320
99
        jnz     .scan_ehci
99
        jnz     .scan_ehci
100
        mov     edi, ehci_hardware_func
100
        mov     edi, ehci_hardware_func
Line 103... Line 103...
103
.done_ehci:
103
.done_ehci:
104
; 4b. Loop over all PCI devices, call usb_init_controller
104
; 4b. Loop over all PCI devices, call usb_init_controller
105
; for all UHCI and OHCI controllers.
105
; for all UHCI and OHCI controllers.
106
        mov     eax, pcidev_list
106
        mov     eax, pcidev_list
107
.scan_usb1:
107
.scan_usb1:
108
        mov     eax, [eax+PCIDEV.fd]
108
        mov     eax, [eax+PCIDEV.list.next]
109
        cmp     eax, pcidev_list
109
        cmp     eax, pcidev_list
110
        jz      .done_usb1
110
        jz      .done_usb1
111
        mov     edi, uhci_hardware_func
111
        mov     edi, uhci_hardware_func
112
        cmp     [eax+PCIDEV.class], 0x0C0300
112
        cmp     [eax+PCIDEV.class], 0x0C0300
113
        jz      @f
113
        jz      @f