*/
-#ifdef __SHARC__
-#pragma nosharc
-#endif
-
#include <ros/common.h>
#include <smp.h>
#include <arch/init.h>
#include <mm.h>
#include <elf.h>
-#include <frontend.h>
#include <kmalloc.h>
#include <assert.h>
#include <schedule.h>
#include <syscall.h>
#include <ktest.h>
-#include <kfs.h>
#include <stdio.h>
#include <time.h>
#include <monitor.h>
-#include <colored_caches.h>
#include <string.h>
#include <pmap.h>
#include <arch/console.h>
#include <time.h>
-#include <ros/arch/membar.h>
/*
* Currently, if you leave this function by way of proc_run (process_workqueue
void manager(void)
{
// LoL
- #define PASTE(s1,s2) s1 ## s2
#define MANAGER_FUNC(dev) PASTE(manager_,dev)
#if !defined(DEVELOPER_NAME) && \
- (defined(CONFIG_KERNEL_POSTBOOT_TESTING) || \
+ (defined(CONFIG_KERNEL_TESTING) || \
defined(CONFIG_USERSPACE_TESTING))
#define DEVELOPER_NAME jenkins
#endif
}
char *p_argv[] = {0, 0, 0};
-char *p_envp[] = {"LD_LIBRARY_PATH=/lib", 0};
/* Helper macro for quickly running a process. Pass it a string, *file, and a
* *proc. */
#define quick_proc_run(x, p, f) \
- (f) = do_file_open((x), 0, 0); \
+ (f) = do_file_open((x), O_READ, 0); \
assert((f)); \
p_argv[0] = file_name((f)); \
- (p) = proc_create((f), p_argv, p_envp); \
+ (p) = proc_create((f), p_argv, NULL); \
kref_put(&(f)->f_kref); \
spin_lock(&(p)->proc_lock); \
__proc_set_state((p), PROC_RUNNABLE_S); \
proc_decref((p));
#define quick_proc_create(x, p, f) \
- (f) = do_file_open((x), 0, 0); \
+ (f) = do_file_open((x), O_READ, 0); \
assert((f)); \
p_argv[0] = file_name((f)); \
- (p) = proc_create((f), p_argv, p_envp); \
+ (p) = proc_create((f), p_argv, NULL); \
kref_put(&(f)->f_kref); \
spin_lock(&(p)->proc_lock); \
__proc_set_state((p), PROC_RUNNABLE_S); \
spin_unlock(&(p)->proc_lock);
#define quick_proc_color_run(x, p, c, f) \
- (f) = do_file_open((x), 0, 0); \
+ (f) = do_file_open((x), O_READ, 0); \
assert((f)); \
p_argv[0] = file_name((f)); \
- (p) = proc_create((f), p_argv, p_envp); \
+ (p) = proc_create((f), p_argv, NULL); \
kref_put(&(f)->f_kref); \
spin_lock(&(p)->proc_lock); \
__proc_set_state((p), PROC_RUNNABLE_S); \
proc_decref((p));
#define quick_proc_color_create(x, p, c, f) \
- (f) = do_file_open((x), 0, 0); \
+ (f) = do_file_open((x), O_READ, 0); \
assert((f)); \
p_argv[0] = file_name((f)); \
- (p) = proc_create((f), p_argv, p_envp); \
+ (p) = proc_create((f), p_argv, NULL); \
kref_put(&(f)->f_kref); \
spin_lock(&(p)->proc_lock); \
__proc_set_state((p), PROC_RUNNABLE_S); \
static bool first = TRUE;
struct per_cpu_info *pcpui = &per_cpu_info[core_id()];
- if (first) {
+ if (first) {
printk("*** IRQs must be enabled for input emergency codes ***\n");
#ifdef CONFIG_X86
printk("*** Hit ctrl-g to enter the monitor. ***\n");
#if 0 /* ancient tests below: (keeping around til we ditch the manager) */
// for testing taking cores, check in case 1 for usage
- uint32_t corelist[MAX_NUM_CPUS];
+ uint32_t corelist[MAX_NUM_CORES];
uint32_t num = 3;
struct file *temp_f;
static struct proc *p;
spin_unlock(&p->proc_lock);
udelay(5000000);
printk("Killing p\n");
- enable_irq();
proc_destroy(p);
printk("Killed p\n");
panic("This is okay");
}
void manager_jenkins()
-{
+{
#ifdef CONFIG_KERNEL_TESTING
printk("<-- BEGIN_KERNEL_TESTS -->\n");
run_registered_ktest_suites();
if (strlen(CONFIG_USERSPACE_TESTING_SCRIPT) != 0) {
char exec[] = "/bin/ash";
char *p_argv[] = {exec, CONFIG_USERSPACE_TESTING_SCRIPT, 0};
- char *p_envp[] = {"LD_LIBRARY_PATH=/lib", 0};
- struct file *program = do_file_open(exec, 0, 0);
- struct proc *p = proc_create(program, p_argv, p_envp);
+ struct file *program = do_file_open(exec, O_READ, 0);
+ struct proc *p = proc_create(program, p_argv, NULL);
proc_wakeup(p);
proc_decref(p); /* let go of the reference created in proc_create() */
kref_put(&program->f_kref);
{
static bool first = true;
if (first)
- mon_bb(0, 0, 0);
+ mon_shell(0, 0, 0);
smp_idle();
assert(0);
}
void manager_yuzhu()
{
-
- static uint8_t RACY progress = 0;
+
+ static uint8_t progress = 0;
static struct proc *p;
// for testing taking cores, check in case 1 for usage
- uint32_t corelist[MAX_NUM_CPUS];
+ uint32_t corelist[MAX_NUM_CORES];
uint32_t num = 3;
//create_server(init_num_cores, loop);