Subversion Repositories Kolibri OS

Rev

Rev 6650 | 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]