Linux MIPS Architecture development
 help / color / mirror / Atom feed
* Big Endian au1550
@ 2005-02-23 11:22 JP Foster
  2005-02-23 11:23 ` Ralf Baechle
       [not found] ` <000301c5199d$3154ad40$0300a8c0@Exterity.local>
  0 siblings, 2 replies; 23+ messages in thread
From: JP Foster @ 2005-02-23 11:22 UTC (permalink / raw)
  To: linux-mips

Hi all,
In the linux-mips cvs big endian operation of the au1550 is not
selectable. Is there a reason for this?
what would I need to do to get big endian support?

The chip does run big endian, as I have yamon running on it here.
And a previously the linux-mips kernel allowed this.
The kernel will compile big end but I get an oops as the kernel
starts up 

Thanks
JP


VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Break instruction in kernel code in arch/mips/kernel/traps.c::do_bp,
line 557[#1]:
Cpu 0
$ 0   : 00000000 1000fc00 00000000 10000000
$ 4   : 00000001 00000001 fffb6ccf 00000000
$ 8   : 10000000 00000008 803c0000 00100100
$12   : 811c5edd fffffffa ffffffff 0000000a
$16   : 1000fc01 803e7bc0 803c0000 80380000
$20   : 803d0000 80380000 803d0000 00000000
$24   : 00000008 811c5df9
$28   : 811c4000 811c5e40 811c5e40 80103900
Hi    : 00000000
Lo    : 00000000
epc   : 8033f818 preempt_schedule_irq+0xcc/0xd8     Not tainted
ra    : 80103900 ret_from_fork+0x0/0x8
Status: 1000fc02    KERNEL EXL
Cause : 00800024
PrId  : 03030200
Modules linked in:
Process swapper (pid: 1, threadinfo=811c4000, task=803e7bc0)
Stack : 803fbbf4 803fbbe0 1000fc01 8012f7b8 1000fc01 80379420 803c0000
00000000
        80103900 80100c00 811c5ed8 00000000 00000000 80247490 803fbb80
813b396c
        00000000 1000fc00 00000001 811c4008 00000001 00000001 803c0028
0000000b
        002d4cae 801fc8ec 00000018 00100100 811c5edd fffffffa ffffffff
0000000a
        1000fc01 80379420 803c0000 80380000 803d0000 80380000 803d0000
00000000
        ...
Call Trace:
 [<8012f7b8>] irq_exit+0x4c/0x5c
 [<80103900>] ret_from_fork+0x0/0x8
 [<80100c00>] au1000_IRQ+0x120/0x1a0
 [<80247490>] class_device_create_file+0x20/0x34
 [<801fc8ec>] memset_partial+0x30/0x6c
 [<8012f9c8>] __tasklet_schedule+0xb8/0xec
 [<8012f9e0>] __tasklet_schedule+0xd0/0xec
 [<803b3ffc>] kbd_init+0x184/0x22c
 [<80210480>] alloc_tty_driver+0x24/0x64
 [<80247fc4>] class_simple_device_add+0xe0/0x178
 [<803b4484>] vty_init+0xf8/0x128
 [<803b3784>] tty_init+0x1d0/0x1fc
 [<803b3428>] rand_initialize+0x128/0x1f0
 [<803b33f0>] rand_initialize+0xf0/0x1f0
 [<803b1c50>] init_iso9660_fs+0x60/0x9c
 [<80100508>] init+0x9c/0x274
 [<8010541c>] kernel_thread_helper+0x10/0x18
 [<8010540c>] kernel_thread_helper+0x0/0x18

^ permalink raw reply	[flat|nested] 23+ messages in thread
* RE: Big Endian au1550
@ 2005-02-23 18:30 Prashant Viswanathan
  0 siblings, 0 replies; 23+ messages in thread
From: Prashant Viswanathan @ 2005-02-23 18:30 UTC (permalink / raw)
  To: 'JP Foster', linux-mips


 
> On Wed, 2005-02-23 at 11:45 +0000, Ralf Baechle wrote:
> >
> >I recently rewrote the endianes selection in the Kconfig menus.  The
> >individual platforms will now have to explicitly select
> >SYS_SUPPORTS_LITTLE_ENDIAN rsp. SYS_SUPPORTS_BIG_ENDIAN to indicate
> >which endianess they support.  I know that Alchemy supports big endian
> >operation in hardware but no idea if all the Linux code is working
> >properly, so I've been conservative and choose to limit the system
> >to little endian until somebody reports big endianess support to be
> >actually working.
> >
> >  Ralf
>
>
> Fair enough. Has anyone got big-endian au1xxx working ever?
> I'm reasonably flexible to use mipsel, since this is a new board,
> although all our other products are mipseb.
> 
> Since big doesn't work as far as I can see. This must a regression
> as I'm sure I had built a running kernel a month or two back.
> Currently building a pre-christmas linux-mips snapshot to see if that
> works.
> 
> If that doesn't work I'll just start using a mipsel version as I would
> be wary of using big endian if no one else is.
> 
> JP

I have Au1550 running in big endian mode and Linux kernel running on it. The
Linux kernel was compiled big endian using BE toolchain.

Prashant

^ permalink raw reply	[flat|nested] 23+ messages in thread
* Big Endian au1550
@ 2005-04-28  2:14 Prashant Viswanathan
  2005-04-28  2:23 ` Manish Lachwani
  0 siblings, 1 reply; 23+ messages in thread
From: Prashant Viswanathan @ 2005-04-28  2:14 UTC (permalink / raw)
  To: linux-mips

Is there a reason why the default configuration file doesn't support Big
Endian for the dbAu1550? 

Even if I edit .config to set the endianness to "BIG" it seems to change to
"Little Endian" every time a make is run.

Thanks
Prashant

^ permalink raw reply	[flat|nested] 23+ messages in thread
* RE: Big Endian au1550
@ 2005-04-28  3:44 Prashant Viswanathan
  2005-04-28  3:57 ` ppopov
  0 siblings, 1 reply; 23+ messages in thread
From: Prashant Viswanathan @ 2005-04-28  3:44 UTC (permalink / raw)
  To: 'Manish Lachwani', Prashant Viswanathan; +Cc: linux-mips

> Prashant Viswanathan wrote:
> 
> >Is there a reason why the default configuration file doesn't support Big
> >Endian for the dbAu1550?
> >
> >Even if I edit .config to set the endianness to "BIG" it seems to change
> to
> >"Little Endian" every time a make is run.
> >
> >Thanks
> >Prashant
> >
> >
> >
> >
> In arch/mips/Kconfig,
> 
> config CPU_LITTLE_ENDIAN
>         bool "Generate little endian code"
>         default y if ACER_PICA_61 || CASIO_E55 || DDB5074 || DDB5476 ||
> DDB5477 || MACH_DECSTATION
> || IBM_WORKPAD || LASAT || MIPS_COBALT || MIPS_ITE8172 || MIPS_IVR ||
> SOC_AU1X00 || NEC_OSPREY || OLIVETTI_M700 || SNI_RM200_PCI ||
> VICTOR_MPC30X || ZAO_CAPCELLA
>         default n if MIPS_EV64120 || MIPS_EV96100 || MOMENCO_OCELOT ||
> MOMENCO_OCELOT_G || SGI_IP22 || SGI_IP27 || SGI_IP32 || TOSHIBA_JMR3927
>         help
>           Some MIPS machines can be configured for either little or big
> endian
>           byte order. These modes require different kernels. Say Y if your
>           machine is little endian, N if it's a big endian machine.
> 
> So, it appears that if you have SOC_AU1X00 set, it will always be
> configured little endian.

Is there a reason for this? 

Many months ago I was able to build a big-endian image and load it on my
dbAu1550 (also configured to be BE). I just decided to update and now I find
that it is almost as if it is not meant to be built BE.

^ permalink raw reply	[flat|nested] 23+ messages in thread
* RE: Big Endian au1550
@ 2005-04-28 18:18 Prashant Viswanathan
  0 siblings, 0 replies; 23+ messages in thread
From: Prashant Viswanathan @ 2005-04-28 18:18 UTC (permalink / raw)
  To: 'JP', ppopov
  Cc: Prashant Viswanathan, 'Manish Lachwani', linux-mips

> I can confirm that BE works fine on the db1550 board. Just add line
> 
> select SYS_SUPPORTS_BIG_ENDIAN
> 
> to the db1550 section of arch/mips/Kconfig. That allows you to choose
> BE.
> 
> I guess all the alchemy boards will work LE and BE. At least allowing
> the setting will mean they get tested rather than folk getting put off
> by the fact they can't select it.
> 
> JP

Thanks.

Actually I had BE working many months ago. I just did an update to get the
latest and greatest stuff. It would be good if Kconfig was "fixed" to allow
BE selection.

Prashant

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2005-04-28 18:19 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-23 11:22 Big Endian au1550 JP Foster
2005-02-23 11:23 ` Ralf Baechle
     [not found] ` <000301c5199d$3154ad40$0300a8c0@Exterity.local>
2005-02-23 12:05   ` JP Foster
2005-02-23 13:17     ` Ralf Baechle
2005-02-23 15:03     ` Dan Malek
2005-02-23 15:06       ` Ralf Baechle
2005-02-23 17:02         ` Dan Malek
2005-03-04 20:23           ` Ralf Baechle
2005-03-04 20:44             ` Dan Malek
2005-02-23 16:57       ` Thomas Sailer
2005-02-23 17:47         ` Pete Popov
     [not found]         ` <000001c519d1$84d9c250$0300a8c0@Exterity.local>
2005-02-24 10:04           ` JP Foster
2005-02-24 16:15             ` Peter Popov
2005-02-24 17:09               ` JP Foster
2005-02-25 17:29               ` JP Foster
2005-02-24 16:19             ` Clem Taylor
  -- strict thread matches above, loose matches on Subject: below --
2005-02-23 18:30 Prashant Viswanathan
2005-04-28  2:14 Prashant Viswanathan
2005-04-28  2:23 ` Manish Lachwani
2005-04-28  3:44 Prashant Viswanathan
2005-04-28  3:57 ` ppopov
2005-04-28  8:56   ` JP
2005-04-28 18:18 Prashant Viswanathan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox