Re: booting error on db1550 using linux 2.6.12 from linux-mips.org

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2005-07-01 at 15:35 -0700, rolf liu wrote:
> thanks, Pete.
> I applied the patch, it can mount the root now. Such a delicate patch.
> 
> Have you made the HPT371N working for 2.6 tree? 

One and off, yes. There was a timing issue I remember ... I had a 2.4
patch in my oss directory that worked fine for 2.4. I don't remember if
the same patch worked ok in 2.6. I didn't have much time to debug it,
but I remember when I put a few debug prints in the hpt init routine,
the problem went away, indicating an initialization timing issue.

Pete

>  When I want to
> compile in the hpt366.c, the kernel will hang up right after it found
> the disk drive:
> 
> Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> HPT371: IDE controller at PCI slot 0000:00:0b.0
> PCI: Enabling device 0000:00:0b.0 (0000 -> 0003)
> HPT371: chipset revision 2
> HPT37X: using 33MHz PCI clock
> HPT371: 100% native mode on irq 5
>    ide2: BM-DMA at 0x1000-0x1007, BIOS settings: hde:pio, hdf:pio
>    ide3: BM-DMA at 0x1008-0x100f, BIOS settings: hdg:pio, hdh:pio
> hdg: IBM-DTTA-350840, ATA DISK drive
> 
> hang up ................ :(
> 
> 
> On 7/1/05, Pete Popov <ppopov@xxxxxxxxxxxxxxxxx> wrote:
> > 
> > <snip>
> > 
> > The problem below is caused by a .mips3 directive in xchg_u32. I talked
> > to Ralf and Maciel about the problem; Ralf sent a patch but I don't see
> > it applied in the tree yet.  Try this:
> > 
> > Index: include/asm-mips/system.h
> > ===================================================================
> > RCS file: /home/cvs/linux/include/asm-mips/system.h,v
> > retrieving revision 1.85
> > diff -u -r1.85 system.h
> > --- include/asm-mips/system.h   23 Jun 2005 15:57:18 -0000      1.85
> > +++ include/asm-mips/system.h   29 Jun 2005 12:01:54 -0000
> > @@ -178,7 +178,9 @@
> >                __asm__ __volatile__(
> >                "       .set    mips3                                   \n"
> >                "1:     ll      %0, %3                  #
> > xchg_u32      \n"
> > +               "       .set    mips0                                   \n"
> >                "       move    %2, %
> > z4                                 \n"
> > +               "       .set    mips3                                   \n"
> >                "       sc      %2, %
> > 1                                  \n"
> >                "       beqzl   %2,
> > 1b                                  \n"
> >                ROT_IN_PIECES
> > @@ -195,7 +197,9 @@
> >                __asm__ __volatile__(
> >                "       .set    mips3                                   \n"
> >                "1:     ll      %0, %3                  #
> > xchg_u32      \n"
> > +               "       .set    mips0                                   \n"
> >                "       move    %2, %
> > z4                                 \n"
> > +               "       .set    mips3                                   \n"
> >                "       sc      %2, %
> > 1                                  \n"
> >                "       beqz    %2,
> > 1b                                  \n"
> >  #ifdef CONFIG_SMP
> > 
> > 
> > 
> > Pete
> > 
> > > eth1: link up
> > > ., OK
> > > IP-Config: Got DHCP answer from 255.255.255.255, my address is 10.200.1.54
> > > IP-Config: Complete:
> > >       device=eth0, addr=10.200.1.54, mask=255.255.0.0, gw=10.200.0.1,
> > >      host=10.200.1.54, domain=sel, nis-domain=(none),
> > >      bootserver=255.255.255.255, rootserver=10.200.0.198, rootpath=
> > > Looking up port of RPC 100003/2 on 10.200.0.198
> > > Reserved instruction in kernel code in
> > > arch/mips/kernel/traps.c::do_ri, line 706[#1]:
> > > Cpu 0
> > > $ 0   : 00000000 1000fc00 00010000 00000000
> > > $ 4   : 812b8e40 00000093 00000000 811df97c
> > > $ 8   : 00000040 812b9e40 00000000 812a4e10
> > > $12   : 0000ffff 00200200 00100100 812a3ef4
> > > $16   : 812b8e40 00000000 812b8e40 00000060
> > > $20   : 8042a6e0 00010000 811df90c 80144b20
> > > $24   : 00000000 00000001
> > > $28   : 811de000 811df8f0 8042a6e0 802facd0
> > > Hi    : 00000000
> > > Lo    : 00000780
> > > epc   : 802ca258 sock_alloc_send_skb+0x74/0x5c8     Not tainted
> > > ra    : 802facd0 ip_append_data+0x7c8/0xa34
> > > Status: 1000fc03    KERNEL EXL IE
> > > Cause : 00800028
> > > PrId  : 03030200
> > > Modules linked in:
> > > Process swapper (pid: 1, threadinfo=811de000, task=80456bf0)
> > > Stack : c600c80a 3601c80a 00000000 00000000 00000000 00000000 00000000 00000000
> > >         00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> > >         00000074 00000000 812b8e40 00000060 812b8e40 812b9e40 00000060 00000008
> > >         812b8e98 802facd0 00000000 00000093 00000000 811df97c 00000000 00000000
> > >         00000000 00000000 812b9e40 00000000 00000010 00000000 000005dc 00000000
> > >         ...
> > > Call Trace:
> > >  [<802facd0>] ip_append_data+0x7c8/0xa34
> > >  [<8031e3c4>] udp_sendmsg+0x224/0xa08
> > >  [<802fa44c>] ip_generic_getfrag+0x0/0xbc
> > >  [<802c6558>] sock_sendmsg+0xac/0xf0
> > >  [<80334890>] fn_hash_lookup+0x100/0x150
> > >  [<80334890>] fn_hash_lookup+0x100/0x150
> > >  [<80144b20>] autoremove_wake_function+0x0/0x44
> > >  [<802c65c0>] kernel_sendmsg+0x24/0x38
> > >  [<80362f48>] xdr_sendpages+0x1dc/0x29c
> > >  [<80355284>] xprt_transmit+0xec/0x5f4
> > >  [<80144b20>] autoremove_wake_function+0x0/0x44
> > >  [<803529c4>] call_transmit+0x1f4/0x2d4
> > >  [<80356674>] rpc_delete_timer+0xdc/0x108
> > >  [<80357cb4>] __rpc_execute+0xa8/0x54c
> > >  [<80420000>] init_mtdchar+0x20/0x60
> > >  [<80144b20>] autoremove_wake_function+0x0/0x44
> > >  [<8035976c>] rpcauth_bindcred+0xac/0x248
> > >  [<80144b20>] autoremove_wake_function+0x0/0x44
> > >  [<80420000>] init_mtdchar+0x20/0x60
> > >  [<80420000>] init_mtdchar+0x20/0x60
> > >  [<80420000>] init_mtdchar+0x20/0x60
> > >  [<80351d28>] rpc_call_sync+0x8c/0xd8
> > >  [<80351d14>] rpc_call_sync+0x78/0xd8
> > >  [<80361fdc>] pmap_create+0x74/0xc0
> > >  [<80420000>] init_mtdchar+0x20/0x60
> > >  [<803622e8>] rpc_getport_external+0x11c/0x180
> > >  [<80420000>] init_mtdchar+0x20/0x60
> > >  [<8041b854>] root_nfs_getport+0x8c/0xa8
> > >  [<80420000>] init_mtdchar+0x20/0x60
> > >  [<80254000>] snprintf+0x14/0x20
> > >  [<8041bb94>] nfs_root_data+0x324/0x3a8
> > >  [<80420000>] init_mtdchar+0x20/0x60
> > >  [<80128f24>] printk+0x1c/0x28
> > >  [<80144b20>] autoremove_wake_function+0x0/0x44
> > >  [<80420000>] init_mtdchar+0x20/0x60
> > >  [<8013e444>] flush_workqueue+0x28/0x34
> > >  [<80197f58>] path_lookup+0xe0/0x3d0
> > >  [<80194c78>] getname+0x28/0xf8
> > >  [<80198644>] __user_walk+0x78/0x94
> > >  [<80420000>] init_mtdchar+0x20/0x60
> > >  [<80409cb0>] mount_root+0xac/0x1c4
> > >  [<80144b20>] autoremove_wake_function+0x0/0x44
> > >  [<80420000>] init_mtdchar+0x20/0x60
> > >  [<80420000>] init_mtdchar+0x20/0x60
> > >  [<80409e10>] prepare_namespace+0x48/0x148
> > >  [<8013e444>] flush_workqueue+0x28/0x34
> > >  [<8010065c>] init+0x200/0x264
> > >  [<80100574>] init+0x118/0x264
> > >  [<80105e20>] kernel_thread_helper+0x10/0x18
> > >  [<80105e10>] kernel_thread_helper+0x0/0x18
> > >
> > >
> > > Code: 10400091  0280f021  c20300a0 <0000102d> e20200a0  1040fffc
> > > 00000000  00032823  14a0009f
> > > Kernel panic - not syncing: Attempted to kill init!
> > >
> > >
> > >
> > >
> > > Also, I tried to run 2.4.31 on db1550, but got no luck to get the hard
> > > drive working, which also crashes during the probing process:
> > > probing for hda: present=0, media=32, probetype=ATA
> > > probing for hda: present=0, media=32, probetype=ATAPI
> > > probing for hdb: present=0, media=32, probetype=ATA
> > > probing for hdb: present=0, media=32, probetype=ATAPI
> > > probing for hdc: present=0, media=32, probetype=ATA
> > > probing for hdc: present=0, media=32, probetype=ATAPI
> > > probing for hdd: present=0, media=32, probetype=ATA
> > > probing for hdd: present=0, media=32, probetype=ATAPI
> > > probing for hde: present=0, media=32, probetype=ATA
> > > probing for hde: present=0, media=32, probetype=ATAPI
> > > probing for hdf: present=0, media=32, probetype=ATA
> > > probing for hdf: present=0, media=32, probetype=ATAPI
> > > probing for hdg: present=0, media=32, probetype=ATA
> > > hdg: IBM-DTTA-350840, ATA DISK drive
> > > probing for hdh: present=0, media=32, probetype=ATA
> > > probing for hdh: present=0, media=32, probetype=ATAPI
> > > Unable to handle kernel paging request at virtual address 00000000,
> > > epc == 801e77f0, ra == 801e7b48
> > > Oops in fault.c::do_page_fault, line 206:
> > >
> > 
> >
> 



[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux