OK I have made a bit of progress with 64 bit kernel. I have added a small hack in uart driver and I am getting prints from 64 bit kernel. When I fix mem=512M from command line my kernel boots all the way. #################################Log Starts################################# PMON> g mem=512Mehci_shutdown: stopping the HC ohci_shutdown: stopping the HC ohci_shutdown: stopping the HC Halting rme1 Halting rme0 <5>Linux version 2.6.18 (paanoop1@xxxxxxxxxxxxxxxxxxxxxxxxx) (gcc version 3.4.5) #61 Tue Jan 19 19:45:51 IST 2010 <4>MIPS 64-bit support for PMC-Sierra Sequoia <4>memory size 1024MB <4>cpu_clock set to 600000000 <4>CPU revision is: 000034c1 <4>FPU revision is: 00003420 <4>PMC-Sierra PM74100 Board Setup <4>64-bit support 90000000FF080508 <4>Determined physical RAM map: <4> memory: 0000000040000000 @ 0000000000000000 (usable) <4>User-defined physical RAM map: <4> memory: 0000000020000000 @ 0000000000000000 (usable) <7>On node 0 totalpages: 131072 <7> DMA zone: 131072 pages, LIFO batch:31 <4>Built 1 zonelists. Total pages: 131072 <5>Kernel command line: mem=512M <4>Primary instruction cache 16kB, physically tagged, 4-way, linesize 32 bytes. <4>Primary data cache 16kB, 4-way, linesize 32 bytes. <6>Secondary cache size 256K, linesize 32 bytes. <6>Synthesized TLB refill handler (39 instructions). <6>Synthesized TLB load handler fastpath (51 instructions). <6>Synthesized TLB store handler fastpath (51 instructions). <6>Synthesized TLB modify handler fastpath (50 instructions). <4>PID hash table entries: 4096 (order: 12, 32768 bytes) <4>Using 300.000 MHz high precision timer. <4>Dentry cache hash table entries: 65536 (order: 7, 524288 bytes) <4>Inode-cache hash table entries: 32768 (order: 6, 262144 bytes) <6>Memory: 508928k/524288k available (3860k kernel code, 15032k reserved, 1724k data, 224k init, 0k highmem) <6>Debug prints <4> <6>TITAN_GE_BASE=FF080000 TITAN_GE_SIZE=10000 <4>RM9150_LOCALBUS_DCR=FF070000 RM9150_LOCALBUS_SIZE=10000 <4> <6> <4>BOOT_FLASH_BASE=FC000000 BOOT_FLASH_SIZE=800000 <4>RTC_BASE=FC200000, <4>FPGA_BASE=FC210000 FPGA_SIZE=10000 <6>titan_ge_base=90000000FF080000 <4>rm9150_pci0_base=90000000FF000000 <4>rm9150_pci1_base=90000000FF010000 <4>rm9150_dma_base=90000000FF040000 <4>rm9150_localbus_base=90000000FF070000 <4>sequoia_fpga_base=90000000FC210000 <4> <6>Internal UART Support for PMC-Sierra Sequoia <4>You are using the Dallas DS1501 RTC. <4>UDI: initializing <7>Calibrating delay loop... 598.01 BogoMIPS (lpj=1196032) <4>Mount-cache hash table entries: 256 <4>Checking for 'wait' instruction... available. <4>Checking for the multiply/shift bug... no. <4>Checking for the daddi bug... no. <4>Checking for the daddiu bug... no. <7>Registering sysdev class '<NULL>' <6>NET: Registered protocol family 16 <5>SCSI subsystem initialized <6>usbcore: registered new driver usbfs <6>usbcore: registered new driver hub <3>PCI: Failed to allocate mem resource #2:20000000@e0000000 for 0000:00:01.0 <3>PCI: Failed to allocate mem resource #2:20000000@100000000 for 0000:01:01.0 <6>NET: Registered protocol family 2 <4>IP route cache hash table entries: 16384 (order: 5, 131072 bytes) <4>TCP established hash table entries: 65536 (order: 7, 524288 bytes) <4>TCP bind hash table entries: 32768 (order: 6, 262144 bytes) <6>TCP: Hash tables configured (established 65536 bind 32768) <6>TCP reno registered <7>Registering sysdev class '<NULL>' <7>Registering sys device 'timekeeping0' <7>Registering sysdev class '<NULL>' <7>Registering sys device 'clocksource0' <5>VFS: Disk quotas dquot_6.5.1 <4>Dquot-cache hash table entries: 512 (order 0, 4096 bytes) <6>squashfs: version 3.1 (2006/08/19) Phillip Lougher <6>Installing knfsd (copyright (C) 1996 okir@xxxxxxxxxxxx). <6>NTFS driver 2.1.27 [Flags: R/O]. <6>JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc. <6>SGI XFS with ACLs, large block/inode numbers, no debug enabled <6>SGI XFS Quota Management subsystem <6>Initializing Cryptographic API <6>io scheduler noop registered <6>io scheduler anticipatory registered <6>io scheduler deadline registered <6>io scheduler cfq registered (default) <6>Generic RTC Driver v1.07 <6>Serial: 8250/16550 driver $Revision: 1.6 $ 4 ports, IRQ sharing disabled <6>serial8250: ttyS0 at MMIO 0x90000000ff080000 (irq = 0) is a 16550A <6>serial8250: ttyS1 at MMIO 0x90000000ff080030 (irq = 0) is a 16550A <6>loop: loaded (max 8 devices) <5>PMC-Sierra MSP85x0 10/100/1000 Ethernet Driver <5>Device Id : 206014, Version : 0 <6>MSP85x0 GE Driver version 1.4 <4>PHY OUI: 32 Model: 11 Rev: 2 <5>Rx NAPI supported, Tx Coalescing ON <5>eth0: port 0 with MAC address 00:e0:04:00:05:04 <4>PHY OUI: 32 Model: 11 Rev: 2 <5>Rx NAPI supported, Tx Coalescing ON <5>eth1: port 1 with MAC address 00:e0:04:00:05:05 <6>ehci_hcd 0000:01:02.2: EHCI Host Controller <6>ehci_hcd 0000:01:02.2: new USB bus registered, assigned bus number 1 <6>ehci_hcd 0000:01:02.2: irq 13, io mem 0xe8802000 <6>ehci_hcd 0000:01:02.2: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004 <6>usb usb1: configuration #1 chosen from 1 choice <6>hub 1-0:1.0: USB hub found <6>hub 1-0:1.0: 5 ports detected <7>ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI) <6>ohci_hcd 0000:01:02.0: OHCI Host Controller <6>ohci_hcd 0000:01:02.0: new USB bus registered, assigned bus number 2 <6>ohci_hcd 0000:01:02.0: irq 13, io mem 0xe8800000 <6>usb usb2: configuration #1 chosen from 1 choice <6>hub 2-0:1.0: USB hub found <6>hub 2-0:1.0: 3 ports detected <6>ohci_hcd 0000:01:02.1: OHCI Host Controller <6>ohci_hcd 0000:01:02.1: new USB bus registered, assigned bus number 3 <6>ohci_hcd 0000:01:02.1: irq 13, io mem 0xe8801000 <6>usb 1-1: new high speed USB device using ehci_hcd and address 2 <6>usb usb3: configuration #1 chosen from 1 choice <6>hub 3-0:1.0: USB hub found <6>hub 3-0:1.0: 2 ports detected <6>usb 1-1: configuration #1 chosen from 1 choice <6>Initializing USB Mass Storage driver... <6>usb 1-2: new high speed USB device using ehci_hcd and address 3 <6>usb 1-2: configuration #1 chosen from 1 choice <6>scsi0 : SCSI emulation for USB Mass Storage devices <7>usb-storage: device found at 2 <7>usb-storage: waiting for device to settle before scanning <5> Vendor: USBest Model: USB2FlashStorage Rev: 0.00 <5> Type: Direct-Access ANSI SCSI revision: 02 <5>scsiglue: Trying to match USB boot device params: <5> Parent device number: [1] <5> Parent device port: [0] <5> Device bus number: [1] <5> Device state: [7] <5> Device speed: [3] <5>scsiglue: Got USB boot device match! <5> Device name: <5> Device manufacturer: <5> Device serial: <5> Device bus: 1 <5> Device bus name: [0000:01:02.2] <5>sd: Hooray! Discovered SCSI boot device! <5> host_no [0], channel [0], id [0], lun [0] <5>sd 0:0:0:0: Attached scsi removable disk scsibd <5>sd 0:0:0:0: Attached scsi generic sg0 type 0 <7>usb-storage: device scan complete <6>scsi1 : SCSI emulation for USB Mass Storage devices <7>usb-storage: device found at 3 <7>usb-storage: waiting for device to settle before scanning <5> Vendor: Generic Model: USB Flash Disk Rev: 0.00 <5> Type: Direct-Access ANSI SCSI revision: 02 <5>scsiglue: Already have USB boot device, doing nothing. <5>SCSI device sdb: 7897040 512-byte hdwr sectors (4043 MB) <5>sdb: Write Protect is off <7>sdb: Mode Sense: 00 00 00 00 <3>sdb: assuming drive cache: write through <5>SCSI device sdb: 7897040 512-byte hdwr sectors (4043 MB) <5>sdb: Write Protect is off <7>sdb: Mode Sense: 00 00 00 00 <3>sdb: assuming drive cache: write through <6> sdb: sdb1 sdb2 sdb3 sdb4 <5>sd 1:0:0:0: Attached scsi removable disk sdb <5>sd 1:0:0:0: Attached scsi generic sg1 type 0 <7>usb-storage: device scan complete <6>usbcore: registered new driver usb-storage <6>USB Mass Storage support registered. <6>usbcore: registered new driver hiddev <6>usbcore: registered new driver usbhid <6>drivers/usb/input/hid-core.c: v2.6:USB HID core driver <6>DS15x1 NVRAM driver v1.0 <6>i2c /dev entries driver <6>md: linear personality registered for level -1 <6>md: raid0 personality registered for level 0 <6>md: raid1 personality registered for level 1 <6>md: raid10 personality registered for level 10 <4>raid6: int64x1 243 MB/s <4>raid6: int64x2 289 MB/s <4>raid6: int64x4 408 MB/s <4>raid6: int64x8 293 MB/s <4>raid6: using algorithm int64x4 (408 MB/s) <6>md: raid6 personality registered for level 6 <6>md: raid5 personality registered for level 5 <6>md: raid4 personality registered for level 4 <6>raid5: measuring checksumming speed <4> 8regs : 882.000 MB/sec <4> 8regs_prefetch: 842.000 MB/sec <4> 32regs : 1471.000 MB/sec <4> 32regs_prefetch: 1362.000 MB/sec <4>raid5: using function: 32regs (1471.000 MB/sec) <6>md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27 <6>md: bitmap version 4.39 <6>device-mapper: ioctl: 4.7.0-ioctl (2006-06-24) initialised: dm-devel@xxxxxxxxxx <4>ip_tables: (C) 2000-2006 Netfilter Core Team <6>TCP bic registered <6>NET: Registered protocol family 1 <6>NET: Registered protocol family 17 <6>802.1Q VLAN Support v1.8 Ben Greear <greearb@xxxxxxxxxxxxxxx> <6>All bugs added by David S. Miller <davem@xxxxxxxxxx> <4>drivers/rtc/hctosys.c: unable to open rtc device (rtc0) <6>md: Skipping autodetection of RAID arrays. <6>md: md0 stopped. <3>Root-NFS: No NFS server available, giving up. #################################Log Ends################################### How ever when I don't limit memory ( ie system will use whole detected memory ie 1024 MB) I am getting data bus error #################################Log Starts################################# 5>Linux version 2.6.18 (paanoop1@xxxxxxxxxxxxxxxxxxxxxxxxx) (gcc version 3.4.5) #61 Tue Jan 19 19:45:51 IST 2010 <4>MIPS 64-bit support for PMC-Sierra Sequoia <4>memory size 1024MB <4>cpu_clock set to 600000000 <4>CPU revision is: 000034c1 <4>FPU revision is: 00003420 <4>PMC-Sierra PM74100 Board Setup <4>64-bit support 90000000FF080508 <4>Determined physical RAM map: <4> memory: 0000000040000000 @ 0000000000000000 (usable) <7>On node 0 totalpages: 262144 <7> DMA zone: 262144 pages, LIFO batch:31 <4>Built 1 zonelists. Total pages: 262144 <5>Kernel command line: <4>Primary instruction cache 16kB, physically tagged, 4-way, linesize 32 bytes. <4>Primary data cache 16kB, 4-way, linesize 32 bytes. <6>Secondary cache size 256K, linesize 32 bytes. <6>Synthesized TLB refill handler (39 instructions). <6>Synthesized TLB load handler fastpath (51 instructions). <6>Synthesized TLB store handler fastpath (51 instructions). <6>Synthesized TLB modify handler fastpath (50 instructions). <4>PID hash table entries: 4096 (order: 12, 32768 bytes) <4>Using 300.000 MHz high precision timer. <4>Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) <4>Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) <6>Memory: 1025280k/1048576k available (3860k kernel code, 22976k reserved, 1724k data, 224k init, 0k highmem) <4> <6>TITAN_GE_BASE=FF080000 TITAN_GE_SIZE=10000 <4>RM9150_LOCALBUS_DCR=FF070000 RM9150_LOCALBUS_SIZE=10000 <4> <6>Debug prints <4>BOOT_FLASH_BASE=FC000000 BOOT_FLASH_SIZE=800000 <4>RTC_BASE=FC200000, <4>FPGA_BASE=FC210000 FPGA_SIZE=10000 <6>titan_ge_base=90000000FF080000 <4>rm9150_pci0_base=90000000FF000000 <4>rm9150_pci1_base=90000000FF010000 <4>rm9150_dma_base=90000000FF040000 <4>rm9150_localbus_base=90000000FF070000 <4>sequoia_fpga_base=90000000FC210000 <4> <6>Internal UART Support for PMC-Sierra Sequoia <4>You are using the Dallas DS1501 RTC. <4>UDI: initializing <7>Calibrating delay loop... 598.01 BogoMIPS (lpj=1196032) <4>Mount-cache hash table entries: 256 <4>Checking for 'wait' instruction... available. <4>Checking for the multiply/shift bug... no. <4>Checking for the daddi bug... no. <4>Checking for the daddiu bug... no. <7>Registering sysdev class '<NULL>' <6>NET: Registered protocol family 16 <5>SCSI subsystem initialized <6>usbcore: registered new driver usbfs <6>usbcore: registered new driver hub <3>PCI: Failed to allocate mem resource #2:20000000@e0000000 for 0000:00:01.0 <3>PCI: Failed to allocate mem resource #2:20000000@100000000 for 0000:01:01.0 <6>NET: Registered protocol family 2 <4>IP route cache hash table entries: 32768 (order: 6, 262144 bytes) <1>Data bus error, epc == ffffffff80354940, ra == ffffffff8069dd50 <4>Oops[#1]: <4>Cpu 0 <4>$ 0 : 0000000000000000 ffffffff806d0000 980000003fc00000 0000000000000000 <4>$ 4 : 980000003fc00040 0000000000000000 0000000000040000 000000000000000a <4>$ 8 : fffffffffffffff6 0000000000000005 ffffffffffffffff ffffffff806b1d4a <4>$12 : 0000000000000000 980000003fc40000 ffffffff806b2110 0000000000000000 <4>$16 : ffffffff80604060 ffffffff80604060 0000000000000000 0000000000000000 <4>$20 : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 <4>$24 : 0000000000000000 ffffffff804d9d30 <4>$28 : 9800000001fc4000 9800000001fc7f30 0000000000000000 ffffffff8069dd50 <4>Hi : 0000000000000002 <4>Lo : 0000000000000000 <4>epc : ffffffff80354940 __bzero+0x3c/0x60 Not tainted <4>ra : ffffffff8069dd50 ip_rt_init+0x1d4/0x538 <4>Status: 940080e3 KX SX UX KERNEL EXL IE <4>Cause : 0000001c <4>PrId : 000034c1 <4>Modules linked in: <4>Process swapper (pid: 1, threadinfo=9800000001fc4000, task=9800000001fc1848) <4>Stack : ffffffff8069e2b0 ffffffff80604060 ffffffff8069ef90 ffffffff8069ef88 <4> ffffffff806a9200 0000000000000000 ffffffff801005fc ffffffff801005fc <4> 0000000000000000 0000000000000000 0000000000000000 0000000000000000 <4> 9800000001fc4000 9800000001fc7fe0 0000000000000001 0000000000000000 <4> 0000000000000000 0000000000000000 0000000000000000 ffffffff80104c40 <4> 0000000000000000 ffffffff80104c30 ffffffffffffffff ffffffffffffffff <4> ffffffffffffffff ffffffffffffffff <4>Call Trace: <4>[<ffffffff80354940>] __bzero+0x3c/0x60 <4>[<ffffffff8069dd50>] ip_rt_init+0x1d4/0x538 <4>[<ffffffff8069e2b0>] ip_init+0x10/0x1c <4>[<ffffffff8069ef90>] inet_init+0x218/0x7e8 <4>[<ffffffff801005fc>] init+0x128/0x4ec <4>[<ffffffff80104c40>] kernel_thread_helper+0x10/0x18 <4> <4> <4>Code: 01a4682d 64840040 fc85ffc0 <fc85ffc8> fc85ffd0 fc85ffd8 fc85ffe0 fc85ffe8 fc85fff0 <0>Kernel panic - not syncing: Attempted to kill init! #################################Log Ends################################### I have tried booting with different mem values above 512 MB and most of the times got data bus error with different stack trace. So I assume error lies in some address translation code. It will be great if any of you can give some pointers to debug this. Thanks Anoop -----Original Message----- From: linux-mips-bounce@xxxxxxxxxxxxxx [mailto:linux-mips-bounce@xxxxxxxxxxxxxx] On Behalf Of Anoop P.A. Sent: Monday, January 18, 2010 9:27 PM To: Ralf Baechle Cc: linux-mips@xxxxxxxxxxxxxx Subject: RE: Help in enabling HIGHMEM support / 64 bit support List I am working on enabling Highmem support and 64 Bit support 1. 64 Bit support As Ralf suggested I have tried enabling 64 bit support. I have reached up to a point where I can boot the kernel with 512MB memory (logs attached). How ever if I increase mem above > 512 I am not even getting single print from kernel. I am blocked at this point. I will appreciate if any body can point me to a most likely issue that I am hitting. BTW I am running kernel 2.6.18 2. Highmem I have tried enabling highmem. And I could boot till mounting root file system. I have tried mounting RFS from a usb disk as well as NFS mount. Both the cases fails (attaching logs). Let me know if you guys need any further info for giving me some pointers Regards Anoop -----Original Message----- From: Ralf Baechle [mailto:ralf@xxxxxxxxxxxxxx] Sent: Monday, December 14, 2009 11:05 PM To: Anoop P.A. Cc: linux-mips@xxxxxxxxxxxxxx Subject: Re: Help in enabling HIGHMEM support On Mon, Dec 14, 2009 at 05:34:13AM -0800, Anoop P.A. wrote: > We have a requirement to use a bigger RAM (1 GB / 2GB) with a RM9000 > based SOC. I thought of going with HIGHMEM path rather than enabling > 64bit support thinking it will be easier. This sounds like sawing off 32 legs just to be able to make use of a free [1] wheelchair. > I have tried enabling HIGMEM in kernel. Board boots fine with a 512 MB > RAM plugged in. But if I connect a 1 GB RAM kernel will not boot. I am > not even getting single print from kernel. I am using linux-2.6.18 > kernel. > > It will be great if get any pointers suggestions in debugging this? With this amount of RAM, use a 64-bit kernel if you can. You'll be happy not to know about all the headaches you will never encounter. Ralf [1] Conditions apply.