Rev 837 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 837 | Rev 848 | ||
---|---|---|---|
Line 42... | Line 42... | ||
42 | ;; 20.5.2002 Hd status check - VT ;; |
42 | ;; 20.5.2002 Hd status check - VT ;; |
43 | ;; 29.6.2002 Improved fat32 verification - VT ;; |
43 | ;; 29.6.2002 Improved fat32 verification - VT ;; |
44 | ;; ;; |
44 | ;; ;; |
45 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
45 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 46... | Line 46... | ||
46 | 46 | ||
Line 47... | Line 47... | ||
47 | $Revision: 709 $ |
47 | $Revision: 848 $ |
Line 48... | Line 48... | ||
48 | 48 | ||
Line 104... | Line 104... | ||
104 | fat_change db 0 ; 1=fat has changed |
104 | fat_change db 0 ; 1=fat has changed |
105 | endg |
105 | endg |
Line 106... | Line 106... | ||
106 | 106 | ||
Line -... | Line 107... | ||
- | 107 | reserve_hd1: |
|
107 | reserve_hd1: |
108 | |
- | 109 | pushfd |
|
108 | 110 | cli |
|
109 | cli |
111 | |
Line 110... | Line 112... | ||
110 | cmp [hd1_status],0 |
112 | cmp [hd1_status],0 ;FIXME use mutex |
- | 113 | je reserve_ok1 |
|
111 | je reserve_ok1 |
114 | |
112 | 115 | popfd |
|
Line 113... | Line 116... | ||
113 | sti |
116 | |
Line 120... | Line 123... | ||
120 | mov eax,[CURRENT_TASK] |
123 | mov eax,[CURRENT_TASK] |
121 | shl eax,5 |
124 | shl eax,5 |
122 | mov eax,[eax+CURRENT_TASK+TASKDATA.pid] |
125 | mov eax,[eax+CURRENT_TASK+TASKDATA.pid] |
123 | mov [hd1_status],eax |
126 | mov [hd1_status],eax |
124 | pop eax |
127 | pop eax |
125 | sti |
128 | popfd |
126 | ret |
129 | ret |
127 | ;******************************************** |
130 | ;******************************************** |
Line 128... | Line 131... | ||
128 | 131 | ||
129 | uglobal |
132 | uglobal |
Line 136... | Line 139... | ||
136 | cmp [hdpos], 0x80 |
139 | cmp [hdpos], 0x80 |
137 | jae .ret |
140 | jae .ret |
138 | cmp [hdbase], 0x1F0 |
141 | cmp [hdbase], 0x1F0 |
139 | jne .IDE_Channel_2 |
142 | jne .IDE_Channel_2 |
140 | .IDE_Channel_1: |
143 | .IDE_Channel_1: |
- | 144 | pushfd |
|
141 | cli |
145 | cli |
142 | cmp [IDE_Channel_1],0 |
146 | cmp [IDE_Channel_1],0 |
143 | je .reserve_ok_1 |
147 | je .reserve_ok_1 |
144 | sti |
148 | popfd |
145 | call change_task |
149 | call change_task |
146 | jmp .IDE_Channel_1 |
150 | jmp .IDE_Channel_1 |
147 | .IDE_Channel_2: |
151 | .IDE_Channel_2: |
- | 152 | pushfd |
|
148 | cli |
153 | cli |
149 | cmp [IDE_Channel_2],0 |
154 | cmp [IDE_Channel_2],0 |
150 | je .reserve_ok_2 |
155 | je .reserve_ok_2 |
151 | sti |
156 | popfd |
152 | call change_task |
157 | call change_task |
153 | jmp .IDE_Channel_2 |
158 | jmp .IDE_Channel_2 |
154 | .reserve_ok_1: |
159 | .reserve_ok_1: |
155 | mov [IDE_Channel_1], 1 |
160 | mov [IDE_Channel_1], 1 |
- | 161 | popfd |
|
156 | push eax |
162 | push eax |
157 | mov al, 1 |
163 | mov al, 1 |
158 | jmp @f |
164 | jmp @f |
159 | .reserve_ok_2: |
165 | .reserve_ok_2: |
160 | mov [IDE_Channel_2], 1 |
166 | mov [IDE_Channel_2], 1 |
- | 167 | popfd |
|
161 | push eax |
168 | push eax |
162 | mov al, 3 |
169 | mov al, 3 |
163 | @@: |
170 | @@: |
164 | cmp [hdid], 1 |
171 | cmp [hdid], 1 |
165 | sbb al, -1 |
172 | sbb al, -1 |