]> Zhao Yanbai Git Server - minix.git/commitdiff
boot image - no need for entry point
authorTomas Hruby <tom@minix3.org>
Tue, 18 May 2010 13:51:46 +0000 (13:51 +0000)
committerTomas Hruby <tom@minix3.org>
Tue, 18 May 2010 13:51:46 +0000 (13:51 +0000)
- removes the initial_pc from struct boot_image. It is always set
  to 0 and RS uses a.out headers.

kernel/main.c
kernel/table.c
kernel/type.h
servers/is/dmp_kernel.c

index f00dc602ec92b9b987c47a0dac6c98ce4113095f..efe242c89746a7b91ffd03b72c47b26c71381073 100644 (file)
@@ -180,7 +180,7 @@ PUBLIC void main(void)
         * is different from that of other processes because tasks can
         * access I/O; this is not allowed to less-privileged processes 
         */
-       rp->p_reg.pc = (reg_t) ip->initial_pc;
+       rp->p_reg.pc = 0; /* we cannot start anything else */
        rp->p_reg.psw = (iskerneln(proc_nr)) ? INIT_TASK_PSW : INIT_PSW;
 
        /* Initialize the server stack pointer. Take it down one word
index 97a319c367b0870a4aa82761a8c24b805ab519b5..a8d7a0846f640e618b9ee63635d9f7d8cc6200d4 100644 (file)
@@ -65,25 +65,25 @@ PUBLIC char *t_stack[TOT_STACK_SPACE / sizeof(char *)];
  */
 
 PUBLIC struct boot_image image[] = {
-/* process nr, pc, flags, qs,  queue, stack,   name */ 
-{IDLE,       NULL,     0,  0,      0, IDL_S, "idle"  },
-{CLOCK,      NULL,     0,  0,      0, IDL_S, "clock" },
-{SYSTEM,     NULL,     0,  0,      0, IDL_S, "system"},
-{HARDWARE,      0,     0,  8, TASK_Q, HRD_S, "kernel"},
+/* process nr, flags, qs,  queue, stack,   name */
+{IDLE,             0,  0,      0, IDL_S, "idle"  },
+{CLOCK,            0,  0,      0, IDL_S, "clock" },
+{SYSTEM,           0,  0,      0, IDL_S, "system"},
+{HARDWARE,         0,  0,      0, IDL_S, "kernel"},
 
-{DS_PROC_NR,    0, BVM_F,  4,      4, 0,     "ds"    },
-{RS_PROC_NR,    0,     0,  4,      4, 0,     "rs"    },
+{DS_PROC_NR,   BVM_F,  4,      4, 0,     "ds"    },
+{RS_PROC_NR,       0,  4,      4, 0,     "rs"    },
 
-{PM_PROC_NR,    0,     0, 32,      4, 0,     "pm"    },
-{SCHED_PROC_NR, 0,     0, 32,      4, 0,     "sched" },
-{FS_PROC_NR,    0,     0, 32,      5, 0,     "vfs"   },
-{MEM_PROC_NR,   0, BVM_F,  4,      3, 0,     "memory"},
-{LOG_PROC_NR,   0, BVM_F,  4,      2, 0,     "log"   },
-{TTY_PROC_NR,   0, BVM_F,  4,      1, 0,     "tty"   },
-{MFS_PROC_NR,   0, BVM_F, 32,      5, 0,     "mfs"   },
-{VM_PROC_NR,    0,     0, 32,      2, 0,     "vm"    },
-{PFS_PROC_NR,   0, BVM_F, 32,      5, 0,     "pfs"   },
-{INIT_PROC_NR,  0, BVM_F,  8, USER_Q, 0,     "init"  },
+{PM_PROC_NR,       0, 32,      4, 0,     "pm"    },
+{SCHED_PROC_NR,    0, 32,      4, 0,     "sched" },
+{FS_PROC_NR,       0, 32,      5, 0,     "vfs"   },
+{MEM_PROC_NR,  BVM_F,  4,      3, 0,     "memory"},
+{LOG_PROC_NR,  BVM_F,  4,      2, 0,     "log"   },
+{TTY_PROC_NR,  BVM_F,  4,      1, 0,     "tty"   },
+{MFS_PROC_NR,  BVM_F, 32,      5, 0,     "mfs"   },
+{VM_PROC_NR,       0, 32,      2, 0,     "vm"    },
+{PFS_PROC_NR,  BVM_F, 32,      5, 0,     "pfs"   },
+{INIT_PROC_NR, BVM_F,  8, USER_Q, 0,     "init"  },
 };
 
 /* Verify the size of the system image table at compile time. Also verify that 
index 706a068d941556f9a8911a0582eb2c657ebbfb19..a63603c6d70e888a93b1636172ab87f42e941598 100644 (file)
@@ -4,8 +4,6 @@
 #include <minix/com.h>
 #include <machine/interrupt.h>
 
-typedef _PROTOTYPE( void task_t, (void) );
-
 /* Process table and system property related types. */ 
 typedef int proc_nr_t;                 /* process table entry number */
 typedef short sys_id_t;                        /* system process index */
@@ -15,7 +13,6 @@ typedef struct {                      /* bitmap for system indexes */
 
 struct boot_image {
   proc_nr_t proc_nr;                   /* process number to use */
-  task_t *initial_pc;                  /* start function for tasks */
   int flags;                           /* process flags */
   unsigned char quantum;               /* quantum (tick count) */
   int priority;                                /* scheduling priority */
index aceb7778a450ebcd3b8adedcab696e07c92d5093..65ac691c030090f6644da393eded361522fc8015 100644 (file)
@@ -220,11 +220,11 @@ PUBLIC void image_dmp()
       return;
   }
   printf("Image table dump showing all processes included in system image.\n");
-  printf("---name- -nr- ----pc- flags -qs- -queue- -stack-\n");
+  printf("---name- -nr- flags -qs- -queue- -stack-\n");
   for (m=0; m<NR_BOOT_PROCS; m++) { 
       ip = &image[m];
-      printf("%8s %4d %7lu %5s %4d %7d %7lu\n",
-          ip->proc_name, ip->proc_nr, (long)ip->initial_pc,
+      printf("%8s %4d %5s %4d %7d %7lu\n",
+          ip->proc_name, ip->proc_nr,
           boot_flags_str(ip->flags), ip->quantum, ip->priority, ip->stksize); 
   }
   printf("\n");