Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
808 serge 1
 
2
3
 
4
{
5
  if(!delay) delay++;
6
  delay*=2000;
7
8
 
9
  (
10
     "1:\n\t"
11
      "xorl %%eax, %%eax \n\t"
12
      "cpuid \n\t"
13
      "decl %%edi \n\t"
14
      "jnz 1b"
15
      :
16
      :"D"(delay)
17
      :"eax","ebx","ecx","edx"
18
  );
19
}
20
21
 
22
{
23
  u32 retval;
24
25
 
26
  (
27
    "call *__imp__PciApi"
28
    :"=eax" (retval)
29
    :"a" (cmd)
30
    :"memory"
31
  );
32
  return retval;
33
};
34
35
 
36
u32 __RegService(char *name, srv_proc_t proc)
37
{
38
  u32 retval;
39
40
 
41
  (
42
    "pushl %%eax \n\t"
43
    "pushl %%ebx \n\t"
44
    "call *__imp__RegService \n\t"
45
    :"=eax" (retval)
46
    :"a" (proc), "b" (name)
47
    :"memory"
48
  );
49
  return retval;
50
};
51
*/
52
53
 
54
{
55
  void *retval;
56
57
 
58
  (
59
    "call *__imp__CreateObject \n\t"
60
    :"=eax" (retval)
61
    :"a" (size),"b"(pid)
62
    :"esi","edi", "memory"
63
  );
64
65
 
66
}
67
68
 
69
{
70
  asm __volatile__
71
  (
72
    "call *__imp__DestroyObject"
73
    :
74
    :"a" (obj)
75
    :"ebx","edx","esi","edi", "memory"
76
  );
77
}
78