Changed return type of serial_read_byte(), removed debugging comments.
authorPaul Pearce <pearce@eecs.berkeley.edu>
Fri, 29 May 2009 00:04:31 +0000 (20:04 -0400)
committerKevin Klues <klueska@cs.berkeley.edu>
Fri, 5 Jun 2009 01:00:40 +0000 (18:00 -0700)
Fixed the return type of serial_read_byte() to be of type int, instead of
uint16. This prevented a return value of -1 to denote no data avaiable.
Also removed several printk statements specifying the systemcall occuring

include/arch/console.h
kern/src/console.c
kern/src/syscall.c

index 404a760..c00fa58 100644 (file)
@@ -24,6 +24,6 @@ int cons_getc(void);
 void kbd_intr(void); // irq 1
 void serial_intr(void); // irq 4
 void serial_send_byte(uint8_t b);
-uint8_t serial_read_byte();
+int serial_read_byte();
 
 #endif /* _CONSOLE_H_ */
index 5c40348..3337e95 100644 (file)
@@ -44,7 +44,7 @@ serial_proc_data(void)
        return inb(COM1+COM_RX);
 }
 
-uint8_t serial_read_byte() {
+int serial_read_byte() {
        return serial_proc_data();
 }
 
index b4f1724..e26bd3d 100644 (file)
@@ -154,7 +154,7 @@ int32_t syscall(env_t* e, uint32_t syscallno, uint32_t a1, uint32_t a2,
        //cprintf("Incoming syscall number: %d\n    a1: %x\n    a2: %x\n    a3: %x\n    a4: %x\n    a5: %x\n", syscallno, a1, a2, a3, a4, a5);
 
        assert(e); // should always have an env for every syscall
-       printk("Running syscall: %d\n", syscallno);
+       //printk("Running syscall: %d\n", syscallno);
        if (INVALID_SYSCALL(syscallno))
                return -E_INVAL;
 
@@ -163,7 +163,7 @@ int32_t syscall(env_t* e, uint32_t syscallno, uint32_t a1, uint32_t a2,
                        sys_null();
                        return 0;
                case SYS_serial_write:
-                       printk("I am here\n");
+                       //printk("I am here\n");
                        return sys_serial_write(e, (char *DANGEROUS)a1, (size_t)a2);
                case SYS_serial_read:
                        return sys_serial_read(e, (char *DANGEROUS)a1, (size_t)a2);