Zbr's days.
August
Sun Mon Tue Wed Thu Fri Sat
 
22
     
2005
Months
Aug

About :: TODO :: Blog :: RSS :: Old blog :: Projects :: GIT :: Gallery :: Notes

Mon, 22 Aug 2005

Linux kernel 2.6 PPC ported to D16 digital board.


Ok, it works!
The most complex and interest part was to hack board's kernel loader, and searching in head.S and relocate_kernel.S where the kernel stops using some kind of this stub

        lis 0,0xaabb
        ori 0,0,52445
        lis 9,0x80
        stw 0,0(9)
_loop_:
	b _loop_
Here is complete dmesg:
<5>Linux version 2.6.13-rc6 (s0mbre@uganda) 
(gcc version 4.1.0 20050716 (experimental)) #54 Mon Aug 22 14:40:49 MSD 2005
<4>Running as PCI slave, kernel PCI disabled !
<4>PCLIO_BASE = 0xe7ffe000
<4>PCI bridge regs before fixup 
<4>            ma       la    pcila    pciha
<4> pmm0 00000000 fffe0000 fffe0000 00000000
<4> pmm1 00000000 00000000 00000000 00000000
<4> pmm2 00000000 00000000 00000000 00000000
<4> ptm1 ms: fe000001 la: 00000000
<4> ptm2 ms: fe000001 la: fe000000
<4>PCI bridge regs after fixup 
<4>            ma       la    pcila    pciha
<4> pmm0 c0000001 80000000 80000000 00000000
<4> pmm1 00000000 00000000 00000000 00000000
<4> pmm2 00000000 00000000 00000000 00000000
<4> ptm1 ms: fe000001 la: 00000000
<4> ptm2 ms: fe000001 la: fe000000
<4>Message 1
<0>Message 2
<4>sk: mem_ipc_setup() done
<4>       D16 port (C) 2000-2005
<4>       machine: D16
<4>
<4>  bi_s_version: 
<4>  bi_r_version: 
<4>    bi_memsize: 0x00ff0000	 16320KBytes
<4>bi_enetaddr 0: 732069-703d3a
<4>bi_enetaddr 1: 3a3a3a-643136
<4> pin strapping: 0x6aaa9000
<4>    bi_intfreq: 198Mhz
<4> plb bus clock: 33MHz
<4>bi_pci_busfreq: 33MHz
<4> opb bus clock: 33MHz
<4>cs0 CR: ff09a000 AP: 03840200
<4>cs1 CR: fe07c000 AP: 80000380
<4>cs2 CR: 00000000 AP: 00000000
<4>cs3 CR: 00000000 AP: 00000000
<4>cs4 CR: 00000000 AP: 00000000
<4>cs5 CR: 00000000 AP: 00000000
<4>cs6 CR: 00000000 AP: 00000000
<4>cs7 CR: 00000000 AP: 00000000
<4>EBC0_CFG: 80400000
<7>On node 0 totalpages: 4096
<7>  DMA zone: 4096 pages, LIFO batch:1
<7>  Normal zone: 0 pages, LIFO batch:1
<7>  HighMem zone: 0 pages, LIFO batch:1
<4>Built 1 zonelists
<5>Kernel command line: root=/dev/nfs ip=::::d16-0.net:eth0:any console=ttyS binfo=0xabcd 
idsp=ixpro,d16,8,0xfe020000,0x8000,0,0,0xfe028000,0x8000,0xfe060000,0x8000,0,0,0xfe068000,
0x8000,0xfe0a0000,0x8000,0,0,0xfe0a8000,0x8000,0xfe0d0000,0x8000,0,0,0xfe0d8000,0x8000,
0xfe110000,0x8000,0,0,0xfe118000,0x8000,0xfe150000,0x8000,0,0,0xfe158000,0x8000,0xfe190000,
0x8000,0,0,0xfe198000,0x8000,0xfe1d0000,0x8000,0,0,0xfe1d8000,0x8000 amb=ixpro,d16,1,0xfe300000,
0x1ffff,0x10000,0x18000 l_tx_ptr=0x80000000 l_tx_len=0x1000
<4>binfo_setup: MAC 00:00:dd:dd:ab:cd
<4>PID hash table entries: 128 (order: 7, 2048 bytes)
<4>Console: colour dummy device 80x25
<4>Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
<4>Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
<4>Memory: 13184k available (2260k kernel code, 636k data, 108k init, 0k highmem)
<7>Calibrating delay loop... 196.09 BogoMIPS (lpj=98048)
<4>Mount-cache hash table entries: 512
<6>NET: Registered protocol family 16
<6>PCI: Probing PCI hardware
<3>Memory resource not set for host bridge 0
<4>D16 serial port emulator driver.
<4>mem_con	d16 char io device registered to major: 253 minor:  0
<6>Initializing Cryptographic API
<4>vty_init
<4>tty_register_driver: register_chrdev_region() failed with error=0.
<4>tty_register_driver: register_chrdev_region() failed with error=0.
<4>tty_register_driver: register_chrdev_region() failed with error=0.
<6>Serial: 8250/16550 driver $Revision: 1.90 $ 32 ports, IRQ sharing enabled
<4>tty_register_driver: register_chrdev_region() failed with error=0.
<4>ttyS0 at MMIO 0x0 (irq = 0) is a 16550A
<4>ttyS1 at MMIO 0x0 (irq = 1) is a 16550A
<6>io scheduler noop registered
<6>io scheduler cfq registered
<4>RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
<6>loop: loaded (max 8 devices)
<6>mal0: Initialized, 1 tx channels, 1 rx channels
<6>emac: IBM EMAC Ethernet driver, version 2.0
<6>Maintained by Benjamin Herrenschmidt 
<4>eth0: IBM emac, MAC 00:00:dd:dd:ab:cd
<6>eth0: Found Generic MII PHY (0x02)
<4>netconsole: not configured, aborting
<6>mice: PS/2 mouse device common for all mice
<6>i2c /dev entries driver
<6>IBM IIC driver v2.1
<6>ibm-iic0: using standard (100 kHz) mode
<6>oprofile: using timer interrupt.
<6>NET: Registered protocol family 2
<4>IP route cache hash table entries: 256 (order: -2, 1024 bytes)
<4>TCP established hash table entries: 1024 (order: 1, 8192 bytes)
<4>TCP bind hash table entries: 1024 (order: 2, 28672 bytes)
<6>TCP: Hash tables configured (established 1024 bind 1024)
<6>TCP reno registered
<6>TCP bic registered
<6>NET: Registered protocol family 1
<6>NET: Registered protocol family 17
<6>eth0: Link is Up
<6>eth0: Speed: 100, Full duplex.
<6>eth0: Link is Up
<6>eth0: Speed: 100, Full duplex.
<5>Sending DHCP and RARP requests ., OK
<4>IP-Config: Got DHCP answer from 192.168.0.202, my address is 192.168.0.243
<4>IP-Config: Complete:
<4>      device=eth0, addr=192.168.0.243, mask=255.255.248.0, gw=192.168.0.1,
<4>     host=d16-0, domain=, nis-domain=net,
<4>     bootserver=192.168.0.202, rootserver=192.168.0.188, rootpath=/home/pwp/work/nfsbox
<5>Looking up port of RPC 100003/2 on 192.168.0.188
<5>Looking up port of RPC 100005/1 on 192.168.0.188
<4>VFS: Mounted root (nfs filesystem) readonly.
<4>Freeing unused kernel memory: 108k init
After good hacking day it was definitely good climbing evening - although I did not shinned up quite high, but instead found couple of very interesting starts and small traverses. Although saw one little bouldering, but was too tired to complete.

:: Link / Comments (0)