diff options
author | kaashoek <kaashoek> | 2006-09-03 17:34:09 +0000 |
---|---|---|
committer | kaashoek <kaashoek> | 2006-09-03 17:34:09 +0000 |
commit | 0b6ab8416e50dcbf790163282f461647e180dbc6 (patch) | |
tree | 4116afa412b392f3afea069db88f8bc5a3e2798f | |
parent | 7abf49d2f22af633f2fb3546f9f9fd818cef25df (diff) | |
download | xv6-labs-0b6ab8416e50dcbf790163282f461647e180dbc6.tar.gz xv6-labs-0b6ab8416e50dcbf790163282f461647e180dbc6.tar.bz2 xv6-labs-0b6ab8416e50dcbf790163282f461647e180dbc6.zip |
don't send keyboard interrupts to the second cpu, if we have only one cpu.
xv6 seems to work fine on uniprocessor now.
-rw-r--r-- | Notes | 1 | ||||
-rw-r--r-- | console.c | 5 |
2 files changed, 3 insertions, 3 deletions
@@ -117,7 +117,6 @@ echo foo > bar should truncate bar so O_CREATE should not truncate but O_TRUNC should -make it work on one cpu make it work on a real machine release before acquire at end of sleep? check 2nd disk (i.e. if not in .bochsrc) @@ -365,8 +365,9 @@ console_read(int minor, char *dst, int n) acquire(&kbd_lock); - while(kbd_w == kbd_r) + while(kbd_w == kbd_r) { sleep(&kbd_r, &kbd_lock); + } while(n > 0 && kbd_w != kbd_r){ *dst = (kbd_buf[kbd_r]) & 0xff; @@ -392,7 +393,7 @@ console_init() devsw[CONSOLE].d_write = console_write; devsw[CONSOLE].d_read = console_read; - ioapic_enable (IRQ_KBD, 1); + ioapic_enable (IRQ_KBD, 0); use_console_lock = 1; } |