From: Kenn H. <ke...@us...> - 2001-02-11 23:40:36
|
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); } |