/[hurd]/hurd-l4/libl4/powerpc/l4/bits/syscall.h
ViewVC logotype

Diff of /hurd-l4/libl4/powerpc/l4/bits/syscall.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by marcus, Mon Sep 22 20:57:58 2003 UTC revision 1.2 by marcus, Thu Sep 25 12:36:16 2003 UTC
# Line 53  l4_kernel_interface (l4_api_version_t *a Line 53  l4_kernel_interface (l4_api_version_t *a
53             :             :
54             : "r3", "r4", "r5", "r6");             : "r3", "r4", "r5", "r6");
55    
56    *r_version = version;    api_version->raw = version;
57    *r_flags = flags;    api_flags->raw = flags;
58    *r_id = id;    kernel_id->raw = id;
59    
60    return kip;    return kip;
61  }  }
# Line 80  l4_exchange_registers (l4_thread_id_t *d Line 80  l4_exchange_registers (l4_thread_id_t *d
80                          : "+r" (dest_result), "+r" (control),                          : "+r" (dest_result), "+r" (control),
81                          "+r" (sp), "+r" (ip), "+r" (flags),                          "+r" (sp), "+r" (ip), "+r" (flags),
82                          "+r" (user_handle), "+r" (pager)                          "+r" (user_handle), "+r" (pager)
83                          : [addr] "r" (__l4_exchange_register)                          : [addr] "r" (__l4_exchange_registers)
84                          : "r10", __L4_PPC_CLOB);                          : "r10", __L4_PPC_CLOB);
85    
86    dest_p->raw = dest_result;    dest_p->raw = dest_result;
# Line 194  l4_space_control (l4_thread_id_t space, Line 194  l4_space_control (l4_thread_id_t space,
194                    l4_fpage_t kip_area, l4_fpage_t utcb_area,                    l4_fpage_t kip_area, l4_fpage_t utcb_area,
195                    l4_thread_id_t redirector, l4_word_t *old_control)                    l4_thread_id_t redirector, l4_word_t *old_control)
196  {  {
197    register l4_word_t space_result asm ("r3") = dest.raw;    register l4_word_t space_result asm ("r3") = space.raw;
198    register l4_word_t ctrl asm ("r4") = control;    register l4_word_t ctrl asm ("r4") = control;
199    register l4_word_t kip asm ("r5") = kip_area;    register l4_word_t kip asm ("r5") = kip_area.raw;
200    register l4_word_t utcb asm ("r6") = utcb_area;    register l4_word_t utcb asm ("r6") = utcb_area.raw;
201    register l4_word_t redir asm ("r7") = redirector;    register l4_word_t redir asm ("r7") = redirector.raw;
202    
203    __asm__ __volatile__ ("mtctr %[addr]\n"    __asm__ __volatile__ ("mtctr %[addr]\n"
204                          "bctrl\n"                          "bctrl\n"
# Line 236  l4_ipc (l4_thread_id_t to, l4_thread_id_ Line 236  l4_ipc (l4_thread_id_t to, l4_thread_id_
236                          "bctrl\n"                          "bctrl\n"
237                          : "+r" (mr9), "+r" (mr1), "+r" (mr2), "+r" (mr3),                          : "+r" (mr9), "+r" (mr1), "+r" (mr2), "+r" (mr3),
238                          "+r" (mr4), "+r" (mr5), "+r" (mr6), "+r" (mr7),                          "+r" (mr4), "+r" (mr5), "+r" (mr6), "+r" (mr7),
239                          "+r" (mr8), "+r" (mr0), "+r" (from_spec_raw),                          "+r" (mr8), "+r" (mr0), "+r" (from_spec_raw)
240                          : "r" (to_raw), "r" (time_outs),                          : "r" (to_raw), "r" (time_outs),
241                          [addr] "r" (__l4_ipc)                          [addr] "r" (__l4_ipc)
242                          : "r11", "r12", "r13", __L4_PPC_XCLOB);                          : "r11", "r12", "r13", __L4_PPC_XCLOB);
# Line 283  l4_lipc (l4_thread_id_t to, l4_thread_id Line 283  l4_lipc (l4_thread_id_t to, l4_thread_id
283                          "bctrl\n"                          "bctrl\n"
284                          : "+r" (mr9), "+r" (mr1), "+r" (mr2), "+r" (mr3),                          : "+r" (mr9), "+r" (mr1), "+r" (mr2), "+r" (mr3),
285                          "+r" (mr4), "+r" (mr5), "+r" (mr6), "+r" (mr7),                          "+r" (mr4), "+r" (mr5), "+r" (mr6), "+r" (mr7),
286                          "+r" (mr8), "+r" (mr0), "+r" (from_spec_raw),                          "+r" (mr8), "+r" (mr0), "+r" (from_spec_raw)
287                          : "r" (to_raw), "r" (time_outs),                          : "r" (to_raw), "r" (time_outs),
288                          [addr] "r" (__l4_lipc)                          [addr] "r" (__l4_lipc)
289                          : "r11", "r12", "r13", __L4_PPC_XCLOB);                          : "r11", "r12", "r13", __L4_PPC_XCLOB);

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26