From mboxrd@z Thu Jan 1 00:00:00 1970 From: Seb James Date: 28 Aug 2003 11:51:12 +0100 Subject: [U-Boot-Users] Auto-detected parameters CpuFreq and granularity no longer autodetected. Message-ID: <1062067871.3292.119.camel@xerxes.hypercube> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, Encapsulation of following email: Does u-boot pass anything to the linux environment regarding CpuFreq, and granularity, both of which are symbols recognized by rtai? I'm having real trouble here. I used to be the happy runner of a small rtai driver on a tqm823 target. Two modules that used to run perfectly now pretend to have been insmodded into the kernel, but don't work. What have I done? Well, I re-loaded the bootloader, u-boot, onto the targets and I don't think I have changed anything else. The only piece of evidence is the message towards the end of the console output, regarding the missing CpuFreq and granularity symbols. However, the kernel is the same one that I've been using successfully for some time, so are these pieces of information that are passed from the u-boot environment to the linux environment? Here is the console output from the previously working kernel and ramdisk, which contains 4 rtai modules and a module called ptms_drv.o: => run flash_self ## Booting image at 40040000 ... Image Name: test kernel Created: 2003-07-04 15:35:53 UTC Image Type: PowerPC Linux Kernel Image (uncompressed) Data Size: 1368124 Bytes = 1.3 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK OK ## Loading RAMDisk Image at 40400000 ... Image Name: Application ramdisk image Created: 2003-07-07 12:36:03 UTC Image Type: PowerPC Linux RAMDisk Image (uncompressed) Data Size: 3072000 Bytes = 2.9 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Loading Ramdisk to 00cc1000, end 00faf000 ... OK Linux version 2.4.4-rthal5 (seb at mst26) (gcc version 2.95.4 20010319 (prerelease/franzo/20011204)) #8 Wed Jun 25 16:28:38 BST 2003 I2C uCode patch installed On node 0 totalpages: 4096 zone(0): 4096 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: root=/dev/ram rw ip=192.168.10.99:192.168.10.1:192.168.10.1:255.255.255.0:vmu::off panic=1 Decrementer Frequency: 3125000 Calibrating delay loop... 49.86 BogoMIPS Memory: 11568k available (1020k kernel code, 428k data, 56k init, 0k highmem) Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 1024 (order: 1, 8192 bytes) POSIX conformance testing by UNIFIX Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Starting kswapd v1.8 CPM UART driver version 0.03 ttyS0 on SMC1 at 0x0280, BRG1 pty: 256 Unix98 ptys configured Found 2x16bit 4MByte CFI flash device of type AMD/Fujitsu standard at 40000000 Registered flash device /dev/flasha (minor 0, 4 partitions) Found 2x16bit 4MByte CFI flash device of type AMD/Fujitsu standard at 40400000 Registered flash device /dev/flashb (minor 8, 2 partitions) block: queued sectors max/low 7586kB/2528kB, 64 slots per queue RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize Uniform Multi-Platform E-IDE driver Revision: 6.31 ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx PCMCIA slot B: phys mem e0000000...ec000000 (size 0c000000) No card in slot B: PIPR=ff00ff00 eth0: CPM ENET Version 0.2 on SCC2, 00:d0:93:00:c0:a4 RAMDISK: ext2 filesystem found at block 0 RAMDISK: Loading 3000 blocks [1 disk] into ram disk... done. Freeing initrd memory: 3000k freed CPM load tracking driver $Revision: 1.0 $ NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 1024 bind 1024) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. EXT2-fs warning: checktime reached, running e2fsck is recommended VFS: Mounted root (ext2 filesystem). Freeing unused kernel memory: 56k init init started: BusyBox v0.60.2 (2003.07.07-11:04+0000) multi-call Warning: /lib/modules/rtai/rtai.o symbol for parameter CpuFreq not found Warning: /lib/modules/rtai/rtai_sched_up.o symbol for parameter granularity not found BusyBox v0.60.2 (2003.07.07-11:04+0000) Built-in shell (msh) Enter 'help' for a list of built-in commands. # lsmod Module Size Used by ptms_drv 24640 0 (unused) rtai_shm 6512 0 (unused) rtai_sched_up 59776 0 (unused) rtai 21232 0 (unused) # If I change the ramdisk for a different one which is similar but contains recompiled rtai modules and a different driver module (driver.o instead of ptms_drv.o) I get the same problem and the same message about the CpuFreq and granularity symbols. If I change the kernel for any of a range of about 3 slightly differently compiled, and previously functional kernels (all from the same 2.4.4-rthal5 kernel tree from Denx CVS with label LABEL_2003_05_01_1320) then I get the same message. RTAI is 24.1.11 from Denx servers, u-boot is v0.4.0. The question is: where do CpuFreq and granularity come from? A search of the u-boot tree for CpuFreq gives nothing. A search in linux threw up no CpuFreq symbol, either, but rtai mentions it in rtai.c and rtai_arch.c. It seems that this is a parameter which linux normally autodetects and one which can be passed on the command line when insmodding rtai modules. The same for granularity, as part of the rtai dynamic memory allocation scheme. Adding allocation for these symbols when insmodding doesn't help: Putting: insmod rtai.o CpuFreq=50000000 into the startup script in the ramdisk leads to the same boot up messages, only they come twice now: init started: BusyBox v0.60.2 (2003.07.07-11:04+0000) multi-call Warning: /lib/modules/rtai/rtai.o symbol for parameter CpuFreq not found /lib/modules/rtai/rtai.o: symbol for parameter CpuFreq not found Can anyone help me to fix this? I'm really stuck... regards, Seb James.