Rev 2913 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2913 | Rev 2935 | ||
---|---|---|---|
Line 1040... | Line 1040... | ||
1040 | ; |
1040 | ; |
1041 | ; Currently only supports one descriptor per packet, if packet is fragmented |
1041 | ; Currently only supports one descriptor per packet, if packet is fragmented |
1042 | ; between multiple descriptors you will lose part of the packet |
1042 | ; between multiple descriptors you will lose part of the packet |
1043 | ; |
1043 | ; |
1044 | ;*************************************************************************** |
1044 | ;*************************************************************************** |
- | 1045 | ||
1045 | align 4 |
1046 | align 4 |
1046 | int_handler: |
1047 | int_handler: |
Line -... | Line 1048... | ||
- | 1048 | ||
- | 1049 | DEBUGF 1,"\n%s int\n", my_service |
|
1047 | 1050 | ||
1048 | ; find pointer of device which made IRQ occur |
- | |
- | 1051 | ; find pointer of device which made IRQ occur |
|
1049 | mov esi, device_list |
1052 | |
1050 | mov ecx, [devices] |
1053 | mov ecx, [devices] |
1051 | test ecx, ecx |
1054 | test ecx, ecx |
- | 1055 | jz .nothing |
|
1052 | jz .nothing |
1056 | mov esi, device_list |
1053 | .nextdevice: |
1057 | .nextdevice: |
- | 1058 | mov ebx, [esi] |
|
1054 | mov ebx, [esi] |
1059 | |
1055 | set_io 0 |
1060 | set_io 0 |
1056 | set_io isr |
1061 | set_io isr |
1057 | in eax, dx ; note that this clears all interrupts |
1062 | in eax, dx ; note that this clears all interrupts |
1058 | test ax, IE |
1063 | test ax, IE |
- | 1064 | jnz .got_it |
|
- | 1065 | .continue: |
|
- | 1066 | add esi, 4 |
|
1059 | jnz .got_it |
1067 | dec ecx |
1060 | loop .nextdevice |
1068 | jnz .nextdevice |
1061 | .nothing: |
1069 | .nothing: |
- | 1070 | ret |
|
1062 | ret |
1071 | |
Line 1063... | Line 1072... | ||
1063 | .got_it: |
1072 | .got_it: |
Line 1064... | Line 1073... | ||
1064 | 1073 | ||
1065 | DEBUGF 1,"IRQ! status=%x\n", ax |
1074 | DEBUGF 1,"Device: %x Status: %x ", ebx, ax |
Line 1066... | Line 1075... | ||
1066 | 1075 |