Rev 6650 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6650 | Rev 6842 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 6650 $ |
8 | $Revision: 6842 $ |
Line 9... | Line 9... | ||
9 | 9 | ||
10 | ; HDD driver |
- | |
11 | - | ||
12 | struct HD_DATA |
10 | ; HDD driver |
- | 11 | ||
- | 12 | struct HD_DATA |
|
13 | hdbase dw ? |
13 | hdpos dw ? |
- | 14 | hdid dw ? |
|
14 | hdid dw ? |
15 | hdbase dw ? |
15 | hdpos dw ? |
16 | hd48 dw ? |
16 | hd48 dw ? |
17 | sectors dq ? |
17 | ends |
18 | ends |
18 | ;----------------------------------------------------------------- |
19 | ;----------------------------------------------------------------- |
Line 27... | Line 28... | ||
27 | dd ide_write |
28 | dd ide_write |
28 | dd 0 ; no flush function |
29 | dd 0 ; no flush function |
29 | dd 0 ; use default cache size |
30 | dd 0 ; use default cache size |
30 | .end: |
31 | .end: |
Line 31... | Line 32... | ||
31 | 32 | ||
32 | hd0_data HD_DATA ?, 0, 1, 0 |
33 | hd0_data HD_DATA 1, 0 |
33 | hd1_data HD_DATA ?, 16, 2, 0 |
34 | hd1_data HD_DATA 2, 16 |
34 | hd2_data HD_DATA ?, 0, 3, 0 |
35 | hd2_data HD_DATA 3, 0 |
35 | hd3_data HD_DATA ?, 16, 4, 0 |
36 | hd3_data HD_DATA 4, 16 |
36 | hd4_data HD_DATA ?, 0, 5, 0 |
37 | hd4_data HD_DATA 5, 0 |
37 | hd5_data HD_DATA ?, 16, 6, 0 |
38 | hd5_data HD_DATA 6, 16 |
38 | hd6_data HD_DATA ?, 0, 7, 0 |
39 | hd6_data HD_DATA 7, 0 |
39 | hd7_data HD_DATA ?, 16, 8, 0 |
40 | hd7_data HD_DATA 8, 16 |
40 | hd8_data HD_DATA ?, 0, 9, 0 |
41 | hd8_data HD_DATA 9, 0 |
41 | hd9_data HD_DATA ?, 16, 10, 0 |
42 | hd9_data HD_DATA 10, 16 |
42 | hd10_data HD_DATA ?, 0, 11, 0 |
43 | hd10_data HD_DATA 11, 0 |
Line 43... | Line 44... | ||
43 | hd11_data HD_DATA ?, 16, 12, 0 |
44 | hd11_data HD_DATA 12, 16 |
44 | 45 | ||
45 | ide_mutex_table: |
46 | ide_mutex_table: |
46 | dd ide_channel1_mutex |
47 | dd ide_channel1_mutex |
Line 189... | Line 190... | ||
189 | call mutex_unlock |
190 | call mutex_unlock |
190 | pop eax |
191 | pop eax |
191 | ret |
192 | ret |
192 | endp |
193 | endp |
193 | ;----------------------------------------------------------------- |
194 | ;----------------------------------------------------------------- |
194 | ; this is a stub |
- | |
195 | proc ide_querymedia stdcall, hd_data, mediainfo |
195 | proc ide_querymedia stdcall, hd_data, mediainfo |
196 | mov eax, [mediainfo] |
196 | mov eax, [mediainfo] |
- | 197 | mov edx, [hd_data] |
|
197 | mov [eax+DISKMEDIAINFO.Flags], 0 |
198 | mov [eax+DISKMEDIAINFO.Flags], 0 |
198 | mov [eax+DISKMEDIAINFO.SectorSize], 512 |
199 | mov [eax+DISKMEDIAINFO.SectorSize], 512 |
- | 200 | mov ecx, dword[edx+HD_DATA.sectors] |
|
199 | or dword [eax+DISKMEDIAINFO.Capacity], 0xFFFFFFFF |
201 | mov dword[eax+DISKMEDIAINFO.Capacity], ecx |
- | 202 | mov ecx, dword[edx+HD_DATA.sectors+4] |
|
200 | or dword [eax+DISKMEDIAINFO.Capacity+4], 0xFFFFFFFF |
203 | mov dword[eax+DISKMEDIAINFO.Capacity+4], ecx |
201 | xor eax, eax |
204 | xor eax, eax |
202 | ret |
205 | ret |
203 | endp |
206 | endp |
204 | ;----------------------------------------------------------------- |
207 | ;----------------------------------------------------------------- |
205 | ; input: esi -> buffer, bl = command, [sector], [blockSize] |
208 | ; input: esi -> buffer, bl = command, [sector], [blockSize] |