Implement GetChar()
authorNathan Binkert <binkertn@umich.edu>
Mon, 22 Dec 2003 18:04:23 +0000 (13:04 -0500)
committerNathan Binkert <binkertn@umich.edu>
Mon, 22 Dec 2003 18:04:23 +0000 (13:04 -0500)
console/Makefile:
    Quick install target to copy the binary to zizzer

system/alpha/console/Makefile
system/alpha/console/console.c

index 6c2ee111c7e8fc12333bb915813eb4cb139396f5..4a5cba216f78da4b3d647ec8404d9ab7190b2a85 100644 (file)
@@ -11,7 +11,7 @@ INCLUDEH = ../h
 dbmentry.o: dbmentry.s 
        $(AS)  $(INCLUDES) -nointrinsics -o $*.o $*.s
 
-console.o: console.c 
+console.o: console.c
        $(CC)  -g3 $(INCLUDES) -nointrinsics -o $*.o -c $*.c
 
 printf.o: printf.c 
@@ -45,5 +45,8 @@ console: console.o dbmentry.o printf.o paljtokern.c.o paljtoslave.c.o
        $(LD) -o console  -N -T $(DBMENTRY) -non_shared \
        dbmentry.o console.o printf.o paljtokern.c.o paljtoslave.c.o -lc
 
+install: console
+       scp console zizzer.eecs.umich.edu:/z/m5/system/testing/binaries/console
+
 clean:
        rm -f *.o console *.strip paljtokern.c paljtoslave.c
index e8bc9bd267a4c9557cad68b95ff7c2d90f74e05c..d62dfdb7090f85763c07268b600769715bf80baf 100644 (file)
@@ -8,8 +8,9 @@
  * ******************************************/
 
 
-/* from simos */
+typedef unsigned long long uint64_t;
 typedef unsigned long long uint64;
+typedef unsigned int uint32_t;
 typedef unsigned int uint32;
 
 #define CONSOLE
@@ -119,7 +120,7 @@ void InitConsole(void)
 char GetChar()
 {
    struct AlphaAccess *k1Conf = (struct AlphaAccess *)(__MAGIC_ZONE(0, 0, MAGIC_ZONE_EV5_ALIAS));
-   return 0;
+   return k1Conf->inputChar;
 }
 
 void PutChar(char c)
@@ -1127,12 +1128,11 @@ CallBackDispatcher(long a0, long a1, long a2, long a3, long a4)
    long i;
    switch (a0) {
    case CONSCB_GETC:
-      break;
+     return GetChar();
 
    case CONSCB_PUTS:
-      for(i = 0; i < a3; i++) {
+      for(i = 0; i < a3; i++)
          PutChar(*(char *)a2+i);
-      }
       return a3;
 
    case CONSCB_GETENV: