OSDN Git Service

m68k: Toward platform agnostic framebuffer debug logging
authorFinn Thain <fthain@telegraphics.com.au>
Fri, 11 Apr 2014 05:27:58 +0000 (15:27 +1000)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 26 May 2014 20:41:25 +0000 (22:41 +0200)
Code subject to #ifdef CONSOLE is made more generic, as was apparently
intended by the original author.

Remove console_put_stats() routine. If it should be somehow useful, it
should also be useful on platforms without framebuffer debug logging. The
present implementation is only built #if defined CONFIG_MAC && defined
CONSOLE even though puts() works everywhere.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Tested-by: Stephen N Chivers <schivers@csc.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
arch/m68k/kernel/head.S

index 3ab329b..81e610b 100644 (file)
  * ------------
  *     The console is also able to be turned off.  The console in head.S
  * is specifically for debugging and can be very useful.  It is surrounded by
- * #ifdef CONSOLE/#endif clauses so it doesn't have to ship in known-good
+ * #ifdef #endif clauses so it doesn't have to ship in known-good
  * kernels.  It's basic algorithm is to determine the size of the screen
  * (in height/width and bit depth) and then use that information for
  * displaying an 8x8 font or an 8x16 (widthxheight).  I prefer the 8x8 for
  * CONFIG_xxx: These are the obvious machine configuration defines created
  * during configuration.  These are defined in autoconf.h.
  *
- * CONSOLE:    There is support for head.S console in this file.  This
- * console can talk to a Mac frame buffer, but could easily be extrapolated
- * to extend it to support other platforms.
+ * CONSOLE_DEBUG:  Only supports a Mac frame buffer but could easily be
+ * extended to support other platforms.
  *
  * TEST_MMU:   This is a test harness for running on any given machine but
  * getting an MMU dump for another class of machine.  The classes of machines
 #include <asm/machw.h>
 
 #ifdef CONFIG_FRAMEBUFFER_CONSOLE
-#define CONSOLE
+#define CONSOLE_DEBUG
 #endif
 
 #ifdef CONFIG_EARLY_PRINTK
@@ -480,22 +479,21 @@ func_define       serial_putc,1
 func_define    console_putc,1
 
 func_define    console_init
-func_define    console_put_stats
 func_define    console_put_penguin
 func_define    console_plot_pixel,3
 func_define    console_scroll
 
 .macro putc    ch
-#if defined(CONSOLE) || defined(SERIAL_DEBUG)
+#if defined(CONSOLE_DEBUG) || defined(SERIAL_DEBUG)
        pea     \ch
 #endif
-#ifdef CONSOLE
+#ifdef CONSOLE_DEBUG
        func_call       console_putc
 #endif
 #ifdef SERIAL_DEBUG
        func_call       serial_putc
 #endif
-#if defined(CONSOLE) || defined(SERIAL_DEBUG)
+#if defined(CONSOLE_DEBUG) || defined(SERIAL_DEBUG)
        addql   #4,%sp
 #endif
 .endm
@@ -515,7 +513,7 @@ func_define putn,1
 .endm
 
 .macro puts            string
-#if defined(CONSOLE) || defined(SERIAL_DEBUG)
+#if defined(CONSOLE_DEBUG) || defined(SERIAL_DEBUG)
        __INITDATA
 .Lstr\@:
        .string "\string"
@@ -651,11 +649,9 @@ ENTRY(__start)
        lea     %pc@(L(mac_rowbytes)),%a1
        movel   %a0@,%a1@
 
-#ifdef SERIAL_DEBUG
        get_bi_record   BI_MAC_SCCBASE
        lea     %pc@(L(mac_sccbase)),%a1
        movel   %a0@,%a1@
-#endif
 
 L(test_notmac):
 #endif /* CONFIG_MAC */
@@ -885,13 +881,12 @@ L(nothp):
  */
 #ifdef CONFIG_MAC
        is_not_mac(L(nocon))
-#  ifdef CONSOLE
+#  ifdef CONSOLE_DEBUG
        console_init
 #    ifdef CONFIG_LOGO
        console_put_penguin
 #    endif /* CONFIG_LOGO */
-       console_put_stats
-#  endif /* CONSOLE */
+#  endif /* CONSOLE_DEBUG */
 L(nocon):
 #endif /* CONFIG_MAC */
 
@@ -1396,15 +1391,13 @@ L(mmu_fixup_done):
        andl    L(mac_videobase),%d0
        addl    #VIDEOMEMBASE,%d0
        movel   %d0,L(mac_videobase)
-#if defined(CONSOLE)
+#ifdef CONSOLE_DEBUG
        movel   %pc@(L(phys_kernel_start)),%d0
        subl    #PAGE_OFFSET,%d0
        subl    %d0,L(console_font)
        subl    %d0,L(console_font_data)
 #endif
-#ifdef SERIAL_DEBUG
        orl     #0x50000000,L(mac_sccbase)
-#endif
 1:
 #endif
 
@@ -2734,7 +2727,11 @@ func_return      get_new_page
  */
 
 #ifdef CONFIG_MAC
+/* You may define either or both of these. */
+#define MAC_USE_SCC_A /* Modem port */
+#define MAC_USE_SCC_B /* Printer port */
 
+#if defined(MAC_USE_SCC_A) || defined(MAC_USE_SCC_B)
 L(scc_initable_mac):
        .byte   4,0x44          /* x16, 1 stopbit, no parity */
        .byte   3,0xc0          /* receiver: 8 bpc */
@@ -2748,6 +2745,7 @@ L(scc_initable_mac):
        .byte   -1
        .even
 #endif
+#endif /* CONFIG_MAC */
 
 #ifdef CONFIG_ATARI
 /* #define USE_PRINTER */
@@ -2843,6 +2841,7 @@ func_start        serial_init,%d0/%d1/%a0/%a1
 |      movew   #61,CUSTOMBASE+C_SERPER-ZTWOBASE
 1:
 #endif
+
 #ifdef CONFIG_ATARI
        is_not_atari(4f)
        movel   %pc@(L(iobase)),%a1
@@ -2877,21 +2876,14 @@ func_start      serial_init,%d0/%d1/%a0/%a1
        jra     L(serial_init_done)
 4:
 #endif
+
 #ifdef CONFIG_MAC
        is_not_mac(L(serial_init_not_mac))
-
-#ifdef SERIAL_DEBUG
-
-/* You may define either or both of these. */
-#define MAC_USE_SCC_A /* Modem port */
-#define MAC_USE_SCC_B /* Printer port */
-
+#if defined(MAC_USE_SCC_A) || defined(MAC_USE_SCC_B)
 #define mac_scc_cha_b_ctrl_offset      0x0
 #define mac_scc_cha_a_ctrl_offset      0x2
 #define mac_scc_cha_b_data_offset      0x4
 #define mac_scc_cha_a_data_offset      0x6
-
-#if defined(MAC_USE_SCC_A) || defined(MAC_USE_SCC_B)
        movel   %pc@(L(mac_sccbase)),%a0
        /* Reset SCC register pointer */
        moveb   %a0@(mac_scc_cha_a_ctrl_offset),%d0
@@ -2905,7 +2897,6 @@ func_start        serial_init,%d0/%d1/%a0/%a1
        subq    #1,%d0
        jne     5b
 #endif
-
 #ifdef MAC_USE_SCC_A
        /* Initialize channel A */
        lea     %pc@(L(scc_initable_mac)),%a1
@@ -2916,7 +2907,6 @@ func_start        serial_init,%d0/%d1/%a0/%a1
        jra     5b
 6:
 #endif /* MAC_USE_SCC_A */
-
 #ifdef MAC_USE_SCC_B
        /* Initialize channel B */
        lea     %pc@(L(scc_initable_mac)),%a1
@@ -2927,9 +2917,6 @@ func_start        serial_init,%d0/%d1/%a0/%a1
        jra     7b
 8:
 #endif /* MAC_USE_SCC_B */
-
-#endif /* SERIAL_DEBUG */
-
        jra     L(serial_init_done)
 L(serial_init_not_mac):
 #endif /* CONFIG_MAC */
@@ -2998,27 +2985,19 @@ func_start      serial_putc,%d0/%d1/%a0/%a1
 
 #ifdef CONFIG_MAC
        is_not_mac(5f)
-
-#ifdef SERIAL_DEBUG
-
 #if defined(MAC_USE_SCC_A) || defined(MAC_USE_SCC_B)
        movel   %pc@(L(mac_sccbase)),%a1
 #endif
-
 #ifdef MAC_USE_SCC_A
 3:     btst    #2,%a1@(mac_scc_cha_a_ctrl_offset)
        jeq     3b
        moveb   %d0,%a1@(mac_scc_cha_a_data_offset)
 #endif /* MAC_USE_SCC_A */
-
 #ifdef MAC_USE_SCC_B
 4:     btst    #2,%a1@(mac_scc_cha_b_ctrl_offset)
        jeq     4b
        moveb   %d0,%a1@(mac_scc_cha_b_data_offset)
 #endif /* MAC_USE_SCC_B */
-
-#endif /* SERIAL_DEBUG */
-
        jra     L(serial_putc_done)
 5:
 #endif /* CONFIG_MAC */
@@ -3195,7 +3174,7 @@ func_start        puts,%d0/%a0
        movel   ARG1,%a0
        jra     2f
 1:
-#ifdef CONSOLE
+#ifdef CONSOLE_DEBUG
        console_putc    %d0
 #endif
 #ifdef SERIAL_DEBUG
@@ -3224,7 +3203,7 @@ func_start        putn,%d0-%d2
        jls     2f
        addb    #'A'-('9'+1),%d2
 2:
-#ifdef CONSOLE
+#ifdef CONSOLE_DEBUG
        console_putc    %d2
 #endif
 #ifdef SERIAL_DEBUG
@@ -3256,7 +3235,7 @@ ENTRY(mac_early_print)
        movel   %sp@(22),%d1            /* fetch parameter */
        jra     2f
 1:
-#ifdef CONSOLE
+#ifdef CONSOLE_DEBUG
        console_putc    %d0
 #endif
 #ifdef SERIAL_DEBUG
@@ -3292,7 +3271,7 @@ func_start        set_leds,%d0/%a0
 func_return    set_leds
 #endif
 
-#ifdef CONSOLE
+#ifdef CONSOLE_DEBUG
 /*
  *     For continuity, see the data alignment
  *     to which this structure is tied.
@@ -3396,43 +3375,6 @@ L(console_clear_loop):
 1:
 func_return    console_init
 
-func_start     console_put_stats,%a0/%d7
-       /*
-        *      Some of the register usage that follows
-        *              a0 = pointer to boot_info
-        *              d7 = value of boot_info fields
-        */
-       puts    "\nMacLinux\n"
-
-#ifdef SERIAL_DEBUG
-       puts    "\n vidaddr:"
-       putn    %pc@(L(mac_videobase))          /* video addr. */
-
-       puts    "\n  _stext:"
-       lea     %pc@(_stext),%a0
-       putn    %a0
-
-       puts    "\nbootinfo:"
-       lea     %pc@(_end),%a0
-       putn    %a0
-
-       puts    "\n   cpuid:"
-       putn    %pc@(L(cputype))
-
-#  ifdef CONFIG_MAC
-       puts    "\n sccbase:"
-       putn    %pc@(L(mac_sccbase))
-#  endif
-#  ifdef MMU_PRINT
-       putc    '\n'
-       jbsr    mmu_print_machine_cpu_types
-#  endif
-#endif /* SERIAL_DEBUG */
-
-       putc    '\n'
-
-func_return    console_put_stats
-
 #ifdef CONFIG_LOGO
 func_start     console_put_penguin,%a0-%a1/%d0-%d7
        /*
@@ -3774,7 +3716,7 @@ L(white_16):
 
 L(console_plot_pixel_exit):
 func_return    console_plot_pixel
-#endif /* CONSOLE */
+#endif /* CONSOLE_DEBUG */
 
 
 __INITDATA
@@ -3787,7 +3729,7 @@ L(iobase):
        .long 0
 #endif
 
-#if defined(CONSOLE)
+#ifdef CONSOLE_DEBUG
 L(console_globals):
        .long   0               /* cursor column */
        .long   0               /* cursor row */
@@ -3798,7 +3740,7 @@ L(console_font):
        .long   0               /* pointer to console font (struct font_desc) */
 L(console_font_data):
        .long   0               /* pointer to console font data */
-#endif /* CONSOLE */
+#endif /* CONSOLE_DEBUG */
 
 #if defined(MMU_PRINT)
 L(mmu_print_data):
@@ -3856,10 +3798,8 @@ L(mac_dimensions):
        .long   0
 L(mac_rowbytes):
        .long   0
-#ifdef SERIAL_DEBUG
 L(mac_sccbase):
        .long   0
-#endif
 #endif /* CONFIG_MAC */
 
 #if defined (CONFIG_APOLLO)