summaryrefslogtreecommitdiff
path: root/system/alpha
diff options
context:
space:
mode:
Diffstat (limited to 'system/alpha')
-rw-r--r--system/alpha/console/Makefile5
-rw-r--r--system/alpha/console/console.c10
2 files changed, 9 insertions, 6 deletions
diff --git a/system/alpha/console/Makefile b/system/alpha/console/Makefile
index 6c2ee111c..4a5cba216 100644
--- a/system/alpha/console/Makefile
+++ b/system/alpha/console/Makefile
@@ -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
diff --git a/system/alpha/console/console.c b/system/alpha/console/console.c
index 3ae97425b..0697be63a 100644
--- a/system/alpha/console/console.c
+++ b/system/alpha/console/console.c
@@ -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)
@@ -1129,12 +1130,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: