aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorsotech117 <michael_foiani@brown.edu>2024-03-04 04:20:19 +0000
committersotech117 <michael_foiani@brown.edu>2024-03-04 04:20:19 +0000
commit1e1801085af5c16bbba1aad026eaadfadc92cc0e (patch)
tree3b7afcfc2535eb53c35725d4abe20b16928c029f /kernel
parentebfa0119159055d086f07aa05c15434666963826 (diff)
finish drivers
Diffstat (limited to 'kernel')
-rw-r--r--kernel/drivers/tty/ldisc.c2
-rw-r--r--kernel/main/kmain.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/kernel/drivers/tty/ldisc.c b/kernel/drivers/tty/ldisc.c
index 4af35c5..1b79bae 100644
--- a/kernel/drivers/tty/ldisc.c
+++ b/kernel/drivers/tty/ldisc.c
@@ -215,6 +215,8 @@ void ldisc_key_pressed(ldisc_t *ldisc, char c)
// cook the buffer
ldisc->ldisc_cooked = ldisc->ldisc_head;
+ sched_wakeup_on(&ldisc->ldisc_read_queue, 0);
+
// emit a `\n` to the vterminal
vterminal_write(&ldisc_to_tty(ldisc)->tty_vterminal, "\n", 1);
break;
diff --git a/kernel/main/kmain.c b/kernel/main/kmain.c
index d46b2c0..4cec7bd 100644
--- a/kernel/main/kmain.c
+++ b/kernel/main/kmain.c
@@ -171,6 +171,7 @@ static void *initproc_run(long arg1, void *arg2)
// dbg(DBG_PROC, "%s", "In main thread!\n");
#ifdef __DRIVERS__
+ driverstest_main(0, NULL);
char name[32] = {0};
for (long i = 0; i < __NTERMS__; i++)
{
@@ -179,8 +180,6 @@ static void *initproc_run(long arg1, void *arg2)
kthread_t *thread = kthread_create(proc, kshell_proc_run, i, NULL);
sched_make_runnable(thread);
}
-
- driverstest_main(0, NULL);
#endif
// see if there are any children to wait for