Subversion Repositories Kolibri OS

Rev

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

Rev 2415 Rev 2427
Line 65... Line 65...
65
 
65
 
Line 66... Line 66...
66
    __asm__ __volatile__(
66
    __asm__ __volatile__(
67
    "int $0x40 \n\t"
67
    "int $0x40 \n\t"
68
    "rol $16, %%eax"
68
    "rol $16, %%eax"
69
    :"=eax"(val)
69
    :"=a"(val)
70
    :"a"(37),"b"(1));
70
    :"a"(37),"b"(1));
71
    return val;
71
    return val;
72
}
72
}
Line 73... Line 73...
73
 
73
 
Line 78... Line 78...
78
 
78
 
Line 79... Line 79...
79
    __asm__ __volatile__(
79
    __asm__ __volatile__(
80
    "int $0x40 \n\t"
80
    "int $0x40 \n\t"
81
    "rol $16, %%eax"
81
    "rol $16, %%eax"
82
    :"=eax"(val)
82
    :"=a"(val)
83
    :"a"(37),"b"(0));
83
    :"a"(37),"b"(0));
84
    return val;
84
    return val;
85
}
85
}
Line 86... Line 86...
86
 
86
 
Line 135... Line 135...
135
{
135
{
136
    uint32_t val;
136
    uint32_t val;
137
    __asm__ __volatile__(
137
    __asm__ __volatile__(
138
    "int $0x40"
138
    "int $0x40"
139
    :"=eax"(val)
139
    :"=a"(val)
140
    :"a"(26),"b"(9));
140
    :"a"(26),"b"(9));
141
    return val;
141
    return val;
142
};
142
};
143
 
143
 
Line 144... Line 144...
144
static inline
144
static inline
145
oskey_t get_key(void)
145
oskey_t get_key(void)
146
{
146
{
147
    oskey_t val;
147
    oskey_t val;
148
    __asm__ __volatile__(
148
    __asm__ __volatile__(
149
    "int $0x40"
149
    "int $0x40"
150
    :"=eax"(val)
150
    :"=a"(val)
151
    :"a"(2));
151
    :"a"(2));
152
    return val;
152
    return val;
153
}
153
}
Line 154... Line 154...
154
 
154
 
Line 199... Line 199...
199
{
199
{
200
    void  *val;
200
    void  *val;
201
    __asm__ __volatile__(
201
    __asm__ __volatile__(
202
    "int $0x40"
202
    "int $0x40"
203
    :"=eax"(val)
203
    :"=a"(val)
204
    :"a"(68),"b"(12),"c"(size));
204
    :"a"(68),"b"(12),"c"(size));
205
    return val;
205
    return val;
206
}
206
}
207
 
207
 
Line 208... Line 208...
208
static inline
208
static inline
209
int user_free(void *mem)
209
int user_free(void *mem)
210
{
210
{
211
    int  val;
211
    int  val;
212
    __asm__ __volatile__(
212
    __asm__ __volatile__(
213
    "int $0x40"
213
    "int $0x40"
214
    :"=eax"(val)
214
    :"=a"(val)
215
    :"a"(68),"b"(12),"c"(mem));
215
    :"a"(68),"b"(12),"c"(mem));
216
    return val;
216
    return val;
217
}
217
}
Line 218... Line 218...
218
 
218
 
219
static inline
219
static inline
220
int *user_unmap(void *base, size_t offset, size_t size)
220
int *user_unmap(void *base, size_t offset, size_t size)
221
{
221
{
222
    void  *val;
222
    void  *val;
223
    __asm__ __volatile__(
223
    __asm__ __volatile__(
224
    "int $0x40"
224
    "int $0x40"
225
    :"=eax"(val)
225
    :"=a"(val)
226
    :"a"(68),"b"(26),"c"(base),"d"(offset),"S"(size));
226
    :"a"(68),"b"(26),"c"(base),"d"(offset),"S"(size));
227
    return val;
227
    return val;
Line 228... Line 228...
228
}
228
}
Line 246... Line 246...
246
{
246
{
247
    uint32_t  val;
247
    uint32_t  val;
248
    __asm__ __volatile__(
248
    __asm__ __volatile__(
249
    "int $0x40"
249
    "int $0x40"
250
    :"=eax"(val)
250
    :"=a"(val)
251
    :"a"(37), "b"(4), "c"(path), "d"(flags));
251
    :"a"(37), "b"(4), "c"(path), "d"(flags));
252
    return val;
252
    return val;
253
}
253
}
254
 
254
 
Line 255... Line 255...
255
static inline
255
static inline
256
uint32_t  set_cursor(uint32_t  cursor)
256
uint32_t  set_cursor(uint32_t  cursor)
257
{
257
{
258
    uint32_t  old;
258
    uint32_t  old;
259
    __asm__ __volatile__(
259
    __asm__ __volatile__(
260
    "int $0x40"
260
    "int $0x40"
261
    :"=eax"(old)
261
    :"=a"(old)
262
    :"a"(37), "b"(5), "c"(cursor));
262
    :"a"(37), "b"(5), "c"(cursor));
263
    return old;
263
    return old;
264
}
264
}
Line 265... Line 265...
265
 
265
 
Line 276... Line 276...
276
{
276
{
277
    void *val;
277
    void *val;
278
    __asm__ __volatile__(
278
    __asm__ __volatile__(
279
    "int $0x40"
279
    "int $0x40"
280
    :"=eax"(val)
280
    :"=a"(val)
281
    :"a"(68),"b"(12),"c"(size),"d"(mem)
281
    :"a"(68),"b"(12),"c"(size),"d"(mem)
282
    :"memory");
282
    :"memory");
283
 
283
 
Line 284... Line 284...
284
    return val;
284
    return val;
285
}
285
}
Line 307... Line 307...
307
void Blit(void *bitmap, int dst_x, int dst_y,
307
void Blit(void *bitmap, int dst_x, int dst_y,
308
                        int src_x, int src_y, int w, int h,
308
                        int src_x, int src_y, int w, int h,
309
                        int src_w, int src_h, int stride);
309
                        int src_w, int src_h, int stride);
Line -... Line 310...
-
 
310
-
 
311
-
 
312
-
 
313
-
 
314