From: Paolo Sommaruga <psomma@portcros.garda-access.com>
Subject: Re: L68K: fbcon
To: linux-m68k@phil.uni-sb.de
Date: Fri, 25 Apr 1997 12:41:47 +0200 (MET DST)
Sender: owner-linux-m68k@phil.uni-sb.de
Reply-To: linux-m68k@phil.uni-sb.de

Jes you wrote:

Paolo> >  the problem is with the linker.
          
> This has been fixed in 2.1.35.

yes, I have seen. In compiling the 2.1.35 kernel I have found the same
problem that one in the 2.1.33 with fbcon.c. This is a diff file that fix
this following the Geert's hints

-----------------------------------------------------------------------------
*** fbcon.c.orig        Fri Apr 25 07:32:21 1997
--- fbcon.c     Fri Apr 25 07:32:22 1997
*************** extern void Cyber_BitBLT(u_short curx, u
*** 456,462 ****
                           u_short desty, u_short width, u_short height,
                           u_short mode);
  extern void Cyber_RectFill(u_short xx, u_short yy, u_short width, u_short
heig
ht,
!                            u_short mode, u_short color);
  extern void Cyber_MoveCursor(u_short xx, u_short yy);
  #endif /* CONFIG_FBCON_CYBER */
  
--- 456,462 ----
                           u_short desty, u_short width, u_short height,
                           u_short mode);
  extern void Cyber_RectFill(u_short xx, u_short yy, u_short width, u_short
heig
ht,
!                            u_short mode, u_short valcolor);
  extern void Cyber_MoveCursor(u_short xx, u_short yy);
  #endif /* CONFIG_FBCON_CYBER */
  
*************** static void putc_cyber(struct vc_data *c
*** 3835,3841 ****
  
        c &= 0xff;
  
!       dest = p->screen_base+y*p->fontheight*p->next_line+8*x;
        cdat = p->fontdata+(c*p->fontheight);
        fg = disp->fgcol;
        bg = disp->bgcol;
--- 3835,3841 ----
  
        c &= 0xff;
  
!       dest = p->screen_base+yy*p->fontheight*p->next_line+8*xx;
        cdat = p->fontdata+(c*p->fontheight);
        fg = disp->fgcol;
        bg = disp->bgcol;
*************** static void putcs_cyber(struct vc_data *
*** 3874,3880 ****
        u_char c, d;
        u_char fg, bg;
  
!       dest0 = p->screen_base+y*p->fontheight*p->next_line+8*x;
        fg = disp->fgcol;
        bg = disp->bgcol;
        revs = conp->vc_reverse;
--- 3874,3880 ----
        u_char c, d;
        u_char fg, bg;
  
!       dest0 = p->screen_base+yy*p->fontheight*p->next_line+8*xx;
        fg = disp->fgcol;
        bg = disp->bgcol;
        revs = conp->vc_reverse;
*************** static void rev_char_cyber(struct displa
*** 3918,3924 ****
        fg = disp->fgcol;
        bg = disp->bgcol;
  
!       dest = p->screen_base+y*p->fontheight*p->next_line+8*x;
     Cyber_WaitBlit();
        for (rows = p->fontheight; rows--; dest += p->next_line) {
                *dest = (*dest == fg) ? bg : fg;
--- 3918,3924 ----
        fg = disp->fgcol;
        bg = disp->bgcol;
  
!       dest = p->screen_base+yy*p->fontheight*p->next_line+8*xx;
     Cyber_WaitBlit();
        for (rows = p->fontheight; rows--; dest += p->next_line) {
                *dest = (*dest == fg) ? bg : fg;
----------------------------------------------------------------------------

	Ciao,

		Paolo

          
