moved spawn flags into spawndomain.h
authorReto Achermann <reto.achermann@inf.ethz.ch>
Thu, 27 Nov 2014 09:38:33 +0000 (10:38 +0100)
committerReto Achermann <reto.achermann@inf.ethz.ch>
Thu, 27 Nov 2014 09:38:33 +0000 (10:38 +0100)
13 files changed:
include/barrelfish/spawn_client.h
include/spawndomain/spawndomain.h
usr/angler/angler.c
usr/bench/loopy/loopy_driver.c
usr/bench/net_latency/main.c
usr/fish/fish.c
usr/fish/fish_arm.c
usr/kaluga/start_cpu.c
usr/openssh/src/session.c
usr/tests/net-test/net-test.c
usr/tests/semaphores/semtest.c
usr/tests/terminalio/pty-test.c
usr/tests/testdesc/testdesc.c

index d960b3f..b90a1a3 100644 (file)
 #include <spawndomain/spawndomain.h>
 __BEGIN_DECLS
 
-/// Flags for spawning a program
-typedef enum spawn_flags {
-    SPAWN_NEW_DOMAIN    = 1 << 0, ///< allocate a new domain ID
-    SPAWN_OMP           = 1 << 1, ///< do the OpenMP parsing
-} spawn_flags_t;
-
 struct spawn_ps_entry {
     uint8_t status;
 };
 
-#define SPAWN_FLAGS_DEFAULT (0)
+
 
 /* Inherit CNode, layout convention #spawn_program_with_caps expects */
 #define INHERITCN_SLOT_FDSPAGE   1  ///< cap for inherited file descriptors
@@ -47,7 +41,7 @@ errval_t spawn_program(coreid_t coreid, const char *path,
                        spawn_flags_t flags, domainid_t *ret_domainid);
 errval_t spawn_program_on_all_cores(bool same_core, const char *path,
                                     char *const argv[], char *const envp[],
-                                    spawn_flags_t flags, domainid_t *ret_domainid, 
+                                    spawn_flags_t flags, domainid_t *ret_domainid,
                                     coreid_t* spawn_count);
 errval_t spawn_kill(domainid_t domainid);
 errval_t spawn_exit(uint8_t exitcode);
index acca791..a5c6cee 100644 (file)
@@ -70,9 +70,12 @@ struct spawninfo {
     uint8_t flags;
 };
 
+#define SPAWN_FLAGS_DEFAULT (0)
 #define SPAWN_FLAGS_NEW_DOMAIN    (1 << 0) ///< allocate a new domain ID
 #define SPAWN_FLAGS_OMP           (1 << 1) ///< do the OpenMP parsing
 
+typedef uint8_t spawn_flags_t;
+
 __BEGIN_DECLS
 errval_t spawn_get_cmdline_args(struct mem_region *module,
                                 char **retargs);
index ae320aa..aaf8b7b 100644 (file)
@@ -57,7 +57,7 @@ static void start_shell(struct capref session_id, char *terminal_type)
     /* spawn shell on the same core */
     extern char **environ;
     err = spawn_program_with_caps(my_core_id, shell, shell_argv, environ,
-                                  inheritcn_cap, NULL_CAP, SPAWN_NEW_DOMAIN,
+                                  inheritcn_cap, NULL_CAP, SPAWN_FLAGS_NEW_DOMAIN,
                                   NULL);
     if (err_is_fail(err)) {
         USER_PANIC_ERR(err, "Error spawning shell.");
index 46c8720..85f09dc 100644 (file)
@@ -14,7 +14,7 @@ static int execute_program(coreid_t coreid, int argc, char *argv[],
     assert(retdomainid != NULL);
 
     argv[argc] = NULL;
-    err = spawn_program(coreid, prog, argv, NULL, SPAWN_NEW_DOMAIN,
+    err = spawn_program(coreid, prog, argv, NULL, SPAWN_FLAGS_NEW_DOMAIN,
                         retdomainid);
 
     if (prog != argv[0]) {
index 1fede1c..55bab0a 100644 (file)
@@ -65,7 +65,7 @@ static void start_run(uint8_t core, uint8_t memory, int payload, int nocache,
             nocache, read_incoming, head_idx_wb);
 
     printf("##### spawning programm %s\n", argv[0]);
-    r = spawn_program(core, argv[0], argv, NULL, SPAWN_NEW_DOMAIN, &new_domain);
+    r = spawn_program(core, argv[0], argv, NULL, SPAWN_FLAGS_NEW_DOMAIN, &new_domain);
     assert(err_is_ok(r));
 
     r = spawn_wait_core(core, new_domain, &code, false);
index 0f55b8e..7fc7833 100644 (file)
@@ -91,7 +91,7 @@ static int execute_program(coreid_t coreid, int argc, char *argv[],
 
     argv[argc] = NULL;
     err = spawn_program_with_caps(coreid, prog, argv, NULL, inheritcn_cap,
-                                  NULL_CAP, SPAWN_NEW_DOMAIN, retdomainid);
+                                  NULL_CAP, SPAWN_FLAGS_NEW_DOMAIN, retdomainid);
 
     if (prog != argv[0]) {
         free(prog);
@@ -169,7 +169,7 @@ static struct pixels_binding my_pixels_bindings[NUM_PIXELS];
 
 static int acks = 0;
 
-static void pixels_ack(struct pixels_binding *cl) 
+static void pixels_ack(struct pixels_binding *cl)
 {
     acks--;
 }
@@ -181,11 +181,11 @@ static struct pixels_rx_vtbl pixels_vtbl = {
 static void my_pixels_bind_cb(void *st, errval_t err, struct pixels_binding *b)
 {
     struct pixels_binding *pb = (struct pixels_binding *)st;
-    
+
     if (err_is_fail(err)) {
         USER_PANIC_ERR(err, "bind failed");
     }
-    
+
     pb->rx_vtbl = pixels_vtbl;
     pixels_connected++;
 }
@@ -204,9 +204,9 @@ static void pixels_init(void)
         char name[16];
         iref_t serv_iref;
         errval_t err;
-        
+
         sprintf(name, "pixels.%d", core);
-        
+
         /* Connect to the server */
         err = nameservice_blocking_lookup(name, &serv_iref);
         if (err_is_fail(err)) {
@@ -218,9 +218,9 @@ static void pixels_init(void)
            DEBUG_ERR(err, "failed to get a valid iref back from lookup");
            exit(EXIT_FAILURE);
        }
-  
-       err = pixels_bind(serv_iref, 
-                         my_pixels_bind_cb, 
+
+       err = pixels_bind(serv_iref,
+                         my_pixels_bind_cb,
                          &my_pixels_bindings[core],
                          get_default_waitset(),
                          IDC_BIND_FLAGS_DEFAULT);
@@ -230,20 +230,20 @@ static void pixels_init(void)
        }
     }
 
-    while (pixels_connected < NUM_PIXELS) 
+    while (pixels_connected < NUM_PIXELS)
        messages_wait_and_handle_next();
-    
+
     printf("connected to pixels server\n");
     pixels_inited = true;
 }
 
 static const char *scroller = "Barrelfish posse in full effect!!!   ";
-       
+
 static char c64map(char c) {
     if ('A' <= c && c <= 'Z') {
         return 65 + c-'A';
     } else if ('a' <= c && c <= 'z') {
-        return 1 + c-'a';        
+        return 1 + c-'a';
     } else if (c == ' ') {
         return 32;
     } else if (c == '!') {
@@ -265,20 +265,20 @@ static int demo(int argc, char *argv[])
     int frames = FRAMES;
 
     if (!pixels_inited) pixels_init();
-    
+
     if (argc == 3) {
         pixwidth = atoi(argv[1]);
         frames = atoi(argv[2]);
     }
     int width = 8 * strlen(scroller);
-    
+
     for (int x = 0; x < width - RENDER_WIDTH; x++) {
 
         // Repeat each frame a few times to slow down scrolling!
         for (int f = 0; f < frames; f++) {
         trace_event(TRACE_SUBSYS_BENCH, TRACE_EVENT_BENCH_PCBENCH, 1);
         for(int i = 0; i < RENDER_WIDTH; i++) {
-            
+
             int xpos = (x + i)%width;
             char ascii = scroller[xpos >> 3];
             char c64char = c64map(ascii);
@@ -287,17 +287,17 @@ static int demo(int argc, char *argv[])
             acks = 0;
             for (core = 0 ;core < 8; core++) {
                 unsigned char bits = font[c64char*8 + (7-core)];
-                
+
                 if (bits & (1<<(7-xsub)) ) {
 
                     my_pixels_bindings[core+2].tx_vtbl.display(&my_pixels_bindings[core+2], NOP_CONT, pixwidth);
                     acks++;
                 }
             }
-            
+
             uint64_t now = rdtsc();
-            
-            while (acks) {             
+
+            while (acks) {
                 messages_wait_and_handle_next();
             }
             while (rdtsc() - now < pixwidth) ;
@@ -676,7 +676,7 @@ static int dd(int argc, char *argv[])
 
     vfs_handle_t source_vh = NULL;
     vfs_handle_t target_vh = NULL;
-    
+
     size_t blocksize = 512;
     size_t count = 0;
     size_t skip = 0;
@@ -819,7 +819,7 @@ static int dd(int argc, char *argv[])
 out:
     if (buffer != NULL)
         free(buffer);
-    
+
     if (source_vh != NULL) {
         err = vfs_close(source_vh);
         if (err_is_fail(err)) {
@@ -843,9 +843,9 @@ out:
 
     double kbps = ((double)total_bytes_written / 1024.0) / elapsed_secs;
 
-    printf("%zd bytes read. %zd bytes written. %f s, %f kB/s\n", total_bytes_read, total_bytes_written, elapsed_secs, kbps); 
+    printf("%zd bytes read. %zd bytes written. %f s, %f kB/s\n", total_bytes_read, total_bytes_written, elapsed_secs, kbps);
 #else
-    printf("%zd bytes read. %zd bytes written.\n", total_bytes_read, total_bytes_written); 
+    printf("%zd bytes read. %zd bytes written.\n", total_bytes_read, total_bytes_written);
 #endif
 
     return ret;
index e55d2db..b253f5d 100644 (file)
@@ -79,7 +79,7 @@ static int execute_program(coreid_t coreid, int argc, char *argv[],
     assert(retdomainid != NULL);
 
     argv[argc] = NULL;
-    err = spawn_program(coreid, prog, argv, NULL, SPAWN_NEW_DOMAIN,
+    err = spawn_program(coreid, prog, argv, NULL, SPAWN_FLAGS_NEW_DOMAIN,
                         retdomainid);
 
     if (prog != argv[0]) {
index 5c303cd..28e76d1 100644 (file)
@@ -48,7 +48,7 @@ static void cpu_change_event(octopus_mode_t mode, char* record, void* state)
         if (mi != NULL) {
             err = mi->start_function(0, mi, record);
             if (err_is_fail(err)) {
-                printf("Boot driver not found. Do not boot discovered CPU %"PRIu64".\n", 
+                printf("Boot driver not found. Do not boot discovered CPU %"PRIu64".\n",
                        barrelfish_id);
                 goto out;
             }
@@ -104,7 +104,7 @@ errval_t start_boot_driver(coreid_t where, struct module_info* mi,
         if (barrelfish_id == my_core_id) {
             return SYS_ERR_OK;
         }
-        
+
         argv = malloc((argc+1) * sizeof(char *));
         memcpy(argv, mi->argv, argc * sizeof(char *));
         snprintf(barrelfish_id_s, 10, "%"PRIu64"", barrelfish_id);
@@ -116,7 +116,7 @@ errval_t start_boot_driver(coreid_t where, struct module_info* mi,
         // Copy kernel args over to new core
         struct module_info* cpu_module = find_module("cpu");
         if (cpu_module != NULL && strlen(cpu_module->args) > 1) {
-            KALUGA_DEBUG("%s:%s:%d: Boot with cpu arg %s and barrelfish_id_s=%s\n", 
+            KALUGA_DEBUG("%s:%s:%d: Boot with cpu arg %s and barrelfish_id_s=%s\n",
                          __FILE__, __FUNCTION__, __LINE__, cpu_module->args, barrelfish_id_s);
             argv[argc] = "-a";
             argc += 1;
@@ -156,7 +156,7 @@ errval_t start_boot_driver(coreid_t where, struct module_info* mi,
 
     err = spawn_program_with_caps(where, mi->path, argv,
                                   environ, inheritcn_cap,
-                                  NULL_CAP, SPAWN_NEW_DOMAIN, 
+                                  NULL_CAP, SPAWN_FLAGS_NEW_DOMAIN,
                                   &mi->did[0]);
     if (err_is_fail(err)) {
         DEBUG_ERR(err, "Spawning %s failed.", mi->path);
@@ -184,7 +184,7 @@ static void spawnd_change_event(octopus_mode_t mode, char* record, void* state)
             errval_t err = oct_set("all_spawnds_up { iref: 0 }");
             assert(err_is_ok(err));
         }
-    }   
+    }
 }
 
 errval_t wait_for_all_spawnds(void)
@@ -205,7 +205,7 @@ errval_t wait_for_all_spawnds(void)
     }
 
     // No we should be able to get core count
-    // of all cores to estimate the amount of 
+    // of all cores to estimate the amount of
     // spawnd's we have to expect (one per core)
     char** names;
     size_t count;
@@ -218,4 +218,4 @@ errval_t wait_for_all_spawnds(void)
     static char* spawnds = "r'spawn.[0-9]+' { iref: _ }";
     octopus_trigger_id_t tid;
     return oct_trigger_existing_and_watch(spawnds, spawnd_change_event, (void*)count, &tid);
-}
\ No newline at end of file
+}
index b8486b1..f689105 100644 (file)
@@ -717,7 +717,7 @@ do_exec_pty(Session *s, const char *command)
     /* spawn shell on the same core */
     extern char **environ;
     err = spawn_program_with_caps(my_core_id, shell, shell_argv, NULL,
-                                  inheritcn_cap, NULL_CAP, SPAWN_NEW_DOMAIN,
+                                  inheritcn_cap, NULL_CAP, SPAWN_FLAGS_NEW_DOMAIN,
                                   NULL);
     if (err_is_fail(err)) {
         USER_PANIC_ERR(err, "Error spawning shell.");
@@ -796,7 +796,7 @@ do_exec_pty(Session *s, const char *command)
 
        /* Enter interactive session. */
        s->ptymaster = ptymaster;
-       packet_set_interactive(1, 
+       packet_set_interactive(1,
            options.ip_qos_interactive, options.ip_qos_bulk);
        if (compat20) {
                session_set_fds(s, ptyfd, fdout, -1, 1, 1);
@@ -1494,7 +1494,7 @@ safely_chroot(const char *path, uid_t uid)
                        memcpy(component, path, cp - path);
                        component[cp - path] = '\0';
                }
-       
+
                debug3("%s: checking '%s'", __func__, component);
 
                if (stat(component, &st) != 0)
@@ -1502,7 +1502,7 @@ safely_chroot(const char *path, uid_t uid)
                            component, strerror(errno));
                if (st.st_uid != 0 || (st.st_mode & 022) != 0)
                        fatal("bad ownership or modes for chroot "
-                           "directory %s\"%s\"", 
+                           "directory %s\"%s\"",
                            cp == NULL ? "" : "component ", component);
                if (!S_ISDIR(st.st_mode))
                        fatal("chroot path %s\"%s\" is not a directory",
index bce6da7..29c6c22 100644 (file)
@@ -59,7 +59,7 @@ static errval_t spawn_child(int rfd)
     }
 
     err = spawn_program_with_caps(core, argv[0], argv, NULL, inheritcn_cap,
-                                  NULL_CAP, SPAWN_NEW_DOMAIN, &new_domain);
+                                  NULL_CAP, SPAWN_FLAGS_NEW_DOMAIN, &new_domain);
 
     if (err_is_fail(err)) {
         DEBUG_ERR(err, "failed spawn on core %d", core);
index 3cf48b2..a9276f2 100644 (file)
@@ -19,7 +19,7 @@ int main(int argc, char *argv[])
             args[0] = "program";
             args[1] = NULL;
             err = spawn_program(disp_get_core_id(), "/x86_64/sbin/semtest",
-                                args, NULL, SPAWN_NEW_DOMAIN, NULL);
+                                args, NULL, SPAWN_FLAGS_NEW_DOMAIN, NULL);
             assert(err_is_ok(err));
         }
     } else {
index 0169e62..e4a9ab1 100644 (file)
@@ -85,7 +85,7 @@ static void spawn_shell(int ttyfd)
     /* spawn shell on the same core */
     debug_printf("About to spawn fish.\n");
     err = spawn_program_with_caps(my_core_id, shell, shell_argv, NULL,
-                                  inheritcn_cap, NULL_CAP, SPAWN_NEW_DOMAIN,
+                                  inheritcn_cap, NULL_CAP, SPAWN_FLAGS_NEW_DOMAIN,
                                   NULL);
     if (err_is_fail(err)) {
         USER_PANIC_ERR(err, "Error spawning shell.");
index 65f9330..a3a6a75 100644 (file)
@@ -168,7 +168,7 @@ static errval_t spawn_child(struct capref fdcap)
                                     NULL_CAP, NULL_CAP);
 
     err = spawn_program_with_caps(core, argv[0], argv, NULL, inheritcn_cap,
-                                  NULL_CAP, SPAWN_NEW_DOMAIN, &new_domain);
+                                  NULL_CAP, SPAWN_FLAGS_NEW_DOMAIN, &new_domain);
 
     if (err_is_fail(err)) {
         DEBUG_ERR(err, "failed spawn on core %d", core);