/[hurd]/hurd-l4/physmem/physmem.c
ViewVC logotype

Diff of /hurd-l4/physmem/physmem.c

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

revision 1.1 by marcus, Tue Sep 9 21:43:12 2003 UTC revision 1.2 by marcus, Tue Sep 16 00:42:17 2003 UTC
# Line 28  Line 28 
28  char *program_name = "physmem";  char *program_name = "physmem";
29    
30    
31    void
32    get_all_memory (void)
33    {
34      l4_fpage_t fpage;
35    
36      do
37        {
38          l4_msg_t msg;
39          l4_msg_tag_t msg_tag;
40          l4_grant_item_t grant_item;
41    
42          l4_accept (l4_map_grant_items (l4_complete_address_space));
43          l4_msg_clear (&msg);
44          /* FIXME: 2 is WORTEL_MSG_GET_MEM.  */
45          l4_set_msg_label (&msg, 2);
46          /* FIXME: cap_id */
47          l4_msg_append_word (&msg, 0);
48          l4_msg_load (&msg);
49          /* FIXME: Hard coded wortel thread.  */
50          msg_tag = l4_call (l4_global_id (l4_thread_user_base () + 2, 1));
51          if (l4_ipc_failed (msg_tag))
52            {
53              debug ("get_mem request failed during %s: %u",
54                     l4_error_code () & 1 ? "receive" : "send",
55                     (l4_error_code () >> 1) & 0x7);
56              l4_sleep (l4_never);
57            }
58          if (l4_untyped_words (msg_tag) != 0
59              || l4_typed_words (msg_tag) != 2)
60            {
61              debug ("Invalid format of wortel get_mem reply");
62              l4_sleep (l4_never);
63            }
64          l4_msg_store (msg_tag, &msg);
65          l4_msg_get_grant_item (&msg, 0, &grant_item);
66          fpage = grant_item.send_fpage;
67    
68          if (fpage.raw != l4_nilpage.raw)
69            debug ("%s: Got fpage 0x%x/%u\n", program_name,
70                   l4_address (fpage), l4_size_log2 (fpage));
71        }
72      while (fpage.raw != l4_nilpage.raw);
73    }
74    
75    
76  int  int
77  main (int argc, char *argv[])  main (int argc, char *argv[])
78  {  {
# Line 35  main (int argc, char *argv[]) Line 80  main (int argc, char *argv[])
80    
81    debug ("%s " PACKAGE_VERSION "\n", program_name);    debug ("%s " PACKAGE_VERSION "\n", program_name);
82    
83      get_all_memory ();
84    
85    while (1)    while (1)
86      l4_sleep (l4_never);      l4_sleep (l4_never);
87    

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