From: SUGIOKA T. <su...@it...> - 2001-04-19 16:14:23
|
Hi all. current cvs source tree seems broken around rw_semaphore since few days ago. I just fixed so that it could be build. I will commit this soon. 2001-04-20 SUGIOKA Toshinobu <su...@it...> * arch/sh/config.in: define CONFIG_RWSEM_GENERIC. * include/asm-sh/bitops.h (__set_bit, __clear_bit): defined. * include/asm-sh/semaphore.h: Follow i386 implementation. * include/linux/rwsem.h: small fix. * lib/rwsem.c: Added include linux/bitops.h. Index: arch/sh/config.in =================================================================== RCS file: /cvsroot/linuxsh/kernel/arch/sh/config.in,v retrieving revision 1.34 diff -u -r1.34 config.in --- arch/sh/config.in 2001/04/18 04:25:15 1.34 +++ arch/sh/config.in 2001/04/19 15:50:20 @@ -7,6 +7,7 @@ define_bool CONFIG_SUPERH y define_bool CONFIG_UID16 y +define_bool CONFIG_RWSEM_GENERIC y define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n Index: include/asm-sh/bitops.h =================================================================== RCS file: /cvsroot/linuxsh/kernel/include/asm-sh/bitops.h,v retrieving revision 1.6 diff -u -r1.6 bitops.h --- include/asm-sh/bitops.h 2000/09/30 03:43:32 1.6 +++ include/asm-sh/bitops.h 2001/04/19 15:50:39 @@ -19,6 +19,16 @@ restore_flags(flags); } +static __inline__ void __set_bit(int nr, volatile void * addr) +{ + int mask; + volatile unsigned int *a = addr; + + a += nr >> 5; + mask = 1 << (nr & 0x1f); + *a |= mask; +} + /* * clear_bit() doesn't provide any barrier for the compiler. */ @@ -35,6 +45,16 @@ save_and_cli(flags); *a &= ~mask; restore_flags(flags); +} + +static __inline__ void __clear_bit(int nr, volatile void * addr) +{ + int mask; + volatile unsigned int *a = addr; + + a += nr >> 5; + mask = 1 << (nr & 0x1f); + *a &= ~mask; } static __inline__ void change_bit(int nr, volatile void * addr) Index: include/asm-sh/semaphore.h =================================================================== RCS file: /cvsroot/linuxsh/kernel/include/asm-sh/semaphore.h,v retrieving revision 1.2 diff -u -r1.2 semaphore.h --- include/asm-sh/semaphore.h 2001/04/18 04:25:17 1.2 +++ include/asm-sh/semaphore.h 2001/04/19 15:50:45 @@ -84,13 +84,10 @@ asmlinkage int __down_interruptible(struct semaphore * sem); asmlinkage int __down_trylock(struct semaphore * sem); asmlinkage void __up(struct semaphore * sem); -extern struct rw_semaphore *__down_read(struct rw_semaphore *sem, int carry); -extern struct rw_semaphore *__down_write(struct rw_semaphore *sem, int carry); -asmlinkage struct rw_semaphore *__rwsem_wake(struct rw_semaphore *sem); extern spinlock_t semaphore_wake_lock; -extern __inline__ void down(struct semaphore * sem) +static inline void down(struct semaphore * sem) { #if WAITQUEUE_DEBUG CHECK_MAGIC(sem->__magic); @@ -100,7 +97,7 @@ __down(sem); } -extern __inline__ int down_interruptible(struct semaphore * sem) +static inline int down_interruptible(struct semaphore * sem) { int ret = 0; #if WAITQUEUE_DEBUG @@ -112,7 +109,7 @@ return ret; } -extern __inline__ int down_trylock(struct semaphore * sem) +static inline int down_trylock(struct semaphore * sem) { int ret = 0; #if WAITQUEUE_DEBUG @@ -128,7 +125,7 @@ * Note! This is subtle. We jump to wake people up only if * the semaphore was negative (== somebody was waiting on it). */ -extern __inline__ void up(struct semaphore * sem) +static inline void up(struct semaphore * sem) { #if WAITQUEUE_DEBUG CHECK_MAGIC(sem->__magic); Index: include/linux/rwsem.h =================================================================== RCS file: /cvsroot/linuxsh/kernel/include/linux/rwsem.h,v retrieving revision 1.2 diff -u -r1.2 rwsem.h --- include/linux/rwsem.h 2001/04/18 04:25:17 1.2 +++ include/linux/rwsem.h 2001/04/19 15:51:30 @@ -42,12 +42,6 @@ #include <asm/atomic.h> #include <linux/wait.h> -#ifdef CONFIG_RWSEM_GENERIC_SPINLOCK -#include <linux/rwsem-spinlock.h> /* use a generic implementation */ -#else -#include <asm/rwsem.h> /* use an arch-specific implementation */ -#endif - /* defined contention handler functions for the generic case * - these are also used for the exchange-and-add based algorithm */ @@ -56,6 +50,12 @@ extern struct rw_semaphore *FASTCALL(rwsem_down_read_failed(struct rw_semaphore *sem)); extern struct rw_semaphore *FASTCALL(rwsem_down_write_failed(struct rw_semaphore *sem)); extern struct rw_semaphore *FASTCALL(rwsem_wake(struct rw_semaphore *sem)); +#endif + +#ifdef CONFIG_RWSEM_GENERIC_SPINLOCK +#include <linux/rwsem-spinlock.h> /* use a generic implementation */ +#else +#include <asm/rwsem.h> /* use an arch-specific implementation */ #endif #ifndef rwsemtrace Index: lib/rwsem.c =================================================================== RCS file: /cvsroot/linuxsh/kernel/lib/rwsem.c,v retrieving revision 1.2 diff -u -r1.2 rwsem.c --- lib/rwsem.c 2001/04/18 04:25:18 1.2 +++ lib/rwsem.c 2001/04/19 15:52:12 @@ -6,6 +6,7 @@ #include <linux/rwsem.h> #include <linux/sched.h> #include <linux/module.h> +#include <linux/bitops.h> /* * wait for the read lock to be granted ----- SUGIOKA Toshinobu |
From: <Raj...@ln...> - 2002-02-26 10:12:27
|
Hi I have found your email Id while browsing net. well,we are succusfully able to port ARM linux on Strong ARM sa1110/sa1111 development board but the problem is, On board we have SMC91c96 ethernet controller but we unable to wakeup ethernet controller and also in ARM linux config file, there is no option to select smc91c96(but you find 91c92 or 91c96) .So i request you to send solution and procedures to enable ethernet controller.yours fast response is highly appreciated. thanks and regards Rajesh MK Communicaion and Embedded Systems KIADB Industrial Estate Hootagalli MYSORE-571186 Tel: 91-821-402561 Ext:2611/2609 Res:O80-5214563 e-mail: r_...@ho...,raj...@ya... |
From: SANDRA S. <jos...@ma...> - 2002-06-18 12:26:58
|
Dear Friend=2C This letter may come to you as a surprise due to the fact that we have not yet met=2E The message could be strange but reel if you pay some attention to it=2E I could have notified you about it at least for the sake of your integrity=2E Please accept my sincere apologies=2E In bringing this message of goodwill to you=2C I have to say that I have no intentions of causing you any pains=2E I am Ms=2E Sandra savimbi=2C daughter of the late rebel leader Jonas savimbi of Angola who was killed on the 22nd of febuary 2002 =2E I managed to get your contact details through =22The World Business Journal=22=2C a journal of the Johannesburg Chamber of Commerce in South Africa in the time I was desperately looking for a trustworthy person to assist me in this confidential business=2E my late father=2C Jonas savimbi was able to deposit a large sum of money in differnt banks in europe My father is presently death and the movement of his family members =28including me=29 is restricted=2E We are forbidden to either travel abroad or out of our localities=2E Presently=2C the US$25=2C600=2C000=2E00 twentyfive=2C MILLION=2C six HUNDRED DOLLARS my father transfered to Netherlands is safe and is in a security firm=2E I am therefore soliciting your help tohave this money transfered into your account=2E before my government get wind of this fund =2EYou know my father was a rebel leader in Angola before his death My reason for doing this is because it will be difficult for the Angolan government to trace my father's money to an individual's account=2C especially when such an individual has no relationship =2CI decided to keep that money for my family use=2E At present the money is kept in a Security Company in nertherland=2E I am currently and temporarily living in Angola with my husband=2E Moreover the political climatein Angola at the moment being so sensitive and unstable=2E When you are ready i will give you the information needed before you can get access to the fund you will then proceed to Netherlands where the US$25=2C600=2C000=2E00 twentyfive=2C MILLION=2C six HUNDRED DOLLARS will be given to you as payment=2E Alternatively=2C you can have the fund transferred into any account that suits you=2E and for your co-operation and partnership=2C we have unanimously agreed that you will be entitled to 5=2E5% of the money when successfully receive it in your account=2E The nature of your business is not relevant to the successful execution of this transaction=2E kindly provide me with all your contacts addresses including your personal telephone and fax number=2E All correspondence is for the attention of my counsel=3Ajoseph edward=2E Kindly get back to us=2E Sandra Savimbi=2E |
From: Gaurav K. <Gau...@no...> - 2005-03-01 11:15:32
|
Hi Brian, Why are you copying the entire kernel to RAM ? You need to copy a few sections of it. This feature is implemented in uClinux for sh (SH7751). You can search the uClinux mailing lists for "Boot from ROM". Before copying the rootfs check if it is loaded at 0x800F0000. The address of the rootfs (initrd) is stored in initrd_start. Check its value, if it correctly points to 0x88360000. The kernel tries to locate the type of filesystem (and then loads it) by checking its contents. Also check a first few bytes at initrd_start matches to your rootfs (initrd). Regards, Gaurav ---------------------------------------------------- Need help.. We are trying to boot the linux kernel from flash rom.=3D20 But we = always get kernel panic when loading the filesystem. We loaded the following to flash memory and add function in=3D20 sh-ipl code to copy to RAM memory: vmlinux 0x80010000 FLASH --> copy to 0x88210000 RAM rootfs 0x800F0000 FLASH --> copy to 0x88360000 RAM we sucessfully copied the files to RAM [arch/sh/kernel/head.S]=3D20 .section .empty_zero_page, "aw" ENTRY(empty_zero_page) .long 1 /* MOUNT_ROOT_RDONLY */ .long 0 /* RAMDISK_FLAGS */ .long 0x0100 /* ORIG_ROOT_DEV */ <-- we changed to 0x0100 .long 1 /* LOADER_TYPE */ .long 0x00360000 /* INITRD_START */ .long 0x000a0000 /* INITRD_SIZE */ .long 0 .balign 4096,0,4096 .text=3D20 [part of sh-ipl config.h-sh2004] #define CONFIG_ROM_START 0x80000000 #define CONFIG_ROM_LENGTH 0x10000 #define CONFIG_RAM_START 0x88000000 #define CONFIG_RAM_BOOT (CONFIG_RAM_START+0x200000) #define CONFIG_MEMORY_SIZE get_memory_size() [Boot up results] Copying Kernel image from 0x80010000 to 0x88210000.Jumping to address = =3D 0x88210000 . Uncompressing Linux... Ok, booting the kernel. Linux version 2.4.26 (hos...@ds...) (gcc \D!?\?C\c\o =3D 3.2.3) #9 20 04C?P 9?Ei 27Au ?EiIEAu 16:32:39 JST SH-2004 Setup...done On node 0 totalpages: 32768 zone(0): 32768 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: mem=3D3D128M console=3D3DttySC0,115200 Setting GDB = trap vector to 0x80000100 rtc62423_gettimeofday: initializing RTC rtc62423_gettimeofday: RTC not found CPU clock: 240.00MHz Bus clock: 120.00MHz Module clock: 60.00MHz Interval =3D3D 150000 Calibrating delay loop... 239.20 BogoMIPS Memory: 127952k/131072k available (3120k reserved including: 1410k =3D kernel code, 50k data, 160k BSS, 52k init, 1408k page map) Dentry cache hash table entries: 16384 (order: 5, 131072 bytes) Inode cache hash table entries: 8192 (order: 4, 65536 bytes) Mount cache hash table entries: 512 (order: 0, 4096 bytes) Buffer cache hash table entries: 8192 (order: 3, 32768 bytes) Page-cache hash table entries: 32768 (order: 5, 131072 bytes) CPU: SH7750/SH7751 POSIX conformance testing by UNIFIX Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd VFS: Disk quotas vdquot_6.5.1 Journalled Block Device driver loaded pty: 256 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with no serial options enabled SuperH SCI(F) driver initialized ttySC0 at 0xffe00000 is a SCI ttySC1 at 0xffe80000 is a SCIF Real Time Clock Driver v1.10f RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4 ide: Assuming 50MHz system bus speed for PIO modes; override with =3D idebus=3D3Dxx ide3: ports already in use, skipping probe NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 1024 buckets, 8Kbytes TCP: Hash tables configured (established 8192 bind 16384) Linux IP multicast router 0.06 plus PIM-SM NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. VFS: Cannot open root device "" or 00:00 Please append a correct "root=3D3D" boot option Kernel panic: VFS: Unable to mount root fs on 00:00 Does anyone had the same problem we encountered???? Is there something wrong or lacking with our method?? Thanks Brian |
From: NIIBE Y. <gn...@m1...> - 2001-04-20 00:07:47
|
SUGIOKA Toshinobu wrote: > current cvs source tree seems broken around rw_semaphore since few days ago. > I just fixed so that it could be build. Thanks a lot. I've been sync-ing to/from current pre-patches. Most of the work has merged into standard kernel. Next is dreamcast drivers. If there's no objection, I'd like to send Overdrive and STboard part too. > -extern __inline__ void down(struct semaphore * sem) > +static inline void down(struct semaphore * sem) Yes, static inline is good. The use of extern inline in Linux is old one (at that time, Linux developpers misunderstood "inline" means specification but actually it's just a hint to compiler). Compiler is free not to expand into inline. Besides, I think __inline__ (enclosed with __) is better for header file, if there is possibility for that file to be included by user program. User program may be written in K&R, in which the keyword inline is not supported, and user are free to use the word inline (say, #define inline). To avoid conflict, using __ is good idea. The meaning is same for GCC. I know that current header files of Linux SH is not consistent... -- |
From: NIIBE Y. <gn...@m1...> - 2001-04-20 04:29:07
|
I've sent Dreamcast drivers. Next, I'll send the part of stboards and overdrive. In overdrive, we have one big file, overdrive.ttf (>200KB). It seems that it is FPGA data. Is there any way let it small? -- |
From: Stuart M. <Stu...@st...> - 2001-04-20 17:44:18
|
Niibe-san I was hoping that the SH7750 Overdrive hardware, and the corrisponding directory in the source tree, would have been made obsolete by now. This was only a prototype board, and the ST40STB1 boards should have replaced it by now. I should know by now that killing off old hardware is hard to do, especially in the Linux world! So while I don't expect there to be any more new 7750 Overdrive users, there are some existing ones I have to continue to support for a while longer. However, virtually all the people using the board are taking kernel releases from ST, and I understand it's a pain having just one thing we don't sync with the main kernel sources. So I'd be quite happy to delete the directory from SourceForge, and I'll just keep the SH7750 Overdrive support as a patch. There is no active development on this part of the kernel any more, so this wouldn't be a real problem. I'd really rather it didn't go into the main kernel, The only down side is we'd end up with an 'empty' directory in CVS, which may confuse people who forget to use the 'prune' option on CVS checkouts and updates. Do you know if SourceForge provide a way to really delete directories? Stuart On Apr 20, 1:28pm, gn...@m1... wrote: > Subject: [linuxsh-dev] Synchronization to Linux 2.4.x series > > I've sent Dreamcast drivers. > > Next, I'll send the part of stboards and overdrive. > > In overdrive, we have one big file, overdrive.ttf (>200KB). It seems > that it is FPGA data. Is there any way let it small? > -- > > _______________________________________________ > linuxsh-dev mailing list > lin...@li... > http://lists.sourceforge.net/lists/listinfo/linuxsh-dev >-- End of excerpt from gn...@m1... |
From: NIIBE Y. <gn...@m1...> - 2001-04-23 02:30:56
|
Well, CVS can't handle to remove directory. How about following: (1) Just change arch/sh/config.in and Makefile not supporting Overdrive any more. (2) Leave the directory Overdrive as is. It is just for reference. (3) I won't send the files under arch/sh/overdrive for inclusion of Linux. Some README file under arch/sh/overdrive would be good to avoid confusion. -- |
From: Greg B. <gb...@po...> - 2001-04-21 14:27:44
|
Stuart Menefy wrote: > > The only down side is we'd end up with an 'empty' directory in CVS, > which may confuse people who forget to use the 'prune' option on > CVS checkouts and updates. Do you know if SourceForge provide a way > to really delete directories? I don't believe they offer anything other than what you get with "cvs admin". You might be able to repeatedly "cvs admin -o" but it wouldn't be worth the effort. I don't think the empty directory is such a big problem. Greg. -- These are my opinions not PPIs. |