summaryrefslogtreecommitdiff
path: root/system/alpha/console
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2004-01-14 04:06:44 -0500
committerAli Saidi <saidi@eecs.umich.edu>2004-01-14 04:06:44 -0500
commitd23ad6c0c4112177c546fd615ca6f679b179e5f5 (patch)
treea67d8ca71333b6c926705e6051fb704c67ea3177 /system/alpha/console
parentd7fba9784e99ca4465c9cc04b611cf309e637d33 (diff)
downloadgem5-d23ad6c0c4112177c546fd615ca6f679b179e5f5.tar.xz
Added support for OPEN_CONSOLE and CLOSE_CONSOLE; fixed PUTS bug
Diffstat (limited to 'system/alpha/console')
-rw-r--r--system/alpha/console/console.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/system/alpha/console/console.c b/system/alpha/console/console.c
index e8bc9bd26..3ae97425b 100644
--- a/system/alpha/console/console.c
+++ b/system/alpha/console/console.c
@@ -1006,6 +1006,8 @@ DeviceOperation(long op, long channel, long count, long address, long block)
#define CONSCB_SET_TERM_INT 0x4
#define CONSCB_SET_TERM_CTL 0x5
#define CONSCB_PROCESS_KEY 0x6
+#define CONSCB_OPEN_CONSOLE 0x7
+#define CONSCB_CLOSE_CONSOLE 0x8
#define CONSCB_OPEN 0x10
#define CONSCB_CLOSE 0x11
@@ -1131,7 +1133,7 @@ CallBackDispatcher(long a0, long a1, long a2, long a3, long a4)
case CONSCB_PUTS:
for(i = 0; i < a3; i++) {
- PutChar(*(char *)a2+i);
+ PutChar(*((char *)a2+i));
}
return a3;
@@ -1164,6 +1166,14 @@ CallBackDispatcher(long a0, long a1, long a2, long a3, long a4)
case CONSCB_CLOSE:
break;
+ case CONSCB_OPEN_CONSOLE:
+ printf("CONSOLE OPEN\n");
+ return 0; /* success */
+ break; /* not rearched */
+ case CONSCB_CLOSE_CONSOLE:
+ printf("CONSOLE CLOSE\n");
+ return 0; /* success */
+ break; /* not reached */
default:
panic("cher (%x,%x,%x,%x)\n", a0, a1, a2, a3);