lkml.org 
[lkml]   [2004]   [Oct]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: linux 2.6.9 on alpha noritake
Date
Hallo Ivan,

that seems to do the trick....
but as usually one thing fixed next broken....
now the sym53c8xx won't scan the SCSI bus.
So I have no chance to boot and take a closer look if everything is
working again. I do further investigation later on.

Thank you for your help!
Alex

Am So, den 24.10.2004 schrieb Ivan Kokshaysky um 12:43:
> On Sat, Oct 23, 2004 at 10:58:11AM -0700, Richard Henderson wrote:
> > > pc is at __raw_readw+0x4c/0x60
> > > ra is at vgacon_startup+0x4ec/0x750
> >
> > I'll have a look. Why are you using fbcon anyway?
>
> Ouch. The high order bits of the address in cia_ioXXX routines get
> cleared out too early, so that addr >= CIA_DENSE_MEM clause
> is always false.
>
> Ivan.
>
> --- 2.9/include/asm-alpha/core_cia.h Tue Oct 19 01:54:30 2004
> +++ linux/include/asm-alpha/core_cia.h Sun Oct 24 14:16:17 2004
> @@ -347,14 +347,14 @@ __EXTERN_INLINE unsigned int cia_ioread8
> unsigned long addr = (unsigned long) xaddr;
> unsigned long result, base_and_type;
>
> - /* We can use CIA_MEM_R1_MASK for io ports too, since it is large
> - enough to cover all io ports, and smaller than CIA_IO. */
> - addr &= CIA_MEM_R1_MASK;
> if (addr >= CIA_DENSE_MEM)
> base_and_type = CIA_SPARSE_MEM + 0x00;
> else
> base_and_type = CIA_IO + 0x00;
>
> + /* We can use CIA_MEM_R1_MASK for io ports too, since it is large
> + enough to cover all io ports, and smaller than CIA_IO. */
> + addr &= CIA_MEM_R1_MASK;
> result = *(vip) ((addr << 5) + base_and_type);
> return __kernel_extbl(result, addr & 3);
> }
> @@ -379,12 +379,12 @@ __EXTERN_INLINE unsigned int cia_ioread1
> unsigned long addr = (unsigned long) xaddr;
> unsigned long result, base_and_type;
>
> - addr &= CIA_MEM_R1_MASK;
> if (addr >= CIA_DENSE_MEM)
> base_and_type = CIA_SPARSE_MEM + 0x08;
> else
> base_and_type = CIA_IO + 0x08;
>
> + addr &= CIA_MEM_R1_MASK;
> result = *(vip) ((addr << 5) + base_and_type);
> return __kernel_extwl(result, addr & 3);
> }
> @@ -394,12 +394,12 @@ __EXTERN_INLINE void cia_iowrite16(u16 b
> unsigned long addr = (unsigned long) xaddr;
> unsigned long w, base_and_type;
>
> - addr &= CIA_MEM_R1_MASK;
> if (addr >= CIA_DENSE_MEM)
> base_and_type = CIA_SPARSE_MEM + 0x08;
> else
> base_and_type = CIA_IO + 0x08;
>
> + addr &= CIA_MEM_R1_MASK;
> w = __kernel_inswl(b, addr & 3);
> *(vuip) ((addr << 5) + base_and_type) = w;
> }
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.045 / U:0.160 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site