Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv4435
Modified Files:
cpu_ka55.c
Log Message:
This should hopefully give us early console output on KA55 (MV3100m85)
Index: cpu_ka55.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/cpu_ka55.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- cpu_ka55.c 2001/02/06 00:15:42 1.1
+++ cpu_ka55.c 2001/02/11 23:41:08 1.2
@@ -19,6 +19,8 @@
void ka55_pre_vm_init(void);
void ka55_post_vm_init(void);
+void ka55_prom_putchar(int);
+int ka55_prom_getchar(void);
const char *ka55_cpu_type_str(void);
@@ -32,9 +34,8 @@
ka55_pre_vm_init,
ka55_post_vm_init,
- /* FIXME: these two are just a guess */
- ka46_48_49_prom_putchar, /* pre_vm_putchar */
- ka46_48_49_prom_getchar, /* pre_vm_getchar */
+ ka55_prom_putchar, /* pre_vm_putchar */
+ ka55_prom_getchar, /* pre_vm_getchar */
dz11_putchar, /* post_vm_putchar */
dz11_getchar, /* post_vm_getchar */
@@ -54,6 +55,27 @@
/* Defined over in drivers/char/dz.c */
extern unsigned long dz_serial_console_init(unsigned long, unsigned long);
+void ka55_prom_putchar(int c)
+{
+ asm ("
+ mov $0x2014044b, r11 # console page addr
+ 1:
+ jsb *0x20(r11) # ready to TX?
+ blbc r0, 1b
+ movl %0, r1
+ jsb *0x24(r11) # TX char in R11
+ " : /* no outputs */
+ : "g"(c)
+ : "r0", "r1", "r11" );
+}
+
+int ka55_prom_getchar(void)
+{
+ /* Not yet implemented */
+ asm("halt");
+ return 0;
+}
+
void ka55_pre_vm_init(void)
{
@@ -62,7 +84,7 @@
void ka55_post_vm_init(void)
{
- init_dz11_console(0x200A0000, 3);
+ init_dz11_console(0x25000000, 3);
dz_serial_console_init(0, 0);
}
|